From 72d1c64f5e724ea91e772a46d9dc551e6e7aba85 Mon Sep 17 00:00:00 2001 From: Sylar Date: Sun, 8 Sep 2024 11:06:23 +0800 Subject: [PATCH] Updated by gitbook-action 2024-09-08 11:05:45 --- Algorithm/BST.html | 32 ++++---- Algorithm/BinaryInsertSort.html | 32 ++++---- Algorithm/BinarySort.html | 32 ++++---- Algorithm/QuickSort.html | 32 ++++---- .../remove-duplicates-from-sorted-array.html | 32 ++++---- ...\345\222\214\346\234\252\346\235\245.html" | 32 ++++---- ...\345\205\263\351\224\256\345\255\227.html" | 32 ++++---- ...\345\210\266\347\256\200\346\236\220.html" | 32 ++++---- Article/ReadME.html | 32 ++++---- ...\346\241\210\346\265\205\350\260\210.html" | 32 ++++---- ...\347\224\250\347\232\204\347\261\273.html" | 32 ++++---- ...\345\222\214\345\272\224\347\224\250.html" | 32 ++++---- Article/iOSLaunchScreenBug.html | 32 ++++---- Article/iOSUIResponderChain.html | 32 ++++---- ...5\210\266 \302\267 Why's THE Design_.html" | 32 ++++---- ...45\347\240\224\347\251\266 - Medium.html" | 32 ++++---- ...\347\220\206\347\257\207\343\200\213.html" | 32 ++++---- ...\350\256\241\345\256\236\350\267\265.html" | 32 ++++---- ...\345\210\235\345\247\213\345\214\226.html" | 32 ++++---- ...\345\234\260\346\230\257\345\235\221.html" | 32 ++++---- ...\345\205\263\350\200\203\347\202\271.html" | 32 ++++---- Network/CA.html | 32 ++++---- Network/HTTPDNS.html | 32 ++++---- Network/Https.html | 32 ++++---- Network/TCPHandShake.html | 32 ++++---- Network/TCPMessageFrame.html | 32 ++++---- Network/TCPUDP.html | 32 ++++---- Struct/BinaryTree.html | 32 ++++---- iOS/Knowledge/AppLaunchDetail.html | 32 ++++---- iOS/Knowledge/BinaryOrder.html | 32 ++++---- iOS/Knowledge/Complie.html | 32 ++++---- iOS/Knowledge/Dyld.html | 32 ++++---- iOS/Knowledge/MachO.html | 32 ++++---- iOS/Knowledge/PreMain.html | 32 ++++---- iOS/Knowledge/RuntimeCls.html | 32 ++++---- iOS/Knowledge/RuntimeSuper.html | 32 ++++---- iOS/Memory/MemoryFiveMainSection.html | 32 ++++---- iOS/Memory/ReferenceCounting.html | 32 ++++---- iOS/Memory/SideTables.html | 32 ++++---- iOS/Memory/StructMemoryAligned.html | 32 ++++---- iOS/Memory/TaggedPointer.html | 32 ++++---- iOS/Memory/WeakTable.html | 32 ++++---- iOS/OCFoundation/@synchronized.html | 36 ++++----- iOS/OCFoundation/AutoReleasePool.html | 75 ++++++++++++------- iOS/OCFoundation/Block.html | 32 ++++---- iOS/OCFoundation/GCDThread.html | 32 ++++---- iOS/OCFoundation/GCDUsage.html | 32 ++++---- iOS/OCFoundation/KVC.html | 32 ++++---- iOS/OCFoundation/KVO.html | 32 ++++---- iOS/OCFoundation/Lock.html | 36 ++++----- iOS/OCFoundation/MessageForwarding.html | 32 ++++---- iOS/OCFoundation/Method.html | 32 ++++---- iOS/OCFoundation/MultiThreading.html | 36 ++++----- iOS/OCFoundation/Runloop.html | 36 ++++----- iOS/OCFoundation/Runtime.html | 32 ++++---- iOS/Objc_Object/AssociatedObject.html | 32 ++++---- iOS/Objc_Object/Category.html | 32 ++++---- iOS/Objc_Object/ClassRWT.html | 32 ++++---- iOS/Objc_Object/OCAllocInit.html | 32 ++++---- iOS/Objc_Object/ObjectClass.html | 32 ++++---- iOS/Objc_Object/Property.html | 32 ++++---- iOS/Objc_Object/isa.html | 32 ++++---- iOS/ReadME.html | 32 ++++---- iOS/SourceCode/FluentDarkModeKit.html | 32 ++++---- iOS/SourceCode/KTVHttpCache.html | 32 ++++---- iOS/SourceCode/SDWebImage.html | 32 ++++---- iOS/SourceCode/YYASyncLayer.html | 32 ++++---- iOS/UIKit/UIImageRender.html | 32 ++++---- iOS/UIKit/UIOffScreenRendering.html | 32 ++++---- iOS/UIKit/UIResponder.html | 32 ++++---- iOS/UIKit/UIViewRender.html | 32 ++++---- iOS/UIKit/UIViewRenderProcess.html | 32 ++++---- index.html | 32 ++++---- search_index.json | 2 +- 74 files changed, 1210 insertions(+), 1187 deletions(-) diff --git a/Algorithm/BST.html b/Algorithm/BST.html index 181f08bf..cce63144 100644 --- a/Algorithm/BST.html +++ b/Algorithm/BST.html @@ -512,12 +512,12 @@ -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1419,7 +1419,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"next":{"title":"技术文章收集","level":"4.1","depth":1,"path":"Article/ReadME.md","ref":"Article/ReadME.md","articles":[{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"path":"Article/关于离屏渲染的深入研究 - Medium.md","ref":"Article/关于离屏渲染的深入研究 - Medium.md","articles":[]},{"title":"谜一样的 Runloop(1_2) ","level":"4.1.3","depth":2,"path":"Article/谜一样的 Runloop(1_2","ref":"Article/谜一样的 Runloop(1_2","articles":[]},{"title":"谜一样的 Runloop(2_2) ","level":"4.1.4","depth":2,"path":"Article/谜一样的 Runloop(2_2","ref":"Article/谜一样的 Runloop(2_2","articles":[]},{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"path":"Article/面试驱动技术 - Category 相关考点.md","ref":"Article/面试驱动技术 - Category 相关考点.md","articles":[]},{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","ref":"./Article/抖音品质建设 - iOS 启动优化《原理篇》.md","articles":[]}]},"previous":{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/BST.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"next":{"title":"技术文章收集","level":"4.1","depth":1,"path":"Article/ReadME.md","ref":"Article/ReadME.md","articles":[{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"path":"Article/关于离屏渲染的深入研究 - Medium.md","ref":"Article/关于离屏渲染的深入研究 - Medium.md","articles":[]},{"title":"谜一样的 Runloop(1_2) ","level":"4.1.3","depth":2,"path":"Article/谜一样的 Runloop(1_2","ref":"Article/谜一样的 Runloop(1_2","articles":[]},{"title":"谜一样的 Runloop(2_2) ","level":"4.1.4","depth":2,"path":"Article/谜一样的 Runloop(2_2","ref":"Article/谜一样的 Runloop(2_2","articles":[]},{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"path":"Article/面试驱动技术 - Category 相关考点.md","ref":"Article/面试驱动技术 - Category 相关考点.md","articles":[]},{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","ref":"./Article/抖音品质建设 - iOS 启动优化《原理篇》.md","articles":[]}]},"previous":{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/BST.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Algorithm/BinaryInsertSort.html b/Algorithm/BinaryInsertSort.html index c1f24292..bdd5fda6 100644 --- a/Algorithm/BinaryInsertSort.html +++ b/Algorithm/BinaryInsertSort.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1405,7 +1405,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"二分法插入排序","level":"3.1.1","depth":2,"next":{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},"previous":{"title":"算法","level":"3.1","depth":1,"ref":"","articles":[{"title":"二分法插入排序","level":"3.1.1","depth":2,"path":"Algorithm/BinaryInsertSort.md","ref":"./Algorithm/BinaryInsertSort.md","articles":[]},{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/BinaryInsertSort.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"二分法插入排序","level":"3.1.1","depth":2,"next":{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},"previous":{"title":"算法","level":"3.1","depth":1,"ref":"","articles":[{"title":"二分法插入排序","level":"3.1.1","depth":2,"path":"Algorithm/BinaryInsertSort.md","ref":"./Algorithm/BinaryInsertSort.md","articles":[]},{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/BinaryInsertSort.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Algorithm/BinarySort.html b/Algorithm/BinarySort.html index 49ea1458..65adeb81 100644 --- a/Algorithm/BinarySort.html +++ b/Algorithm/BinarySort.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1541,7 +1541,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"二叉树排序","level":"3.1.2","depth":2,"next":{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},"previous":{"title":"二分法插入排序","level":"3.1.1","depth":2,"path":"Algorithm/BinaryInsertSort.md","ref":"./Algorithm/BinaryInsertSort.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/BinarySort.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"二叉树排序","level":"3.1.2","depth":2,"next":{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},"previous":{"title":"二分法插入排序","level":"3.1.1","depth":2,"path":"Algorithm/BinaryInsertSort.md","ref":"./Algorithm/BinaryInsertSort.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/BinarySort.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Algorithm/QuickSort.html b/Algorithm/QuickSort.html index 7f8089f2..847856fd 100644 --- a/Algorithm/QuickSort.html +++ b/Algorithm/QuickSort.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1450,7 +1450,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"快速排序","level":"3.1.4","depth":2,"next":{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]},"previous":{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/QuickSort.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"快速排序","level":"3.1.4","depth":2,"next":{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]},"previous":{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/QuickSort.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Algorithm/remove-duplicates-from-sorted-array.html b/Algorithm/remove-duplicates-from-sorted-array.html index 48b4bbd0..d7934324 100644 --- a/Algorithm/remove-duplicates-from-sorted-array.html +++ b/Algorithm/remove-duplicates-from-sorted-array.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1413,7 +1413,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"next":{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},"previous":{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/remove-duplicates-from-sorted-array.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"next":{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},"previous":{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Algorithm/remove-duplicates-from-sorted-array.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/App \345\220\257\345\212\250\346\227\266\351\227\264\357\274\232\350\277\207\345\216\273\357\274\214\347\216\260\345\234\250\345\222\214\346\234\252\346\235\245.html" "b/Article/App \345\220\257\345\212\250\346\227\266\351\227\264\357\274\232\350\277\207\345\216\273\357\274\214\347\216\260\345\234\250\345\222\214\346\234\252\346\235\245.html" index b3fbc8cd..c4733e99 100644 --- "a/Article/App \345\220\257\345\212\250\346\227\266\351\227\264\357\274\232\350\277\207\345\216\273\357\274\214\347\216\260\345\234\250\345\222\214\346\234\252\346\235\245.html" +++ "b/Article/App \345\220\257\345\212\250\346\227\266\351\227\264\357\274\232\350\277\207\345\216\273\357\274\214\347\216\260\345\234\250\345\222\214\346\234\252\346\235\245.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1456,7 +1456,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"next":{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},"previous":{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/App 启动时间:过去,现在和未来.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"next":{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},"previous":{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/App 启动时间:过去,现在和未来.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/OC \346\266\210\346\201\257\346\234\272\345\210\266\345\222\214 super \345\205\263\351\224\256\345\255\227.html" "b/Article/OC \346\266\210\346\201\257\346\234\272\345\210\266\345\222\214 super \345\205\263\351\224\256\345\255\227.html" index 3634645c..16109cab 100644 --- "a/Article/OC \346\266\210\346\201\257\346\234\272\345\210\266\345\222\214 super \345\205\263\351\224\256\345\255\227.html" +++ "b/Article/OC \346\266\210\346\201\257\346\234\272\345\210\266\345\222\214 super \345\205\263\351\224\256\345\255\227.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1707,7 +1707,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"next":{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},"previous":{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/OC 消息机制和 super 关键字.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"next":{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},"previous":{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/OC 消息机制和 super 关键字.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/Objective-C Runtime \346\234\272\345\210\266\347\256\200\346\236\220.html" "b/Article/Objective-C Runtime \346\234\272\345\210\266\347\256\200\346\236\220.html" index 74d08a08..23abe72a 100644 --- "a/Article/Objective-C Runtime \346\234\272\345\210\266\347\256\200\346\236\220.html" +++ "b/Article/Objective-C Runtime \346\234\272\345\210\266\347\256\200\346\236\220.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1542,7 +1542,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"next":{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},"previous":{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/Objective-C Runtime 机制简析.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"next":{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},"previous":{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/Objective-C Runtime 机制简析.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Article/ReadME.html b/Article/ReadME.html index 4dc0353c..c374ab5b 100644 --- a/Article/ReadME.html +++ b/Article/ReadME.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1357,7 +1357,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"技术文章收集","level":"4.1","depth":1,"next":{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},"previous":{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/ReadME.md","mtime":"2024-09-07T13:52:03.616Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"技术文章收集","level":"4.1","depth":1,"next":{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},"previous":{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/ReadME.md","mtime":"2024-09-08T03:05:48.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/UIViewController \351\242\204\345\212\240\350\275\275\346\226\271\346\241\210\346\265\205\350\260\210.html" "b/Article/UIViewController \351\242\204\345\212\240\350\275\275\346\226\271\346\241\210\346\265\205\350\260\210.html" index 006156c8..55fd2fe0 100644 --- "a/Article/UIViewController \351\242\204\345\212\240\350\275\275\346\226\271\346\241\210\346\265\205\350\260\210.html" +++ "b/Article/UIViewController \351\242\204\345\212\240\350\275\275\346\226\271\346\241\210\346\265\205\350\260\210.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1686,7 +1686,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"next":{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},"previous":{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/UIViewController 预加载方案浅谈.md","mtime":"2024-09-07T13:52:03.640Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"next":{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},"previous":{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/UIViewController 预加载方案浅谈.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/iOS \344\273\243\347\240\201\347\230\246\350\272\253\345\256\236\350\267\265_ \345\210\240\351\231\244\346\227\240\347\224\250\347\232\204\347\261\273.html" "b/Article/iOS \344\273\243\347\240\201\347\230\246\350\272\253\345\256\236\350\267\265_ \345\210\240\351\231\244\346\227\240\347\224\250\347\232\204\347\261\273.html" index 4ead8170..30a2d44a 100644 --- "a/Article/iOS \344\273\243\347\240\201\347\230\246\350\272\253\345\256\236\350\267\265_ \345\210\240\351\231\244\346\227\240\347\224\250\347\232\204\347\261\273.html" +++ "b/Article/iOS \344\273\243\347\240\201\347\230\246\350\272\253\345\256\236\350\267\265_ \345\210\240\351\231\244\346\227\240\347\224\250\347\232\204\347\261\273.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1466,7 +1466,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"next":{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},"previous":{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","mtime":"2024-09-07T13:52:03.640Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"next":{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},"previous":{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/iOS \347\274\226\350\257\221\350\277\207\347\250\213\347\232\204\345\216\237\347\220\206\345\222\214\345\272\224\347\224\250.html" "b/Article/iOS \347\274\226\350\257\221\350\277\207\347\250\213\347\232\204\345\216\237\347\220\206\345\222\214\345\272\224\347\224\250.html" index 420f9687..468f8ce6 100644 --- "a/Article/iOS \347\274\226\350\257\221\350\277\207\347\250\213\347\232\204\345\216\237\347\220\206\345\222\214\345\272\224\347\224\250.html" +++ "b/Article/iOS \347\274\226\350\257\221\350\277\207\347\250\213\347\232\204\345\216\237\347\220\206\345\222\214\345\272\224\347\224\250.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1778,7 +1778,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"next":{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},"previous":{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"path":"Article/面试驱动技术 - Category 相关考点.md","ref":"Article/面试驱动技术 - Category 相关考点.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOS 编译过程的原理和应用.md","mtime":"2024-09-07T13:52:03.640Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"next":{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},"previous":{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"path":"Article/面试驱动技术 - Category 相关考点.md","ref":"Article/面试驱动技术 - Category 相关考点.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOS 编译过程的原理和应用.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Article/iOSLaunchScreenBug.html b/Article/iOSLaunchScreenBug.html index 745f5a4a..d292c682 100644 --- a/Article/iOSLaunchScreenBug.html +++ b/Article/iOSLaunchScreenBug.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1538,7 +1538,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"next":{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","ref":"./Article/抖音品质建设 - iOS 启动优化《原理篇》.md","articles":[]},"previous":{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOSLaunchScreenBug.md","mtime":"2024-09-07T13:52:03.640Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"next":{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","ref":"./Article/抖音品质建设 - iOS 启动优化《原理篇》.md","articles":[]},"previous":{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOSLaunchScreenBug.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Article/iOSUIResponderChain.html b/Article/iOSUIResponderChain.html index 9a07724b..b843b00c 100644 --- a/Article/iOSUIResponderChain.html +++ b/Article/iOSUIResponderChain.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1562,7 +1562,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"next":{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},"previous":{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOSUIResponderChain.md","mtime":"2024-09-07T13:52:03.640Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"next":{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},"previous":{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/iOSUIResponderChain.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\344\270\272\344\273\200\344\271\210\344\275\240\345\272\224\350\257\245\344\275\277\347\224\250 Git \350\277\233\350\241\214\347\211\210\346\234\254\346\216\247\345\210\266 \302\267 Why's THE Design_.html" "b/Article/\344\270\272\344\273\200\344\271\210\344\275\240\345\272\224\350\257\245\344\275\277\347\224\250 Git \350\277\233\350\241\214\347\211\210\346\234\254\346\216\247\345\210\266 \302\267 Why's THE Design_.html" index 6cfed8e3..65efe052 100644 --- "a/Article/\344\270\272\344\273\200\344\271\210\344\275\240\345\272\224\350\257\245\344\275\277\347\224\250 Git \350\277\233\350\241\214\347\211\210\346\234\254\346\216\247\345\210\266 \302\267 Why's THE Design_.html" +++ "b/Article/\344\270\272\344\273\200\344\271\210\344\275\240\345\272\224\350\257\245\344\275\277\347\224\250 Git \350\277\233\350\241\214\347\211\210\346\234\254\346\216\247\345\210\266 \302\267 Why's THE Design_.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1508,7 +1508,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"next":{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},"previous":{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","mtime":"2024-09-07T13:52:03.640Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"next":{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},"previous":{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\345\205\263\344\272\216\347\246\273\345\261\217\346\270\262\346\237\223\347\232\204\346\267\261\345\205\245\347\240\224\347\251\266 - Medium.html" "b/Article/\345\205\263\344\272\216\347\246\273\345\261\217\346\270\262\346\237\223\347\232\204\346\267\261\345\205\245\347\240\224\347\251\266 - Medium.html" index f591fd5b..56b83033 100644 --- "a/Article/\345\205\263\344\272\216\347\246\273\345\261\217\346\270\262\346\237\223\347\232\204\346\267\261\345\205\245\347\240\224\347\251\266 - Medium.html" +++ "b/Article/\345\205\263\344\272\216\347\246\273\345\261\217\346\270\262\346\237\223\347\232\204\346\267\261\345\205\245\347\240\224\347\251\266 - Medium.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1480,7 +1480,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"next":{"title":"谜一样的 Runloop(1_2) ","level":"4.1.3","depth":2,"path":"Article/谜一样的 Runloop(1_2","ref":"Article/谜一样的 Runloop(1_2","articles":[]},"previous":{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/关于离屏渲染的深入研究 - Medium.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"next":{"title":"谜一样的 Runloop(1_2) ","level":"4.1.3","depth":2,"path":"Article/谜一样的 Runloop(1_2","ref":"Article/谜一样的 Runloop(1_2","articles":[]},"previous":{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/关于离屏渲染的深入研究 - Medium.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\346\212\226\351\237\263\345\223\201\350\264\250\345\273\272\350\256\276 - iOS \345\220\257\345\212\250\344\274\230\345\214\226\343\200\212\345\216\237\347\220\206\347\257\207\343\200\213.html" "b/Article/\346\212\226\351\237\263\345\223\201\350\264\250\345\273\272\350\256\276 - iOS \345\220\257\345\212\250\344\274\230\345\214\226\343\200\212\345\216\237\347\220\206\347\257\207\343\200\213.html" index d52fe1bd..12c88d76 100644 --- "a/Article/\346\212\226\351\237\263\345\223\201\350\264\250\345\273\272\350\256\276 - iOS \345\220\257\345\212\250\344\274\230\345\214\226\343\200\212\345\216\237\347\220\206\347\257\207\343\200\213.html" +++ "b/Article/\346\212\226\351\237\263\345\223\201\350\264\250\345\273\272\350\256\276 - iOS \345\220\257\345\212\250\344\274\230\345\214\226\343\200\212\345\216\237\347\220\206\347\257\207\343\200\213.html" @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1717,7 +1717,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"previous":{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"previous":{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\346\234\211\350\265\236\347\247\273\345\212\250 iOS \347\273\204\344\273\266\345\214\226\357\274\210\346\250\241\345\235\227\345\214\226\357\274\211\346\236\266\346\236\204\350\256\276\350\256\241\345\256\236\350\267\265.html" "b/Article/\346\234\211\350\265\236\347\247\273\345\212\250 iOS \347\273\204\344\273\266\345\214\226\357\274\210\346\250\241\345\235\227\345\214\226\357\274\211\346\236\266\346\236\204\350\256\276\350\256\241\345\256\236\350\267\265.html" index 8e46b7fc..c30783f0 100644 --- "a/Article/\346\234\211\350\265\236\347\247\273\345\212\250 iOS \347\273\204\344\273\266\345\214\226\357\274\210\346\250\241\345\235\227\345\214\226\357\274\211\346\236\266\346\236\204\350\256\276\350\256\241\345\256\236\350\267\265.html" +++ "b/Article/\346\234\211\350\265\236\347\247\273\345\212\250 iOS \347\273\204\344\273\266\345\214\226\357\274\210\346\250\241\345\235\227\345\214\226\357\274\211\346\236\266\346\236\204\350\256\276\350\256\241\345\256\236\350\267\265.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1651,7 +1651,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"next":{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},"previous":{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"next":{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},"previous":{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\346\267\261\345\205\245\344\272\206\350\247\243 iOS \347\232\204\345\210\235\345\247\213\345\214\226.html" "b/Article/\346\267\261\345\205\245\344\272\206\350\247\243 iOS \347\232\204\345\210\235\345\247\213\345\214\226.html" index 27b4a491..c67b7670 100644 --- "a/Article/\346\267\261\345\205\245\344\272\206\350\247\243 iOS \347\232\204\345\210\235\345\247\213\345\214\226.html" +++ "b/Article/\346\267\261\345\205\245\344\272\206\350\247\243 iOS \347\232\204\345\210\235\345\247\213\345\214\226.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1576,7 +1576,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"next":{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},"previous":{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/深入了解 iOS 的初始化.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"next":{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},"previous":{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/深入了解 iOS 的初始化.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\350\264\235\350\201\212 IAP \345\256\236\346\210\230\344\271\213\346\273\241\345\234\260\346\230\257\345\235\221.html" "b/Article/\350\264\235\350\201\212 IAP \345\256\236\346\210\230\344\271\213\346\273\241\345\234\260\346\230\257\345\235\221.html" index 746ec42c..7da4f3bb 100644 --- "a/Article/\350\264\235\350\201\212 IAP \345\256\236\346\210\230\344\271\213\346\273\241\345\234\260\346\230\257\345\235\221.html" +++ "b/Article/\350\264\235\350\201\212 IAP \345\256\236\346\210\230\344\271\213\346\273\241\345\234\260\346\230\257\345\235\221.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1540,7 +1540,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"next":{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"path":"Article/关于离屏渲染的深入研究 - Medium.md","ref":"Article/关于离屏渲染的深入研究 - Medium.md","articles":[]},"previous":{"title":"技术文章收集","level":"4.1","depth":1,"path":"Article/ReadME.md","ref":"Article/ReadME.md","articles":[{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"path":"Article/关于离屏渲染的深入研究 - Medium.md","ref":"Article/关于离屏渲染的深入研究 - Medium.md","articles":[]},{"title":"谜一样的 Runloop(1_2) ","level":"4.1.3","depth":2,"path":"Article/谜一样的 Runloop(1_2","ref":"Article/谜一样的 Runloop(1_2","articles":[]},{"title":"谜一样的 Runloop(2_2) ","level":"4.1.4","depth":2,"path":"Article/谜一样的 Runloop(2_2","ref":"Article/谜一样的 Runloop(2_2","articles":[]},{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"path":"Article/面试驱动技术 - Category 相关考点.md","ref":"Article/面试驱动技术 - Category 相关考点.md","articles":[]},{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","ref":"./Article/抖音品质建设 - iOS 启动优化《原理篇》.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/贝聊 IAP 实战之满地是坑.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"next":{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"path":"Article/关于离屏渲染的深入研究 - Medium.md","ref":"Article/关于离屏渲染的深入研究 - Medium.md","articles":[]},"previous":{"title":"技术文章收集","level":"4.1","depth":1,"path":"Article/ReadME.md","ref":"Article/ReadME.md","articles":[{"title":"贝聊 IAP 实战之满地是坑","level":"4.1.1","depth":2,"path":"Article/贝聊 IAP 实战之满地是坑.md","ref":"Article/贝聊 IAP 实战之满地是坑.md","articles":[]},{"title":"关于离屏渲染的深入研究 - Medium","level":"4.1.2","depth":2,"path":"Article/关于离屏渲染的深入研究 - Medium.md","ref":"Article/关于离屏渲染的深入研究 - Medium.md","articles":[]},{"title":"谜一样的 Runloop(1_2) ","level":"4.1.3","depth":2,"path":"Article/谜一样的 Runloop(1_2","ref":"Article/谜一样的 Runloop(1_2","articles":[]},{"title":"谜一样的 Runloop(2_2) ","level":"4.1.4","depth":2,"path":"Article/谜一样的 Runloop(2_2","ref":"Article/谜一样的 Runloop(2_2","articles":[]},{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"path":"Article/面试驱动技术 - Category 相关考点.md","ref":"Article/面试驱动技术 - Category 相关考点.md","articles":[]},{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},{"title":"Objective-C Runtime 机制简析","level":"4.1.7","depth":2,"path":"Article/Objective-C Runtime 机制简析.md","ref":"Article/Objective-C Runtime 机制简析.md","articles":[]},{"title":"OC 消息机制和 super 关键字","level":"4.1.8","depth":2,"path":"Article/OC 消息机制和 super 关键字.md","ref":"Article/OC 消息机制和 super 关键字.md","articles":[]},{"title":"UIViewController 预加载方案浅谈","level":"4.1.9","depth":2,"path":"Article/UIViewController 预加载方案浅谈.md","ref":"Article/UIViewController 预加载方案浅谈.md","articles":[]},{"title":"有赞移动 iOS 组件化(模块化)架构设计实践","level":"4.1.10","depth":2,"path":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.md","articles":[]},{"title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","level":"4.1.11","depth":2,"path":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.md","articles":[]},{"title":"深入了解 iOS 的初始化.md","level":"4.1.12","depth":2,"path":"Article/深入了解 iOS 的初始化.md","ref":"./Article/深入了解 iOS 的初始化.md","articles":[]},{"title":"App 启动时间:过去,现在和未来","level":"4.1.13","depth":2,"path":"Article/App 启动时间:过去,现在和未来.md","ref":"./Article/App 启动时间:过去,现在和未来.md","articles":[]},{"title":"iOS事件处理,看我就够了~","level":"4.1.14","depth":2,"path":"Article/iOSUIResponderChain.md","ref":"./Article/iOSUIResponderChain.md","articles":[]},{"title":"iOS 代码瘦身实践_ 删除无用的类","level":"4.1.15","depth":2,"path":"Article/iOS 代码瘦身实践_ 删除无用的类.md","ref":"./Article/iOS 代码瘦身实践_ 删除无用的类.md","articles":[]},{"title":"深夜暗坑 - iOS启动图异常修复方案","level":"4.1.16","depth":2,"path":"Article/iOSLaunchScreenBug.md","ref":"./Article/iOSLaunchScreenBug.md","articles":[]},{"title":"抖音品质建设 - iOS 启动优化《原理篇》","level":"4.1.17","depth":2,"path":"Article/抖音品质建设 - iOS 启动优化《原理篇》.md","ref":"./Article/抖音品质建设 - iOS 启动优化《原理篇》.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/贝聊 IAP 实战之满地是坑.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git "a/Article/\351\235\242\350\257\225\351\251\261\345\212\250\346\212\200\346\234\257 - Category \347\233\270\345\205\263\350\200\203\347\202\271.html" "b/Article/\351\235\242\350\257\225\351\251\261\345\212\250\346\212\200\346\234\257 - Category \347\233\270\345\205\263\350\200\203\347\202\271.html" index 40fbdee4..b8276eec 100644 --- "a/Article/\351\235\242\350\257\225\351\251\261\345\212\250\346\212\200\346\234\257 - Category \347\233\270\345\205\263\350\200\203\347\202\271.html" +++ "b/Article/\351\235\242\350\257\225\351\251\261\345\212\250\346\212\200\346\234\257 - Category \347\233\270\345\205\263\350\200\203\347\202\271.html" @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1953,7 +1953,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"next":{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},"previous":{"title":"谜一样的 Runloop(2_2) ","level":"4.1.4","depth":2,"path":"Article/谜一样的 Runloop(2_2","ref":"Article/谜一样的 Runloop(2_2","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/面试驱动技术 - Category 相关考点.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"面试驱动技术 - Category 相关考点","level":"4.1.5","depth":2,"next":{"title":"iOS 编译过程的原理和应用","level":"4.1.6","depth":2,"path":"Article/iOS 编译过程的原理和应用.md","ref":"Article/iOS 编译过程的原理和应用.md","articles":[]},"previous":{"title":"谜一样的 Runloop(2_2) ","level":"4.1.4","depth":2,"path":"Article/谜一样的 Runloop(2_2","ref":"Article/谜一样的 Runloop(2_2","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Article/面试驱动技术 - Category 相关考点.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Network/CA.html b/Network/CA.html index 735db9cf..4cf0c658 100644 --- a/Network/CA.html +++ b/Network/CA.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1374,7 +1374,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"CA","level":"2.1.6","depth":2,"next":{"title":"数据结构","level":"2.2","depth":1,"ref":"","articles":[{"title":"二叉树","level":"2.2.1","depth":2,"path":"Struct/BinaryTree.md","ref":"Struct/BinaryTree.md","articles":[]}]},"previous":{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/CA.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"CA","level":"2.1.6","depth":2,"next":{"title":"数据结构","level":"2.2","depth":1,"ref":"","articles":[{"title":"二叉树","level":"2.2.1","depth":2,"path":"Struct/BinaryTree.md","ref":"Struct/BinaryTree.md","articles":[]}]},"previous":{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/CA.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Network/HTTPDNS.html b/Network/HTTPDNS.html index 7600dc56..b24f466e 100644 --- a/Network/HTTPDNS.html +++ b/Network/HTTPDNS.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1376,7 +1376,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"HTTPDNS","level":"2.1.5","depth":2,"next":{"title":"CA","level":"2.1.6","depth":2,"path":"Network/CA.md","ref":"./Network/CA.md","articles":[]},"previous":{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/HTTPDNS.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"HTTPDNS","level":"2.1.5","depth":2,"next":{"title":"CA","level":"2.1.6","depth":2,"path":"Network/CA.md","ref":"./Network/CA.md","articles":[]},"previous":{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/HTTPDNS.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Network/Https.html b/Network/Https.html index e547e6fd..4b5a7a6e 100644 --- a/Network/Https.html +++ b/Network/Https.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1421,7 +1421,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Https","level":"2.1.2","depth":2,"next":{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},"previous":{"title":"TCP粘包","level":"2.1.1","depth":2,"path":"Network/TCPMessageFrame.md","ref":"Network/TCPMessageFrame.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/Https.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Https","level":"2.1.2","depth":2,"next":{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},"previous":{"title":"TCP粘包","level":"2.1.1","depth":2,"path":"Network/TCPMessageFrame.md","ref":"Network/TCPMessageFrame.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/Https.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Network/TCPHandShake.html b/Network/TCPHandShake.html index 62764aea..7c8f670f 100644 --- a/Network/TCPHandShake.html +++ b/Network/TCPHandShake.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1448,7 +1448,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"TCPHandShake","level":"2.1.3","depth":2,"next":{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},"previous":{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/TCPHandShake.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"TCPHandShake","level":"2.1.3","depth":2,"next":{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},"previous":{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/TCPHandShake.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Network/TCPMessageFrame.html b/Network/TCPMessageFrame.html index 9c61f2ab..745601af 100644 --- a/Network/TCPMessageFrame.html +++ b/Network/TCPMessageFrame.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1378,7 +1378,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"TCP粘包","level":"2.1.1","depth":2,"next":{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},"previous":{"title":"网络","level":"2.1","depth":1,"ref":"","articles":[{"title":"TCP粘包","level":"2.1.1","depth":2,"path":"Network/TCPMessageFrame.md","ref":"Network/TCPMessageFrame.md","articles":[]},{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},{"title":"CA","level":"2.1.6","depth":2,"path":"Network/CA.md","ref":"./Network/CA.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/TCPMessageFrame.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"TCP粘包","level":"2.1.1","depth":2,"next":{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},"previous":{"title":"网络","level":"2.1","depth":1,"ref":"","articles":[{"title":"TCP粘包","level":"2.1.1","depth":2,"path":"Network/TCPMessageFrame.md","ref":"Network/TCPMessageFrame.md","articles":[]},{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},{"title":"CA","level":"2.1.6","depth":2,"path":"Network/CA.md","ref":"./Network/CA.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/TCPMessageFrame.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Network/TCPUDP.html b/Network/TCPUDP.html index 6bcefd81..68ac580e 100644 --- a/Network/TCPUDP.html +++ b/Network/TCPUDP.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1498,7 +1498,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"TCP&UDP","level":"2.1.4","depth":2,"next":{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},"previous":{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/TCPUDP.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"TCP&UDP","level":"2.1.4","depth":2,"next":{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},"previous":{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Network/TCPUDP.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/Struct/BinaryTree.html b/Struct/BinaryTree.html index 017e1537..76fa780d 100644 --- a/Struct/BinaryTree.html +++ b/Struct/BinaryTree.html @@ -508,12 +508,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -521,12 +521,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -534,12 +534,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -547,12 +547,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -560,12 +560,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1573,7 +1573,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"二叉树","level":"2.2.1","depth":2,"next":{"title":"算法","level":"3.1","depth":1,"ref":"","articles":[{"title":"二分法插入排序","level":"3.1.1","depth":2,"path":"Algorithm/BinaryInsertSort.md","ref":"./Algorithm/BinaryInsertSort.md","articles":[]},{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]}]},"previous":{"title":"数据结构","level":"2.2","depth":1,"ref":"","articles":[{"title":"二叉树","level":"2.2.1","depth":2,"path":"Struct/BinaryTree.md","ref":"Struct/BinaryTree.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Struct/BinaryTree.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"二叉树","level":"2.2.1","depth":2,"next":{"title":"算法","level":"3.1","depth":1,"ref":"","articles":[{"title":"二分法插入排序","level":"3.1.1","depth":2,"path":"Algorithm/BinaryInsertSort.md","ref":"./Algorithm/BinaryInsertSort.md","articles":[]},{"title":"二叉树排序","level":"3.1.2","depth":2,"path":"Algorithm/BinarySort.md","ref":"./Algorithm/BinarySort.md","articles":[]},{"title":"删除有序数组中的重复项","level":"3.1.3","depth":2,"path":"Algorithm/remove-duplicates-from-sorted-array.md","ref":"./Algorithm/remove-duplicates-from-sorted-array.md","articles":[]},{"title":"快速排序","level":"3.1.4","depth":2,"path":"Algorithm/QuickSort.md","ref":"./Algorithm/QuickSort.md","articles":[]},{"title":"二叉搜索树与平衡二叉树","level":"3.1.5","depth":2,"path":"Algorithm/BST.md","ref":"./Algorithm/BST.md","articles":[]}]},"previous":{"title":"数据结构","level":"2.2","depth":1,"ref":"","articles":[{"title":"二叉树","level":"2.2.1","depth":2,"path":"Struct/BinaryTree.md","ref":"Struct/BinaryTree.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"Struct/BinaryTree.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/AppLaunchDetail.html b/iOS/Knowledge/AppLaunchDetail.html index 93eddebd..e40221a3 100644 --- a/iOS/Knowledge/AppLaunchDetail.html +++ b/iOS/Knowledge/AppLaunchDetail.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1608,7 +1608,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"App启动详细","level":"1.2.6.2","depth":3,"next":{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},"previous":{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/AppLaunchDetail.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"App启动详细","level":"1.2.6.2","depth":3,"next":{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},"previous":{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/AppLaunchDetail.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/BinaryOrder.html b/iOS/Knowledge/BinaryOrder.html index 99d0b717..64fdfda0 100644 --- a/iOS/Knowledge/BinaryOrder.html +++ b/iOS/Knowledge/BinaryOrder.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1388,7 +1388,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"二进制重排","level":"1.2.6.6","depth":3,"next":{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},"previous":{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/BinaryOrder.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"二进制重排","level":"1.2.6.6","depth":3,"next":{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},"previous":{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/BinaryOrder.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/Complie.html b/iOS/Knowledge/Complie.html index fc313aef..94efe43e 100644 --- a/iOS/Knowledge/Complie.html +++ b/iOS/Knowledge/Complie.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1412,7 +1412,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"next":{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},"previous":{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/Complie.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"next":{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},"previous":{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/Complie.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/Dyld.html b/iOS/Knowledge/Dyld.html index 7fac3e69..fdd667f5 100644 --- a/iOS/Knowledge/Dyld.html +++ b/iOS/Knowledge/Dyld.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1723,7 +1723,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Dyld","level":"1.2.6.1","depth":3,"next":{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},"previous":{"title":"第六章 iOS知识点","level":"1.2.6","depth":2,"ref":"","articles":[{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/Dyld.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Dyld","level":"1.2.6.1","depth":3,"next":{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},"previous":{"title":"第六章 iOS知识点","level":"1.2.6","depth":2,"ref":"","articles":[{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/Dyld.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/MachO.html b/iOS/Knowledge/MachO.html index 25509331..2ad1f880 100644 --- a/iOS/Knowledge/MachO.html +++ b/iOS/Knowledge/MachO.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1601,7 +1601,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Mach-O","level":"1.2.6.3","depth":3,"next":{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},"previous":{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/MachO.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Mach-O","level":"1.2.6.3","depth":3,"next":{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},"previous":{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/MachO.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/PreMain.html b/iOS/Knowledge/PreMain.html index 5b2258e4..51134da8 100644 --- a/iOS/Knowledge/PreMain.html +++ b/iOS/Knowledge/PreMain.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1404,7 +1404,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"PreMain","level":"1.2.6.4","depth":3,"next":{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},"previous":{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/PreMain.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"PreMain","level":"1.2.6.4","depth":3,"next":{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},"previous":{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/PreMain.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/RuntimeCls.html b/iOS/Knowledge/RuntimeCls.html index 5a521219..ce427a46 100644 --- a/iOS/Knowledge/RuntimeCls.html +++ b/iOS/Knowledge/RuntimeCls.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1400,7 +1400,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"next":{"title":"网络","level":"2.1","depth":1,"ref":"","articles":[{"title":"TCP粘包","level":"2.1.1","depth":2,"path":"Network/TCPMessageFrame.md","ref":"Network/TCPMessageFrame.md","articles":[]},{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},{"title":"CA","level":"2.1.6","depth":2,"path":"Network/CA.md","ref":"./Network/CA.md","articles":[]}]},"previous":{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/RuntimeCls.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"next":{"title":"网络","level":"2.1","depth":1,"ref":"","articles":[{"title":"TCP粘包","level":"2.1.1","depth":2,"path":"Network/TCPMessageFrame.md","ref":"Network/TCPMessageFrame.md","articles":[]},{"title":"Https","level":"2.1.2","depth":2,"path":"Network/Https.md","ref":"Network/Https.md","articles":[]},{"title":"TCPHandShake","level":"2.1.3","depth":2,"path":"Network/TCPHandShake.md","ref":"Network/TCPHandShake.md","articles":[]},{"title":"TCP&UDP","level":"2.1.4","depth":2,"path":"Network/TCPUDP.md","ref":"Network/TCPUDP.md","articles":[]},{"title":"HTTPDNS","level":"2.1.5","depth":2,"path":"Network/HTTPDNS.md","ref":"./Network/HTTPDNS.md","articles":[]},{"title":"CA","level":"2.1.6","depth":2,"path":"Network/CA.md","ref":"./Network/CA.md","articles":[]}]},"previous":{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/RuntimeCls.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Knowledge/RuntimeSuper.html b/iOS/Knowledge/RuntimeSuper.html index 5091f4e9..2b9b1291 100644 --- a/iOS/Knowledge/RuntimeSuper.html +++ b/iOS/Knowledge/RuntimeSuper.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1420,7 +1420,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"self class && super class","level":"1.2.6.7","depth":3,"next":{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]},"previous":{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/RuntimeSuper.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"self class && super class","level":"1.2.6.7","depth":3,"next":{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]},"previous":{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Knowledge/RuntimeSuper.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Memory/MemoryFiveMainSection.html b/iOS/Memory/MemoryFiveMainSection.html index 46c2856f..40210cfb 100644 --- a/iOS/Memory/MemoryFiveMainSection.html +++ b/iOS/Memory/MemoryFiveMainSection.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1365,7 +1365,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"next":{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},"previous":{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/MemoryFiveMainSection.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"next":{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},"previous":{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/MemoryFiveMainSection.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Memory/ReferenceCounting.html b/iOS/Memory/ReferenceCounting.html index bbc0723a..b405c161 100644 --- a/iOS/Memory/ReferenceCounting.html +++ b/iOS/Memory/ReferenceCounting.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1515,7 +1515,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"next":{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},"previous":{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/ReferenceCounting.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"next":{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},"previous":{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/ReferenceCounting.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Memory/SideTables.html b/iOS/Memory/SideTables.html index d8ef388e..7f894c15 100644 --- a/iOS/Memory/SideTables.html +++ b/iOS/Memory/SideTables.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1464,7 +1464,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"SideTables","level":"1.2.2.5","depth":3,"next":{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]},"previous":{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/SideTables.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"SideTables","level":"1.2.2.5","depth":3,"next":{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]},"previous":{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/SideTables.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Memory/StructMemoryAligned.html b/iOS/Memory/StructMemoryAligned.html index 7f2bd1b7..f59f7531 100644 --- a/iOS/Memory/StructMemoryAligned.html +++ b/iOS/Memory/StructMemoryAligned.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1416,7 +1416,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"next":{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},"previous":{"title":"第二章 Memory","level":"1.2.2","depth":2,"ref":"","articles":[{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/StructMemoryAligned.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"next":{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},"previous":{"title":"第二章 Memory","level":"1.2.2","depth":2,"ref":"","articles":[{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/StructMemoryAligned.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Memory/TaggedPointer.html b/iOS/Memory/TaggedPointer.html index e2071bd1..e8c864e7 100644 --- a/iOS/Memory/TaggedPointer.html +++ b/iOS/Memory/TaggedPointer.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1510,7 +1510,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"next":{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},"previous":{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/TaggedPointer.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"next":{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},"previous":{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/TaggedPointer.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Memory/WeakTable.html b/iOS/Memory/WeakTable.html index beb1a4ca..cf6e3b31 100644 --- a/iOS/Memory/WeakTable.html +++ b/iOS/Memory/WeakTable.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1732,7 +1732,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"WeakTable","level":"1.2.2.6","depth":3,"next":{"title":"第三章 Objc_Object","level":"1.2.3","depth":2,"ref":"","articles":[{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]}]},"previous":{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/WeakTable.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"WeakTable","level":"1.2.2.6","depth":3,"next":{"title":"第三章 Objc_Object","level":"1.2.3","depth":2,"ref":"","articles":[{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]}]},"previous":{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Memory/WeakTable.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/@synchronized.html b/iOS/OCFoundation/@synchronized.html index 5bf7e664..f28d4a44 100644 --- a/iOS/OCFoundation/@synchronized.html +++ b/iOS/OCFoundation/@synchronized.html @@ -58,7 +58,7 @@ - + @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1659,7 +1659,7 @@

    No results matching " + @@ -1671,7 +1671,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"@synchronized","level":"1.2.4.13","depth":3,"next":{"title":"第五章 源码","level":"1.2.5","depth":2,"ref":"","articles":[{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]}]},"previous":{"title":"AutoReleasePool","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/@synchronized.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"@synchronized","level":"1.2.4.13","depth":3,"next":{"title":"第五章 源码","level":"1.2.5","depth":2,"ref":"","articles":[{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]}]},"previous":{"title":"Lock","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/@synchronized.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/AutoReleasePool.html b/iOS/OCFoundation/AutoReleasePool.html index 98e7bf02..7e865e50 100644 --- a/iOS/OCFoundation/AutoReleasePool.html +++ b/iOS/OCFoundation/AutoReleasePool.html @@ -57,10 +57,10 @@ - + - + @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1318,7 +1318,25 @@

    Autoreleasepool

    在没有手加Autorelease Pool的情况下, Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池Push和Pop

    Autoreleasepool结构

    编译器会把@autoreleasepool{}改写成:

    -
    void *ctx = objc_autoreleasePoolPush();
    +
    struct __AtAutoreleasePool {
    +    //构造函数-->可以类比成OC的init方法,在创建时调用
    +  __AtAutoreleasePool()
    +    {
    +        atautoreleasepoolobj = objc_autoreleasePoolPush();
    +    }
    +
    +    //析构函数-->可以类比成OC的dealloc方法,在销毁时调用
    +  ~__AtAutoreleasePool()
    +    {
    +        objc_autoreleasePoolPop(atautoreleasepoolobj);
    +    }
    +
    +  void * atautoreleasepoolobj;
    +};
    +
    +
    +
    +void *ctx = objc_autoreleasePoolPush();
     {}中代码
     objc_autoreleasePoolPop(ctx);
     
    @@ -1332,17 +1350,20 @@ 

    Autoreleasepool结构

    }

    从上述代码可以知道Push,Pop都是操作 AutoreleasePoolPage

    +

    单层@autoreleasepool {}的情况,那么如果有多层@autoreleasepool {}嵌套在一起,就可以按照同样的规则来拆解

    +

    img

    AutoreleasePoolPage 结构

    class AutoreleasePoolPage {
         magic_t const magic;    //用于对当前 AutoreleasePoolPage 完整性的校验
    -    id *next;
    -    pthread_t const thread;        //thread 保存了当前页所在的线程
    -    AutoreleasePoolPage * const parent;
    -    AutoreleasePoolPage *child;
    +    id *next;    //指向AutoreleasePoolPage内下一个可以用来存放自动释放对象的内存地址
    +    pthread_t const thread;        //thread 保存了当前页所在的线程,自动释放池所属的线程,说明它不能跟多个线程关联。
    +    AutoreleasePoolPage * const parent; //指向上一页释放池的指针
    +    AutoreleasePoolPage *child;    //指向下一页释放池的指针
         uint32_t const depth;
         uint32_t hiwat;
     };
     
    +

    AutoreleasePoolPage的begin()和end()

    每一个自动释放池都是由一系列的 AutoreleasePoolPage 组成的,并且每一个 AutoreleasePoolPage 的大小都是 4096 字节

    • AutoreleasePool并没有特定的内存结构,它是通过以AutoreleasePoolPage为节点的双向链表。
    • @@ -1350,7 +1371,7 @@

      AutoreleasePoolPage 结ٸ
    • 一个AutoreleasePoolPage节点对应着一个线程,属于一一对应关系。

    AutoreleasePool结构如图所示:

    -

    AutoreleasePoolPage链表

    +

    AutoreleasePoolPage结构示意图

    双向链表

    自动释放池中的 AutoreleasePoolPage 是以双向链表的形式连接起来的:

    @@ -1723,6 +1744,7 @@

    objc_autoreleasePoolPop

    image-20190324222842393

    Runloop 与 Autoreleasepool 创建

    每一个线程都会维护自己的autoreleasePool堆栈,也就是说每一个autoreleasePool对应一个线程。

    +

    @autoreleasepool{}的作用,实际上就是在作用域的头和尾分别调用了objc_autoreleasePoolPush();objc_autoreleasePoolPop()函数

    每个Runloop中都会创建一个 AutoReleasepool 并在 Runloop迭代结束进行释放。何为 迭代结束?当前Runloop 进入 Sleep mode的时候,就结束当前 Runloop迭代.新的一轮Runloop创建一个新的 AutoReleasepool, Pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)

    Runloop第一个 Observer 监视的事件是 Entry(即将进入Loop),其回调内会调用 _objc_autoreleasePoolPush() 创建自动释放池。其 order 是-2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。

    第二个 Observer 监视了两个事件: BeforeWaiting(准备进入休眠) 时调用_objc_autoreleasePoolPop()_objc_autoreleasePoolPush() 释放旧的池并创建新池;Exit(即将退出Loop) 时调用 _objc_autoreleasePoolPop() 来释放自动释放池。这个 Observer 的 order 是 2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。

    @@ -1742,6 +1764,7 @@

    Reference

    6.深入了解Runloop

    7.带着问题看源码----子线程AutoRelease对象何时释放

    8.AutoreleasePool的实现

    +

    内存管理剖析(四)——autorelease原理分析经历过MRC时代的开发者,肯定都用过autorelease方法,用于 - 掘金 (juejin.cn)

    @@ -1769,12 +1792,12 @@

    No results matching " + - + @@ -1785,7 +1808,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"AutoReleasePool","level":"1.2.4.12","depth":3,"next":{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]},"previous":{"title":"Lock","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/AutoReleasePool.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"AutoReleasePool","level":"1.2.4.8","depth":3,"next":{"title":"MultiThreading","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},"previous":{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/AutoReleasePool.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/Block.html b/iOS/OCFoundation/Block.html index 2f7ecb3e..01cb174a 100644 --- a/iOS/OCFoundation/Block.html +++ b/iOS/OCFoundation/Block.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1966,7 +1966,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Block","level":"1.2.4.2","depth":3,"next":{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},"previous":{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Block.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Block","level":"1.2.4.2","depth":3,"next":{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},"previous":{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Block.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/GCDThread.html b/iOS/OCFoundation/GCDThread.html index 39501435..13c5459e 100644 --- a/iOS/OCFoundation/GCDThread.html +++ b/iOS/OCFoundation/GCDThread.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1538,7 +1538,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"GCD-Thread","level":"1.2.4.10","depth":3,"next":{"title":"Lock","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},"previous":{"title":"GCD-Usage","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/GCDThread.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"GCD-Thread","level":"1.2.4.11","depth":3,"next":{"title":"Lock","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},"previous":{"title":"GCD-Usage","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/GCDThread.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/GCDUsage.html b/iOS/OCFoundation/GCDUsage.html index 812d52f3..e4c64d12 100644 --- a/iOS/OCFoundation/GCDUsage.html +++ b/iOS/OCFoundation/GCDUsage.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -2067,7 +2067,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"GCD-Usage","level":"1.2.4.9","depth":3,"next":{"title":"GCD-Thread","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},"previous":{"title":"MultiThreading","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/GCDUsage.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"GCD-Usage","level":"1.2.4.10","depth":3,"next":{"title":"GCD-Thread","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},"previous":{"title":"MultiThreading","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/GCDUsage.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/KVC.html b/iOS/OCFoundation/KVC.html index 150e2c2e..f5141af5 100644 --- a/iOS/OCFoundation/KVC.html +++ b/iOS/OCFoundation/KVC.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1368,7 +1368,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"KVC","level":"1.2.4.5","depth":3,"next":{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},"previous":{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/KVC.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"KVC","level":"1.2.4.5","depth":3,"next":{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},"previous":{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/KVC.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/KVO.html b/iOS/OCFoundation/KVO.html index 27a00344..b288fe0c 100644 --- a/iOS/OCFoundation/KVO.html +++ b/iOS/OCFoundation/KVO.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1488,7 +1488,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"KVO","level":"1.2.4.6","depth":3,"next":{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},"previous":{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/KVO.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"KVO","level":"1.2.4.6","depth":3,"next":{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},"previous":{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/KVO.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/Lock.html b/iOS/OCFoundation/Lock.html index e421c605..bcb1b703 100644 --- a/iOS/OCFoundation/Lock.html +++ b/iOS/OCFoundation/Lock.html @@ -57,7 +57,7 @@ - + @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -2190,7 +2190,7 @@

    No results matching " - + @@ -2201,7 +2201,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Lock","level":"1.2.4.11","depth":3,"next":{"title":"AutoReleasePool","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},"previous":{"title":"GCD-Thread","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Lock.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Lock","level":"1.2.4.12","depth":3,"next":{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]},"previous":{"title":"GCD-Thread","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Lock.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/MessageForwarding.html b/iOS/OCFoundation/MessageForwarding.html index 4e90c63f..38605e43 100644 --- a/iOS/OCFoundation/MessageForwarding.html +++ b/iOS/OCFoundation/MessageForwarding.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1423,7 +1423,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"next":{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},"previous":{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/MessageForwarding.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"next":{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},"previous":{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/MessageForwarding.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/Method.html b/iOS/OCFoundation/Method.html index 907a2459..5b021f95 100644 --- a/iOS/OCFoundation/Method.html +++ b/iOS/OCFoundation/Method.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1507,7 +1507,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Method","level":"1.2.4.3","depth":3,"next":{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},"previous":{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Method.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Method","level":"1.2.4.3","depth":3,"next":{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},"previous":{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Method.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/MultiThreading.html b/iOS/OCFoundation/MultiThreading.html index c776754c..5a16be21 100644 --- a/iOS/OCFoundation/MultiThreading.html +++ b/iOS/OCFoundation/MultiThreading.html @@ -60,7 +60,7 @@ - + @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1551,7 +1551,7 @@

    No results matching " + @@ -1567,7 +1567,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"MultiThreading","level":"1.2.4.8","depth":3,"next":{"title":"GCD-Usage","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},"previous":{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/MultiThreading.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"MultiThreading","level":"1.2.4.9","depth":3,"next":{"title":"GCD-Usage","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},"previous":{"title":"AutoReleasePool","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/MultiThreading.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/Runloop.html b/iOS/OCFoundation/Runloop.html index 48f23dc7..41ebbd5d 100644 --- a/iOS/OCFoundation/Runloop.html +++ b/iOS/OCFoundation/Runloop.html @@ -57,7 +57,7 @@ - + @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1730,7 +1730,7 @@

    No results matching " - + @@ -1741,7 +1741,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Runloop","level":"1.2.4.7","depth":3,"next":{"title":"MultiThreading","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},"previous":{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Runloop.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Runloop","level":"1.2.4.7","depth":3,"next":{"title":"AutoReleasePool","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},"previous":{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Runloop.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/OCFoundation/Runtime.html b/iOS/OCFoundation/Runtime.html index a56ee7a5..15f68fe9 100644 --- a/iOS/OCFoundation/Runtime.html +++ b/iOS/OCFoundation/Runtime.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1369,7 +1369,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Runtime","level":"1.2.4.1","depth":3,"next":{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},"previous":{"title":"第四章 OC Foundation","level":"1.2.4","depth":2,"ref":"","articles":[{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},{"title":"MultiThreading","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},{"title":"GCD-Usage","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},{"title":"GCD-Thread","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},{"title":"Lock","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},{"title":"AutoReleasePool","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Runtime.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Runtime","level":"1.2.4.1","depth":3,"next":{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},"previous":{"title":"第四章 OC Foundation","level":"1.2.4","depth":2,"ref":"","articles":[{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},{"title":"AutoReleasePool","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},{"title":"MultiThreading","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},{"title":"GCD-Usage","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},{"title":"GCD-Thread","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},{"title":"Lock","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/OCFoundation/Runtime.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/AssociatedObject.html b/iOS/Objc_Object/AssociatedObject.html index f088e251..d4e1f4fd 100644 --- a/iOS/Objc_Object/AssociatedObject.html +++ b/iOS/Objc_Object/AssociatedObject.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1470,7 +1470,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"next":{"title":"第四章 OC Foundation","level":"1.2.4","depth":2,"ref":"","articles":[{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},{"title":"MultiThreading","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},{"title":"GCD-Usage","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},{"title":"GCD-Thread","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},{"title":"Lock","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},{"title":"AutoReleasePool","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]}]},"previous":{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/AssociatedObject.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"next":{"title":"第四章 OC Foundation","level":"1.2.4","depth":2,"ref":"","articles":[{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},{"title":"AutoReleasePool","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},{"title":"MultiThreading","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},{"title":"GCD-Usage","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},{"title":"GCD-Thread","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},{"title":"Lock","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]}]},"previous":{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/AssociatedObject.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/Category.html b/iOS/Objc_Object/Category.html index f5aa55d9..f2044d92 100644 --- a/iOS/Objc_Object/Category.html +++ b/iOS/Objc_Object/Category.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1702,7 +1702,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Category","level":"1.2.3.6","depth":3,"next":{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]},"previous":{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/Category.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Category","level":"1.2.3.6","depth":3,"next":{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]},"previous":{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/Category.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/ClassRWT.html b/iOS/Objc_Object/ClassRWT.html index d2c07a88..8f96af14 100644 --- a/iOS/Objc_Object/ClassRWT.html +++ b/iOS/Objc_Object/ClassRWT.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1491,7 +1491,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"ClassRWT","level":"1.2.3.4","depth":3,"next":{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},"previous":{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/ClassRWT.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"ClassRWT","level":"1.2.3.4","depth":3,"next":{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},"previous":{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/ClassRWT.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/OCAllocInit.html b/iOS/Objc_Object/OCAllocInit.html index d131aa02..da3e6c1b 100644 --- a/iOS/Objc_Object/OCAllocInit.html +++ b/iOS/Objc_Object/OCAllocInit.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1517,7 +1517,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"AllocInit","level":"1.2.3.5","depth":3,"next":{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},"previous":{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/OCAllocInit.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"AllocInit","level":"1.2.3.5","depth":3,"next":{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},"previous":{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/OCAllocInit.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/ObjectClass.html b/iOS/Objc_Object/ObjectClass.html index a7ab21cc..01bcebaf 100644 --- a/iOS/Objc_Object/ObjectClass.html +++ b/iOS/Objc_Object/ObjectClass.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1395,7 +1395,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"ObjectClass","level":"1.2.3.3","depth":3,"next":{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},"previous":{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/ObjectClass.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"ObjectClass","level":"1.2.3.3","depth":3,"next":{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},"previous":{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/ObjectClass.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/Property.html b/iOS/Objc_Object/Property.html index f35f2975..f8a9c086 100644 --- a/iOS/Objc_Object/Property.html +++ b/iOS/Objc_Object/Property.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1483,7 +1483,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Propety属性","level":"1.2.3.1","depth":3,"next":{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},"previous":{"title":"第三章 Objc_Object","level":"1.2.3","depth":2,"ref":"","articles":[{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/Property.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Propety属性","level":"1.2.3.1","depth":3,"next":{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},"previous":{"title":"第三章 Objc_Object","level":"1.2.3","depth":2,"ref":"","articles":[{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/Property.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/Objc_Object/isa.html b/iOS/Objc_Object/isa.html index 32314f1f..b0cb8bc6 100644 --- a/iOS/Objc_Object/isa.html +++ b/iOS/Objc_Object/isa.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1485,7 +1485,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"isa","level":"1.2.3.2","depth":3,"next":{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},"previous":{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/isa.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"isa","level":"1.2.3.2","depth":3,"next":{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},"previous":{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/Objc_Object/isa.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/ReadME.html b/iOS/ReadME.html index f2a52b8f..fa0955f4 100644 --- a/iOS/ReadME.html +++ b/iOS/ReadME.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1359,7 +1359,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS技术总结","level":"1.2","depth":1,"next":{"title":"第一章 UIKit","level":"1.2.1","depth":2,"ref":"","articles":[{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]}]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"ReadME.md","ref":"ReadME.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/ReadME.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS技术总结","level":"1.2","depth":1,"next":{"title":"第一章 UIKit","level":"1.2.1","depth":2,"ref":"","articles":[{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]}]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"ReadME.md","ref":"ReadME.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/ReadME.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/iOS/SourceCode/FluentDarkModeKit.html b/iOS/SourceCode/FluentDarkModeKit.html index d2592ecd..d0f2e6bf 100644 --- a/iOS/SourceCode/FluentDarkModeKit.html +++ b/iOS/SourceCode/FluentDarkModeKit.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1632,7 +1632,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"next":{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},"previous":{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/FluentDarkModeKit.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"next":{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},"previous":{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/FluentDarkModeKit.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/SourceCode/KTVHttpCache.html b/iOS/SourceCode/KTVHttpCache.html index 5b1abc49..3e13a6db 100644 --- a/iOS/SourceCode/KTVHttpCache.html +++ b/iOS/SourceCode/KTVHttpCache.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1632,7 +1632,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"next":{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]},"previous":{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/KTVHttpCache.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"next":{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]},"previous":{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/KTVHttpCache.md","mtime":"2024-09-08T03:05:48.548Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/SourceCode/SDWebImage.html b/iOS/SourceCode/SDWebImage.html index ac4b0a0e..c65e50c8 100644 --- a/iOS/SourceCode/SDWebImage.html +++ b/iOS/SourceCode/SDWebImage.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1826,7 +1826,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"SDWebImage","level":"1.2.5.4","depth":3,"next":{"title":"第六章 iOS知识点","level":"1.2.6","depth":2,"ref":"","articles":[{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]}]},"previous":{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/SDWebImage.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"SDWebImage","level":"1.2.5.4","depth":3,"next":{"title":"第六章 iOS知识点","level":"1.2.6","depth":2,"ref":"","articles":[{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]}]},"previous":{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/SDWebImage.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/SourceCode/YYASyncLayer.html b/iOS/SourceCode/YYASyncLayer.html index b2a15a7c..3cb7ec4c 100644 --- a/iOS/SourceCode/YYASyncLayer.html +++ b/iOS/SourceCode/YYASyncLayer.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1660,7 +1660,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"next":{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},"previous":{"title":"第五章 源码","level":"1.2.5","depth":2,"ref":"","articles":[{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/YYASyncLayer.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"next":{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},"previous":{"title":"第五章 源码","level":"1.2.5","depth":2,"ref":"","articles":[{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/SourceCode/YYASyncLayer.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/UIKit/UIImageRender.html b/iOS/UIKit/UIImageRender.html index 29003224..8e384607 100644 --- a/iOS/UIKit/UIImageRender.html +++ b/iOS/UIKit/UIImageRender.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1370,7 +1370,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"next":{"title":"第二章 Memory","level":"1.2.2","depth":2,"ref":"","articles":[{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]}]},"previous":{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIImageRender.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"next":{"title":"第二章 Memory","level":"1.2.2","depth":2,"ref":"","articles":[{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]}]},"previous":{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIImageRender.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/UIKit/UIOffScreenRendering.html b/iOS/UIKit/UIOffScreenRendering.html index 14fcd856..380be4b3 100644 --- a/iOS/UIKit/UIOffScreenRendering.html +++ b/iOS/UIKit/UIOffScreenRendering.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1388,7 +1388,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"next":{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},"previous":{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIOffScreenRendering.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"next":{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},"previous":{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIOffScreenRendering.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/UIKit/UIResponder.html b/iOS/UIKit/UIResponder.html index 3193c0eb..9471bfa6 100644 --- a/iOS/UIKit/UIResponder.html +++ b/iOS/UIKit/UIResponder.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1484,7 +1484,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"next":{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},"previous":{"title":"第一章 UIKit","level":"1.2.1","depth":2,"ref":"","articles":[{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIResponder.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"next":{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},"previous":{"title":"第一章 UIKit","level":"1.2.1","depth":2,"ref":"","articles":[{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIResponder.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/UIKit/UIViewRender.html b/iOS/UIKit/UIViewRender.html index 8191dd08..18426a89 100644 --- a/iOS/UIKit/UIViewRender.html +++ b/iOS/UIKit/UIViewRender.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1530,7 +1530,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"next":{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},"previous":{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIViewRender.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"next":{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},"previous":{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIViewRender.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/iOS/UIKit/UIViewRenderProcess.html b/iOS/UIKit/UIViewRenderProcess.html index 2223aea5..42cc0790 100644 --- a/iOS/UIKit/UIViewRenderProcess.html +++ b/iOS/UIKit/UIViewRenderProcess.html @@ -512,12 +512,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -525,12 +525,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -538,12 +538,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -551,12 +551,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -564,12 +564,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1668,7 +1668,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"next":{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]},"previous":{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIViewRenderProcess.md","mtime":"2024-09-07T13:52:03.648Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":"../..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"next":{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]},"previous":{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"iOS/UIKit/UIViewRenderProcess.md","mtime":"2024-09-08T03:05:48.552Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":"../..","book":{"language":""}}); }); diff --git a/index.html b/index.html index 1097a607..da150c84 100644 --- a/index.html +++ b/index.html @@ -510,12 +510,12 @@

  • -
  • +
  • - + - MultiThreading + AutoReleasePool @@ -523,12 +523,12 @@
  • -
  • +
  • - + - GCD-Usage + MultiThreading @@ -536,12 +536,12 @@
  • -
  • +
  • - + - GCD-Thread + GCD-Usage @@ -549,12 +549,12 @@
  • -
  • +
  • - + - Lock + GCD-Thread @@ -562,12 +562,12 @@
  • -
  • +
  • - + - AutoReleasePool + Lock @@ -1385,7 +1385,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"iOS技术总结","level":"1.2","depth":1,"path":"iOS/ReadME.md","ref":"iOS/ReadME.md","articles":[{"title":"第一章 UIKit","level":"1.2.1","depth":2,"ref":"","articles":[{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]}]},{"title":"第二章 Memory","level":"1.2.2","depth":2,"ref":"","articles":[{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]}]},{"title":"第三章 Objc_Object","level":"1.2.3","depth":2,"ref":"","articles":[{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]}]},{"title":"第四章 OC Foundation","level":"1.2.4","depth":2,"ref":"","articles":[{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},{"title":"MultiThreading","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},{"title":"GCD-Usage","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},{"title":"GCD-Thread","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},{"title":"Lock","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},{"title":"AutoReleasePool","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]}]},{"title":"第五章 源码","level":"1.2.5","depth":2,"ref":"","articles":[{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]}]},{"title":"第六章 iOS知识点","level":"1.2.6","depth":2,"ref":"","articles":[{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]}]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"ReadME.md","mtime":"2024-09-07T13:52:03.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-07T13:52:28.305Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"iOS技术总结","level":"1.2","depth":1,"path":"iOS/ReadME.md","ref":"iOS/ReadME.md","articles":[{"title":"第一章 UIKit","level":"1.2.1","depth":2,"ref":"","articles":[{"title":"UI触摸事件与事件响应","level":"1.2.1.1","depth":3,"path":"iOS/UIKit/UIResponder.md","ref":"iOS/UIKit/UIResponder.md","articles":[]},{"title":"iOS 离屏渲染","level":"1.2.1.2","depth":3,"path":"iOS/UIKit/UIOffScreenRendering.md","ref":"iOS/UIKit/UIOffScreenRendering.md","articles":[]},{"title":"iOS UIView刷新与渲染机制","level":"1.2.1.3","depth":3,"path":"iOS/UIKit/UIViewRender.md","ref":"iOS/UIKit/UIViewRender.md","articles":[]},{"title":"iOS界面渲染流程分析","level":"1.2.1.4","depth":3,"path":"iOS/UIKit/UIViewRenderProcess.md","ref":"iOS/UIKit/UIViewRenderProcess.md","articles":[]},{"title":"iOS 图片的加载与渲染过程","level":"1.2.1.5","depth":3,"path":"iOS/UIKit/UIImageRender.md","ref":"iOS/UIKit/UIImageRender.md","articles":[]}]},{"title":"第二章 Memory","level":"1.2.2","depth":2,"ref":"","articles":[{"title":"iOS结构体内存对齐","level":"1.2.2.1","depth":3,"path":"iOS/Memory/StructMemoryAligned.md","ref":"iOS/Memory/StructMemoryAligned.md","articles":[]},{"title":"内存中的5大区","level":"1.2.2.2","depth":3,"path":"iOS/Memory/MemoryFiveMainSection.md","ref":"iOS/Memory/MemoryFiveMainSection.md","articles":[]},{"title":"ReferenceCounting","level":"1.2.2.3","depth":3,"path":"iOS/Memory/ReferenceCounting.md","ref":"iOS/Memory/ReferenceCounting.md","articles":[]},{"title":"Tagged Pointer","level":"1.2.2.4","depth":3,"path":"iOS/Memory/TaggedPointer.md","ref":"iOS/Memory/TaggedPointer.md","articles":[]},{"title":"SideTables","level":"1.2.2.5","depth":3,"path":"iOS/Memory/SideTables.md","ref":"iOS/Memory/SideTables.md","articles":[]},{"title":"WeakTable","level":"1.2.2.6","depth":3,"path":"iOS/Memory/WeakTable.md","ref":"iOS/Memory/WeakTable.md","articles":[]}]},{"title":"第三章 Objc_Object","level":"1.2.3","depth":2,"ref":"","articles":[{"title":"Propety属性","level":"1.2.3.1","depth":3,"path":"iOS/Objc_Object/Property.md","ref":"iOS/Objc_Object/Property.md","articles":[]},{"title":"isa","level":"1.2.3.2","depth":3,"path":"iOS/Objc_Object/isa.md","ref":"iOS/Objc_Object/isa.md","articles":[]},{"title":"ObjectClass","level":"1.2.3.3","depth":3,"path":"iOS/Objc_Object/ObjectClass.md","ref":"iOS/Objc_Object/ObjectClass.md","articles":[]},{"title":"ClassRWT","level":"1.2.3.4","depth":3,"path":"iOS/Objc_Object/ClassRWT.md","ref":"iOS/Objc_Object/ClassRWT.md","articles":[]},{"title":"AllocInit","level":"1.2.3.5","depth":3,"path":"iOS/Objc_Object/OCAllocInit.md","ref":"iOS/Objc_Object/OCAllocInit.md","articles":[]},{"title":"Category","level":"1.2.3.6","depth":3,"path":"iOS/Objc_Object/Category.md","ref":"iOS/Objc_Object/Category.md","articles":[]},{"title":"AssociatedObject","level":"1.2.3.7","depth":3,"path":"iOS/Objc_Object/AssociatedObject.md","ref":"iOS/Objc_Object/AssociatedObject.md","articles":[]}]},{"title":"第四章 OC Foundation","level":"1.2.4","depth":2,"ref":"","articles":[{"title":"Runtime","level":"1.2.4.1","depth":3,"path":"iOS/OCFoundation/Runtime.md","ref":"iOS/OCFoundation/Runtime.md","articles":[]},{"title":"Block","level":"1.2.4.2","depth":3,"path":"iOS/OCFoundation/Block.md","ref":"iOS/OCFoundation/Block.md","articles":[]},{"title":"Method","level":"1.2.4.3","depth":3,"path":"iOS/OCFoundation/Method.md","ref":"iOS/OCFoundation/Method.md","articles":[]},{"title":"MessageForwarding","level":"1.2.4.4","depth":3,"path":"iOS/OCFoundation/MessageForwarding.md","ref":"iOS/OCFoundation/MessageForwarding.md","articles":[]},{"title":"KVC","level":"1.2.4.5","depth":3,"path":"iOS/OCFoundation/KVC.md","ref":"iOS/OCFoundation/KVC.md","articles":[]},{"title":"KVO","level":"1.2.4.6","depth":3,"path":"iOS/OCFoundation/KVO.md","ref":"iOS/OCFoundation/KVO.md","articles":[]},{"title":"Runloop","level":"1.2.4.7","depth":3,"path":"iOS/OCFoundation/Runloop.md","ref":"iOS/OCFoundation/Runloop.md","articles":[]},{"title":"AutoReleasePool","level":"1.2.4.8","depth":3,"path":"iOS/OCFoundation/AutoReleasePool.md","ref":"iOS/OCFoundation/AutoReleasePool.md","articles":[]},{"title":"MultiThreading","level":"1.2.4.9","depth":3,"path":"iOS/OCFoundation/MultiThreading.md","ref":"iOS/OCFoundation/MultiThreading.md","articles":[]},{"title":"GCD-Usage","level":"1.2.4.10","depth":3,"path":"iOS/OCFoundation/GCDUsage.md","ref":"iOS/OCFoundation/GCDUsage.md","articles":[]},{"title":"GCD-Thread","level":"1.2.4.11","depth":3,"path":"iOS/OCFoundation/GCDThread.md","ref":"iOS/OCFoundation/GCDThread.md","articles":[]},{"title":"Lock","level":"1.2.4.12","depth":3,"path":"iOS/OCFoundation/Lock.md","ref":"iOS/OCFoundation/Lock.md","articles":[]},{"title":"@synchronized","level":"1.2.4.13","depth":3,"path":"iOS/OCFoundation/@synchronized.md","ref":"iOS/OCFoundation/@synchronized.md","articles":[]}]},{"title":"第五章 源码","level":"1.2.5","depth":2,"ref":"","articles":[{"title":"YYAsyncLayer","level":"1.2.5.1","depth":3,"path":"iOS/SourceCode/YYASyncLayer.md","ref":"iOS/SourceCode/YYASyncLayer.md","articles":[]},{"title":"FluentDarkModeKit ","level":"1.2.5.2","depth":3,"path":"iOS/SourceCode/FluentDarkModeKit.md","ref":"iOS/SourceCode/FluentDarkModeKit.md","articles":[]},{"title":"KTVHttpCache","level":"1.2.5.3","depth":3,"path":"iOS/SourceCode/KTVHttpCache.md","ref":"iOS/SourceCode/KTVHttpCache.md","articles":[]},{"title":"SDWebImage","level":"1.2.5.4","depth":3,"path":"iOS/SourceCode/SDWebImage.md","ref":"iOS/SourceCode/SDWebImage.md","articles":[]}]},{"title":"第六章 iOS知识点","level":"1.2.6","depth":2,"ref":"","articles":[{"title":"Dyld","level":"1.2.6.1","depth":3,"path":"iOS/Knowledge/Dyld.md","ref":"iOS/Knowledge/Dyld.md","articles":[]},{"title":"App启动详细","level":"1.2.6.2","depth":3,"path":"iOS/Knowledge/AppLaunchDetail.md","ref":"iOS/Knowledge/AppLaunchDetail.md","articles":[]},{"title":"Mach-O","level":"1.2.6.3","depth":3,"path":"iOS/Knowledge/MachO.md","ref":"iOS/Knowledge/MachO.md","articles":[]},{"title":"PreMain","level":"1.2.6.4","depth":3,"path":"iOS/Knowledge/PreMain.md","ref":"iOS/Knowledge/PreMain.md","articles":[]},{"title":"iOS 编译过程","level":"1.2.6.5","depth":3,"path":"iOS/Knowledge/Complie.md","ref":"iOS/Knowledge/Complie.md","articles":[]},{"title":"二进制重排","level":"1.2.6.6","depth":3,"path":"iOS/Knowledge/BinaryOrder.md","ref":"iOS/Knowledge/BinaryOrder.md","articles":[]},{"title":"self class && super class","level":"1.2.6.7","depth":3,"path":"iOS/Knowledge/RuntimeSuper.md","ref":"./iOS/Knowledge/RuntimeSuper.md","articles":[]},{"title":"isKindOfClass && isMemberOfClass","level":"1.2.6.8","depth":3,"path":"iOS/Knowledge/RuntimeCls.md","ref":"./iOS/Knowledge/RuntimeCls.md","articles":[]}]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"ReadME.md","mtime":"2024-09-08T03:05:48.544Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-09-08T03:06:14.567Z"},"basePath":".","book":{"language":""}}); }); diff --git a/search_index.json b/search_index.json index a8010c8a..bbd50d2f 100644 --- a/search_index.json +++ b/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["&","1.","1.app启动过程","10.osi","2.","2.cocoapods原理总结","2.设计模式","3.","3.内联函数,与宏的区别","4.","4.单链表与顺序结构","4次挥手过程详解","5.","5.static区别","6.","7.","8.","9.","c作为m和v之间的连接,","c则是控制器.","c还需要及时提交相应更新到界面展示.","http","introduct","io","mvc","mvc因其复用性,","mvc最早存在于桌面程序中的,","m是指业务数据,","post","roadmap","socket","tcp/udp区别以及udp如何实现可靠传输","v是指用户界面,","↓","《图解http》知识点摘录","一些推荐阅读","一次完整的http请求所经历的7个步骤","什么是http协议无状态协议?怎么解决http协议无状态协议?","什么是mvc?","传送门","区别","另外,","和","因为m和v之间是完全隔离的,","在上述过程中,","在具体的业务场景中,","在数据有所更新时,","复用已有的m和v便可快速搭建新的业务场景.","大大提高了开发效率,","所以在业务场景切换时,","更多博文可看传送门","有什么关系和区别","杂乱知识点","架构方面","消息发送与转发详解","然后将处理后的数据输出到界面上做相应展示,","现已被广泛应用在各端开发中。","简述tcp的三次握手过程","网络","设计模式","负责获取输入的业务数据,","通常只需要替换相应的c,","链接"],"iOS/ReadME.html":["1.","2.oc语言基础","3.runtim","4.block","5.runloop","6.memory内存管理","7.","8.thread","autoreleasepool","ios技术总结","ui视图"],"iOS/UIKit/UIResponder.html":["\");","(bool)pointinside:(cgpoint)point","(uiview","(void)touchesbegan:(nsset","(void)touchescancelled:(nsset","(void)touchesended:(nsset","(void)touchesmoved:(nsset","*","*)event","*)hittest:(cgpoint)point","*)touch",",继续遍历","...","//判断点击位置是否在当前范围内","//指定想要响应事件的","//控制响应的范围,扩大","//返回最终响应的事件","1.","1.app进程的mach","2.","2.source1回调又触发了一个source0回调,将接收到的iohidevent对象封装成uievent对象,此时app将正式开始对于触摸事件的响应。","3.","3.source0回调内部将触摸事件添加到uiapplication对象的事件队列中。事件出队后,uiapplication开始一个寻找最佳响应者的过程,这个过程又称hit","4.寻找到最佳响应者后,接下来的事情便是事件在响应链中的传递及响应了,关于响应链相关的内容详见[事件的响应及在响应链中的传递]一节。事实上,事件除了被响应者消耗,还能被手势识别器或是target","5.触摸事件历经坎坷后要么被某个响应对象捕获后释放,要么致死也没能找到能够响应的对象,最终释放。至此,这个触摸事件的使命就算终结了。runloop若没有其他事件需要处理,也将重归于眠,等待新的事件到来后唤醒。","=",">","[super","a_view","action模式捕捉并消耗掉。其中涉及对触摸事件的响应优先级","alpha","appdeleg","applic","app响应阶段","aview,","b","bool","c,","c_view","control","cview","d","d_view","e","e_view","example:","first","hidden","hit","hittest","hittest:point","hittest:withevent:","hittest:withevent:和pointinside:withevent:方法寻找出操作初始点所在视图。查找最合适的view的过程是一个递归的过程。","hittestview:%@\",view);","hittestview:(null)","hittestview:>","io","iokit将触摸事件封装成一个iohidevent对象,并通过mach","ios事件处理,看我就够了~","ios触摸事件全家桶","isinsid","isinside:%d\",isinside);","isinside:0","isinside:1","isinside;","mach","nil","no,hittest","no,禁止用户操作的视图.","nslog(@\"a_touchesbegan\");","nslog(@\"a_touchescancelled\");","nslog(@\"a_touchesended\");","nslog(@\"a_touchesmoved\");","nslog(@\"a_view","nslog(@\"离开a_view","nslog(@\"进入a_view","pointinsid","pointinside:point","pointinside检测到该","pointinside返回","port","port传递给springboard进程。","port接受到springboard进程传递来的触摸事件,主线程的runloop被唤醒,触发了source1回调。","refer","respons","response(第一响应者),指的是当前接受触摸的响应者对象,是响应者的开端。响应者链和事件分发的使命都是找出第一响应者。","return","root","springboard.app","springboard进程因接收到触摸事件,触发了主线程runloop的source1事件源的回调。","subview","subviews)","super","test","touchesbegan:touch","touchescancelled:touch","touchesended:touch","touchesmoved:touch","uiapplic","uievent","uiview","uiwindow","ui触摸事件与事件响应","userinteractionen","view","view,","view;","viewcontroller(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top","view。","view)到窗口(uiwindow","window","withev","withevent:(nul","withevent:(uiev","withevent:event];","yes,隐藏的视图.","{","}","。接下来如上面","一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象","不是触点view,则","与","中的方法:","事件传递","事件响应链","事件机制","事件的主要由:响应连","事件的生命周期","什么是","从底到高传递事件(addsubview顺序倒序遍历","从逻辑上来说,探测链是最先发生的机制,当触摸事件发生后,io","以下的触摸事件更底层的解释:","传递链","传递链:有系统向最上层view传递,appl","倒序下一个,如此反复,直到遍历到最后","其中uiview不接受事件处理的情况有","原生触摸事件从","后的","和","响应者链是由一个不同对象组成的层次结构,其中的每个对象将依次获得响应事件的机会。当发生事件时,事件首先将被发送到第一响应者,第一响应者基本是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并作出处理。","响应连:由最基础的view向系统传递,first","基本上,在响应者链只要有对象处理事件,事件就停止传递。","如log,","如上图,最底层有一个","如果在","对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。","对象)再到程序(uiapplic","对象,并放入当前活动application的事件队列中去。接下来开始自uiapplication往下传递,首先会传递给主window,然后按照view的层级结构一层层往下传递,一直找到最合适的view(发生touch的那个view)来处理事件。查找最合适的view的过程是一个递归的过程,其中涉及到两个重要的方法","开始,沿着响应链从上向下进行传递。","当事件发生了,必须知道有谁来响应。在ios中,由响应者链来对事件进行响应。","当我们点击屏幕时候的事件传递","当指尖触碰屏幕的那一刻,一个触摸事件就在系统中生成了。经过ipc进程间通信,事件最终被传递到了合适的应用。在应用内历经峰回路转的奇幻之旅后,最终被释放。大致经过如下图:","手指触碰屏幕,屏幕感应到触碰后,将事件交由iokit处理。","按顺序添加","方法沿视图层级树从底向上(从根视图开始)从后向前(从逻辑上更靠近屏幕的视图开始)进行遍历,最终返回一个适合响应触摸事件的","是一个系统进程,可以理解为桌面系统,可以统一管理和分发系统接收到的触摸事件。","更好的原理解析如下:","来响应。","来确定触摸事件发生在哪个视图对象上。其中主要用到了两个","构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的uirespons","检测到手指触摸操作(touch)时,会将其打包成一个","此时springboard会根据当前桌面的状态,判断应该由谁处理此次触摸事件。因为事件发生时,你可能正在桌面上翻页,也可能正在刷微博。若是前者(即前台无app运行),则触发springboard本身主线程runloop的source0事件源的回调,将事件交由桌面系统去消耗;若是后者(即有app正在前台运行),则将触摸事件通过ipc传递给前台app进程,接下来的事情便是app内部对于触摸事件的响应了。","比如点击的是","注意和事件传递是倆概念!!!!","深入理解","点击","的事件响应链机制?","的子view","的解释","离开a_view","离开c_view","离开d_view","离开e_view","系统响应阶段","系统根据","系统通过","缩小。","要么至死也没能找到能够响应的对象,最终释放。","详细触摸事件","返回nil","返回的","进入a_view","进入c_view","进入d_view","进入e_view","进程端口,各进程之间通过它进行通信。","递归执行hittest",",可以指派","="],"iOS/UIKit/UIOffScreenRendering.html":["(gpu","(masktobound",",","9",">","buffer","buffer,","cliptobound","color","command","debug","frame","gpu","io","ios9后,","layer","layer依次画好,","maketobound","opengl","reference:","render","screen","ui","view","yes,","不设置背景色","中,","中。","为","为什么会产生离屏渲染?","为何要避免离屏渲染","之后再写入到","产生了离屏渲染,但是","什么是离屏渲染?","以及他的子","但是这时的","何时触发","先把父","光栅化","光栅化(rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。(应用:较为广泛的应用于深度学习卷积神经网络的结构中)","关于","具体可以看下面的例子),","内容需要添加圆角和裁切,所以可以不需要用到离屏渲染技术。但如果加上了背景色、边框或其他有图像内容的图层,就会产生为","再把结果放到","则通过设置","单层","可以理解为,因为只有","可以通过设置","同时使用)","因为父","图层蒙版","圆角+masktobound","圆角+masktobounds,","圆角(当和","在触发离屏渲染时候,会增加gpu工作量,增加gpu工作量,可能会导致gpu和cpu工作耗时的总耗时超出vsync信号(16.7毫秒)时间,导致ui卡顿或者掉帧。","多层","容器的子控件在渲染的过程中,","就可能触发离屏渲染。","就开始渲染,","已经被渲染完成而子","开辟独立于","当我们要在屏幕上显示内容,","当设置某些ui图层属性时候,如果指定为被未预合成之前,不能直接显示在屏幕上的时候,就触发了离屏渲染。","或者","所以系统就不得不去","所以这个过程就没办法实现了","探索","提交一个命令到","是不会触发离屏渲染(单层情况下)","是被裁剪过的,","最后将渲染结果放到","来作为数据存储区域","来打开离屏渲染检测","检测离屏渲染","模拟器","正常的情况下,","没有办法进行统一裁剪,","添加圆角和裁切,所以还是会触发离屏渲染。","渲染结果存储的地方)。但是此时出现了特殊情况导致渲染结果无法直接写入","然后合并到一起进行裁剪,","然后设置了背景颜色,","父","的优化后:","的内存,","的内容裁剪成圆角","的区域","的区域就是触发了","的卡顿和掉帧","的额外开销,那么可能就会导致","真机","离屏渲染","离屏渲染。","离屏渲染会创建新的渲染缓冲区,导致内存上的开销,有多通道渲染管线,最终要把多通道的渲染结果进行合成,所有会有上下文的切换,就有","离屏渲染发生在gpu层面上,因为离屏渲染使gpu触发opengl多通道渲染管线,产生额外开销,所以要避免。","离屏渲染是基于gpu层面上的,指gpu在当前屏幕缓冲区外开辟了一个缓冲区,进行渲染操作。","而是需要先暂存到另外的区域进行处理,","背景色不是透明,","至少需要一块与屏幕像素数据量一样大的","还在队列中,","这就是为什么需要离屏渲染。","这种情况就称之为","这里如果想要绘制一个带有圆角并剪切圆角的容器","那么也需要被裁剪;","阴影","随后","颜色呈现","首先将","黄色"],"iOS/UIKit/UIViewRender.html":["(juejin.cn)","(即将退出loop)","(注:","*","1.","1/60","1、app从点击屏幕到完成渲染,中间发生了什么?","1)代理负责生产对应的","2.","2、当一个","2)设置","3.","3.1","3.2","3个阶段方法;不同方法在不同周期会刷新布局显示出来。","4.","4096,一旦超过这个尺寸就会调用cpu进行资源处理,所以纹理尽量不要超过这个尺寸","5.","6.","60","7.","=","[calay","[calyer","[layer.deleg","[uiview","[view","[view.lay","[渲染原理]当你被问到下面问题,你能够回答出来么?","[译]","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()。这个函数里会遍历所有待处理的","anim","applic","autolayout比frame更消耗资源","back","beforewaiting(即将进入休眠)","bitmap","bitmap(通常也被称为","bitmap,进而呈现到屏幕上","block","ca::context::commit_transaction();","ca::layer::display_if_needed();","ca::layer::layout_and_display_if_needed();","ca::layer::layout_if_needed();","ca::transaction::commit();","ca::transaction::commit:以后),cpu执行drawrect,通过context将数据写入back","calay","calayer基于coreanimation,","calayer提供内容,专门负责处理触摸等事件,参与响应链","calayer的display方法中,首先会判断layer的delegate方法displaylayer:是否实现,如果代理没有响应这个方法,则进入到系统绘制流程;如果代理响应了这个方法,则进入到异步绘制流程","cgcontextref","commit(提交位图)","commit,这个","con","constraint","constraints”来触发","constraints”标记(可以被","constrait","content","context","core","cpu和gpu通过总线连接,cpu中计算出的往往是bitmap位图,通过总线由合适的时机传递给gpu,gpu拿到位图后,渲染到帧缓存区framebuffer,然后由视频控制器根据vsync信号在指定时间之前去帧缓冲区提取内容,显示到屏幕上。","cpu工作内容:","cpu:","cycl","dispaylay","dispaylayer:]","display]","display];","display(绘制","draw","drawrect","drawrect];","drawrect方法内为何第一行代码总要获取图形的上下文?","drawrect)","exit","fp","frame","gpu","gpu工作内容:","gpu能处理的最大纹理是4096","gpu:","graphic","invalidateinstrinsiccontentsize方法自动设置)。如果它认为这些约束需要被更新,它会立即触发","io","ios的","layer.cont","layouifneeded]","layoutifneed","layoutifneeded()","layoutifneeded,以确保在动画开始之前传播所有的布局更新。在","layoutifneeded,则布局和重绘会立即发生并在函数返回之前完成(除非有正在运行中的动画)。这个方法在你需要依赖新布局,无法等到下一次","layoutifneeded,并且两次之间没有更新视图,第二个调用同样不会触发","layoutsublayers];","layoutsubview","layoutsubviews()","layoutsubviews];","layoutsubview。如果你在同一个","layout”","layout(ui布局,文本计算)","loop","mainrunloop是一个60fps的回调,也就是说每16.7ms(vsync信号时间)会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawrect),这些cpu的工作。然后将这个缓冲区交给gpu渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。","masonri","observ","prepare(图片解码)","quartzcore:ca::transaction::observer_callback:","reference:","run","runloop","runloop、upd","self.view","server交给gpu去渲染,将back","setlayoutifneed]","setneedsdispay","setneedsdisplay","setneedsdisplay()","setneedsdisplay]","setneedslaylout","setneedslayout","setneedslayout()","setneedsupdateconstraint","setneedsupdateconstraints()","storag","store","store中的bitmap数据显示在屏幕上","store写完后,通过rend","store(位图)传给gpu。","store),而当设备屏幕进行刷新时,会从","subview","ui","uigraphicsgetcurrentcontext();","uilabel","uiscrollview","uiview","uiview/calay","uiview刷新与渲染机制","uiview的绘制原理","ui控件的绘制工作","updat","updateconstraint","updateconstraints()","updateconstraints()。这个方法和","updateconstraintsifneeded()","view","view.layer.cont","view布局与约束时机","view绘制渲染机制和runloop什么关系","view,那么系统就会把这个","yyasynclay","yyasynclayer基于异步绘制:","“updat","▐","。它会给有内容更新的视图设置一个内部的标记,但在视图重绘之前就会返回。然后在下一个","一个视图的布局指的是它在屏幕上的的大小和位置。每个","一个视图的显示包含了颜色、文本、图片和","上滚动(layoutsubview","上的更改。用户交互和布局更新间的延迟几乎不会被用户察觉到。io","上被调用)","上述图像渲染流水线中,除了第一部分","上面打上一个脏标记","与","中具体的方法可以帮助避免或者可以调试这类问题。下面的图展示出了","中就会重绘,而不需要显式的","中更新,就在系统调用视图们的","中有一个","中的","中的更新延迟。但是由于在处理事件和对应","中的某时刻的","中设置新","中读取生成好的","中,系统会遍历所有已标标记的视图,并调用它们的","中,系统就会执行这些","为","主线程可以做其他工作","之前对","之后,并且没有任何操作向系统表明需要刷新视图,那么就不会调用","事件,回调去执行一个很长的函数:","以及","以及他们的所有子视图的","以执行实际的绘制和调整,并更新","会保证在下一次更新周期中更新约束。它通过标记“updat","会在","会在下一个周期中(重点!!!)被调用,而不需要开发者手动操作。这些自动通知系统","会立即调用","会让视图在下一周期调用","作为","使用","使用轻量级对象,比如calayer代替uiview","信息上操作的风险。理解","修改","全权负责显示内容","具体内容的显示。","具体过程是系统会把","内容或者是布局,那么就有在过时","内调用两次","减少重复计算布局,减少修改frame等","创建上下文","动画需要这个)","单一原则,设计模式(负责相应的功能)","卡顿,列表卡顿、掉帧原理","发生在","只应该被重载,绝不要在代码中显式地调用。通常你只应该在","可以让图片的size跟frame一致","后,","后,需要再次调用","和","和它的父","和每个子","因此,如果在16.7ms内完不成这些操作,比如,cpu做了太多的工作,或者view层次过于多,图片过于大,导致gpu压力太大,就会导致“卡”的现象,也就是丢帧.","图像渲染流水线","图像渲染流程粗粒度地大概分为下面这些步骤:","在calayer内部,系统会创建一个backingstore(可以理解为cgcontextref,drawrect中取到的currentref就是这个东西),然后layer回判断是否有delegate,如果没有代理,就调用calayer的drawincontext:方法;如果有代理,则调用layer代理的drawlayer:incontext:方法,这一步发生在系统内部,然后在合适的时间给与我们回调一个熟悉的uiview的drawrect:方法。也就是在系统内部的绘制之上,允许我们再做一些额外的绘制。最后calayer把backt","在子线程完成。","在规定的16.7ms内,在下一个vsync信号到来之前,cpu和gpu并没有共同完成下一帧视频的合成,就会出现掉帧、卡顿。","坐标系中的位置和具体的大小。uiview","基于系统开的口子","大部分时候,在视图中更新任何","如下图,分别为","如果我们的代理实现了dispaylay","它负责给出当前","对于使用自动布局的视图来说,这个方法与","对象的创建、调整、销毁可以放在子线程中去做asdk;","将要结束的时候才会调用","将要结束的时候调用","就被标记为待处理,并被提交到一个全局的容器去。向渲染服务器提交图层树。当这个","属性。","属性中","属性保存了由设备渲染流水线渲染好的位图","属性的值","属性,完成显示。","属性,用来表示在父","布局","布局:","布局发生变化的方法,也提供了在","布局重新计算后调用的可重写的方法。","布局,显示,约束","并且实现/遵从了","并没有发生当前视图立即绘制工作,打上需要重绘的脏标记,最后是在某个时机完成","应用一般以","底层原理","异步绘制原理解析","异步绘制完事之后,回到主线程,把绘制的","异步绘制流程","当back","当uiview被绘制时(从","当前","当前runloop休眠前更新","当在操作","当对希望通过修改","当我们调用uiview的setneedsdisplay的方法时候,会调用layer的同名方法,相当于在当前layer打上绘制标记,在当前runloop将要结束的时候,才会调用calayer的display方法进入到真正的绘制当中。","当视图需要更新的时候,与","我们调用","或者","所以在","把","掘金","控制并发线程数量","揭秘","新增","方法","方法。","方法。但是如果你调用了","方法。系统会在任何它需要重新计算视图的","方法。调用这个方法代表向系统表示视图的布局需要重新计算。setneedslayout","方法中","方法中实现必须要更新的约束。","方法会立刻执行并返回,但在返回前不会真正更新视图。视图会在下一个","方法并在当前","方法或者显示中的","方法的工作机制类似。","方法的时候。","方法的时候,不会立马发送对应视图的绘制工作,为什么?","方法类似,updateconstraints()","方法,然后进入到视图真正的绘制工作当中。","时的那个时间点。正是在这个时间点上系统开始更新布局、显示和设置约束。如果你在处理事件的代码中请求修改了一个","时,,比如修改了frame、调整了ui层级(uiview/calayer)或者手动设置了setneedsdisplay:/setneedslayout:,这些调整操作会触发transact","是另一个会让","是否知道异步绘制?如何进行异步绘制?","是当应用完成了你的所有事件处理代码后控制流回到主","是显示的基础:存储","显示的内容(包括","显示:","更新可能不是你想要的那样。如果你的代码中的某些计算依赖于当下的","更新视图不同,layoutifneed","更新视图的","有用","有许多事件会自动给视图打上","本质是创建一个","来动画到新的状态。","来重新定位或更改大小时重载它。然而你不应该在代码中显式调用这个方法。相反,有许多可以在","标记为需要重画(redraw)。在接下来的","标记,因此","每一个uiview都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做back","滑动优化方案思路:","然后会调用系统的同名方法","然后在回到主线程把","生成对应的图片(bitmap)","用户在","用户旋转设备","界面。","的","的不同时间点触发","的位置和大小。这个方法很开销很大,因为它会在每个子视图上起作用并且调用它们相应的","的位置需要被重新计算,继而会自动转化为一个最终的","的即将进入休眠和退出状态,则会遍历所有的ui更新并提交进行实际绘制更新。","的图片等)绘制在一张画布上,完成后倒出图片赋值给","的图片等)绘制生成的","的大小","的尾部。","的属性,负责","的布局发生变化的方式有:","的文字,uiimageview","的方法。","的时候会比","的时候调用这个方法,所以你应该在需要更新","的末尾。","的流程.","的资源消耗要小得多。","的速度展示动画,就是说每个更新周期只需要","监听","监听了主线程","秒。这个更新的过程很快,所以用户在和应用交互时感觉不到","立即重新布局视图(下一个runloop)","等价。它会检查","系统会在","系统绘制流程","系统绘制的流程","约束:","纹理渲染。避免离屏渲染","组件都会把相应的视图标记为“dirty”,通过设置视图“内部更新标记”,在下一次","结合阅读","绘制渲染机制","绘制的工作,如果要绘制的元素过多,过于频繁,就会造成卡顿。","绘制等视图属性,不包括其本身和子视图的大小和位置。和布局的方法类似,显示也有触发更新的方法,它们由系统在检测到更新时被自动调用,或者我们可以手动调用直接刷新。","给你提供了用来通知系统某个","自动刷新触发器","苹果注册了一个","要首先获取","视图混合。减少视图层级的复杂性,减少透明视图;不透明的opaque设置为y","解决方案使用异步绘制就是:","触发","调用","调用。当然,也有直接触发","调用的最省资源的方法就是在你的视图上调用","调用的机制,这些触发机制比直接调用","负责。","赋值","赋值给","这个方法。我们可以去子线程里面进行异步绘制。子线程主要做的工作:","这个方法用来在自动布局中动态改变视图约束。和布局中的","这个方法类似于布局中的","这个方法,会调用","这个方法,我们就可以进行异步绘制:","这些方式都会告知系统","这其中的工作都是在主线程中完成的,这就导致了主线程频繁的处理","进行动画时,这个方法特别有用。你需要在","都有一个","重画间存在着一个间隔,runloop","阶段,后续主要都由","顶点着色,图元装配,光栅化,片段着色,片段处理,最后提交帧缓冲区","预排班。布局计算、文本计算等事先放到子线程中去做;","预渲染。文本等异步绘制,图片编解码等。","首先在主线程调用",",而不会等到"],"iOS/UIKit/UIViewRenderProcess.html":["&","(void)drawlayer:(calay","(基于",")或者把它绘制到","*)layer","1)生成(generate)—","1.+[uiimag","2)绑定(bind)—","2000000,低于常见的其他","3)缓存数据(buffer","4)启用(enable)或者(disable)—","4个字节)。为了节省内存,ios通常直到真正绘制的时候才去解码图片。根据你加载图片的方式,第一次对","5)设置指(set","59.97)。io","6)绘图(draw)","60","7)删除除(delete)—","=",">ios性能优化——图片加载和处理",">呈现树",">深入理解runloop",">渲染树",">苹果官方文档","[layer","__iohideventsystemclientqueuecallback()","_uiapplicationhandleeventqueue()会把","_uiapplicationhandleeventqueue()进行应用内部的分发。","anim","animation会创建一个opengl","animation会请求分配一个纹理,同时确保cor","animation使用未压缩的位图数据来渲染图层。","animation图层的任何结构,所以必须","animation并仅仅是字面意思的核心动画,而是整个显示核心都是围绕quartzcore框架中的cor","animation必须创建一个内存中等大小的寄宿图片。然后一旦绘制结束之后,","animation必须对渲染树种的每个可见图层通过opengl循环","animation提交隐式事务,这会涉及创建已设置为层内容的所有图像的副本,根据图像:","animation提前渲染图层的离屏绘制。","animation是依赖于opengl","animation的合成器会联合opengl","animation的渲染。","animation)","app","app从点击屏幕(硬件)到完全渲染,中间发生了什么?越详细越好","asasynctransaction(group)","asdk","asnod","asyncdisplaykit原理","based渲染流程","based的基本渲染逻辑;","beforewait","block","block,绘制代码可以随时调用该","bool(^iscancelled)()","buffer)在内的其他帧缓存,当渲染后的后帧缓存完成后,前后帧缓存会互换。(这部分操作由操作系统来完成)","buffer)的特定帧缓存中的像素颜色元素的控制。","ca","calay","calayerdeleg","calayer与ios动画","calayer的职能","catextlayer:直接将字符串使用cor","catransact","catransformlayer:能够用于构造一个层级的3d结构","cfrunloopsourc","cgcontext","cgimage位图","chain响应链传递一层层给根视图appdelegate处理。","commandbuffer,接受opengl","compositing操作,合并1、2的纹理;","containspoint:和","core","coreanimation提交会话,包括自己和子树(view","cpu","cpu会将处理视图和图层的层级关系打包,通过ipc(内部处理通信)通道提交给渲染服务,渲染服务由opengl","cpu渲染职能","cpu渲染职能主要体现在以下5个方面:","cpu阶段","data)","data)—","delegate、创建动画等等,非常消耗资源。uiview","delegate,也就是","dictionari","displaylink","drawincontext中绘制的东西放入到纹理的位图数据中。","drawincontext方法时,cor","es","es交互","es作为cor","es做gpu渲染,coregraphics做cpu渲染,但在本文中,以及官方文档都是将opengl与gpu分开说明。","es和gpu组成。","es坐标是以浮点数来存储,即使是其他数据类型的顶点数据也会被转化成浮点型;","es处理完毕的渲染指令;","es层和uiview层、statusbar层等,在后帧缓存混合产生最终的颜色,并切换前后帧缓存;","es应用开发实践指南:ios卷》,因为篇幅过长,就不赘述opengl的原理。","es是对图层进行取色,采样,生成纹理,绑定数据,生成前后帧缓存。","es渲染职能","es纹理,并确保在这个图层中的位图被上传到对应的纹理中。当你重写","es进行纹理生成和着色。生成前后帧缓存,再根据显示硬件的刷新频率,一般以设备的vsync信号和cadisplaylink为标准,进行前后帧缓存的切换。","es阶段","event,随后用","exit","frame","frame/bounds/transform)等实际上都是","frame、修改","gl","gpu","gpu会根据生成的前后帧缓存数据,根据实际情况进行合成,其中造成gpu渲染负担的一般是:离屏渲染,图层混合,延迟加载。","gpu执行绘制指令","gpu渲染职能","gpu用来采集图片和形状,运行变换,应用文理和混合,最终把它们输送到屏幕上。","gpu阶段","graphics中,都需要对它解压,这样的话,对于一个较大的图片,都会占用一定的时间。","graphics会将你在","graphics写入图层","graphics绘制","graphics绘制就会变得十分缓慢,所以在一个对性能十分挑剔的场景下这样做十分不好。","graphics)","hierarchy)的layout状态等;","hittest:来判断是否一个触点在图层的范围之内。","i/o创建cgimageref内存映射数据。此时,图像尚未解码。","i/o详解的文章","imag","image;),图像数据会被解码,变成rgb的颜色数据。","imagewithcontentsoffile:]使用imag","incontext:(cgcontextref)ctx;方法进行绘制。但通常我们会使用uiview的drawrect方法","io","iohidev","iokit.framework","ios事件响应链中hit","ios只会当视图控制器的视图显示到屏幕上时才会加载它。这对内存使用和程序启动时间很有好处,但是当呈现到屏幕上之前,按下按钮导致的许多工作都会不能被及时响应。比如控制器从数据库中获取数据,或者视图","ios图片加载速度极限优化—fastimagecache解析","ios渲染视图的核心是cor","ios界面渲染流程分析","ipc","ipc内部通信(进程间通信)","ipc通信","iphon","iscancelled()","layer树的变化","loop","mach","mach_port","mach内核编程","metal入门教程总结","metal入门教程(八)metal与opengl","metal可以发现,早在","metal渲染引擎","observ","observer。当一个触摸事件到来时,runloop","observer,监听了","observer,监视的事件和","open","opengl","parameterbuffer,接受分块完毕的tile和对应的渲染参数;","png或者jpeg压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于图片宽","pointers)","pointers)—","port","renderbuffer,存储渲染完毕的像素;","renderer,调用片元着色器,进行像素渲染;","renderincontext:","renderserver解析提交的子树状态,生成绘制指令","resolveinstancemethod为对象临时添加一个方法,并把对应属性值保存到内部的一个","runloop","runloop原理","session419","setneeddisplay])时,它会向","shadowpath","shouldraster","sourc","source1","springboard","tableview","test","testing事件传递","test遍历视图栈里的视图,顺序为视图层次的逆顺序,用respond","tiler,调用顶点着色器,把顶点数据进行分块(tiling);","tip","uibutton","uievent","uigesture/处理屏幕旋转/发送给","uiimageview","uiimage持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。","uilabel","uiview","uiview与calayer动画原理","uiview与calayer的区别?","uiwindow","view的应用","vsync","wwdc2014","x","yyasynclay","yyasynclayer原理","—","——","——uivisiualeffectview","一个uiimageview添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?","一些可忽略不计的操作都会引","一样,但优先级比","一般来说造成卡顿的原因,就是cpu负担过重,响应时间过长。主要原因有以下几种:","与uiview不同,calayer着重于图层的绘制,大致为以下职能:","专题","中注册了一个","中的代码会执行一些操作,比如创建和调整视图层级、设置","为图形处理器制的缓存生成一个独一无二的标识符。","为当前定的缓存分配并初始化","为接下来的运算使用一个缓存。","之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。","也在","事件。这个","事件响应","事件响应链&runloop原理","事件响应链&原理","事件处理机制与图像渲染过程","事件并由","什么是卡顿?苹果官方文章","从一个nib文件中加载,或者涉及io的图片显示,都会比cpu正常操作慢得多。","以uiimageview为例。当其显示在屏幕上时,需要uiimage作为数据源。","以上仅仅是对该题简单回答,其中的原理以及瓶颈和优化,后面会详细介绍。","以及indulge_in的yyasynclayer剖析","优化方案围绕着","会传递一个","会把任务用","会通过","使用cgbitmapcontextcreate()方法创建一个上下文对象","使用cgbitmapcontextcreateimage()生成cgimageref对象。","使用cgcontextdrawimage()方法绘制到上下文","使用响应者和响应者链来处理事件","使用图层关联的视图而不是单独使用","使用多线程调用,合理利用cpu计算位置,布局,层次,解压等,再合理调度gpu进行渲染,gpu负担常常要比cpu大,合理调度cpu进行计算可以减轻gpu渲染负担,使应用更加流畅。","使用当前定并启用的缓存中的数据渲染","使用缓存中的数据。","保持界面流畅的技巧","信号后,会通过","信号由硬件时钟生成,每秒钟发出","信号驱动的,vsync","光栅化","关于uiview动画以及calayer的动画这里推荐两篇文章:","其ios平台渲染核心原理的重点主要围绕前后帧缓存、vsync信号、cadisplaylink","其中最常见的问题就是离屏渲染:","其渲染层次依次为:图层树","内。app","内提交的所有任务。","内部并没有属性,当调用属性方法时,它内部是通过运行时","再看一下yyimage的源码,其流程也大致为:","准备提交(prepare)","准备(quartzcore/cor","减少图层数量","创建一个cgimageref对象","判断绘制任务是否已经被取消。","制的内存复制数据到分配的内存)。","前后帧缓存&vsync信号","前帧缓存决定了屏幕上显示的像素颜色,会在适当的时候与后帧缓存切换。","即将进入休眠(或者退出)时,关注该事件的","压缩的图像数据被解码成其未压缩的位图形式","去显示;如果此处有动画,ca","参考","只接收按键(锁屏/静音等),触摸,加速,接近传感器等几种","可伸缩图片","合并渲染(离屏渲染等)","合成器来控制显示的最终外观","后帧缓存绘图,也不会让应用直接复制前帧缓存和后帧缓存之间的切换。操作系统为自","启用(enable)","告诉","和","图层内容赋值的时候(直接或者间接使用","图层打包","图形服务接收到","图片格式转换;","图片的显示分为三步:加载、解码、渲染。","在","在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","在主运行循环的下一次迭代中,core","在启动后会注册对应的","在接下来的渲染中是","在此处模拟了","在研究这个问题的过程中,我有想过去看一下源码,试着去理解在视图完全渲染之前,ipc是如何调度的,可惜苹果并没有开源绘制过程中的代码。这里推荐官方文章给大家了解一下ios中ipc是如何运作的。","在缓存中的数据的类型和所有需","在这里同时推荐y大的两篇文章","在这里推荐大家去阅读落影loyinglin的文章ios开发","在这里推荐阅读郭曜源前辈的io","处理图片的一些小","处理完事件后,asdk","处理并包装成","够的内存(通常是从","太多的几何结构会影响gpu速度,但这并不是gpu的瓶颈限制原因,但由于图层在显示之前要通过ipc发送到渲染服务器的时候(图层实际上是由很多小物体组成的特别重量级的对象),太多的图层就会引起cpu的瓶颈。","如果你已经做了几年ios开发,相比对于这道题可能已经很熟悉。","如果你的视图层级过于复杂,当视图呈现或者修改的时候,计算图层帧率就会消耗一部分时间。特别是使用ios6的自动布局机制尤为明显,它应该是比老版的自动调整逻辑加强了cpu的工作。","如果图像数据为未解码的png/jpg,解码为位图数据","如果子树太复杂,会消耗很大,对性能造成影响;","如果对视图实现了drawrect:或drawlayer:incontext:方法,或者","如果视图绘制超出gpu支持的2048x2048或者4096x4096尺寸的","寄宿图:你可以给calayer.contents传递一个cgimage来进行渲染,也可以调用","对象回收","封装并提交到一个全局的容器去。asdk","就会在回调中,把所有的中间状态合并提交到","就会执行该","就会触发回调,并调用","层效果的使用,比如圆角,图层遮罩,阴影或者是图层光栅化都会强制core","屏幕上的图层,core","属性映射来的,所以对","己保留了这些操作,以便它可以随时使用","布局和事件处理)。做一些对性能特别挑剔的工作,比如对","布局计算","布局(frame)","布局(layout)","帧缓存可以同时存在多个,但是屏幕显示像素受到保存在前帧缓存(front","帧缓存:接收渲染结果的缓冲区,为gpu指定存储渲染结果的区域","并不清楚具体的响应链,所以不能直接处理触摸事件或者手势。但是它提供了","应用变换(transform)","底层特性的同时,也可以使用","当","当uiimage被赋值给uiimage时(例如imageview.imag","当一个硬件事件(触摸/锁屏/摇晃等)发生后,首先由","当你现在再去查阅官方文档时,你会发现苹果官方已经使用metal去替代opengl","当你的主线程操作卡顿超过16.67ms以后,你的应用就会出现掉帧,丢帧的情况。也就是卡顿。","当前前台运行中应用接收到uievent以后,当用户对屏幕进行了操作,系统先循环调用hit","当图层被成功打包,发送到渲染服务器之后,cpu仍然要做如下工作:为了显示","当显示一个uiimageview时,cor","当然yyimage不止做了这些,还有解码器编码器,支持webp等多种格式,并且还写了自定义的操作队列,对网络加载图片进行了优化。在此不赘述。","当用户对屏幕进行了操作,产生了一个用户事件。","当视图层次调整时,uiview、calay","必须把图片数据通过ipc传到渲染服务器。在此基础上,cor","快速滑动时,会有大量异步绘制任务提交到后台线程去执行。但是有时滑动速度过快时,绘制任务还没有完成就可能已经被取消了。如果这时仍然继续绘制,就会造成大量的","我参考了yyasynclayer,他其中的原理大致是这样的:","我查看了较为流行的第三方库源码,例如yyimage、sdwebimage、fastimagecache,其中加载一个图片的流程大致为:","打包layers并发送到渲染server;","捕获,并通过","接下来我们看一下第三题:在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","接收。这个过程的详细情况可以参考这里。springboard","接收传过来的时钟信号通知,随后","接收提交的纹理(texture)和顶点描述(三角形)","推荐两篇文章:","推荐文章:","推荐阅读:《ios和macos性能优化》对于图像i/o方面,书中最后有详细解释。","提交到一个中间状态去(catransact","提交流程","提交(commit)","操作系统不会让应用直接向前帧缓存或者","整个场景或者某个场景的一部分。","文件数据从磁盘读入内存。","文字简答:","文本catextlay","方法","方法,那么在绘制任何东","是","显示帧率","显示渲染后的数据","显示逻辑","显示(core","显示(display)","普通的tile","最后一题:uiview和calayer的区别?","最后使用imagewithcgimage()方法将cgimage转化为uiimage。","最后,将最终要显示在画面上的后帧缓存交给gpu,进行采集图片和形状,运行变换,应用纹理和混合。最终显示在屏幕上。","最直接的回答就是uiview可以响应用户事件,而calayer不能处理事件","最终,生成前后帧缓存会再交由gpu进行最后一步的工作。","有","本文可为以下面试题提供参考:","本文大量借助了引用文章的文字描述,在此感谢各位作者的文章对本问题的理解起了很大的帮助。也希望各位能去原文发表自己的看法。谢谢~","来进行判断,保证被取消的任务能及时退出,不至于影响后续操作。","查看uiimageview的api我们可以发现,uiimage封装了一个coregraphics/cgimage的对象。","次(这个值取决设备硬件,比如","此处引用","注册的那个","混合和过度绘制","清除(delete)","渲染layer的content纹理,同til","渲染layer的mask纹理,同til","渲染服务首先将图层数据交给opengl","渲染等待","点击、touchesbegin/move/end/cancel事件都是在这个回调中完成的。","片分配额外内存,以及切换绘制上下文,这些都会降低gpu性能。对于特定图","生成(generate)","生成一个","用来接收系统事件,其回调函数为","的","的)","的优先级是","的修改和提交,总有些任务是必需放入主线程执行的。当出现这种任务时,asnod","的关于显示相关的属性(比如","的动画与显示。","的回调会驱动整个","的好处在于,你能在使用所","的子类,当它需要显示内容(比如调用了","的文档略有提到这些内容,但并不完整)。当上面所有操作结束后,runloop","的显示系统是由","的这个机制:所有针对","的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。","的透明度、为视图添加一个动画;这些操作最终都会被","的高级api(比如自动排版,","看一下苹果官方文档","真机上通常是","知识点","离屏渲染","离屏渲染:离屏绘制发生在基于cpu或者是gpu的渲染,或者是为离屏图","移动端图片格式调研","程序可控的。","程序的渲染结果通常保存在后帧缓存(back","等。通常事件比如","等机制多次触发相关流程。","简单来说,opengl","简答","级关系中有太多的图层,就会导致cpu没一帧的渲染,即使这些事情不是你的应用","纹理的概念:纹理是一个用来保存图像的颜色元􏰈值的","纹理,就必须要用cpu在图层每次显示之前对图片预处理,同样也会降低性能。","组透明度","绑定(bind)","绘制string(字符串);","绘图(draw)","缓冲区被分配用于管理文件io和解压缩操作。","缓存数据(buffer","缓存,可以简单理解为一个单位。","苹果官方文档","苹果官方文章","苹果官方视频","苹果将metal作为新的渲染引擎,更好的利用了gpu的性能,同时保证了低内存占用和省电,但我个人并没有深入研究metal,这里可以有兴趣的同学可以看一下落影前辈的文章:","苹果注册了一个","获取图片二进制数据","落影loyinglin的文章ios开发","虽然我们不能看到苹果内部是如何实现的,但是苹果官方也提供了我们可以参考的对象,也就是vsync信号和cadisplaylink对象。","被唤醒,app","裁切","西之前都会产生一个巨大的性能开销。为了支持对图层内容的任意绘制,core","要低。当","要求讲到进程间通信?出处","要由cpu做这些事情。这里cpu涉及的工作和图层个数成正比,所以如果在你的层","要的数据的内存移值。","视图加载","视图懒加载","视图渲染与性能优化","视图渲染优化&卡顿优化","解压图片","解码图片;","解码是一个计算量较大的任务,且需要cpu来执行;并且解码出来的图片体积与图片的宽高有关系,而与图片原来的体积无关。","让","讲解及使用","设置指针(set","请","请求一个异步绘制的任务。在异步绘制时,layer","调用addsubview:方法","调用layoutsubviews方法","资源浪费,甚至阻塞线程并造成后续的绘制任务迟迟无法完成。我的做法是尽量快速、提前判断当前绘制任务是否已经被取消;在绘制每一行文本前,我都会调用","起显著的不同","转发给需要的app进程。随后苹果注册的那个","转换成纹理三角板。由于gpu并不知晓cor","返回的图像被分配给uiimageview。","这样的","这里推荐大家去看《opengl","进入休眠前、ca","进行处理或分发,其中包括识别","递归提交子树的layers;","通常,我们操作的只有加载,解码和渲染是由uikit进行。","通知到","通过","通过drawrect绘制视图;","通过ipc提交(打包好的图层树以及动画属性)","遮罩(mask)","那么在了解ios视图渲染流程以后,再来看一下第二题:","那么如何在需要渲染大量视图的情况下,还能保证流畅度,也就是保证fps。","郭曜源前辈的文章:io","都会得到通知。这时","里,同时还会通知","重新认识core","重绘。主要由重叠的半透明图层引起。gpu的填充比率(用颜色填充像素的比率)是有限的,所以要避免重绘。","长","阴影、圆角、边框、蒙版、拉伸、transform、动画。","除以前生成的缓存并释相关的资源。","隐式catransaction捕获到uiimageview","隐式绘制","面试题","首先一个视图由cpu进行frame布局,准备视图和图层的层级关系,查询是否有重写drawrect:或drawlayer:incontext:方法,注意:如果有重写的话,这里的渲染是会占用cpu进行处理的。","首先要讲一下app中的事件响应链,它分为两部分:hit"],"iOS/UIKit/UIImageRender.html":["animation会对数据进行拷贝,以进行字节对齐。","animation会提交这个","begin()","cgimageref","cgimagesourcecreateimageatindex()","cgimagesourcecreatewithdata()","cgimagesourceref","commit()","core","gem","hidden","https://www.objc.io/issues/5","imagenam","imagenamed:","imagewithcontentsoffile:","imagewithdata:","implicit","io","ios7/ios7","ios中,使用","mmap()","runloop","runloop中,cor","transact","transaction。如果用户内存中的位图数据没有字节对齐","transaction,这个transaction会自动在主线程的下一个","tree)发生变化,会生成一个","uiimageview","workarounds/)","。在保存图片时,为了节省空间,通常会将图片编码(压缩)后再进行存储。如果读取的图片数据为压缩后的数据的话,那就需要对其进行解码成位图(bitmap)数据。","下一个main","不同加载图片的方式,在这一步的操作上会有一定的差异。","之后,gpu会渲染对齐后的位图数据,展示在屏幕上。","会在图片第一次渲染到屏幕上的时候进行解码,并缓存解码后的图片数据。缓存数据存储在全局缓存中,不会随着uiimag的释放而释放。","传统操作系统的i/o操作为标准i/o,即缓存i/o。在这种i/o模型下,数据先从磁盘拷贝到内核空间的缓冲区,然后从内核空间缓冲区拷贝到用户的内存空间。这种方式的优点是减少了磁盘操作,提高性能。但因为数据在传输过程中需要在用户内存空间和内核空间间进行多次数据拷贝操作,造成很大的cpu及内存开销。","可以设置是否需要立即进行解码(kcgimagesourceshouldcacheimmediately),如果设置为不需要立刻解码,则会在将图片渲染到屏幕上时才进行解码。(设置为立即解码会阻塞主线程,造成性能问题,详见","同样会在图片第一次渲染到屏幕上的时候进行解码。底层会调用到","和","图片的加载与渲染过程","在主线程中,将图片数据赋值给","将图片文件映射到虚拟内存,并创建","将硬盘数据直接映射到虚拟内存中,应用可以直接访问虚拟内存中对应的地址来读取数据,避免了数据在内核空间和用户空间的相互拷贝,效率更高。在使用这些数据时,虚拟内存管理系统才会根据缺页加载的机制从磁盘加载对应的数据块到物理内存,在这之前不会消耗用户空间的内存。","或","或者imagewithcontentsoffil","手动调用","方法可以指定是否需要缓存(kcgimagesourceshouldcache),之后再调用","方法触发生成。)","方法,该方法可以指定是否要缓存解码后的数据,在64位机器上默认需要缓存(kcgimagesourceshouldcache)。与上面的方法不同,这种方式创建的缓存会随着uiimage的释放而被释放掉。","时,系统会调用","映射到内存,通过","用于后续访问图片数据。","由显式调用","的图层树(layer","要访问的图片文件通过系统调用","访问图像数据,创建cgimageref。","进行提交。(explicit",",出于渲染性能考虑,"],"iOS/Memory/StructMemoryAligned.html":["%lu","%lu\",sizeof(struct1),sizeof(struct2),sizeof(struct3));","0","11","12","14","15","16","17","33","7","8","a;","a⾥存有struct","b","b;","b,b⾥有char、int","c","c;","char","d","d;","doubl","e","e;","int","ios底层探索:结构体内存对齐","ios结构体内存对齐","lgstruct1","lgstruct1、lgstruct2两个结构体拥有的变量数量跟类型都大同小异,到底是什么原因导致两个结构体在内存大小的表现上会有截然不同的结果?lgstruct3的内存大小又是如何计算出来的?","lgstruct2","lgstruct3","nslog(@\"%lu","refer","short","struct","{","}struct1;","}struct2;","}struct3;","、double等元素,那b应该从8的整数倍开始存储。)","了解系统对结构体内存对齐的原则后,我们回过头再看一下文章一开头的三个结构体lgstruct1、lgstruct2和lgstruct3。","内存对齐的原则","占1个字节,从12位置开始,此时12是1的整数倍,则","占1个字节,从8位置开始,此时8是1的整数倍,则","占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则","占2个字节,从16位置开始,此时16是2的整数倍,则16","占4个字节,从8位置开始,此时8是4的整数倍,则","占4个字节,从9位置开始,但是此时9不是4的整数倍,因此需要往后继续寻找,找到最接近的能整除4的12位置,则","占8个字节,从0位置开始,则","变量a:doubl","变量b:char","变量b:int","变量c:char","变量c:int","变量d:short","变量e:内嵌的lgstruct1结构体,lgstruct1内部最⼤元素的大小是8字节,需要从8的整数倍位置开始存储,存储方式同上lgstruct1结构体,则","可以看到,控制台的打印结果如下:","基本数据类型内存大小","存储","收尾⼯作:结构体的总⼤⼩,也就是sizeof的结果,必须是其内部最⼤成员的整数倍,不⾜的要补⻬。","收尾:lgstruct1需要的内存大小为18字节,而lgstruct1中最⼤成员变量字节数是8字节,内存大小18字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为24字节","收尾:lgstruct2需要的内存大小为16字节,lgstruct2中最⼤成员变量字节数是8字节,内存大小16字节刚好是内部最⼤成员的整数倍,所以最终大小为16字节","收尾:lgstruct3需要的内存大小为34字节,lgstruct3中最⼤成员变量字节数是8字节,内存大小34字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为40字节","数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该成员有⼦成员,⽐如说是数组,结构体等)的整数倍开始(⽐如int为4字节,则要从4的整数倍地址开始存储。","案例解析","结构体lgstruct1,通过内存对齐规则计算过程如下:","结构体lgstruct2,通过内存对齐规则计算过程如下:","结构体lgstruct3,通过内存对齐规则计算过程如下:","结构体作为成员:如果⼀个结构⾥有某些结构体成员,则结构体成员要从其内部最⼤元素⼤⼩的整数倍地址开始存储。(struct","首先我们定义了三个结构体lgstruct1、lgstruct2和lgstruct3,然后通过控制台打印出三个结构体类型的内存大小。"],"iOS/Memory/MemoryFiveMainSection.html":["。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。","全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的","全局变量和静态变量在一块区域,","内存中的5大区","内存中的5大区分别是什么?","堆区(heap):一般由程序员分配释放,","操作方式类似于数据结构中的栈。","文字常量区:常量字符串就是放在这里的。","未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。","栈区(stack):由编译器自动分配释放","程序代码区:存放函数体的二进制代码。","程序结束后由系统释放。","若程序员不释放,程序结束时可能由os回收",",存放函数的参数值,局部变量的值等。其"],"iOS/Memory/ReferenceCounting.html":["!=","&refcntstorag","&tabl","((id)self)","(bits.has_sidetable_rc)","(bits.nonpointer)","(int","(istaggedpointer())","(it","(nonatomic,","(nsuinteger)retaincount","(obj","(uintptr_t)this;","*locat","*location,","*location;","*target;","+","+=","//","//....","//sidetable_retaincount()函数实现","//在tables里面,根据当前对象指针获取对应的sidet","//添加引用计数","//获得引用计数","0;","1","1.ios引用计数管理之揭秘计数存储","1;","1操作),接着判断是否有sidetable,如果有再加上存在sidetable中的计数;","1)的对象其引用计数优先存在isa的extra_rc中,大于524288便存在sidetable的refcountmap或者说是densemap中;","1,并根据是否开启指针优化,处理进位/借位的情况;","2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;","=","==",">>",">rootretaincount();",">second","@properti","alloc实现","allow","assum","bit","bits.extra_rc;","c","class","clearexclusive(&isa.bits);","crash的原因:过度释放。","dispatch_queue_concurrent);","dispatch_queue_create(\"parallel\",","dispatch_queue_t","getisa()","getisa();","id","inlin","isa","isa()","isa();","isa_t","isa指针","isa是什么","loadexclusive(&isa.bits);","neroxie的个人博客","nsstring","obj)","obj;","objc_object::rootretaincount()","objc_object::sidetable_retaincount()","objc_release(prev);","objc_retain(obj);","objc_storestrong(id","object","oc内存管理","pointer","pointer不参与retain/release;","pointer不需要引用计数,苹果会直接将对象的指针值作为引用计数返回;","pointer技术的nsstring,那程序就没有问题。","pointer的对象没有isa指针,有的是isa_t的结构体;","pointer的话,直接返回isa本身;","pointer,","pointer,且开启了指针优化,此时引用计数先从extra_rc中去取(这里将取出来的值进行了+1操作,所以在存的时候需要进行","pointer,如果说上面的self.target指向的是一个tag","pointer,对象的值就是指针;","pointer,没有开启了指针优化,使用sidetable_retaincount()函数返回。","pointer,苹果会直接将其指针值作为引用计数返回;","prev","prev)","queue","rc","rc;","refcnt_result","refcnt_result;","refcntstorag","refcountmap::iter","refer","referencecount","releas","retain/release的实质","retain实现","retiancount","return","return;","side_table_rc_on","side_table_rc_one(4,位计算)","side_table_rc_pin","side_table_rc_shift;","side_table_rc_shift;(将向右偏移操作)","sidet","sidetable&","sidetable_getextrarc_nolock();","sidetable_lock();","sidetable_retaincount();","sidetable_unlock();","sidetables()[this];","size_t","strong)","strong的源代码如下:","tabl","table.lock();","table.refcnts.end())","table.refcnts.find(this);","table.refcnts.find[this];","table.refcnts[this];","table.unlock();","tag","target使用strong进行了修饰,block是会截获对象的修饰符的;","uintptr_t","valid","{","|","}","一道多线程安全的题目","为什么既要使用一个extra_rc又要使用sidetables?","从上面的代码可知,获取引用计数的时候分为三种情况:","以下代码运行结果","使用weak","使用串行队列,使用串行队列的话,其实内部是靠dispatch_obj_barrier_bit设置阻塞标志位","假设这个并发队列创建了两个线程a和b,由于是异步的,可以同时执行。因此会出现这么一个场景,在线程a中,代码执行到了objc_retain(obj),但是在线程b中可能执行到了objc_release(prev),此时prev已经被释放了。那么当a在执行到objc_release(prev)就会过度释放,从而导致程序crash。","全局队列和自定义并行队列在异步执行的时候会根据任务系统决定开辟线程个数;","其他对象的isa指针还是类指针。","加个互斥锁","加锁,用汇编指令ldxr来保证原子性","即使使用_target效果也是一样,因为默认使用strong修饰符隐式修饰;","可能是因为历史问题,以前cpu是32位的,isa中能存储的引用计数就只有$2^7=128$。因此在arm64下,引用计数通常是存储在isa中的。","否则runtime会使用一张散列表来管理引用计数。","如果当前设备是64位环境并且使用object","如果是tag","如果非tag","实现","对象的值是什么","对象的值是指针指向的内存区域中的值。","开启了指针优化(nonpoint","引用计数器","引用计数存在什么地方?","引用计数的存储策略","引用计数的获取","当引用计数减为0时,调用dealloc函数。","总结","找到引用计数存储区域,然后+1/","有些对象如果支持使用tag","此时并没有设置引用计数为1","没有开启指针优化的对象直接存在sidetable的refcountmap或者说是densemap中。","答案:大概率地发生crash。","经过一系列调用,最终调用了c函数calloc,此时并没有设置引用计数为1","补充:","解决方法:","这道题看着虽然是多线程范围的,但是解题的最重要思路确是在引用计数上,更准确的来说是看对强引用的理解程度。关键知识点如下:","通过retaincount可以获取到引用计数器,其定义:","释放锁,使用汇编指令clrex","非tag","首先要知道,isa指针已经不一定是类指针了,所以需要用isa()获取类指针;"],"iOS/Memory/TaggedPointer.html":["!defined(__cplusplus)","#","#defin","#els","#endif","#if","%@","%@\",","&","&&","((uintptr_t)ptr","(1ul","(@available(io","(target_os_osx","(void)formatedlogobject:(id)object","(void)testcas","*","*))","*stringwithformat1","+","//","0","0,","0b1111","0b111表示有扩展的标记位,扩展标记位占8位","0x7","0x79是ascii对应的y字符的值","0xa000000000000791","0xcb47b8d98a2fa15f","0xf","0xff","1","1,","1.ios特有概念taggedpoint","10,","11,","1111","12,","12.0,","13,","14,","15,","16","16,","17,","18,","19,","1、tag","2,","2.oc内存管理","201103l","256","263,","264","2、tag","3,","3、tag","4,","5,","52","6,","60","64","7,","8,","9,",":","=","==",">=","[nsstring","[self","__cplusplu","__has_feature(objc_fixed_enum)","__x86_64__","_nullabl","_objc_istaggedpointer(const","_objc_tag_ext_index_mask","_objc_tag_ext_slot_count","_objc_tag_ext_slot_mask","_objc_tag_index_mask","_objc_tag_mask","_objc_tag_mask)","_objc_tag_mask;","_objc_tag_slot_count","_objc_tag_slot_mask","array","bit","bool","defin","enum","everyth","extra","formatedlogobject:stringwithformat1];","free,不走引用计数那一套逻辑,由系统来处理释放","includ","inlin","ios12之前打印指针的值能很清晰的看到数据等信息,ios12之后系统则打印的完全看不懂了,看了源代码发现苹果是做了混淆,让我们不能直接得到值,从而避免我们去很容易就伪造出一个tag","ios12之后输出:","itself","lsb","mac","malloc","msb","nslog(@\"%p","nslog(@\"0x%6lx","nsstring","nstaggedpointerstr","objc_msb_tagged_point","objc_tag_1","objc_tag_cgcolor","objc_tag_first52bitpayload","objc_tag_first60bitpayload","objc_tag_index_t","objc_tag_index_t;","objc_tag_last52bitpayload","objc_tag_last60bitpayload","objc_tag_nsatom","objc_tag_nscolor","objc_tag_nsd","objc_tag_nsindexpath","objc_tag_nsindexset","objc_tag_nsmanagedobjectid","objc_tag_nsnumb","objc_tag_nsstr","objc_tag_photos_1","objc_tag_photos_2","objc_tag_photos_3","objc_tag_photos_4","objc_tag_reserved_264","objc_tag_reserved_7","objc_tag_uicolor","objc_tag_xpc_1","objc_tag_xpc_2","objc_tag_xpc_3","objc_tag_xpc_4","object,","object_getclass(object));","payload","pointer","pointer初探","pointer对象","pointer对象的类,它的定义在objc_tag_index_t中","pointer技术。","pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。","pointer是一个特殊的指针,不指向任何实质地址。","pointer是苹果在64bit设备提出的一种存储小对象的技术,用于优化nsnumber、nsdate、nsstring等小对象的储存","pointer有长度限制,过长会依然会采用对象的形式保存","pointer没有isa指针,它不是一个对象,只是一个伪装成对象的普通变量而已。","pointer的","pointer的值的,可读性非常好,但是12之后再打印就发现完全看不懂了。","pointer的加密","pointer;需要留意的是不同的架构标记位不太一样,有的是用最低位、有的使用最高位。","ptr)","refer","reserv","return","slot","static","stringwithformat:@\"y\"];","tag","taggedpoint","tag的值的mask以及一些其他的左移右移位","target_os_iosmac)","typedef","uint16_t","void","y","{","||","}","};","上面的测试代码,在12之前输出:","专门用于储存小对象","主要解决","从32位迁移到64位cpu,逻辑上虽然不会有任何变化,但是所占有的内存空间却会翻倍。下面以nsnumber对象为例,大家可以清晰看出nsnumber对象在内存空间上的变化情况:","其他的都是一些定义,用来通过位运算来获取tag的值、ext","内存浪费","内存管理","即针对nsstring、nsnumber、nsdate、nsindexpath这些类型,都支持tag","可以通过设置环境变量objc_disable_tagged_pointers来有开发者决定是否使用这项技术","和","在ios12系统之前,发现是可以直接打印tag","复制代码","如何判断是tag","它具有以下特点","它的内存并不存储在堆中,也不需要","定义了很多位信息,我们需要关注的几个:","对象类型","引入tag","扩展标记位能表示的个数","支持","最高有效位","有一个标记位来标识指针是否是tag","有扩展标记位的mask","未引入tag","比如2表示是nsstring、6表示是nsdate,我们知道3bit能表示的最大值是7,这个7系统用来预留,用来标记是否有额外的标记位,这样就能支持更多的类支持tag","源码","的问题","系统对tag","系统通过3bit的标记位来标识tag","结论","访问效率","通过位运算获取标识位的值来确定是否是tag",":tag的值是7表示有扩展的tag位",":标记位标记该指针是否是tag"],"iOS/Memory/SideTables.html":["!target_os_simul","#els","#endif","#if","%","&","&&","&sidetables()[obj];","&sidetables()[obj];之后,执行到了array[indexforpointer(p)].value;,然后进行哈希算法获取到下标,再返回所需的sidet","((addr","(addr","(const","*","*/","*p)","*referrers;","*reinterpret_cast*>(sidetablebuf);","*weak_entries;","......","//","//否则为64","//引用计数的map表","//弱引用表","//返回sidet","//这就是哈希算法了","//这里是做类型转换","0","1.","1/**","10","10};","11","12","13","14","15","16","17}","1struct","2","2.","2;","3","3.","4","4)","5","5struct","6","63之间,这就是通过哈希函数来获取到了sidetable的下标,然后再根据value取到所需的sidetable。","64","7","7或者0","8","9","9))",":","=",">>","^","addr","alignas(cachelinesize);","array[indexforpointer(p)].value;","array[stripecount];","bit","b、c","c","class","count","c引用计数本质","disguisedptr","enum","explor","field","global","id","indexforpointer(const","inline_referr","inline_referrers[1]","inline_referrers[weak_inline_count];","int","iphone时这个值为8","key","keys,","key,所有指向它的弱引用指针数组作为","low","mask;","mask,去对比表中每个","max_hash_displacement;","natur","nonpointer_isa和散列表","num_entries;","num_ref","objc_object,即","object","oc","operator[]","out_of_line_","paddedt","pointer且关闭了non","pointer,那该对象的引用计数就使用sidetable来存。","ptr_minus_2;","public:","refcnt","refcnts;","refcountmap","refer","referent;","referent,找到对应的","referr","reinterpret_cast(p);","return","sidet","sidetables()","sidetable的结构","sidetable里有一个自旋锁,如果把所有的类都放在同一个sidetable,有任何一个类有改动都会对整个table做操作,并且在操作一个类的同时,操作别的类会被锁住等待,这样会导致操作效率和查询效率都很低。而有多个sidetable的话,操作的都是单个table,并不会影响其他的table,这就是分离锁。","size_t","slock","slock;","spinlock_t","static","store","stripecount","stripecount;","stripedmap","stripedmap&","struct","t","t&","tabl","table.","target_os_iphon","templat","uintptr_t","unfair","union","unsign","valu","values.","value,保存着","void","weak","weak_entri","weak_entry_t","weak_entry_t,然后对其弱引用指针进行操作。","weak_referrer_t","weak_tabl","weak_table;","weak_table_t","{","}","};","个元素,里面存储了sidetable,元素的内容为","为","为什么不直接用一张sidetable,而是用sidetables去管理多个sidetable?","为引用计数。","使用的是","其中第一个成员","内存地址","包含","又包含有一个自选锁、一张全局的引用计数表、一张全局的弱引用表。","可以理解成一个字典结构,将","可以看出来","可以看到,在对stripecount取余后,所得到的值根据机器不同,会在0","哈希数据使用","哈希数组","哈希表,key","因此可以说,一个obj,对应了一个sidetable。但是一个sidetable,会对应多个obj。因为sidetable的数量有限,所以会有很多obj共用同一个sidetable。","在runtime内存空间中,sidetables是一个hash数组,里面存储了sidetable。sidetables的hash键值就是一个对象obj的address。","在对","如何从sidetables里找到特定的sidetable呢,这就用到了散列函数。runtime是通过这么一个函数来获取到相应的sidetable:","如果该对象不是tag","存放着若干个数据,其余的成员都是用来做哈希定位的,","对象,valu","当","忙等待,直到锁被释放(区别于互斥锁的休眠等待)。","才获得锁。","执行tabl","指针。","探寻object","散列表","是一个","是一个哈希结构体,其结构如下:","某个对象所有指向它的","的","的地址,每一个","的引用计数表","的弱引用表","的时候,会将该记录从表中移除。","的锁","简介","线程第一个申请锁,却在","结构","结构体保存,定义如下:","自旋锁","自旋锁,而且是","获取sidet","获取锁的顺序和申请的顺序无关,即可能","获得锁之后","被引用对象的","被引用对象的内存地址作为","进行哈希查找的时候,会将要查找的对象地址作为参数,通过","锁。","非公平","非公平锁","(所有指向被引用对象的)弱引用指针"],"iOS/Memory/WeakTable.html":["!","!((objc_class","!=","!newobj","\"","\"class","\"over","#defin","%s.","&&","&sidetables()[newobj];","&sidetables()[oldobj];","&sidetables()[xxxobj];","(!newobj)","(!refer","(!referent)","(%p)","((entri","((imp)allowsweakrefer","(*allowsweakreference)(objc_object","(*allowsweakreference)(referent,","(bool(*)(objc_object","(cl","(crashifdeallocating)","(deallocating)","(don't","(empty)","(entri","(expression)","(havenew","(havenew)","(haveold","(haveold)","(id)newobj));","(id)newobj,","(id)newobj;","(location,","(newobj","(objc_object","(objc_object*)newobj);","(size_t","(void*)referent,","*)cls)","*)referent_id;","*)weak_register_no_lock(&newt","**","**)referrer_id;","**referr","*,","*entry;","*locat","*location,","*location;","*newobj)","*newtable;","*oldtable;","*p","*p);","*p1","*refer","*referr","*referrer_id)","*referrer_id,","*referrers;","*reinterpret_cast*>(sidetablebuf);","*tableforpointer(const","*weak_entries;","*weak_table,","+initi","//","0","0)","0;","1.ios底层原理:weak的实现原理","1.weak创建过程","1;","1、weak的原理在于底层维护了一张weak_table_t结构的hash表,key是所指对象的地址,value是weak指针的地址数组。","2.weak","2.weak创建流程","2、weak","3.weak销毁过程","3、对象释放时,调用cleardeallocating函数根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。","4","4.weak销毁流程","4、文章中介绍了sidetable、weak_table_t、weak_entry_t这样三个结构,它们之间的关系如下图所示。",":","=","==",">cleardealloc",">getisa();",">hascustomrr())",">isa()",">isinitialized())",">istaggedpointer())",">num_ref",">objc_destructinst",">object_dispos",">out_of_lin",">rootdealloc",">rootisdeallocating();",">setweaklyreferenced_nolock();",">sidetable_cleardealloc",">table.refcnts.erase(it)",">weak_table,","[[nsobject","[]","__weak","_class_initialize(_class_getnonmetaclass(cls,","_objc_fatal(\"cannot","_objc_msgforward)","_objc_rootdealloc","alloc]","append_referrer(entry,","array","bool","break;","c++","care","cl","class","class),通过传入类(结构体)参数,会动态修改在该类中的一个","cleardealloc","cls;","crash","crashifdeallocating)","crashifdeallocating);","crashifdeallocating:","crashifdeallocating:如果被弱引用的对象正在析构,此时再弱引用该对象,是否应该crash","dealloc","deallocating;","deallocation.\",","disguisedptr","empti","entri","entry);","extra_rc","fals","false;","form","goto","hascustomrr","hash","havenew:","havenew:weak指针是否需要指向一个新引用","haveold:","haveold:weak指针之前是否已经指向了一个弱引用","https://juejin.cn/post/6844904079957688328","id","indexforpoint","init]","init];","inline_referrers[i])","inline_referrers[weak_inline_count];","instanc","isa","key","key。可以说,","key,做成了一个弱引用散列。","locat","location);","location,","location:表示__weak指针的地址(我们研究的就是__weak指针指向的内容怎么置为nil)","lsb","mask","mask;","mask:计数辅助量。","max_hash_displac","max_hash_displacement;","max_hash_displacement:hash","new_entry.inline_referrers[0]","new_entry.out_of_lin","new_entry.refer","new_entry;","newobj","newobj)","newobj:所引用的对象,即例子中的person","newtabl","newtable);","nil","nil;","nil。","nil,因为","nil,无需取消注册","nsobject","nsobject.mm","num_entries;","num_ref","num_refs、","num_refs:引用数值。这里记录弱引用表中引用有效数字,因为弱引用表使用的是静态","objc_destructinst","objc_initweak(&p1,","objc_initweak()","objc_initweak(id","objc_msgsend","objc_object","objc_storeweak","objc_storeweak()","object","object_dispos","object_getclassname((id)referent));","object_getmethodimplementation((id)referent,","oldobj","oldobj)","oldobj,","oldobj;","oldtabl","on","out_of_lin","out_of_line=0","out_of_line:最低有效位,也是标志位。当标志位","p1","p;","paddedt","pointer","possibl","previouslyinitializedclass","process","ptr_minus_1;","refcnt","refcnts;","refcountmap","refer","referent)))","referent;","referent_id","referent_id,","referent_id;","referrer);","referrer;","reinterpret_cast","released,","remove_referrer(entry,","retry:","retry;","return","return;","rootdealloc","runtim","sel)","sel))","sel_allowsweakrefer","sel_allowsweakreference);","self;","sidet","sidetable::locktwo(oldtable,","sidetable::unlocktwo(oldtable,","sidetable_cleardeallocating3","sidetables()","size_t","slock","slock;","spinlock_t","static","storeweak","storeweak(id","storeweak最主要的两个逻辑点(源码太长,这里不贴了)","stripedmap","stripedmap&","stripedmap[]","struct","t","tabl","table。其实其中的","table。而在","tag","templat","true","true;","typedef","typeof(self)weakself","uintptr_t","union","valu","void","weak","weak_entri","weak_entry_for_refer","weak_entry_for_referent(weak_table,","weak_entry_remove(weak_table,","weak_entry_t","weak_inline_count","weak_referrer_t","weak_referrer_t;","weak_register_no_lock","weak_register_no_lock(weak_table_t","weak_tabl","weak_table;","weak_table_t","weak_unregister_no_lock","weak_unregister_no_lock(&oldt","weak_unregister_no_lock(weak_table_t","weaktabl","weaktable在每个sidetable中以结构体","weak的实现原理","weak置空原理","which)","zone","{","||","}","};","①","①objc_initweak","②","②storeweak","③","③weak_register_no_lock","④append_referr","、","。","。其中的","下面指向的操作会改变旧值","下面的一段代码是在开发中常见的weak的使用","不支持弱引用,该过程需要暂停","不需要分配新值","两个成员不用多说,第一个是为了防止竞争选择的自旋锁,第二个是协助对象的","中声明其数据结构:","中接触","中的多张弱引用散列表。","中的源码如下:","中的缓存判断),这里判断了其指针指向的类对象是否有效,无效直接释放,不再往深层调用函数。","中,其成员","为索引所存储的值地址","主要进行了istaggedpointer和deallocating条件判断","之前不要设置","介绍了与对象相关联的","从弱引用的","会将传入对象的地址加以封装起来,并且其中也有访问全局弱引用表的入口。","会返回","位的情况","使用","使用场景都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak","例如","保存了所有指向指定对象的","保持一致,如果不同,说明当前的","保证原子操作的自旋锁","保证引用对象是否有效","做了转换,将声明方式做出了如下调整。","元素上限阀值。","全局","共同引用计数的变量(对于对象结果,在今后的文中提到)。这里主要看","关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为","其中的对象指针,就是代码中的","其实","其实对","具体可查阅ios底层学习","内存管理之weak原理探究","函数会需要该指针","函数把心的对象进行注册操作,完成与对应的弱引用表进行绑定操作。","分配新值","初始化","初始化构造器保证所有弱引用的","判断","加锁操作,防止多线程中竞争冲突","参与判断引用计数辅助量","变量有值","可以看出,这个函数仅仅是一个深层函数的调用入口,而一般的入口函数中,都会做一些简单的判断(例如","可是又被其他线程所修改","和","在","在之前的","在入口方法中,传入了","在取出实例方法的实现中,使用了","在引用计数表中设置若引用标记位","在线程中","增加弱引用表于附加对象上","声明两个","复制代码","如果weak_entry_t不存在,则会新建一个并插入","如果其对象为","如果存在就将指向被弱引用对象地址的指针referrer通过函数append_referrer插入到对应的weak_entry_t引用数组","如果弱引用被释放","如果该类","如果该类已经完成执行","存储空间","存在,sidetable中储存着各种类对象,sidetable中包含了weaktable,rc引用计数器表,自选锁,当开发使用","实例:","对于","对于给定的弱引用查询","对其","对象。在","对象指针);","对象,并且其中对于","对象,这里需要更改指针指向","导致","将引用表中记录为空","将被弱引用对象所在的weak_table中的weak_entry_t哈希数组中取出对应的weak_entry_t","就是我们传入的","已经处理过","已经释放或者","并且通过","应该与","引用全局","引用计数和弱引用依赖表","引用计数的","引用计数那张散列表的weak引用对象的引用计数中标识为weak引用","弱引用位初始化操作","弱引用的实现方式","弱引用表,referent_id","总结一下","总结来说:","成员为最低有效位,当其为0的时候,","成员存储的元素类型,并且其中提供了一个针对于地址的","成员将扩展为多行静态","成员,从字面意思上看,即为弱引用表入口。其实现也是这样的。","成员,用来存储","成员,这个","找到弱引用对象的对应的weak_entry哈希数组中插入","技术","指针","指针,对象释放时,弱引用表置空","指针二维数组。一维","指针可构成一张弱引用散列表,通过第三纬度实现了多张散列表,并且表数量为","指针的","指针的对应绑定。根据函数名,称之为解除注册操作。从源码中,可以知道其功能就是从","指针的绑定。而其中的遍历查询,就是针对于","指针进行初始化","指针进行标记","提供了一套拥有将地址作为","数值","新对象添加注册操作","新旧散列创建","方法","方法中,取出实例的方法变成了","方法是最理想情况","方法检查类(包括其父类)中是否含有默认的方法","方法的地址","方法的实现,在","方法返回","方法通过位运算计算下标,实现了静态的","无效对象直接导致指针释放","旧对象以及","旧对象对应的地址","旧对象解除注册操作","时候,","时,增加引用表指针纬度。","是一个模板类(templat","是一个模板类,在这个类中有一个","是二维","是对泛型对象的指针做了一个封装,通过这个泛型类来解决内存泄漏的问题。从注释中写","是我们传入的一个弱引用指针。而对于","更改指针,获得以","更改新值指针,获得以","替代存储","最大偏移值","有什么作用?以下是笔者自身的猜测:","查看对象实例是否有效","标准转换运算符","根据首对象查找","检查","检测","检测对象是否生效、以及是否使用了","检索方式,再来看","正在调用","此打断点跟踪汇编信息,可以发现底层库调了objc_initweak函数","没有新值,则无需更改","泛型成员,也就是","清除旧值","版本中,有一个较为重要的成员方法,用来根据对象的地址在缓存中取出对应的","状态","用","用指针去访问","用来处理无关类型之间的转换。该关键字会产生一个新值,并保证与原参数(expression)拥有完全相同的比特位。","由于","由于弱引用在析构dealloc时自动置空,所以查看dealloc的底层实现并llvm调试","由于是第一次调用,所以走havenew分支——获取到的是新的散列表sidetable,主要执行了weak_register_no_lock方法来进行插入","的","的下标中,这里使用了","的值通常情况下是等于零的,所以弱引用表总是一个","的别名,通过一个二维指针地址偏移,用下标作为","的实现:","的成员和作用。","的结构中,disguisedptr","符的重载定义中,会返回这个","算法,用作存储","类型结构体对象作为","结构,所以需要使用变量来记录数目。","继续阅读","而","而在上面","自行创建弱引用表","获得新值和旧值的锁存位置(用地址作为唯一标示)","获得新对象的","表","表。在","表中删除","表的结构与作用。","解决方案,而该方案采用了模板类,是拥有泛型性的。","解锁","记录并存储对应引用表","该方法主要作用是将旧对象在","该过程用来更新弱引用指针的指向","说明","这一步与上一步相反,通过","这个方法。在进行编译过程前,clang","这个结构体,我给他起名引用计数和弱引用依赖表,因为它主要用于管理对象的引用计数和","这是一个全局弱引用表。使用不定类型对象的地址作为","这种方式。查看方法的实现,发现了如下函数:","这里不会设置","这里传递了三个","进行常量参数传递是为了优化性能","通过地址来建立索引标志,防止桶重复","通过地址来解除引用关联","避免线程冲突重处理","那么在有效位未生效的时候,out_of_lin","重新尝试","防止弱引用间死锁","需要手动对其增加保护策略,并设置","需要注意的是,当修改弱引用的变量时,这个方法非线程安全。所以切记选择竞争带来的一些问题。","需要被分配的新值,当前值可能为","需要被及时清理,当前值可能为","非空且已经初始化","非空指向",",其表达方式为:",",并输出日志",",用",",而",":"],"iOS/Objc_Object/Property.html":["(code","(description/templ","(extern","(inheritance)","(manifest","(non","(object","(sent","*)。","+",".h:",".m",".m:","/","//也会存在不安全","//安全","1.基本数据类型:atom","1.成员变量","2.","2.普通oc对象:","3.","4.","=","@implement","@properti","@synthes","[[nsarray","[array","act)","addobject:obj];","alloc]init];","array","assign","assign:","atom","atomic保证赋值获取是线程安全,是对成员属性的直接的获取安全,并不代表操作和访问安全.","atomic是自旋锁,即当上一线程没有执行完毕(被锁住),下一线程会一直等待(不会进入睡眠状态),当上一线程执行完毕,下一线程立即执行。他区别于互斥锁,互斥锁在等待的时候,会进入睡眠状态,当上一个线程执行完毕,睡眠状态就会被唤醒,然后再执行。","block","bool等","c2.0中的新语法:properties。它帮我们自动生成getter和sett","class","class)","copi","count;","data","declarations翻译过来就是成员变量的声明","float)的简单指针。可以在.h","getter","id","immutable对象","instanc","int","invok","io","ivar","make","messag","message)","method","methods)","mutablecopi","mutable对象","mybutton","mybutton;那么生成的实例变量就是_mybutton。","mybutton;那么生成的实例变量就是mybutton;如果没写@synthes","name","name;","nonatom","nsstring","object","object)","oc特有的类型。从本质上讲,","properti","propety属性","protocol","readonli","readwrit","retain","setter","specif","storage)","strong","superclass/subclass","variabl","variable)","weak","weak修饰时,runtime会维护一个hash表(也称为weak表),用于存储对象的所有weak指针,hash表的key是该对象的地址,value为weak指针的地址(这个地址的值是所指对象的地址)数组。(备注strong是通过runtime维护的一个自动引用计数表)","weak关键字:","weak的实现原理总结:","weak:","xxx;那么self.mybutton其实是操作的实例变量xxx,而不是_mybutton了。","√默认关键字","不分配","不可变","不影响","不改变修饰对象的引用计数","严格说来,上图中的","为","从给出的英文说明,可以看出:实例(instance)是针对","代码段中,@synthesize的作用就是让编译器为你自动生成setter与getter方法,@synthes","会产生悬垂指针:仍然指向内存地址,如果没覆盖后还调动变量就会crash","修饰基本数据类型,如int,","修饰对象类型时,不改变其引用计数","修饰的是一个数组,对数组赋值获取是安全的,但是对数组进行操作(添加对象,移除对象)是不保证线程不安全的.而且采用atomic消耗比较大","关于arc下,不显示指定属性关键字时,默认关键字:","关键字","写@property声明属性,其实是做了三件事","分配","初始化时,runtime会调用objc_initweak函数,初始化一个新的weak指针指向对象地址;","协议:","原子性","可变","因为","图中的member","声明了getter和setter方法;","声明了实例变量(默认:下划线+属性名);","外属性)","如果.m文件中写了@synthes","实例变量","实例变量。","实例变量:","实例变量:是成员变量的一种,实例是针对类而言的,是指对类的声明;由此推理,实例变量是指由类声明的对象。","实例:","实现了getter和setter方法。","实现原理","属性","应属于","应该属于成员变量还是实例变量呢?","引用计数","影响","成员变量:通常是指向对象或是基础类型(int,","或是","所以","所指对象在释放之后会自动设置为nil","拷贝方式","拷贝类型","文件中声明:","新内存空间","方法:","是","是一个实例变量(nsstring是一个类).至于","是一个成员变量。而","是指由类声明的对象。","比如","浅拷贝","消息:","深拷贝","添加引用时,objc_initweak函数会调用objc_storeweak函数,objc_storeweak的作用是更新指针指向,创建对应的弱引用表(hash表)","源对象类型","目标对象类型","等同于","类(class)而言的。实例是指类的声明;由此推理,实例变量(inst","类:","补充介绍","语句只能被用在","读写权限","超类/子类:","还有一个作用,可以指定与属性对应的实例变量,例如@synthes","都是强引用,除了某些情况下不一样,比如修饰block,其他的时候也是可以通用的。","释放时,调用cleardeallocating函数。cleardeallocating函数首先根据对象地址获取weak指针地址的数组,然后遍历这个数组把其中指向空对象的指针设为nil,最后把这个指针从weak表中删除,最后清理对象的记录。","(void"],"iOS/Objc_Object/isa.html":["#endif","#if","(dracarys.github.io)","*/","*class;","/*","//","10","10,则需要使⽤到上⾯的","10,那么","1;","1,例如,如果对象的引⽤计数为","1:包含swift代码;","2:sdk版本低于10.11;","33","3:runtime读取image时发现这个image包含__objc_rawisa段;","44;","4:开发者自己添加了objc_disable_nonpointer_isa=yes到环境变量中;","5:某些不能使用non","64","6;","6:父类关闭。","8","8;","9。如果引⽤计数⼤于",":","=","[nsstring","arc","arm64","bit","bits(value)","bits;","c","c++","class","class_data_bits_t","class的信息则由metaclass所有;","class)","class)?","cls;","dealloc","deallocating:标志对象是否正在释放内存。","defaultstringencod","defaultstringencoding];","defin","defined(isa_bitfield)","details...","extra_rc","extra_rc:当表示该对象的引⽤计数值,实际上是引⽤计数值减","follow","has_assoc","has_assoc:关联对象标志位,0没有,1存在。","has_cxx_dtor","has_cxx_dtor:该对象是否有","has_sidetable_rc","has_sidetable_rc。","has_sidetable_rc:当对象引⽤技术⼤于","instance的信息由class所有;","ios底层探索:isa结构分析","isa","isa.h","isa;","isa_bitfield;","isa_t","isa_t()","isa_t(uintptr_t","isa_t、cls、","isa。(isa","isa指针保存着指向类对象的内存地址,类对象全局只有一个,因此每个类创建出来的对象都会默认有一个isa属性,保存类对象的地址,也就是class,通过class就可以查询到这个对象的属性和方法,协议等;","isa指针是什么?","isa本质是一个isa_t的类型,那isa_t是一个联合体位域结构","magic","magic:⽤于调试器判断当前对象是真的对象还是没有初始化的空间。","metaclass是单一职责和扩展性:","new.m中找到逻辑。","nonpoint","nonpointer:表示是否对","nsobject","nsstringencod","objc","objc_class","object","oc源码:","pointer的类,gcd等;","pointer目前有这么几个判断条件,这些都可以在runtime源码objc","pointer,那么会对isa的其他成员赋值,否则只会对cls赋值。","refer","runtim","shiftcl","shiftcls:存储类指针的值。开启指针优化的情况下,在","specif","struct","super_class","super_class;","taggedpointer技术,不使用isa","typedef","uintptr_t","union","value)","weakly_referenc","weakly_referenced:对象是否被指向或者曾经指向⼀个","{","|","}","};","【译】object","中包含了类信息、对象的引⽤计数等。","中每个类本身也是一个对象。如上面所看到的,这意味着类结构也必须以一个isa指针开始,从而可以和objc_object在二进制层面兼容,之后这个结构的下一字段必须是一个指向父类的指针(对于基类则为nil)。","中的元类(meta","中类也是一个对象。","中,对象的方法并没有存储于对象的结构体中(如果每一个对象都保存了自己能执行的方法,那么对内存的占用有极大的影响)。","为","为为一个对象分配内存,初始化实例变量后,在这些对象的实例变量的结构体中的第一个就是","为了调用class里的方法,该class的isa指针也必须指向一个包含了该class方法列表的class。","为什么要设计metaclass","之所以能成功是因为","也有一个指向自己的父类的指针","什么是元类(meta","什么是联合体?","从","位⽤来存储类指针。","位的内存空间,","元类是必不可少的,因为它存储了类的类方法。每个类都必须有独一无二的元类,因为每个类都有独一无二的类方法。","元类的类是什么?","元类,就像之前的类一样,它也是一个对象。你也可以调用它的方法。自然的,这就意味着他必须也有一个类。","否则类方法,实际方法都在同一个流程中,类对象、元类对象能够复用消息发送流程机制;","因为在","土丘上的蒲公英","在元类中获取方法的实现","在类中获取方法的实现","在这个示例里,defaultstringencoding被发送给了nsstring类。","在这样的继承体系下,所有实例、类以及元类都继承自一个基类。","如果该实例对象启用了non","字节(决定于其中的结构体)","存储该对象信息,例如引用计数器,弱引用表等)","实例对象可以通过isa指针找到它的类对象,类对象存储实例方法列表等信息。类对象可以通过isa指针找到它的元类对象,从而可以访问类方法列表等相关信息","实例方法调用时,通过对象的","当","当你给对象发送消息时,消息是在寻找这个对象的类的方法列表;","当你给类发消息时,消息是在寻找这个类的元类的方法列表。","当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union),利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。","当实例方法被调用时,它要通过自己持有的","总共会占据","或者","所有的元类都使用根元类(继承体系中处于顶端的类的元类)作为他们的类。这就意味着所有nsobject的子类(大多数类)的元类都会以nsobject的元类作为他们的类","指向对应的元类,这样就达到了使类方法和实例方法的调用机制相同的目的:","指针开启指针优化,0:纯isa指针,1:不⽌是类对象地址,isa","指针的作用与元类","整体如下图片所示:","时,则需要借⽤该变量存储进位。","是一个","是否关闭non","有一些对象比较小则会使用","来查找对应的类,然后在这里的","架构中有","根据消息接受者的isa指针找到metaclass(因为类方法存在元类中。如果调用的是实例方法,isa指针指向的是类对象。)","根据这个规则,所有的元类使用根元类作为他们的类,根元类的元类则就是它自己。也就是说基类的元类的isa指针指向他自己。","正如我上周展示的,定义一个class有很多种方式,取决于你的运行时库版本,但有一点,它们都以isa字段开始,并且仅跟着一个superclass字段。","注:","用来查找继承的方法。","的一个类也是一个对象。这意味着你可以发送消息给一个类。","的初始化了解","的弱变量,没有弱引⽤的对象可以更快释放。","的析构器,如果有析构函数,则需要做析构逻辑,如果没有,则可以更快的释放对象。","简单来说就是:","类和元类的继承","类型的结构体,其中的","类对象和元类对象分别是什么,他们之间有什么区别?","类对象或是元类对象都是objc_class数据结构的,objc_class由于继承自objc_object,所以他们都有isa指针,所有实例可以找到类,类可以找到元类","类方法的实现又是如何查找并且调用的呢?这时,就需要引入元类来保证无论是类还是对象都能通过相同的机制查找方法的实现。","类方法调用时,通过类的","类用super_class指针指向了父类,同样的,元类用super_class指向类的super_class的元类。","结构体","结构体中查找对应方法的实现。同时,每一个","让每一个类的","说的更拗口一点就是,根元类把它自己的基类设置成了super_class。","还有结构体共用同一块地址空间。而","这就引出了元类的定义:元类是class的类。","这意味着对于继承于nsobject的所有实例、类和元类,他们可以使用nsobject的所有实例方法,类和元类可以使用nsobject的所有类方法","进入cachelookup流程,这一步会去寻找方法缓存,如果缓存命中则直接调用方法的实现,如果缓存不存在则进入objc_msgsend_uncached流程。","采用这种结构的原因也是基于内存优化的考虑(即二进制中每一位均可表示不同的信息)。通常来说,isa指针占用的内存大小是8字节,即64位,已经足够存储很多的信息了,这样可以极大的节省内存,以提高性能。"],"iOS/Objc_Object/ObjectClass.html":["*class;","bit","bucket_t","cach","cache_t","class","class_data_bits_t","class_rw_t","class,class","data","hash","io","isa_t","mete","method_t是一个方法的封装,里面包括了名称(sel),返回值,参数,与函数体(实现)","new.h","nsobject","objc","objc2","objc_class","objc_class的真实定义实际的代码我们可以从","objc_object","objc_object中有一个isa指针,那么objc_class继承objc_object,也就同样拥有一个isa指针","objc_object的真实定义","objectclass","only。","private.h文件","read","runtim","struct","super_class","superclass","typedef","vtable,加速方法的调用","write,class_ro_t","一个类的内部结构如下,","不管是类对象还是元类对象,类型都是","中的","中看到(中间代码省略):","和","如上图,关系也如旧版本一样,","实质上是装满了","对象与数据结构","就是存储类的方法、属性、遵循的协议等信息的地方","总结","所有继承自","指向当前类的父类","提供消息传递过程当中的缓存方法查找","用于缓存指针和","的一个","的底层都是","的类实例化后的对象都会包含一个类型为","的结构体。","类的基础信息,包含了类的方法列表,协议列表等。","结构","结构体的指针。","结构,此结构定义如下:","继承于","而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&fast_data_mask操作","而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。","表。因为散列表检索起来更快,","表示","表示read","详见","返回",","],"iOS/Objc_Object/ClassRWT.html":["#defin","&","(1ul","(class_rw_t","(const","*","*)(bit","*)calloc(sizeof(class_rw_t),","*)cl","*baseproperties;","*data","*data()","*ro","*ro;","*rw","...","//","0。","1);","47","47]","64","=",">data();",">flag",">ro",">setdata(rw);","[3,","above.","basemethodlist;","basemethods,","baseprotocols;","bit","bit)","bit;","bits.data();","bits;","bool","char","cl","class","class_data_bits_t","class_ro_t","class_ro_t,这样我们即可以在运行时为","class_rw_t","class_rw_t*","classrwt","const","custom","data","data()","data。","fast_","fast_data_mask","fast_data_mask);","fast_has_default_rr","fast_is_swift","fast_requires_raw_isa","firstsubclass;","flag","flags;","getbit(uintptr_t","hasdefaultrr()","instancesize;","instancestart;","isa","isswift()","ivar_list_t","ivarlayout;","ivars;","method","method_array_t","method_list_t","methodizeclass","methods;","methods、","name;","new.h","nextsiblingclass;","objc","objc_class","objc_class的真实定义实际的代码我们可以从","objectclass.md","only。","os","plu","private:","properti","properties;","property_array_t","property_list_t","protocol","protocol_array_t","protocol_list_t","protocols;","raw","read","realizeclass","refer","requiresrawisa()","reserved;","retain/release/autorelease/retaincount/_tryretain/_isdeallocating/retainweakreference/allowsweakrefer","return","ro","ro;","ro,其中存储了当前类在编译期就已经确定的属性、方法以及遵循的协议。(如果是当前类有category扩展,则新增的属性方法会放在","rr/alloc","runtim","rw","rw_realized|rw_realizing;","struct","swift","uint32_t","uint8_t","uintptr_t","valu","version;","weakivarlayout;","write,class_ro_t","x86_64","{","}","};","、properti","下图是","与","中","中方法的结构","中的","中的属性在运行期间就不能改变了,再添加方法时,会修改","中的方法,属性以及协议列表均为空。这时需要","中看到(中间代码省略):","中:","为我们提供了便捷方法用于返回其中的","从","但是,在这段代码运行之后","位来为对象分配地址。而且由于地址要按字节在内存中按字节对齐,所以掩码的后三位都是","位的","位转换成","位,所以可以使用最后三位来存储关于当前类的其他信息:","其中还有一个指向常量的指针","列表中。","列表,而不是","初始化一个","只使用了其中的","和","因为","在","在内存中的位置是在编译期间决定的,在之后修改代码,也不会改变内存中的位置。","在编译期间类的结构中的","将","小结","强制转换为","当前类或者父类含有默认的","当前类的实例需要","所以调用初始化如下","执行之后,才放到了","指向的只读区域","指向的是一个","指针","指针加上","指针只存于第","指针:","数组中,成为一个二维数组)","方法","方法中:","方法执行过后的类所占用内存的布局","方法来将类自己实现的方法(包括分类)、属性和遵循的协议加载到","方法,将结果从","最后设置正确的","架构上,mac","深入解析","添加方法,也不会影响类的只读结构。","然后在加载","用于判断","用于存储与类有关的信息:","由前面可知","的","的值以及","的标志。","的结构体,其中只含有一个","相当于","类","类中的属性、方法还有遵循的协议等信息都保存在","类的方法、属性以及协议在编译期间存放到了“错误”的位置,直到","结构体","结构体中的注释写到","结构,此结构定义如下:","而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&fast_data_mask操作","而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。","表示","表示read","设置结构体","调用","运行时的过程中在","返回","返回。","进行位运算,只取其中的"],"iOS/Objc_Object/OCAllocInit.html":["!","!cls))","#defin","#els","#endif","#if","&","&&","(!cls)","(!obj)","(!zone","((malloc_zone_t","(__builtin_expect(bool(x),","(allocwithzone)","(cxxconstruct","(fastpath(!cl","(fastpath(cl","(id)alloc","(id)calloc(1,","(id)init","(id)malloc_zone_calloc","(id)new","(id)self;","(outallocatedsize)","(slowpath(!obj))","(slowpath(checknil","(throw","(zone)","*","*)zone,","*data()","*outallocateds","*zone,bool","+","+alloc.","//","//!!","0))","0);","1))","1,","1.带你深入了解oc对象创建过程",":","=",">bits.fastinstancesize());",">canallocfast()))",">canallocnonpointer();",">clearflags(rw_has_default_awz);",">flag",">hascustomawz()))",">hascustomawz()。",">hascxxctor();",">hascxxdtor();",">initinstanceisa(cls,",">initisa(cls);",">instancesize(extrabytes);",">isa()",">isrealized());",">setflags(rw_has_default_awz);","[[class","[callalloc(self,","[cl","[class","__attribute__((always_inline))id_class_createinstancefromzone(class","__builtin_expect是gcc提供给程序员使用,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。","__objc2__","_class_createinstancefromzone(cls,","_objc_constructorfree(obj,","_objc_rootalloc(self);","_objc_rootinit(self);","add","alloc/allocwithzon","alloc]","alloc];","alloc]。当再次调用callalloc时候defaultawz为ture,hascustoawz为false这样会进入到下一个流程。","allocator.","allocinit","allocwithzone:nil],","allocwithzone:nil].","allocwithzone:nil];","allocwithzone=false)","always_inlin","appropri","ascustomawz作用是判断当前类有没有实现allocwithzone方法。它是通过类的结构体objc_class中的hascustomawz方法判断的:","assert(!isfuture());","assert(cl","assumpt","available.","base","bit","bits.canallocfast();","bits.data();","bits.hasdefaultawz();","bits;","bool","cach","cache;","cache_t","call","callalloc","callalloc(class","callalloc(cls,","callbadallochandler(cls);","calls.","canallocfast","canallocfast'","canallocfast()","canallocfast作用是判断当前类是否可以快速开辟内存,需要注意的是这里永远不会调用,因为canallocfast内部返回的是false。具体实现如下:","cf","chain","checknil,","cl","class","class'","class_createinst","class_createinstance(class","class_createinstance(cls,","class_data_bits_t","class_rw_t","cls);","cls){","cls,","ctor","ctors,","custom","cxxconstruct","data()","do","dtor","dtor);","etc.","extrabytes){","extrabytes,","false/*checknil*/)","false/*checknil*/,","false;","fast","fast)","fastpath(x)","fixm","flag","formerli","function.","go","hard","hascustomawz","hascustomawz()","hascxxctor","hascxxctor)","hascxxdtor","hascxxdtor);","hascxxtor()和hascxxdtor","hasdefaultawz()","hasdefaultawz()的方法实现如下:","id","id_objc_rootalloc(class","id_objc_rootinit(id","implement","implementation.","info","init","init]","init];","isa","isa,","isa;","mani","meta","metal.","new]","nil);","nil){","nil.","nil;","non","nsexception)","obj","obj){","obj;","objc_class","objc_object","oc对象创建过程","onc","optimizations.","path.","perform","plu","pointer","practice,","properli","raw","read","refer","reli","replac","return","rr.","rr/alloc","rw_has_default_awz;","rw_has_default_awz是用来标记用户有没有自己实现allocwithzone方法。由于类是有懒加载的概念的,所以第一次给该类发送消息之前,该类是没有加载的,因此当类收到alloc消息的时候,进入到hascustomawz时并没有默认实现allocwithzone方法,所以hascustomawz返回true,因此会直接进入到[cl","sethascustomawz()","sethasdefaultawz()","shortcut","size","size);","size;","size_t","slower","slowpath(x)","slowpath和fastpath","someth","something.","static","store","straight","struct","summari","superclass;","true,size_t","true/*allocwithzone*/);","us","void","vtabl","weird","zone","{","}","从上面两种创建对象的方法可以看出第一种方式对象的创建是在alloc中,init方法只是返回已经创建的对象。通过new方法创建的对象本质还是alloc和init的结合。","代码中,if","其实代码中的slowpath和fastpath删除后并不会影响这段代码的功能,slowpath和fastpath的添加就是为了告诉编译器if条件语句中是大概率事件还是小概率事件,从而让编译器对代码进行优化。","创建对象的两种方法","可以看到canallocfast返回false,于是来到了下一流程:class_createinstance。","在这里开始创建对象分配内存空间,hascxxtor()和hascxxdtor()是用来处理c++成员变量的构造和析构的,hascxxtor是判断当前class或者superclass是否有.cxx_construct的实现,hascxxdtor是用来判断当前class或者superclass是否有.cxx_destruct的实现,canallocnonpointer是判断是否可以创建nonpointer。","就是说明cls大概率是有值的,告诉编译器编译时优化,下面就到了cl","是否可以创建nonpoint","表示x的值为假的可能性更大","表示x的值为真的可能性更大"],"iOS/Objc_Object/Category.html":["&","&&","(!cats)","(!cls)","(addedcount","(cl","(eat)","(flush_cach","(hasarray())","(i","(initialized)","(loadable_classes_us","(loading)","(method_list_t","(mlist)","(play)","(printreplacedmethods)","(property_list_t","(proplist)","(protocol_list_t","(protolist)","(rua)","(run)","(分类1)","(后编译的category,插入的方法在每个类大方法数组最前面)","(宿主类1)","(宿主类2)",")","*","*)realloc(array(),","**)","**mlist","**proplist","**protolist","*/","*cache;","*cats,","*class_methods;","*cls;","*instance_methods;","*isa;","*mlist","*name;","*pool","*properties;","*proplist","*protocols;","*protolist","*ro;","*superclass;","*vtable;","+","+load",",重点来看","...","/*","//","//_class_t","//array()","//memcpi","//memmove,内存挪动","//realloc","//先加载宿主类的load方法(按照编译顺序,调用load方法)","//协议列表","//实例方法列表","//宿主类名称","//宿主类对象,里面有isa","//属性列表","//最后编译的分类,最先添加到分类数组中","//类方法列表","0","0)","02","0;","1)、category的方法没有“完全替换掉”原来类已经有的方法,也就是说如果category和原来类都有methoda,那么category附加完成之后,类的方法列表里会有两个methoda","1)、可以调用,因为附加category到类的工作会先于+load方法的执行","1)、在类的+load方法调用的时候,我们可以调用category中声明的方法么?","1.","1.category的特点","1.深入理解object","1.通过runtime加载某个类的所有category数据","17:28:00.519862+0800","17:28:00.520032+0800","17:28:00.520047+0800","17:39:10.354050+0800","17:39:10.354237+0800","17:39:10.354252+0800","17:39:10.354263+0800","17:39:10.354274+0800","17:39:10.354285+0800","2)、category的方法被放到了新方法列表的前面,而原来类的方法被放到了新方法列表的后面,这也就是我们平常所说的category的方法会“覆盖”掉原来类的同名方法,这是因为运行时在查找方法的时候是顺着方法列表的顺序查找的,它只要一找到对应名字的方法,就会罢休,殊不知后面可能还有一样名字的方法。","2)、加载顺序是父类先+load,然后子类+load,然后分类+load,+load的执行顺序是先类,后category,而category的+load执行顺序是根据编译顺序决定的。","2)、这么些个+load方法,调用顺序是咋样的呢?","2.","2.分类中可以添加哪些内容","2.把所有category的方法、属性、协议数据,合并到一个大数组中","2019","27","3.","3.io","3.将合并后的分类数据(方法、属性、协议),插入到类原来数据的前面","=","==","=>",">",">count",">count;",">count;//宿主类,分类的总数",">data()",">data();",">flag",">isbundle();",">ismetaclass();",">isrealized());",">list",">list[i];",">lists,",">lists[0]));",">methods.attachlists(mlists,",">methodsformeta(ismeta);",">properties.attachlists(proplists,",">propertiesformeta(ismeta,",">protocols.attachlists(protolists,",">protocols;",">setinfo(rw_loaded);",">superclass);","[","[method_t,],","[method_t,method_t,method_t],","[method_t,method_t],","[methodlist","]","_category_t","_class_ro_t","_class_t","_dyld_objc_notify_register(&map_images,","_imp_implementationwithblock_init();","_method_list_t","_objc_init(void)","_prop_list_t","_protocol_list_t","_read_imag","a)可以减少单个文件的体积","add_class_to_loadable_list(cls);","addedcount","addedcount)","addedcount,","addedcount;","addedlists,","alloc","arch","aren’t","arm64","array()","array_t::bytesize(newcount)));","assert(cl","atindex:0];所以objc_msgsend遍历方法列表查找sel","attachcategories(class","attachlists(list*","auto","auto&","b)可以把不同的功能组织到不同的category里","backward","bool","c)可以由多个开发者共同完成一个类","cache_init();","call","call_category_loads();","call_class_loads();","call_load_methods(void)","cat","categori","category_list","category和+load方法","category如何加载","category的加载处理流程","category被附加到类上面是在map_images的时候发生的","cats);","char","cl","clang","class","cls)","cls,","const","copi","count","c:categori","d)可以按需加载想要的categori","defer","demo[91107:2281575]","demo[91308:2303030]","ensur","entrant","entri","entry.cat","entry.hi","entry.hi);","environ_init();","exception_init();","extens","extension(扩展)","extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随之一起消亡。extension一般用来隐藏类的私有信息,你必须有一个类的源码才能为一个类添加extension,所以你无法为系统的类比如nsstring添加extension。","false;","finish","first","fixm","flush_caches)","flushcaches(cls);","found?","free(mlists);","free(proplists);","free(protolists);","frombundl","frombundle);","imag","init","initi","initialize实现原理","initialize,加载or调用的时候,都会先调用父类对应的","initialize:","insertobject:category_method","int","intermedi","iphoneo","ismeta","job.","list","load","load(分类2)","load(分类3)","load(分类4)","load:","load],父类就会收到调用。","load_images,","loadmethodlock.assertlocked();","load实现原理","malloc(cat","mani","mcount","mcount);","mcount,","memcpy(array()","memmove(array()","method_list_t","mlist;","mlists,","mlists[mcount++]","mndog","mnperson","mnperson+test.m","more","more_categori","more_categories);","more_categories;","newcount","newcount;","newest","no,","no;","nothing;","objc","objc_autoreleasepoolpop(pool);","objc_autoreleasepoolpush();","objc_msgsend","oldcount","onc","order","outermost","preparemethodlists(cls,","printreplacements(cls,","propcount","propcount);","property_list_t","proplist;","proplists[propcount++]","protocol_list_t","protocount","protocount);","protolist;","protolists[protocount++]","re","realiz","rearrang","refer","remov","repeatedli","return;","rewrit","run","runtim","runtime_init();","rw","rw_loaded)","schedule_class_load(cl","schedule_class_load(class","sdk","setarray((array_t","sizeof(*mlists));","sizeof(*proplists));","sizeof(*protolists));","sizeof(array()","static","static_init();","struct","superclass","through","tls_init();","true;","uint32_t","unmap_image);","until","untri","us","void","xcrun","yes;","{","{//倒序遍历,最先访问最后编译的分类","|=","||","}","};","不能为系统类添加扩展","与","两颗星星,一个)","二维数组(","从这俩个回调方法里看,你会发现category在map_images会加载完毕,而load_images会调用+load方法。","但是category则完全不一样,它是在运行期决议的。","使用","先初始化父列","先编译的类,优先调用load","先调用宿主类的","先调用类的load","再初始化子类(可能最终调用的是父类的初始化方法)","再调用分类的的","函数","函数的地址,直接调用","函数,生产一个cpp文件,窥探其底层结构(编译状态)","分类的加载处理流程主要有下面三步:","分类的方法列表","到原来的方法列表中","动态将分类的方法合并到类对象、元类对象中","协议","原来的方法列表","只能以声明的形式存在,多数情况下,寄生于宿主类的.m文件中","可以为系统类添加分类","可以动态地为已有类添加新行为。apple还推荐了category的另外两个使用场景","可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,","后+load的类的方法,后添加到方法列表,而这时的添加方式又是插入顶部添加,即","后面参与编译的category数据,会在数组的前面","和","在程序运行过程中只会执行一次","在调用分类的load","声明私有属性","声明私有成员变量","声明私有方法","实例方法","实例方法合并到类对象中,类方法合并到元类对象中","实际调用时,调用的是后添加的方法,即后添加的方法在方法列表methodlists的这个数组的顶部","实验证明:宿主类先调用,分类再调用","对应的imp时,会先找到分类重写的那个,调用执行。然后添加到缓存列表中,这样主类方法实现永远也不会调到。","将分类的方法列表","就category和extension的区别来看,我们可以推导出一个明显的事实,extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。","属性","忽略掉一堆","我们知道,在类和category中都可以有+load方法,那么有两个问题:","扩容了","按照编译先后顺序调用(先编译,先调用)","捋一捋category加载流程及+load","方法,再调用自己本身的;","方法,无需导入,无需使用","旁枝末叶","是根据函数地址直接调用,initi","是类第一次加载的时候调用,initi","是类第一次接收到消息的时候调用,每个类只会initialize一次(父类的initialize方法可能被调用多次)","是通过objc_msgsend","核心:将所有分类的对象方法,附加到类对象的方法列表中","每个分类的结构都一致,都是category_t","每个分类都是独立的","每个类、分类的","父类和本类的调用:父类的方法优先于子类的方法。一个类的+load方法不用写明[sup","画图分析","的区别","相关考点(article文件夹有收藏)","等等。","答:","类方法","类的load方法中,能调用分类的方法。","类第一次加载进内存的时候,会调用","类第一次接收到消息的时候,会调用该方法,需导入,并使用","结构","编译时决议,categori","获取某一个分类","要注意的有两点:","调用","调用子类的+load之前会先调用父类的+load","调用子类的load之前,会先调用父类的load","调用方式也不一样,load","调用时刻,load是runtime加载类、分类的时候调用(只会调用一次)","调用顺序","调用顺序:","调用,而是找到","走的不是消息发送的","走的是消息发送的","运行时决议","这个方法会注册3个事件并给出回调。","这里的mnperson","递归调用,先将父类添加到load方法列表中,再将自己加进去","通过","都是系统自动调用的话,都只会调用一次","重新分配内存","重点来看一下map_images和load_images;","面试驱动技术"],"iOS/Objc_Object/AssociatedObject.html":["!=","&associations(manager.associations());","(*refs)[key]","(first","(i","(if","(j","(new_value)","(old_association.hasvalue())","(outsid","(void","*","*)key,","*key,","*ref","//","//associationshashmap不存在","//如果associationshashmap已经存在","//如果set方法传值是nil","//更改值","//添加新值","1.0,","1.探索associatedobject关联对象的内部实现","2.0);","2.object","3.1,","9.0,",":","=",">end())",">erase(j);//擦除",">find(key);",">second",">second;",">sethasassociatedobjects();","?","_nonnul","_nullabl","_object_set_associative_reference(id","_object_set_associative_reference(object,","acquirevalue(value,","any)","assiciationshashmap","associ","associatedobject","associatedobject关联对象","associatedobject关联对象的内部实现","association.","associations.end())","associations.find(disguised_object);","associations[disguised_object]","associationshashmap","associationshashmap::iter","associationsmanag","break","c","const","crash","creat","disguise(object);","disguised_object","disguised_ptr_t","exist","get类似","id","j","key)","key,","key:关联对象的key,一般传入一个常量的地址作为唯一标识","key:关联对象的key,传入设置时候传入的key","lock).","lock.","manager;","new","new_valu","new_value);","nil","nil);","nil;","objc_association_assign","objc_associationpolici","objc_available(10.6,","objc_export","objc_getassociatedobject","objc_getassociatedobject(id","objc_removeassociatedobject","objc_removeassociatedobjects(id","objc_setassociatedobject","objc_setassociatedobject(id","objcassoci","objcassociation(policy,","object","object)","object,","objectassociationmap","objectassociationmap::iter","objectassociationmap;","object:宿主对象","old","old_associ","old_association(0,","outsid","policy)","policy);","policy:关联的规则,主要是内存管理的规则","ref","refer","refs;","releas","releasevalue()(old_association);","retain","secondari","set","tabl","time).","uintptr_t","valu","value,","value:被关联的对象","void","{","{//如果set方法传值不是nil","}","。[注意是用assign关联对象(@property中用assign也会导致崩溃)]","一般我们需要对现有的类做扩展,可以通过继承、类别等方式去实现;当我们使用类别的方式扩展,如果对现有的类增加属性的话,编译器是不会生成实例变量;类别的结构体中没有ivar的结构体,同时类的ivar设计的是一个const","为什么要引入关联对象?","主要函数","从object中根据key获取关联的对象的valu","关联对象(二)","关联对象value到object","关联对象就是在不改变类的结构的情况下,将类需要关联的对象存储在关联表中,那么类别中添加的属性的值的存取就可以通过关联来解决","关联对象并不是存储在被关联对象本身内存中","关联对象由","关联对象的底层数据结构","关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略","创建","删除object的所有的关联的对象","删除对象的关联对象函数","可以得出结论:","如果想通过runtime的方法class_addivar它只适用于新建一个类的时候增加,对于类别中增加实例就不适用","存储。","实现关联对象技术的核心对象有:","并","所有对象的关联内容都在同一个全局容器中。","添加","源码","管理并在","类别是运行时装载到类中的,当类realizeclass之后它的instancesize就已经确定无法修改了,这些操作都是在load之前,main函数之前","获取关联的对象函数","设置关联对象为nil,就相当于是移除关联对象","设置关联对象函数","进行下一步","进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成","(下面以set方法为例"],"iOS/OCFoundation/Runtime.html":["1.动态类型:","2.动态绑定:","instancesrespondtoselector:等来确定对象是否可以对某个sel做出响应,而在oc消息转发机制被触发之前,对应的类","oc的函数调用成为消息发送,属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,oc可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而c语言在编译阶段就会报错)。","respondstoselector:或者","runtim","runtime简介","runtime简称运行时,其中最主要的是消息机制。","time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。","其动态性体现在几个方面:","即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。像内置的明确的基本类型都属于静态类型(int、nsstring等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run","只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。","基于动态类型,在某个实例对象被确定后,其类型便被确定了。该对象对应的属性和响应的消息也被完全确定,这就是动态绑定。比如我们一般向一个nsobject对象发送","对于c语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。","法,也即类的实现是可以动态绑定的;iskindofclass也是一样的道理。","的+resolveclassmethod:和+resolveinstancemethod:将会被调用,在此时有机会动态地向类或者实例添加新的方"],"iOS/OCFoundation/Block.html":["\");","\",","\"clperson.h\"","#import","%d","%d\",","%d\",b);","%d\",c);","%d\",person.age);","%d,","&__main_block_desc_0_data,","&_nsconcretestackblock;","(*)(id,","(*copy)(struct","(*dispose)(struct","(1)","(1)借用上面的分析流程一样,先看一下block对应的结构体","(1)首先看一下此时block对应的结构体","(2)","(2)main函数里的block赋值过程","(2)再看一下main函数中的block定义以及赋值的代码","(3)","(3)block内部的函数","(3)再看一下block内部封装的函数","(^addblockresult)(bool)","(^block)(int,","(^block)(void)","(__block_byref_a_0","(__bridg","(a","(also","(juejin.cn)","(nonatomic,","(void*)0,","(void*)src","),",");","*","*)&__nsconstantstringimpl__var_folders_7__p19yp82j0xd2m_1k8fpr77z40000gn_t_main_2cca58_mi_0,((int","*)&a,","*)block;","*)objc_msgsend)((id)person,","***********************main.m*************************","*/","*__cself)","*__forwarding;","*__isa;","*_height。看到这里这里要存储的是一个地址,该地址应该就是外部static变量height的地址值。","*_person,","*a","*array","*desc,","*fp,","*funcptr;","*height;成员变量,构造函数里面对应的参数是int","*isa;","*person","*person;","*person。通过终端命令xcrun","*person】","*person被认为是强指针,等价于_strong","*person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。","*person,而弱指针需要显式地表示为__weak","*tmpblock","+_age偏移量,获得_age的地址后从而进行间接访问的,所以在oc代码中,_ag","/*","//","//block的定义","//block的调用","//不需要添加","//先修改age和height的值","//先修改age的值","//如下代码","//将block的底层结构struct","0","0,","0;","1","10","10,","10,因为c函数的参数都是值传递,所以这里是将此时外部变量a的值10传给了block的构造函数__main_block_impl_0,因此block内部的成员变量age会被赋值成10。","10;","10,然后在block内部使用了这个age,而且我在调用block之前,先将age的值修改成了20,那么此时程序运行会是什么结果呢","2","20","20,","20;","3","3/*block_field_is_object*/);","30","30;","4","5","570425344),","6","9.0.0",":",";","=",">__forward",">_age,说白了,这里还是需要用到self,因此block还是需要对self进行捕获的。",">a)++;",">a;",">forward",">person,",">person;",">堆上的block",">弱指针__weak",">弱指针运行结果\">",">强指针clperson",">强指针运行结果\">",">栈上的block","@autoreleasepool","@properti","[[clperson","[array","[nsmutablearray","^(){","^(int","^int(int","^{","__atautoreleasepool","__attribute__((__blocks__(byref)))","__autoreleasepool;","__block","__block,因为是使用","__block_byref_a_0","__block_impl","__block修饰的变量成了对象","__block修饰的属性在底层会生成响应的结构体,保存原始变量的指针,并传递一个指针地址给block——因此是指针拷贝","__block修饰符原理:","__cself","__flags;","__forwarding存在意义","__forwarding存放的是自己本身的地址","__main_block_copy_0(struct","__main_block_copy_0,","__main_block_desc_0","__main_block_desc_0*","__main_block_desc_0_data","__main_block_desc_0结构体里面多了两个彩蛋","__main_block_dispose_0","__main_block_dispose_0(struct","__main_block_func_0(struct","__main_block_impl_0","__main_block_impl_0(void","__main_block_impl_0),","__main_block_impl_0*);","__main_block_impl_0*,","__main_block_impl_0*dst,","__main_block_impl_0*src)","__main_block_impl_0直接般到main.m里面","__size;","__weak","_age","_block_object_assign((void*)&dst","_block_object_assign函数会根据auto变量的修饰符(__strong、__weak、__unsafe_unretained)做出相应的操作,形成强引用(retain)或者弱引用","_block_object_dispose((void*)src","_block_object_dispose函数会自动释放引用的auto变量(release)","_cmd","a);","a;","addobject:@123];","ag","age(_age),这是c++的语法,作用时将参数_age自动赋值给成员变量ag","age);","age,","age成员变量","alloc]","api中方法名里面含有usingblock的方法参数时","api的方法参数的时候","apple源码,如图:","arc","arch","arc环境","argc,","argv[])","arm64","array];","autoreleasepool","b){","block","block!\");","block();","block(50,100);","block[13997:1263406]","block[4064:375528]","block[4725:476530]","block_size;","block代码块执行的时候,通过全局变量名直接访问。","block作为cocoa","block作为gcd","block作为函数参数返回的时候","block使用全局变量","block内部为其增加了一个int","block原理解读(三)","block地层结构图中的第一个成员就是一个isa指针,所以我们可以将block当成一个对象来看待。isa常见的就是_nsconcretestackblock,_nsconcretemallocblock,_nsconcreteglobalblock这3种","block对于self的处理","block底层结构为","block底层结构如下","block捕获auto变量","block捕获对象类型","block捕获局部static变量","block是封装了函数调用以及函数调用环境的oc对象","block有3种类型","block本质","block本质上也是一个oc对象,它内部也有个isa指针","block构造函数里面传入的,就是外部的这个height的地址值。","block没有对全局变量进行捕获行为,只需要在要用的时候,直接通过变量名访问就行了,因为全局变量时跨函数的,可以直接通过变量的名字直接访问。","block生命周期","block的底层结构如下","block的深入分析block的使用场景","block的调用即是函数的调用","block类型","bound","c++源码","c,","call","char","clang","clblock","closur","clperson","code:","const","copi","copy)void","copy;","copy函数","copy函数内部会调用_block_object_assign函数","copy到了堆上,","desc","desc;","dispose函数","dispose函数内部会调用_block_object_dispose函数","each","end","environment—a","exit","flag1\");","flags;","flags=0)","fobjc","fp;","free","function","function.","height","height);","height值是我们在外部重新为其赋的20。","impl.flag","impl.funcptr","impl.isa","impl;","init];","int","int(^block)(int)","int)","interview03","io","ios中__block","ios探索","iphoneo","languages,","local","main","main(){","main(int","main.cpp","main.cpp,可以看到block的内捕获到的person指针如下","main.m","multipli","multiplier;","myblock","myblock;","non","nsconcretemallocblock","nsconcretestackblock","nsglobalblock(也就是_nsconcreteglobalblock)","nslog((nsstr","nslog(@\"","nslog(@\"ag","nslog(@\"a的值为%d\",a);","nslog(@\"b","nslog(@\"c","nslog(@\"i","nsmallocblock(也就是_nsconcretemallocblock)","nsmutablearray","nsstaticblock(也就是_nsconcretestaticblock)","num","num){","o","objc","objc_msgsend(&__main_block_impl_0(__main_block_func_0,","objc_msgsend(objc_msgsend(objc_getclass(\"clperson\"),","objc_msgsend(person,","person","person(_person)","person,","person.ag","printf(\"felix","program","ref","refer","referenc","reserved;","return","rewrit","runtime=io","sdk","sel))(void","sel_registername(\"age\")));","sel_registername(\"alloc\")","sel_registername(\"copy\")","sel_registername(\"init\")","sel_registername(\"setage:\"),","size_t","sizeof(__block_byref_a_0),","sizeof(struct","src","static","store","struct","tabl","togeth","typedef","upvalues)","variabl","void","void(^block)(void)","void(^clblock)(void);","void(^clblock)(void);//➕➕➕","weak对外界的对象进行强引用或者弱引用。","weak的实现原理","why?","xcrun","{","{//临时作用域开始","}","}//临时作用域结束","};","【arc环境","一个自动变量(auto)的存储空间位于函数栈空间上,在函数开辟栈空间时被创建,在函数结束时销毁,而block的调用时机有可能发生在函数结束之后的,因此就无法使用自动变量了,所以在block一开始定义赋值的过程里,就将自动变量的值拷贝到他自己的存储空间上。","一开始,栈空间的block有一个__block_byref_a_0结构体,","一般情况下,对被截获变量进行赋值操作需要添加","上面讨论block对于局部变量的处理,在看一看对于全局变量,情况又是如何","下clperson","下面再看看结构体__block_byref_a_0的构造","下面的情况呢","不论在任何内存位置,都可以顺利访问同一个__block变量.","为了对比,我们再分别看一下下面三种","主结构体__main_block_impl_0的变化","代码段","会调用block内部的copy函数","会调用block内部的dispose函数","修饰符","修饰符(注意是赋值!!,","先看编译结果","全局变量不会被block捕获,","全方位解读block","关键字的底层实现原理","其中它的__forwarding指针指向自身","其中它的__forwarding指针指向自身,","其实也很好理解,因为block本身就在栈上,自己都随时可能消失,怎么能保住别人的命呢?","其实,上面我门讨论的这个block外部变量age是一个局部auto变量,也叫自动变量。除了auto变量,c语言里面还有局部static变量(静态变量)和全局变量,接下来我们就看看,block对于这几种变量的使用,做了如何的处理。","写法","函数","函数指针copy,也就是__main_block_copy_0(),内部调用了_block_object_assign()","函数指针dispose,也就是__main_block_dispose_0(),内部调用了_block_object_dispose()","占用空间很小,一般存放在内存的低地址空间,我们平时编写的所有代码,就是放在这个区域","原代码","变成了","变量a","可以看到","可以看到打印代码里面使用的age,实际上就是block内部的成员变量age,不是我们在外面定义的那个age,因此,当block被赋值之后,其成员变量age被赋值成了当时构造函数传进来的参数10,所以最终打印出来值就是10,不论外部的age再如何的修改。外部的age跟block的成员变量age是两个不同的变量,互不影响。","可以看到,block输出的","可以获得以下信息:","同样,者也帮我我们理解了为什么对于局部的变量,block需要对其采取“捕获”行为,正是因为局部变量定在与函数内部,无法跨函数使用,所以根据局部变量不同的存储属性,要么将其值直接进行拷贝(auto),要么对其地址进行拷贝(static)。","和","回顾一下程序的内存布局","因此,当我们从外部修改height的值之后,调用block打印出的height的值也相应的改变了,因为block内部是通过","在arc环境下,编译器会根据情况自动将栈上的block复制到堆上,例如以下的情况","在block之前定义了一个int","在block里面使用的_strong修饰的weakself是为了在函数生命周期中防止self提前释放。strongself是一个自动变量当block执行完毕就会释放自动变量strongself不会对self进行一直进行强引用。","在原对象释放之后,weak对象就会变成null,防止野指针。所以就输出了null了。","在用block构造函数生成block的时候,使用了外部定义的","在看看block入口静态函数","在通过命令行生成一下编译后的c++文件,同样还是在文件底部去看","场景分别是什么情况的:","堆block","堆上的block被废弃时","堆区","堆空间的block有一个__block_byref_a_0结构体,","大家应该都知道,如果想在block","如何从栈指向堆,并建立联系呢?","如果block从堆上移除","如果block是在栈上,将不会对auto变量产生强引用","如果block被拷贝到堆上","如果一个block内部没有使用/访问","如果一个block有使用/访问","实现原理","对__nsmallocblock__调用copy方法,就可以转变成__nsmallocblock__,它会被存储在堆区上","对于auto、static变量,为什么block选择用不同方式处理它们呢?","对每一种类型的block调用copy后的结果如下","将block赋值给__strong指针的时候","将oc文件用clang重写","将代码编译成c++源码","将静态变量的地址值拷贝给block内部的这个指针,block代码块执行的时候,通过内部存储的指针间接访问静态变量。","就是将堆结构体的forwarding指针指向自身","就是将栈结构体的forwarding指针指向堆结构体","局部变量会被block捕获","底层代码","引用了外部的这个static变量height。","当__block修饰外界变量时","当block为__nsmallocblock__类型时候,是在堆空间,block是内部的_block_object_assign函数会根据strong或者","当block为__nsstackblock__类型时候,是在栈空间,无论对外面使用的是strong","当block从栈copy到堆时,","当block内部访问了对象类型的auto变量时","当然,不仅__block修饰的变量会这样,前文的对象类型变量同样会在copy函数内部被转化成类似的结构体进行处理。","总结","我们发现有三处变化","我们有增加了一个static变量height,并且在同样的地方修改height的值,便于和之前的age进行对比。首先运行代码看一下结果","我们知道,图中的block位于test方法里面,实际上任何的oc方法,转换成底层的c函数,里面都有两个默认","所以作为函数默认参数的self的实际上也是该函数的局部变量,根据我们上面总结的原则,只要是局部变量,block都会对其进行捕获,这就解释通了。","所持有,就将“外部变量”在栈中的内存地址放到了堆中。进而在block内部也可以修改外部变量的值。","所起到的作用就是只要观察到该变量被","指向外部__block_byref_a_0的地址,","指针","捕获基础类型","捕获外部变量","捕获外部变量和","掘金","探寻block的本质(6)——","接下来看看这种情况","数据段","新增了一个int","无论是mac还是arc","是动态分配内存的,用来存放我们代码中通过alloc生成的对象,动态分配内存的特点是需要程序员申请内存和管理内存。例如oc中alloc生成的对象需要调用releas方法释放【mrc下】,c中通过malloc生成的对象必须要通过free()去释放。","是将函数及其执行上下文封装起来的对象","是由程序员自己管理,如果没有被强引用也会被消耗。nsconcreteglobalblock","是由编译器自动管理,超过作用域之外就会自动释放了。而","有以下代码:","构造函数里面参数尾部多了一个:","构造函数里面多了一个参数","栈block","栈上的block复制到堆上","栈区","案例如下","深入理解ios的block","深入研究","用来存放全局变量","由于存在于全局区,所以会一直伴随着应用程序。","由于现在是arc环境,myblock属于强指针,因此在将block对象赋值给myblock指针的时候,编译器会自动对block对象执行copy操作,因此赋值完成后,myblock指向的是一个堆空间上的block对象副本","的写法等同与self","的参数,self","看得出来,还是进行了捕获,在图中标明的黄色框框,就很好理解了,block最终访问clperson的成员变量_age的时候,是通过self","程序整个运行期间都存在","究其根本原因就是weakself之后,无法控制什么时候会被释放,为了保证在block内不会被释放,需要添加_strong。","系统自动分配和销毁内存,用于存放函数内生成的局部变量","结构","结构体内的a变量存放的是外部变量a的值","结构体类型__block_byref_a_0","结果是block中打印出的a是10,我们在block外部对age的修改结果并没有对block的内部打印产生影响","编译器会将__block变量包装成一个结构体__block_byref_age_0,结构体内部*__forwarding是指向自身的指针,内部还存储着外部auto变量的值","编译结果显示block对self进行了捕获。but","而且栈上的block从未被我们利用过。","而对于局部静态变量(static),c语法下static会改变所修饰的局部变量的生命周期,使其在","自动变量(auto变量),那么它的类型即为__nsglobalblock__,它会被存储在应用程序的","自动变量(auto变量),那么它的类型即为__nsstaticblock__,它会被存储在应用程序的","自动变量(auto),block通过值拷贝方式捕获,在其内部创建一个同类型变量,并且将自动变量的值拷贝给block的内部变量,block代码块执行的时候,直接访问它的这个内部变量。","调用时机","赋值≠使用)","输出结果如下","运行结果显示堆上的block使用弱指针__weak","运行结果显示栈上的block使用弱指针__weak","运行结果显示栈上的block使用强指针clperson","还是weak","这样,苹果工程师在背后悄悄地将block","通过","通过clang重写","通过上面结构体的初始化和结构体的构造,","通过当前栈空间主结构体上的__block_byref_a_0结构体指针,访问指向堆空间的__forwarding成员,并获取堆空间上变量的值。","那么可以看到,block内部的函数也是通过block所存储的地址值*height访问了外部的static变量height的值。","那么我们怎么才能在weakself之后,block里面还能继续使用weakself之后的对象呢?","都不会对外面的对象进行强引用","针对static变量height,","静态变量(static),block通过地址拷贝方式捕获,在其内部创建一个指向同类型变量的指针,","首先我们将上面的oc代码改造如下",",所以block选择持有它的指针,在block被调用时,通过该指针访问这个变量的内容就行。"],"iOS/OCFoundation/Method.html":["*","**begincategorymethodlists()","**endcategorymethodlists(class","*_buckets;","*data()","*newdata)","*sel;,可以把sel看做是方法名字符串。","*string","*string2","*types;","*类似","//","0x1017718a3,0x1017718a3","1","1.ios底层原理总结","1.方法缓存存在什么地方?","2.父类方法的缓存只存在父类么,还是子类也会缓存父类的方法?","3.为什么",":","=",">",">value的形式,以sel为key,函数实现的内存地址","@selector(test);","_imp;","_imp为value来存储方法。","_key;","_mask;","_occupied;","beginlists();","bits.data();","bits.setdata(newdata);","bits;","bucket_t","bucket_t是以数组的方式存储方法列表的","cach","cache;","cache;用来缓存曾经调用过的方法,可以提高方法的查找速度。","cache_key_t","cache_t","char","class","class_data_bits_t","class_rw_t","class_rw_t中是如何存储方法的","class_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,其中包含了类的初始内容以及分类的内容。","class。","class存储类的类方法(+),class的isa指针指向meta","cls);","const","custom","c在查找方法的时候会顺着list依次寻找,并且category的方法在原始方法list的前面,需要先被找到,如果直接用hash存方法,方法的顺序就没法保证。","c的方法列表是一个list,是有顺序的;object","duplicate()","flag","formerli","imp","imp;","imp代表函数的具体实现,存储的内容是函数地址。也就是说当找到imp的时候就可以找到函数实现,进而对函数进行调用。","instanc","isa;","list_array_tt","list的方法还保存了除了selector和imp之外其他很多属性","mask_t","method","method_array_t","method_list_t","method_list_t,method_list_t里面最终存放的是method_t","method_t","method_t结构体中可以看到三个成员变量,我们依次来看三个成员变量分别代表什么。","name;","nslog(@\"%p,%p\",","nsstring","nsstringfromselector(sel2);","objc_class","objc_object","objc_selector","oc","plu","pointer","private:","property_array_t","protocol_array_t","public","public:","refer","return","rr/alloc","runtim","sel","sel1","sel1,sel2);","sel2","sel_getname(sel1);","sel_registername(\"test\");","sel仅仅代表方法的名字,并且不同类中相同的方法名的sel是全局唯一的。","sel代表方法\\函数名,一般叫做选择器,底层结构跟char","sel作为key","sel可以通过@selector()和sel_registername()获得","setdata(class_rw_t","struct","super::duplicate();","super;","superclass","superclass;","table,也叫哈希表),是根据关键码值(key","test[23738:8888825]","type","typedef","types包含了函数返回值,参数编码的字符串。通过字符串拼接的方式将返回值和参数拼接成一个字符串,来代表函数返回值及参数。","value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。","void","vtabl","{","}","};","上述bucket_t列表我们称之为散列表(哈希表)","上述源码中,method_array_t、property_array_t、protocol_array_t其实都是二维数组,来到method_array_t、property_array_t、protocol_array_t内部看一下。这里以method_array_t为例,method_array_t本身就是一个数组,数组里面存放的是数","不同类中相同名字的方法,所对应的方法选择器是相同的。","不直接做成散列表呢,做成list,还要单独缓存,多费事?","也可以通过sel_getname()和nsstringfromselector()将sel转成字符串","以上流程均无法挽救就崩溃并报错","函数名","函数的内存地址","动态方法解析——通过调用resolveinstancemethod和resolveclassmethod来动态方法决议——实现消息动态处理","即便是从父类取到的方法,也会存在类本身的方法缓存里。而当用一个父类对象去调用那个方法的时候,也会在父类的metaclass里缓存一份。","发送消息会有以下⼏个流程:","哈希查找","回到类对象结构体,成员变量cache就是用来对方法进行缓存的。","回顾方法调用过程:调用方法的时候,需要去方法列表里面进行遍历查找。如果方法不在列表里面,就会通过superclass找到父类的类对象,在去父类类对象方法列表里面遍历查找。","在objc中,class存储类的实例方法(","在类的定义里就有cache字段,类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的object都保存一份","在缓存查找阶段是","如何进行缓存","如果方法需要调用很多次的话,那就相当于每次调用都需要去遍历多次方法列表,为了能够快速查找方法,apple设计了cache_t来进行方法缓存。","如果是已排序的列表,就采用二分查找,没排序的采用一般遍历","实现函数","已经缓存的方法数量","当前类方法查找","快速查找流程——通过汇编objc_msgsend查找缓存cache_t是否有imp实现","快速转发流程——通过corefoundation来触发消息转发流程,forwardingtargetforselector实现快速转发,由其他对象来实现处理方法","慢速查找流程——通过c++中lookupimporforward递归查找当前类和父类的rw中methodlist的方法","慢速转发流程——先调用methodsignatureforselector获取到方法的签名,生成对应的invocation;再通过forwardinvocation来进行处理","我们知道method_array_t、property_array_t、protocol_array_t中以method_array_t为例,method_array_t中最终存储的是method_t,method_t是对方法、函数的封装,每一个方法对象就是一个method_t。通过源码看一下method_t的结构体","指向函数的指针(函数地址)","指针逐级遍历每一个父类","探寻runtime本质(二)","散列表","散列表是有空槽的,会浪费空间","散列表是没有顺序的,object","散列表的长度","散列表(hash","数组","方法缓存","无非就是去解决如何在运行时期找到调用方法这样的问题","是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以","根据isa特性可以解释消息传递与寻找方法列表原理","每当调用方法的时候,会先去cache中查找是否有缓存的方法,如果没有缓存,在去类对象方法列表中查找,以此类推直到找到方法之后,就会将方法直接存储在cache中,下一次在调用这个方法的时候,就会在类对象的cache里面找到这个方法,直接调用了。","源码中可以看出bucket_t中存储着sel和_imp,通过key","类的方法列表","编码(返回值类型,参数类型)","这就是消息传递的一个流程,首先查缓存,无缓存,查方法列表,依然没命中,再顺次查找各个父类方法列表,如果都没有名字,就转到消息转发流程","这里以method_array_t为例,图示其中的结构。","逐级父类方法查找","通过一张图来展示一下cache_t的结构。","),meta",",",",是根据"],"iOS/OCFoundation/MessageForwarding.html":["#","(/*","(bool)resolveinstancemethod:(sel)aselector","(bool)resolveinstancemethod:(sel)sel;","(for","(id)forwardingtargetforselector:(sel)aselector;","(nullabl","(or","(void)forwardinvocation:(nsinvoc",")invocation;和",")methodsignatureforselector:(sel)sel方法,来转发它没实现的方法。这也是nsproxy的主要功能,负责把消息转发给真正的target的代理类,nsproxy正是代理的意思。","*)invoc","*/","*/)","+","+resolveinstancemethod","/*","//","1.nsobject","2.0》的描述是:","2.nsproxy的理解和使用","@\"v@:@\");","[invoc","[super","abstract","act","aimp,","api","aselector,","aselector满足某个条件","aselector,否则依然会抛出doesnotrecognizeselector:异常;若找不到,则返回nil。","c","caus","class_addmethod(self,","create.","defin","distribut","don’t","example,","exist","expens","forward","forwardingtargetforselector","forwardingtargetforselector:方法,将协议方法的","forwardingtargetforselector:用于将","forwardingtargetforselector:的使用逻辑非常简单,应用场景包括:","forwardingtargetforselector:阶段完成更省事儿;如果需要更高阶的玩法,或许真的只有","forwardingtargetforselector:,可以通过组合的方式,模拟出多继承的某些特性。","forwardinvoc","forwardinvocation:就不同了,在它身上可以动的手脚比较多,不光可以修改","forwardinvocation:方法,用户可以在此过程中修改","forwardinvocation:的代价比较大一些,毕竟还会触发","forwardinvocation:的入参。","forwardinvocation:能满足需求。","forwardinvocation:要和","getter。","implement","implement),用于实现这几个方法,然后","in","instanti","into)","invoc","invoke];","itself","lazi","load","messag","messageforward","methodsignatureforselector:的返回值不为空,就会进入","methodsignatureforselector:配套使用,后者为nsmethodsignature对象,该对象携带","methodsignatureforselector:,构建nsmethodsignature和nsinvocation实例。","nsdistantobject)","nsmethodsignatur","nsproxi","nsproxy专门为消息转发而生","nsproxy是一个抽象的超类,它定义了一个对象的api,用来充当其他对象或者一些不存在的对象的替身。通常,发送给proxy的消息会被转发给实际对象,或使proxy加载(转化为)实际对象。","nsproxy的子类可以用于实现透明的分布式消息传递(例如,nsdistantobject),或者用于创建开销较大的对象的惰性实例化。","object","object.","oc","overrid","proxi","real","receiv","receiver,在","receiver,还可以修改入参,甚至是返回值。nsinvocation#invoke会触发","receiver,还可以篡改入参、返回值;当然,","receiver,那还不如把转发操作提前到第二步。因为第三步只是修改了调用目标,这项改动放在第二步会更为简单,不然的话,还得创建并处理完整的nsinvocation。","refer","resolveinstancemethod:aselector];","return","runtim","selector","selector。在继续往下执行转发机制之前,本类有机会新增一个处理此","selector,其返回值为boolean类型,表示这个类是否能新增一个实例方法用以处理该","selector,在这一步中,runtim","settarget:self.target];","setter","stand","subclass","superclass","target,将","target;这两个方法的使用都比较直接简单,不太能整出花样。","transform","transpar","typically,","unknown","us","yes;","yet.","{","}","《effect","不允许多继承,基于","为协议遵循者提供默认实现。譬如某个协议定义了多个方法,有必要为这几个方法提供默认实现;具体做法是定义一个类(假设为","从self定位到别的","以上流程均无法挽救就崩溃并报错","作为抽象类,它不实现初始化方法,并且会在收到任何它不响应的消息时引发异常。因此,具体子类必须实现一个初始化或者创建方法,并且重写","值得一提的是,除了修改","假如尚未实现的方法不是实例方法而是类方法,那么","内部会基于nsmethodsignature实例构建一个nsinvocation对象,作为回调","动态方法解析——通过调用resolveinstancemethod和resolveclassmethod来动态方法决议——实现消息动态处理","协议遵循者的","发送消息会有以下⼏个流程:","只要回调","后,首先将调用其本类的resolveinstancemethod:方法,该方法定义如下:","和","在收到","如果需要动态新增方法,可以在+resolveinstancemethod:阶段完成;如果只是需要篡改","定位到","定位到别处:","实现多继承。object","对象。","对象(receiver)接收到","就作用而言,+resolveinstancemethod:主要用于为类动态增加实例方法;","就我经验而言,resolveinstancemethod:的使用场景一般用来动态添加","当一个","当前","快速查找流程——通过汇编objc_msgsend查找缓存cache_t是否有imp实现","快速转发流程——通过corefoundation来触发消息转发流程,forwardingtargetforselector实现快速转发,由其他对象来实现处理方法","总结:","慢速查找流程——通过c++中lookupimporforward递归查找当前类和父类的rw中methodlist的方法","慢速转发流程——先调用methodsignatureforselector获取到方法的签名,生成对应的invocation;再通过forwardinvocation来进行处理","时,会进入如图流程,用户可以在这三个步骤中","步骤越往后,处理消息的代价就越大;最好能在第一步就处理完,这样的话,runtim","的","的方法。所以resolveinstancemethod:的一般使用套路是:","的消息转发机制","的相关方法,进而避免doesnotrecognizeselector:异常。","的签名信息,包括参数类型、返回值类型和长度等。runtim","的调用,如果不想调用怎么办?没怎么办,只要确保","的返回值(nsinvocation#setreturnvalue:)的类型和长度一致即可。","系统会调用另外一个与resolveinstancemethod:类似的方法resolveclassmethod:。","系统会问它:可否把这条消息转给其他对象处理?该步骤对应的处理方法是forwardingtargetforselector:,定义于中:","系统就可以将此方法缓存起来,进而提高效率。若想在第三步里把消息转发给备援的","能找到备援对象,则将其返回,当然,备援对象必须能够响应","若当前","触发的三个回调介绍完毕,简单总结一下。","让self.target成为消息的receiv","该方法的参数就是那个","调用class_addmethod为该类添加一个处理aselector的方法,譬如:","还有第二次机会能处理"],"iOS/OCFoundation/KVC.html":["(id)valueforkey:(nsstr","(void)setvalue:(id)valu","*)key","*)key;",">","_iskey","_key","forked:(nsstr","forkeypath:@\"person.number\")","forkey用于简单路径,forkeypath用于复合路径(比如key是对象,可以直接赋值给这个对象的属性.eg:setvalue:@100","iskey","key","kvc","setterkey(keyset方法)","setvalue:forkey与setvalue:forkeypath的区别:","主要方法","寻找路径","是一种键值对设计模式,破坏面对对象的编程思想。(不重写特定方法,找不到key情况下会崩溃)"],"iOS/OCFoundation/KVO.html":["&childnamecontext;","&personnamecontext;","([keypath","(bool)automaticallynotifiesobserversforkey:(nsstr","(context","(void)observevalueforkeypath:(nsstr","*","*)chang","*)context","*)key","*)keypath","*)key{","*childnamecontext","*personnamecontext","+","//","//取消自动发送通知","1","1.基本使用","2.context的使用","=","==","[self.child","[self.person","[super","_iskvoa方法","_iskvoa用来标识是否是在观察者状态的一个标志位","addobserver:forkeypath方法之后,系统会动态创建","addobserver:self","appl","archieve中提到一句想要理解kvo,必须先理解kvc,因为键值观察是建立在键值编码的基础上","automaticallynotifiesobserversforkey:key];","automaticallynotifiesobserversforkey为yes时注册观察属性会生成动态子类nskvonotifying_xxx","change);","change:(nsdictionari","childnamecontext)","class","class方法用于指回动态子类的父类","coding.——key","context:(void","context:childnamecontext];","context:null];","context:personnamecontext];","context使用总结:","context是","dealloc","dealloc之后isa指向元类","dealloc之后动态子类不会销毁","dealloc方法用于释放时对isa指向进行操作","first","forkeypath:@\"name\"","forkeypath:@\"name\"];","fxperson","fxperson,实例对象isa指向","guid","guide中有一段底层实现原理的叙述","guide是这么描述context的","if([key","ios中kvo分为自动监听和手动触发两种形式","ios探索","isa","isequaltostring:@\"age\"]){","isequaltostring:@\"name\"])","key","kvo","kvo使用三部曲:","kvo使用及注意点","kvo初探","kvo原理——isa","kvo原理及自定义","kvo对被监听对象无侵入性,不需要修改其内部代码即可实现监听","kvo是使用isa","kvo是基于runtime机制实现的","kvo的这套实现机制中苹果还偷偷重写了class方法,让我们误认为还是使用的当前类,从而达到隐藏生成的派生类","kvo(key","nil","no;","nskeyvalueobservingoptionold)","nskvonorifying_a。","nskvonorifying_a类,同时将a的isa指针指向","nskvonotifying_fxperson","nslog(@\"%@\",","null","observ","observing,","observing)是苹果提供的一套事件通知机制,这种机制允许将其他对象的特定属性的更改通知给对象。ios开发者可以使用kvo","ofobject:(id)object","options:(nskeyvalueobservingoptionnew","options:(nskeyvalueobservingoptionnew)","order","personnamecontext)","program","refer","removeobserver:self","return","setter方法用于观察键值","static","swizzl","swizzling)","swizzling技术实现的","understand","valu","void","{","|","}","}else{","不使用context作为观察值","从这两图中可以得出一个结论:观察者注册前后fxperson类没发生变化,但实例对象的isa指向发生变化","使用context传递信息","使用context传递信息,更安全、更可扩展","使用了","其中需要重写","动态子类观察的是setter方法","动态子类重写了观察属性的setter方法","在document","在set方法中在赋值的前后分别调用:willchangevalueforkey和didchangevalueforkey","在为对象的属性注册观察者时,将修改观察对象的isa指针,指向中间类而不是真实类。isa指针的值不一定反映实例的实际类","多加一层判断——判断object,显然为了满足业务需求而去增加逻辑判断是不可取的","实现willchangevalueforkey和didchangevalueforkey方法","实现回调","对观察者模式的又一实现;","当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter","当调用了","总结","您永远不应依靠isa指针来确定类成员身份。相反,您应该使用class方法来确定对象实例的类","手动触发:","方法。派生类在被重写的setter方法内实现真正的通知机制","来实现kvo.","来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。","每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法","注册观察者","注册观察者之前:类对象为","注册观察者之后:类对象为","消息中的上下文指针包含任意数据,这些数据将在相应的更改通知中传递回观察者;您可以指定null并完全依赖键路径字符串来确定更改通知的来源,但是这种方法可能会导致对象的父类由于不同的原因而观察到相同的键路径,因此可能会出现问题;一种更安全,更可扩展的方法是使用上下文确保您收到的通知是发给观察者的,而不是超类的。","混写(isa","相对于被观察者和观察者之间的关系,kvo是一对一的,nsnotificatiocenter是一对多的","移除观察者","类型,应该填","而kvo和nsnotificatiocenter都是ios观察者模式的一种实现,两者的区别在于:","而不是","这里提出一个假想,如果父类中有个name属性,子类中也有个name属性,两者都注册对name的观察,那么仅通过keypath已经区分不了是哪个name发生变化了,现有两个解决办法:","重写","重写监听属性的set、get方法","顾名思义,isa指针指向维护分配表的对象的类,该分派表实质上包含指向该类实现的方法的指针以及其他数据",",实例对象isa指向"],"iOS/OCFoundation/Runloop.html":["!timeout);","&","&&","&kcftypedictionaryvaluecallbacks);","(!__cfrunloops)","(!loop)","(!osatomiccompareandswapptrbarrier(null,","(!sourcehandledthisloop)","(!stop","(*)(void","(0","(1ul","(__source0diddispatchportlasttime)","(cfrunloopref)_cfgettsd(__cftsdkeyrunloop);","(cfrunloopref)cfdictionarygetvalue(__cfrunloops,","(hasmsg)","(juejin.cn)","(nsthread","(pthread_equal(t,","(rl)","(source)","(sourcehandledthisloop)","(void","(void)networkrequestthreadentrypoint:(id)__unus","(wakeupport","(基于port)",")","*","*)&__cfrunloops))","*)(pthread_destructor_iter","*))__cffinalizerunloop);","*)loop,","*)networkrequestthread","**其产生的所有事件都将被","*/","*_blocks_head;","*_blocks_tail;","*_networkrequestthread","*_perrundata;","*runloop","+",",","/*","/**","//","//当前mode","//所有mode的集合","0,","1),","1.谜一样的","2.深入理解runloop","3.oc中的runloop","5个参数",":",":非基于port的","=","==","@autoreleasepool","[[nsthread","[_networkrequestthread","[nsmachport","[nsrunloop","[runloop","]","^{","__cflock(&loopslock);","__cfport","__cfrunloop","__cfrunloop_is_calling_out_to_a_timer_callback_function__函数被吊起的。从函数名看出,它们确实是属于timer事件(cfrunlooptimerref)","__cfrunloop_is_servicing_the_main_dispatch_queue__()","__cfrunloopcreate(pthread_main_thread_np());","__cfrunloopcreate(t);","__cfrunloopdoblocks();","__cfrunloopdoobservers(cfrunloopexit);","__cfrunloopdoobservers(kcfrunloopafterwaiting);","__cfrunloopdoobservers(kcfrunloopbeforesources);","__cfrunloopdoobservers(kcfrunloopbeforetimers);","__cfrunloopdoobservers(kcfrunloopbeforewaiting);","__cfrunloopdoobservers(kcfrunloopentry);","__cfrunloopdoobservers(runloop,","__cfrunloopdosource0();","__cfrunloopdosource1();","__cfrunloopdotimers();","__cfrunlooprun(","__cfrunloopservicemachport();","__cfunlock(&loopslock);","_base;","_block_item","_cfgettsd(__cftsdkeyrunloopcntr))","_cfrunloopget0(pthread_self());","_cfrunloopget0(pthread_t","_cfsettsd(__cftsdkeyrunloop,","_cfsettsd(__cftsdkeyrunloopcntr,","_commonmodeitems;","_commonmodes;","_counterpart;","_currentmode;","_lock;","_modes;","_modes和_commonmod","_networkrequestthread","_networkrequestthread;","_per_run_data","_pthread;","_runtime;","_sleeptime;","_unused;","_wakeupport;","_winthread;","access","activ","addport:[nsmachport","af3.x,废弃了","afnetworking/nsurlconnection/afurlconnectionoperation.m","afterdelay:]","afterdelay]事件的函数调用栈,发现它们都是通过","alloc]","app","app的默认","autoreleasepool(beforewaiting)","block,timer等事件.这可以解释滑动过程中,nstimer为什么会停止,因为滑动过程中runloop处于","boolean","cf_export","cf_options(cfoptionflags,","cfabsolutetim","cfdictionarycreatemutable(kcfallocatorsystemdefault,","cfdictionarysetvalue(__cfrunloops,","cfdictionarysetvalue(dict,","cfmutabledictionaryref","cfmutablesetref","cfrelease(dict);","cfrelease(mainloop);","cfrelease(newloop);","cfrunloopactivity)","cfrunloopdealloc","cfrunloopgetcurr","cfrunloopgetcurrent();","cfrunloopgetcurrent();获得当前线程的runloop对象","cfrunloopgetcurrent(void)","cfrunloopgetmain();","cfrunloopgetmain();获得主线程的runloop对象","cfrunloopmoderef","cfrunloopmoderef——其内部主要包括四个容器,分别用来存放source0、source1、observer以及tim","cfrunloopmoderef:runloop的运行模式","cfrunloopobserverref","cfrunloopobserverref——监听者,runloop状态变更的时,会通知监听者进行函数回调,ui界面的刷新就是在监听到runloop状态为beforewaiting时进行的。","cfrunloopobserverref:观察者,能够监听runloop的状态改变","cfrunloopref","cfrunloopref——这个就是runloop对象","cfrunloopref都代表runloop对象,nsrunloop是基于cfrunloopref的一层oc包装,cfrunloopref是开源的","cfrunloopref:代表runloop的对象","cfrunloopsourceref——分为source0和source1","cfrunloopsourceref:就是runloop模型图中提到的输入源/事件源","cfrunlooptimerref","cfrunlooptimerref——timer事件,包括我们设置的定时器事件、[performselector:","cfrunlooptimerref:就是runloop模型图中提到的定时源","cfrunloopwakeup","cfruntimebas","cftyperef","check_for_fork();","checkifexistmessagesinmaindispatchqueue();","commonmode不是实际存在的一种mod","commonmode的特殊性","control","core","cpu","currentmode,","currentrunloop];","currentrunloop];获得当前线程的runloop对象","currentthread]","dict","dict,","dictionari","dispatch","dispatch_async(dispatch_get_main_queue(),^{})","dispatch_once(&oncepredicate,","dispatch_once_t","don't","end","event(如果有)并在此前通知","event先告诉source1(mach_port),source1唤醒runloop,","event,其","exit(即将退出loop)","formode:nsdefaultrunloopmode];","foundat","foundation:","foundation框架下关于runloop的5个类:","gcd","goto","gseventreceiverunloopmode:","handle_msg;","handler","hasmsg","hold","initwithtarget:self","input","insid","int32_t","ios中runloop的api","kcfrunloopbeforewaiting);","kcfrunloopcommonmodes:","kcfrunloopdefaultmode:","kcfrunloopentri","key和runloop","knilpthreadt))","list","lock","long,","loop","loop;","loopslock,","mach","mach_port_t","main","maindispatchqueueport)","mainloop","mainloop);","mainrunloop];","mainrunloop];获得主线程的runloop对象","mode","mode,启动完成后就不再使用。","mode,没有实际作用。","mode,用于","mode,通常主线程是在这个","mode,通常用不到。","mode,那","newloop","newloop);","newloop;","nil;","nsrunloop","nsrunloopcommonmod","nsrunloopcommonmodes其实不是一个具体的模式,它可以理解成一个标签,被打上这种标签的具体mode会被放入到runloop内部的一个容器成员_commonmodes里面,它是一个cfmutablesetref,默认情况下,_commonmodes内部装着kcfrunloopdefaultmod","nsrunloop的类方法c\u0010urrentrunloop获取当前线程的","nsthread","nstimer","nsurlconnection。因为nsurlconnection中,执行回调的要在子线程,可能回调回来线程已经销毁无法做回调.3.x版本中,使用了","nsurlsession,能指定queue回调,所以避免了问题","null);","null,","object","object:nil];","observ","observers:","observers:没有事件要处理,","observer;","oncepredicate;","onthread:","performselector:","performselector:withobject:afterdelay:","performselectors的事件.","port","port]","port”,而每个source1都有不同的对应端口):","pthread_main_thread_np();","pthread_mutex_t","pthread_self()))","pthread_t","pthreadpointer(pthread_main_thread_np()),","pthreadpointer(t));","pthreadpointer(t),","queue","readi","refer","releas","reset","return","rl","rl;","run","run];","runloop","runloopmode内部核心内容是4个数组容器,分别用来装source0,source1,observer和timer,runloop对象内部有一个_currentmode,它指向了该runloop对象的其中一个runloopmode,它代表的含义是runloop当前所运行的runloopmode,所谓“运行”也就是说,runloop当前只会执行_currentmode所指向的runloopmode里面所包括的事件(source0、source1、observer、timer)","runloop。","runloop与autoreleasepool","runloop与ui刷新","runloop与线程是一一对应的,一个runloop对应一个核心的线程。每个","runloop中source0和source1的区别","runloop为value,一对一存储在字典中,下次获取的时候,则直接返回字典内的runloop","runloop启动时只能选择其中一个mode作为currentmode。","runloop响应用户操作","runloop在主界面即将显示前由系统启动(主界面","runloop对象","runloop对象的获取","runloop就是线程中的一个循环,runloop在循环中会不断检测,通过input","runloop总是运行在某种特定的cfrunloopmoderef下,意思是每次runloop开始时候会选择一个mode,执行这个mode里面的","runloop是一个事件驱动的大循环,它会把来自用户的交互事件、系统内部事件、计时器事件加入到事件队列中,并循环地从事件队列中取出事件进行处理,当所有的事件都处理完毕时,就会进入休眠状态,直到被新到来的事件唤醒。","runloop是来管理线程的,当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。","runloop是通过内部维护的事件循环来对事件/消息进行管理的一个对象","runloop每分钟会被唤醒一次","runloop状态总共有以下几种","runloop的内部结构与运行原理什么是runloop","runloop的结构","runloop相关类","runloop观察者的集合。runloop","runloop顾名思义,就是运行循环。首先它根程序运行过程有关系","runloop,可以通过","runtloop运行流程","scrollview","selector:@selector(networkrequestthreadentrypoint:)","selector,从而影响滑动的流畅性。","selector,默认情况下上述两种方式产生的事件是关联到nsrunloopcommonmodes,因此在","setname:@\"afnetworking\"];","sleepandwaitforwakingupports();","sourc","source0","source0:","source0并不能主动触发事件。使用时,你需要先调用cfrunloopsourcesignal,将这个source标记为待处理,然后手动调用cfrunloopwakeup来唤醒runloop,让其处理这个事件。","source0:包括","source1","source1:","source1包括系统事件捕捉和基于port的线程间通信。什么是系统事件捕捉?又如何理解基于port的线程间通信?其实,我们手指点击屏幕,首先产生的是一个系统事件,通过source1来接受捕捉,然后由springboard程序包装成source0分发给应用去处理,因此我们在app内部接受到触摸事件,就是source0,","source1和source0的区别:","source1能主动触发事件。其中它有一个mach_port_t,mach_port是用于内核向线程发送消息的。","source1:包括","sources(nstimer)","sources(定时源)两种来源等待接受事件;然后对接受到的事件通知线程进行处理,并在没有事件的时候进行休息。","sources(输入源)和tim","start];","static","struct","t","t)","take","thread","timer","timer(如果有)、sourc","timerport)","timers:","timer会唤醒","trackingmode,nstimer默认添加在defaultmode,所以不执行","typedef","ui","uiinitializationrunloopmode:","uint32_t","uitrackingrunloopmode:","uitrakingrunloopmode这两个mode,等于说这两个mode是具有nsrunloopcommonmodes标记的,因此都被添加进了_commonmodes,根据上面的代码,timer将不会被添加到某个具体的mode里,而是会被放入runloop的_commonmodeitems这个容器里。只要app运行在_commonmodes所包含的某个mode下,就会去处理_commonmodeitems里面的事件。当然,所运行的那个mode自己本身所包含的事件也是会被处理的,","uiviewcontroller的viewwillappear:和viewdidappear:不在同一次","ui事件唤醒","ui刷新(beforewaiting)","unsign","up","us","value保存到字典中","viewwillappear:执行后启动);","void*)()","volatil","wakeupport","withobject:","{","}","});","};","一个runloop对象里面包含了若干个runloopmode,runloop内部是通过一个集合容器_modes来装这些runloopmode的。","一次","上","上。","上这几个类相互之间的关系,可以通过如下的图来描绘.","下运行的。","不会启动;","不会等待异步操作完成;","不在正在运行的","不是当前监听的","中被调用;","中,需要一直等到","之所以要引入","之间是一一对应的,其关系是保存在一个","事件循环指,没有消息需要处理时,休眠以避免资源占用,有消息需要处理时,立刻唤醒","事件源,让线程不退出一直保活。直到","事件,回调去执行一个很长的函数:ca::transaction::observer_callback(__cfrunloopobserver*,","从字典里面拿,将线程作为key从字典里获取一个loop","从等待中醒来","以afnetworking2.x","以按钮点击触发事件为例,点击屏幕的时候,首先系统内部捕获到这个点击事件,这是在source1中处理的,source1会包装成事件丢到事件队列中,交给source0处理。","会在未来一个预定时间向线程同步分发事件。线程可以用","传送来自其他应用或线程的异步事件/消息;","传送的是基于定时器的同步事件,可以定时或重复发送。","伪模式,这是一个占位的","但不会使","但只有","住,直到","使用source0的情况:","使用source1的情况:","保存主线程","保活原理来说:","具备唤醒线程的能力","内核态:","再次确保是否有同步的方法需要调用","创建一个dict","创建好之后,以线程为key","包括触摸事件处理、[performselector:","即将进入休眠","只生成一次或重复多次事件。重复的","可以处理多个事件。","可以配置","同样,可以在xcode里面通过lldb的bt指令,查看nstimer事件和[performselector:","启动后(唤醒后)会依次处理","和","和前面流程图中对应source1。source1和timer都属于端口事件源,不同的是所有的timer都共用一个端口“mod","在主线程上执行某","在刚启动","在监听过程中过滤掉不关心的事件源,只专注于某些特定的事件。","在程序启动之后,主线程会创建一个runloop,也会创建两个observer,回调工作都是在_wraprunloopwithautoreleasepoolhandler函数中。","基于mach_port的,来自系统内核或者其他进程或线程的事件,可以主动唤醒休眠中的runloop(ios里进程间通信开发过程中我们一般不主动使用)。mach_port大家就理解成进程间相互发送消息的一种机制就好,","基于port的线程通信","基于port的线程间通信、系统事件捕捉","基于port的线程间通信通过下面的图示大致理解即可","基于端口的线程间通信(a线程通过端口发送消息到b线程,这个消息是source1的;","处于","处理source0事件","处理source1","处理事件,什么叫非基于port的呢?就是说你这个消息不是其他进程或者内核直接发送给你的。一般是app内部的事件,","处理因timer的唤醒","处理异步方法唤醒,如dispatch_async","处理非延迟的主线程调用","如代码,为线程中runloop添加一个","如果loop为空,则创建一个新的loop,所以runloop会在第一次获取的时候创建","如果不获取,那子线程就不会创建与之相关联的runloop,并且只能在一个线程的内部获取其","如果子线程的","如果有","如果有子线程想通过performselecoronmainthread...","如果某个","定义","对于子线程来说,runloop是懒加载的,只有当我们使用的时候才会创建,","将主线程","常见的几种源有基于端口的源、自定义的源、performselect源和计时器源;","并不是实时的,会有误差。如果一个","应用程序一般都运行在用户态上","当ui需要更新的时候,比如改变了frame、更新了uiview/calayer的层次时,或者手动调用了setneedslayout/setneedsdisplay方法后,这个uiview/calayer就被标记为待处理,并被提交到一个全局的容器去。","影响。","总结","我们可通过以下方式来获取runloop对象:","我们知道","我们触摸屏幕,先摸到硬件(屏幕),屏幕表面的事件会被iokit先包装成event,通过mach_port传给正在活跃的app","或","所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调。","所属的","才会触发。如果一个","执行。如果","掘金","接受系统事件的内部","接收的事件来源","方法调用时,会先看一下字典里有没有存子线程相对用的runloop,如果有则直接返回runloop,如果没有则会创建一个,并将与之对应的子线程存入字典中。当线程结束时,runloop会被销毁。","时第进入的第一个","时,timer","是事件源的集合","是同步source/timer/observer到多个mode中的一种技术方案","是用来监听runloop状态的。还可以处理ui界面刷新,那我们些的那些ui界面相关的控制代码,是怎么被执行的呢?图示如下","有两种。","来看一下官方","来通知自己做一些事情。比如用户在搜索栏输入一连串字符之后的某个时间自动搜索一次结果。正是因为有了个延时,才让用户有机会在自动搜索发生前尽可能打出想要的搜索字符串。","查看_cfrunloopget0方法内部","根据传入的主线程获取主线程对应的runloop","根本不在运行,timer","正忙于执行某个","每次会根据已经编排的触发时间自动重新编排。如果实际的触发时间太过于延迟,甚至是晚了一个或多个周期,那么也只会触发一次,而非连续多次。之后会重新编排下次触发时间。","每次都运行在某个特定的","比如hittest:withevent的处理,","比如屏幕点击,","永远都不会触发。","没有绑定","注意点","源码","滑动时也会响应该事件并执行指定的","然后将事件event分发给source0,然后由source0来处理。","然后跳转去处理消息。","状态,直接处理这个","用于监听runloop的状态","用户态:","界面跟踪","的","的概念,是希望","的目的是使线程在没有事情可做时进入休眠状态,避免","的线程即将进入休眠(sleep)。","监控的","直到处理完该事件,如果该事件含有异步操作,runloop","程序需要等到下次才会通过","程序,这个","空转。","端口。自定义输入源监视自定义事件源。基于端口的源由内核自动发出信号,自定义源必须从另一个线程手动发出信号。","第一个observer监听的是entry(即将进入loop),回调是在_objc_autoreleasepoolpush()中创建自动释放池的,优先级是最高的,保证创建释放池是在所有回调之前。","第二个observer监听有两个事件:beforewaiting(进入休眠)时调用_objc_autoreleasepoolpop和_objc_autoreleasepoolpush释放旧的释放池以及创建新的释放池;exit(退出loop)调用_objc_autoreleasepoolpop来释放自动释放池。这个优先级是最低的,保证释放池发生在所有回调之后调用。","等待。。。","等待内核mach_msg事件","简单举个例子:一个app在前台静止着,此时,用户用手指点击了一下app界面,那么过程就是下面这样的:","系统事件捕捉","系统事件的捕捉,先触发是source1,接着分发到source0去处理。","系统调用,需要使用到一些操作系统以及一些底层内核指令或者api","系统默认注册了5个mode:","线程和","结构图(注意下图的","网络数据的传输都会触发sourse1。","苹果创建用来接受系统发出事件,当手机发生一个触摸,摇晃或锁屏等系统,这时候系统会发送一个事件到app进程(进程通信),这也就是为什么叫基于port传递source1的原因;","苹果注册了一个observer监听beforewaiting(即将进入休眠)","获得主线程的runloop对象","获得当前线程的runloop对象","触发的时候恰巧","触摸事件处理","触摸事件处理、[performselector:","触摸事件处理;","调用performselector:onthread:withobject:waituntildone:方法;","输入源sourc","输入源是指事件的来源,输入源将事件异步传送到您的线程。事件的来源取决于输入源的类型,通常是两个类别之一。基于端口的输入源监视应用程序的","运用场景","运行在一个支持这个","运行在与其匹配的","还有就是runloop对象内部还包括一个线程对象_pthread,这就是跟它一一对应的那个线程对象。","这个函数里会遍历所有待处理的uiview/calayer以执行实际的绘制和调整,并更新界面。","追踪触摸滑动,保证界面滑动时不受其他","退出;","通常所说的runloop指的是nsrunloop或者cfrunloopref,cfrunloopref是纯c的函数,而nsrunloop仅仅是cfrunloopref的oc封装,并未提供额外的其他功能","通知","通知即将进入runloop","通知即将退出runloop","通知将要处理timer和sourc","都有自己的","里。所以我们创建子线程runloop时,只需在子线程中获取当前线程的runloop对象即可[nsrunloop","需要手动唤醒线程","默认是开启的,其他线程如果希望持续存活下去,就需要手动开启runloop。"],"iOS/OCFoundation/MultiThreading.html":["1.","1.多线程原理","1.进程的定义","2.多线程意义","2.多线程生命周期","2.线程的定义","3.进程与线程的关系和区别","4.多线程实现方案","4.线程池的原理","4.进程与线程的关系图","5.gcd和nsoperation的区别","5.队列的定义","6.线程间通讯","6.队列和线程的关系","7.线程和runloop的关系","8.影响任务执行速度的因素","abortpolicy直接抛出rejectedexecutionexeception异常来阻止系统正常运行","c","callerrunspolicy将任务回退到调用者","cocoa","corepools","cpu的调度","discardpolicy直接丢弃任务","disoldestpolicy丢掉等待最久的任务","first","gcd","gcd仅仅支持fifo队列,不支持异步操作之间的依赖关系设置。而nsoperation中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整","gcd更接近底层,gcd在追求性能的底层操作来说,是速度最快的","handler","ios探索","keepalivetim","keepalivetime参数的时间单位","maximumpool","multi","multithread","nsoper","nsoperation支持kvo,可以观察任务的执行状态","nsthread","oc","out)的线性表,在具体应用中通常用链表或者数组来实现。装载线程任务的队形结构。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加","port","pthread","refer","runloop","runloop与线程是一一对应的——一个runloop对应一个核心的线程,为什么说是核心的,是因为runloop是可以嵌套的,但是核心的只能有一个,他们的关系保存在一个全局的字典里","runloop是来管理线程的——当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务","sockets:基于端口的通信是在两个线程之间进行通信的一种更为复杂的方法,但它也是一种非常可靠的技术。更重要的是,端口和套接字可用于与外部实体(例如其他进程和服务)进行通信。为了提高效率,使用","sourc","sources:","thread","threadfactori","unit","workqueu","一个自定义的","一个进程(程序)的所有任务都在线程中执行,每个进程至少有一个线程(主线程)。线程是cpu调度(执行任务)的最小单位,其实质就是一段代码(一个任务)。","一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉,所以多进程要比多线程健壮","一套通用的多线程api","两者是没有关系的,可以这么理解:","从异步操作之间的事务性,顺序行,依赖关系。gcd需要自己写更多的代码来实现,而nsoperation已经内建了这些支持","代表意义","以下因素都会对任务的执行速度造成影响:","任务会交给rejectedexecutionhandler来处理","任务执行的复杂度","任务的优先级","任务阻塞队列","优点","传统的多处理服务定义了先进先出(fifo)队列抽象,用于管理传入和传出数据。尽管消息队列既简单又方便,但是它们不如其他一些通信技术高效","使用更加面向对象","使用评率","使用难度大","偶尔使用","充分利用设备的多核","先判断线程池工作队列是否已满","全局变量、共享内存块和对象:","几乎不用","分布式对象:","分布式对象是一种","创建线程执行任务","参数名","反之则交给饱和策略去处理","同一时间,cpu只能处理一条线程,只有一条线程在工作(执行)","否则可能会导致竞争状况,数据损坏或崩溃。","在两个线程之间传递信息的另一种简单方法是使用全局变量,共享对象或共享内存块。尽管共享变量既快速又简单,但是它们比直接消息传递更脆弱。必须使用锁或其他同步机制仔细保护共享变量,以确保代码的正确性。","在第一次获取时被创建,在线程结束时被销毁","在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程均运行在其专用且受保护的内存空间内。进程是cpu分配资源和调度的单位。","在银行(进程)中,有4个工作窗口(线程),而只有一条队伍(队列)","地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间","基于gcd(底层是gcd)","多线程","多线程原理","多线程并发(同时)执行,其实就是cpu执行快速地在多条线程之间调度(切换)","多线程的生命周期是:新建","如果开启大量的线程,会占用大量的内存空间,降低程序的性能","如果异步操作的过程需要更多的被交互和ui呈现出来,nsoperation更好;底层代码中,任务之间不太互相依赖,而需要更高的并发能力,gcd则更有优势","对于主线程来说,runloop在程序一启动就默认创建好了","对于子线程来说,runloop是懒加载的——只有当我们使用的时候才会创建,所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调","就绪","就绪:向线程对象发送start消息,线程对象被加入可调度线程池等待cpu调度。","开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512kb,创建线程大约需要90毫秒的创建时间)","当提交的任务数超过maxmumpoolsize与workqueue之和时,","执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制","技术方案","技术,可提供基于端口的通信的高级实现。尽管可以将这种技术用于线程间通信,但是强烈建议不要这样做,因为它会产生大量开销。分布式对象更适合与其他进程进行通信,尽管在这些进程之间进行事务的开销也很高","新建线程的工厂","新建:实例化线程对象","旨在替代nsthread等线程技术","是事件驱动的,因此在无事可做时,线程会自动进入睡眠状态,从而提高了线程的效率","条件执行:","条件是一种同步工具,可用于控制线程何时执行代码的特定部分。您可以将条件视为关守,让线程仅在满足指定条件时运行。","来实现端口,因此当端口上没有数据等待时,线程将进入睡眠状态","死亡","死亡:正常死亡,线程执行完毕。非正常死亡,当满足某个条件后,在线程内部中止执行/在主线程中止线程对象","每个进程之间是独立的,每个进程均运行在专用的且受保护的内存","比gcd多了一些更简单实用的功能","消息队列:","直接消息传递:","程序启动会默认开启一条线程,这条线程被成为主线程或ui线程","程序员管理","程序设计更加复杂,比如线程间的通信、多线程的数据共享","窗口(线程)只负责为排队的人办理业务,并不会管队伍(队列)是怎么排的","简介","简单易用,可直接操作线程对象","线程:","线程上的任务执行完成后,线程会自动销毁","线程与进程","线程是处理器调度的基本单位,但进程不是","线程是进程的基本执行单元,一个进程的所有任务都在线程中执行","线程池中超过corepoolsize树木的空闲线程的最大存活时间","线程池的基本大小(核心线程池大小)","线程池的最大大小","线程生命周期","线程的执行速率","线程越多,cpu在调用线程上的开销就越大","经常使用","缺点","能适当提高程序的执行效率","能适当提高资源的利用率(cpu、内存)","自动管理","若已满时,且maximumpoolsize>corepoolsize,将创建新的线程来执行任务","若没满就将任务push进队列","若线程池大小大于等于核心线程池大小时","若线程池大小小于核心线程池大小时","语言","负责调度可调度线程池中线程的执行。线程执行完成之前,状态可能会在就绪和运行之间来回切换。就绪和运行之间的状态变化由cpu负责,程序员不能干预。","资源拥有:同一进程内的线程共享本进程的资源如内存、i/o、cpu等,但是进程之间的资源是独立的","跨平台/可移植","运行","运行:cpu","进程:","进程、线程与队列","进程切换时,消耗的资源大、效率高。所以设计到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程而不能用进程","进程想要执行任务,必须得有线程,进程至少要有一条线程","进程是指在系统中正在运行的一个应用程序,如微信、支付宝app都是一个进程","适用于unix/linux/windows等系统","通过performselector的一系列方法,可以实现由某一线程指定在另外的线程上执行任务。因为任务的执行上下文是目标线程,这种方式发送的消息将会自动的被序列化","配置可以让一个线程上收到特定的应用程序消息。由于","队列情况","队列负责调度任务,线程执行任务","队列,又称为伫列(queue),是先进先出(fifo:","阻塞","阻塞:当满足某个预定条件时,可以使用休眠或锁,阻塞线程执行。sleepfortimeinterval(休眠指定时长),sleepuntildate(休眠到指定日期),@synchronized(self):(互斥锁)。","饱和策略有如下四个:"],"iOS/OCFoundation/GCDUsage.html":["%@\",","&","(int","(nonatomic,","(null)}","(timeout","(void)test","(两个函数要配合使用)","*","*/","...乱序输出","...按顺序输出","...是否按序输出与串行队列还是并发队列有关","/**","//","//1.创建队列","//2.创建timer","//3.设置timer首次执行时间,间隔,精确度","//4.设置timer事件回调","//5.默认是挂起状态,需要手动激活","0","0)","0);","0)获取系统提供的并发队列","0,","0.1","0;","1","1,","1.dispatch_group_async","1.串行+同步","1.串行队列使用栅栏函数","1.定义及使用","1阻塞线程,等待signal再执行下去","1,但是wait之后信号量为","1,但是wait之后信号量为0不会阻塞线程,所以进入i=1","2.0","2.dispatch_group_ent","2.串行+异步","2.并发队列使用栅栏函数","2.自定义定时器","3,","3.dispatch_barrier_sync/dispatch_barrier_async区别","3.dispatch_group_wait使用","3.并发+同步","4,","4.并发+异步","4.栅栏函数注意点","5,","5.主队列+同步","6,","6.主队列+异步","7,","7.全局队列+同步","8.全局队列+异步","=","==","@properti","[nsthread","^(size_t","^{","_timer","api","api总结","c","central","currentthread]);","custom","descriptor","dispatch","dispatch_after()","dispatch_appli","dispatch_apply()","dispatch_apply(10,","dispatch_apply前","dispatch_apply后","dispatch_apply将指定的block追加到指定的队列中重复执行,并等到全部的处理执行结束——相当于线程安全的for循环","dispatch_apply的线程0","dispatch_async","dispatch_async()","dispatch_async(queue,","dispatch_barrier_async","dispatch_barrier_async()","dispatch_barrier_async(queue,","dispatch_barrier_async:前面的任务执行完毕才会来到这里","dispatch_barrier_sync","dispatch_barrier_sync()","dispatch_barrier_sync:作用相同,但是这个会堵塞线程,影响后面的任务执行","dispatch_cancl","dispatch_cancle:","dispatch_get_global_queue()","dispatch_get_global_queue(0,","dispatch_get_global_queue(dispatch_queue_priority_default,","dispatch_get_main_queue()","dispatch_get_main_queue(),","dispatch_get_main_queue();","dispatch_group_async()","dispatch_group_async(group,","dispatch_group_create()","dispatch_group_create();","dispatch_group_enter()/","dispatch_group_enter(group);","dispatch_group_enter和dispatch_group_leave成对出现,使进出组的逻辑更加清晰","dispatch_group_leav","dispatch_group_leave()","dispatch_group_leave(group);","dispatch_group_notify()","dispatch_group_notify(group,","dispatch_group_notify在dispatch_group_async执行结束之后会受到通知","dispatch_group_t","dispatch_group_t:调度组将任务分组执行,能监听任务组完成,并设置等待时间","dispatch_group_wait()","dispatch_group_wait(dispatch_group_t","dispatch_group_wait(group,","dispatch_once()","dispatch_queue_concurrent);","dispatch_queue_concurrent);创建并发队列","dispatch_queue_create(\"felix\",","dispatch_queue_create()","dispatch_queue_serial);","dispatch_queue_serial)创建串行队列","dispatch_queue_t","dispatch_resum","dispatch_resume(_timer);","dispatch_resume:","dispatch_resume和dispatch_suspend调用次数需要平衡","dispatch_semaphore_creat()","dispatch_semaphore_create():创建信号量","dispatch_semaphore_create(0);","dispatch_semaphore_signal()","dispatch_semaphore_signal():释放信号量,信号量加1。当信号量>=","dispatch_semaphore_t","dispatch_semaphore_wait()","dispatch_semaphore_wait():等待信号量,信号量减1。当信号量时会阻塞当前线程,根据传入的等待时间决定接下来的操作——如果永久等待将等到信号(signal)才执行下去","dispatch_sourc","dispatch_source_cr","dispatch_source_create(dispatch_source_type_timer,","dispatch_source_create:","dispatch_source_get_data","dispatch_source_get_data:","dispatch_source_merge_data","dispatch_source_merge_data:","dispatch_source_set_event_handl","dispatch_source_set_event_handler(_timer,","dispatch_source_set_event_handler:","dispatch_source_set_timer(_timer,","dispatch_source_t","dispatch_source是一种基本的数据类型,可以用来监听一些底层的系统事件","dispatch_suspend","dispatch_suspend:","dispatch_sync","dispatch_sync()","dispatch_time(dispatch_time_now,","dispatch_time_forever);","dispatch_time_now);","dispatch_time_now,","dispatch_time_t","dispatch,它是纯","gcd","gcdtimer如果存在循环引用,使用weak+strong或者提前调用dispatch_source_cancel取消tim","gcdtimer没有repeat,需要封装来增加标志位控制","gcdtimer需要强持有,否则出了作用域立即释放,也就没有了事件回调","gcdtimer默认是挂起状态,需要手动激活","gcd全称是grand","gcd的优势:","group","group,","group:需要等待的调度组","i=0时有可能先打印,也可能会先发出wait信号量","i=1时有可能先打印,也可能会先发出wait信号量","index)","index,","ios探索","long","mach","main}","name","nil或者重新创建source都会造成crash。正确的方式是在激活状态下调用dispatch_source_cancel(source)释放当前的sourc","nsec_per_sec));","nsec_per_sec);","nsec_per_sec,","nslog(@\"","nslog(@\"dispatch_apply前\");","nslog(@\"dispatch_apply后\");","nslog(@\"dispatch_apply的线程%zu","nslog(@\"gcdtimer\");","nslog(@\"timeout=%ld\",","nslog(@\"主线程","nslog(@\"刷新页面\");","nslog(@\"延迟1s的任务2——%@\",","nslog(@\"延迟2s的任务1——%@\",","nslog(@\"开始——%@\",","nslog(@\"按时完成任务\");","nslog(@\"栅栏结束——%@\",","nslog(@\"第一次结束——%@\",","nslog(@\"第二次结束——%@\",","nslog(@\"请求一完成\");","nslog(@\"请求二完成\");","nslog(@\"超时\");","null)创建串行队列(gcd底层会讲到)","param1:重复次数","param2:追加的队列","param3:执行任务","port","process","queue","queue);","queue)和并发队列(concurr","queue):","queue,","refer","sem","signal","sleep(1);","sleep(2);","source在挂起状态下,如果直接设置sourc","source:定时器事件源,用来生成周期性的通知或回调","source:监听mach端口事件源","source:监听信号事件源,当有unix信号发生时会通知","source:监听文件或socket事件源,当文件或socket数据发生变化时会通知","source:监听自定义事件源","source:监听进程事件源,与进程相关的事件通知","strong)","timeout","timeout)","timeout);","timeout=49","timeout:等待的超时时间(即等多久)","timer","timer;","usag","{","{number","}","});","一次性执行","下面来看一下主队列和全局队列的使用情况:","下面这段代码要求使用信号量来按序输出(当然栅栏函数可以满足要求)","不会开启线程","不使用栅栏函数","不用等待当前语句执行完毕,就可以执行下一条语句","串行&同步线程0","串行&同步线程1","串行&异步线程0","串行&异步线程1","串行/并发和同步/异步的排列组合","串行队列","串行队列:线程执行只能依次逐一先后有序的执行,等待上一个执行完再执行下一个","主要使用的api:","主队列","主队列&异步线程0","主队列&异步线程1","主队列和全局队列单独考虑,组合结果以总结表格为准","主队列:绑定主线程,所有任务都在主线程中执行、经过特殊处理的串行的队列","乱序执行,开辟线程","亦可以使用dispatch_queue_create(\"xxx\",","任务一个接一个执行,不开辟线程","任务一个接一个执行,不开辟线程(同并发+同步)","任务一个接一个执行,会开辟线程","任务乱序执行,开辟线程","任务乱序执行,开辟线程(同并发+异步)","优先级从高到低依次为dispatch_queue_priority_high、dispatch_queue_priority_default、dispatch_queue_priority_low、dispatch_queue_priority_background","会开启线程执行block任务","会执行wait之后的代码","会自动利用更多的cpu内核(比如双核、四核)","会自动管理线程的生命周期(创建线程、调度任务、销毁线程)","传入值为2时,可以通过三次才堵塞","使用dispatch_get_main_queue()获取主队列","使用dispatch_queue_create(\"xxx\",","使用dispatch_source自定义定时器注意点:","使用全局队列时由于对全局队列造成堵塞,可能致使系统其他调用全局队列的地方也堵塞从而导致崩溃(并不是只有你在使用这个队列)","使用全局队列起不到栅栏函数的作用","使用栅栏函数","全局队列","全局队列&同步线程0","全局队列&同步线程1","全局队列&异步线程2","全局队列&异步线程3","全局队列:系统提供的并发队列","创建事件源","创建信号量","创建信号量时传入值为1时,可以通过两次才堵塞","创建源","创建调度组","创建队列","利用信号量的api来进行代码改写","刷新页面","前文已经提过并发执行异步队列会开辟线程,而任务也会因为任务复杂度和cpu的调度导致各个乱序执行完毕,比如上图中的任务3明明是先于任务4执行,但是晚于任务4执行完毕","取消","同步执行","同步栅栏函数","在ios开发中一般使用nstimer来处理定时逻辑,但nstimer是依赖runloop的,而runloop可以运行在不同的模式下。如果nstimer添加在一种模式下,当runloop运行在其他模式下的时候,定时器就挂机了;又如果runloop在阻塞状态,nstimer触发时间就会推迟到下一个runloop周期。因此nstimer在计时上会有误差,并不是特别精确,而gcd定时器不依赖runloop,计时精度要高很多","在当前线程执行block的任务","复制代码","多线程中队列分为串行队列(serial","多线程之gcd应用","多线程执行任务分为dispatch_sync同步执行任务和dispatch_async异步执行:","如果当创建信号量时传入值为1又会怎么样呢?","将上述调度组代码进行改写","将案例二中的dispatch_barrier_async改成dispatch_barrier_sync","将调度组中的任务未执行完毕的任务数目加减1","尽量使用自定义的并发队列:","崩溃...","并发&异步线程0","并发&异步线程1","并发队列","并发队列:线程可以同时一起执行,不需要等待上一个执行完就能执行下一个任务","应用场景:gcdtimer","应用场景:同步当锁,","应用场景:同步锁","应用场景:多个接口请求之后刷新页面","应用场景:用来拉取网络数据后提前算出各个控件的大小,防止绘制时计算,提高表单滑动流畅性","延时执行","延迟1s的任务2——{number","延迟2s的任务1——{number","开始——{number","异步执行","异步是多线程的代名词","异步栅栏函数","当前0","当前1","当前2","当前3","当前4","当前5","当前6","当前7","当前8","当前9","必须等待当前语句执行完毕,才会执行下一条语句","总结一下:","想要执行什么任务,不需要编写任何线程管理代码","执行\\队列","执行进组任务","挂起","按序执行,不开辟线程","按序执行,开辟线程","控制gcd最大并发数","提交队列","是苹果公司为多核的并行运算提出的解决方案","最简单的是使用dispatch_get_global_queue(0,","栅栏任务","栅栏函数只能控制同一并发队列:打个比方,平时在使用afnetworking做网络请求时为什么不能用栅栏函数起到同步锁堵塞的效果,因为afnetworking内部有自己的队列","栅栏函数的作用是将队列中的任务进行分组,所以我们只要关注任务1、任务2","栅栏结束——{number","此时gcd就提供了两个api——dispatch_barrier_sync和dispatch_barrier_async,使用这两个api就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务,最后执行栅栏后任务","死锁","添加到串行队列中——按序执行","添加到主队列中——死锁","添加到全局队列中——乱序执行","添加到并发队列中——乱序执行","源事件设置数据","监听队列组执行完毕","相互等待,造成死锁","程序员只需要告诉","第一个参数是优先级枚举值,默认优先级为dispatch_queue_priority_default=0","第一次结束——{number","第二次结束——{number","等待信号量","类型","线程{number","结论:","结论:dispatch_barrier_async可以控制队列中任务的执行顺序,而dispatch_barrier_sync不仅阻塞了队列的执行,也阻塞了线程的执行(尽量少用)","结论:由于串行队列异步执行任务是一个接一个执行完毕的,所以使用栅栏函数没意义","结论:由于并发队列异步执行任务是乱序执行完毕的,所以使用栅栏函数可以很好的控制队列内任务执行的顺序","继续","获取主队列","获取事件源数据","获取全局队列","获取源事件数据","设置为dispatch_time_forever则会阻塞当前调度组,直到调度组执行完毕","设置为dispatch_time_now意味着不等待直接判定调度组是否执行完毕","设置事件源数据","设置数据源回调","设置源事件回调","设置等待时间(成功为0)","语言,并且提供了非常多强大的函数","说明","请求一完成","请求二完成","调度组要注意搭配使用,必须先进组再出组,缺一不可","超时","输出结果","输出结果:","返回值不为0——在指定时间内调度组没有按时完成任务","返回值为0——在指定时间内调度组完成了任务","返回值:为","释放信号量"],"iOS/OCFoundation/GCDThread.html":["(id)objectforkey:(nsstring*)key{","(void)printlog{","(void)setobject:(id)obj","(void)viewdidload{","//12345","//13","//写","//同步读取指定数据","//异步栅栏调用设置数据","//死锁","//没问题","1)","1.","1.串行队列","1、主线程中任务执行:任务1、sync、任务3、","2)","2.","2.同步和异步:","2.并发队列","2、主队列:viewdidload、任务2、","3)","3.","3.主队列","4)","4.全局队列","5)","6)",":","=","[self","^{","__block","afterdelay0];","block的任务,无论任务中哪一个,最终都要提交到主线程中处理.先分派viewdidload到主线程,由于队列fifo,viewdidload的调用结束又要等待block的调用结束,block又在等待viewdidload","dispatch_async(concurrent_queue,^{//任务});","dispatch_async(dispatch_get_main_queue(),^{","dispatch_async(global_queue,^{","dispatch_async(serial_queue,^{//任务});","dispatch_async(队列,任务)","dispatch_barrier_async()","dispatch_barrier_async(concurrent_queue,^{","dispatch_barrier_async(concurrent_queue,^{//写操作});","dispatch_get_main_queue();","dispatch_queue_t","dispatch_sync(concurrent_queue,^{","dispatch_sync(concurrent_queue,^{//任务});","dispatch_sync(global_queue,^{","dispatch_sync(queue,","dispatch_sync(serial_queue,^{//任务});","dispatch_sync(serialqueue,^{","dispatch_sync(队列,任务)","dispatch_sync,都会在当前线程上执行该任务,而不继续走下去,直到任务执行完成","dosomething];","forget)”的原则。","forkey:(nsstring*)key{","gcd","gcd优点:gcd主要与block结合使用。","gcd是底层的c语言构成的api,而nsoperationqueue及相关对象是objc的对象。在gcd中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而operation作为一个对象,为我们提供了更多的选择;","gcd的两个核心概念是:任务和队列.","id","isfinished==y","nslog(@\"1\");","nslog(@\"2\");","nslog(@\"3\");","nslog(@\"4\");","nslog(@\"5\");","nslog(@\"执行任务1\");","nslog(@\"执行任务2\");","nslog(@\"执行任务3\");","nsoper","nsoprationqueu","obj","obj;","performselector:@selector(printlog)","queue","releas","thread","viewdidload","viewdidload添加到主队列上,提交到主线程上执行.viewdidload执行到某个时段时候,同步提交一个任务到一个串行队列上面,由于是同步提交任务,意味着要在当前线程执行,所以串行队列提交的任务也是在主线程上面执行,串行队列任务在主线程上执行完之后,再继续执行viewdidload后面的任务","withobject:nil","xxxx;","xxxxx;","}","});","一般在开发过程中我们使用全局队列","与","串行队列:任务一个接一个的执行","串行队列同步执行,既在当前线程中顺序执行","串行队列异步执行,开辟一条新的线程,在该线程中顺序执行","主队列:跟主线程相关的队列,主队列里面的内容都会在主线程中执行","主队列同步执行,会造成死锁(’主线程’和’主队列’相互等待,卡住主线程)","主队列异步执行,不开辟新的线程,顺序执行","以打电话给查号台为例:","任务","任务与队列","使用nsoperation和nsoperationqueue的优点:","全局队列:一个特殊的并发队列","其中在主队列viewdidload里面的任务3执行结束才会执行任务2;而主线程中是执行完sync才会执行任务3。也就是任务2等待任务3执行,任务3再也等待任务2执行,造成死锁","写者写者互斥","分析:","只支持fifo","只要是同步方式提交任务,无论是提交到并发队列还是串行队列,最终都是在当前线程执行","可以取消操作:在运行任务前,可以在nsoperation对象调用cancel方法,标明此任务不需要执行。但是gcd队列是无法取消的,因为它遵循“安排好之后就不管了(fir","可以指定操作的优先级:操作的优先级表示此操作与队列中其他操作之间的优先关系,我们可以指定它","可以指定操作间的依赖关系:例如从服务器下载并处理文件的动作可以用操作来表示。而在处理其他文件之前必须先下载“清单文件”。而后续的下载工作,都要依赖于先下载的清单文件这一操作。","同步/异步和串行/并发","同步:只能在当前线程中执行任务,不具备开启新线程的能力","同步串行","同步异步","同步执行任务:","同步:打电话给查号台,问某个地方的电话号码,接线员会告诉你稍等,然后为你查号,此时你的电话没有挂断,其他的电话也不能打进来,等到接线员查找到了你要找的电话号,告诉你后,才将电话挂断","和","因为子线程不会主动创建runloop,performselector:withobject:afterdelay,即使延时0s,也是要创建相应添加到runloop逻辑,如果没有runloop是不会添加到上面,所以不会触发.(创建runloop后也需要run)","在arc中两个队列不需要考虑释放内存,但是在mrc中并发队列创造出来的需要","在block中执行的代码块","在nsoperationqueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而gcd没法停止已经加入queue的block(其实是有的,但需要许多复杂的代码);","在主队列上提交了","多读单写处理","多读单写方案","如果只重写main方法,底层控制变更任务执行完成状态,以及任务退出","如果重写了start方法,自行控制状态(什么时候是isexecuting,isfinish状态等等)","并发队列:队列中的任务并发执行","并发队列和全局队列的区别:","并发队列有名称,可以跟踪错误.全局队列没有.","并行队列同步执行,不开辟线程,在当前线程中顺序执行","并行队列异步执行,开辟多个新的线程,并且线程会重用,无序执行","异步:可以在新的线程中执行任务,具备开启新线程的能力","异步串行","异步并发","异步执行(async)和同步执行(sync):使用dispatch_async调用一个block,这个block会被放到指定的queue_1队列尾等待执行,至于这个block是被并行还是串行执行,只和dispatch_async中的指定的queue_1有关,但是dispatch_async会马上返回。使用dispatch_sync同样也是把block放到指定的queue_2上执行,但是会等待这个block执行完毕后才返回,这期间会阻塞当前运行调用dispatch_async或dispatch_sync代码的queue(通常为main_queue)直到sync函数返回。","异步执行:","异步:打电话给查号台,问某个地方的电话号码,接线员知道了你的请求后,会立刻挂断电话,此时其他的电话可以打进来。然后开始为你查号。等到查找到了你要找的电话号,会再打电话通知你。","引申:","怎么利用gcd实现多读单写?","所以任何情况下调用","操作,而全局队列只有一个不需要.","死锁原因","状态控制","用来存放任务的","的nsoperation的","的区别与选用","的队列,而nsoperationqueue可以调整队列的执行顺序(通过调整权重)。nsoperationqueue可以方便的管理并发、nsoperation之间的优先级。","监控nsoperation对象的属性:可以通过kvo来监听nsoperation的属性:可以通过iscancelled属性来判断任务是否已取消;通过isfinished属性来判断任务是否已经完成。","系统怎么移除一个","线程的区别:","读者写者互斥","读者读者并发","通过kvo","队列","队列中存放的任务最后都要由线程来执行!","队列分类:","队列和执行方式组合的效果:","队列引起的循环等待","队列的原则:先进先出,后进后出","队列:队列分为串行和并行。串行队列按照a、b、c、d的顺序添加四个任务,这四个任务按照顺序执行,结束顺序也肯定是a、b、c、d,而并行队列同时执行这四个任务,完成的顺序因此也是随机的。","首先明确几个概念"],"iOS/OCFoundation/Lock.html":["!=","!_cond.wait(until:","!fastcacheoccupied分支表示支持快速缓存且快速缓存被占用了,将该synccacheitem数据写入快速缓存中","#defin","#endif","#if","#import","&&","&cach","&list_for_obj(object);","&lock_for_obj(object);","&timeout)","'obj'","'obj'.","(","(!atomic)","(!cache)","(!data)","(!fastcacheoccupied)","(!okay)","(&result","((char*)self","(*)(id,","(*slot","(^block)(int);","(cache)","(copy)","(data","(data)","(debugnilsync)","(firstunus","(i","(id","(id)appdelegateclassname;","(id*)","(int","(item","(mutablecopy)","(obj)","(objc_object","(offset","(p","(result","(result)","(rethrow)","(safely)","(syncdata","(uintptr_t)tls_get_direct(sync_count_direct_key);","(valu","(void)methoda{","(void)methodb{","(void)test","(void*)1);","(whi",")",");","*","*)objc_msgsend)((id)objc_getclass(\"appdelegate\"),","*)object;","*)tls_get_direct(sync_data_direct_key);","**)&result,","**listp","*/","*cach","*data","*data;","*item","*listp","*listp;","*lock","*lockp","*slot","*slot;","+","+1/","...","/*","//","//synccacheitem数组","//xxxx","//会导致死锁,要使用递归锁","//该对象在该线程中被加锁的次数","//该缓存条目对应的syncdata","//该缓存此时对应的已使用缓存大小","//该缓存此时对应的缓存大小","//递归锁的特点是可以重入","0","0)","0),","0;","1)","1);","1.","1.osspinlock","1.pthread_mutex","1.线程安全","1;","1操作","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.@synchron","2.atom","2.检测安全","3.","3.1","3.2","3.nslock","3.锁的作用","4.1","4.2","4.nsrecursivelock","4.锁的分类","5.","5.dispatch_semaphor","6.","6.nscondit","7.nsconditionlock","7.互斥锁和自旋锁的区别","8.os_unfair_lock","9.互斥锁性能对比",":",";","=","==",">",">data",">data;",">list[",">list[cach",">list[i]",">list[i];",">lock();",">lock()并不是在底层对锁进行了封装,而是在查找过程前后进行了加锁操作",">lockcount",">mutex)",">mutex.lock();",">mutex.tryunlock();",">nextdata",">nextdata)",">object",">threadcount",">threadcount);",">unlock();",">used++;",">used].data",">used].lockcount",">used];","@autoreleasepool","@synchron","@synchronized(nil)","@synchronized(nil);","@synchronized可能是日常开发中用的比较多的一种互斥锁,因为它的使用比较简单,但并不是在任意场景下都能使用@synchronized,且它的性能较低","@synchronized在底层维护了一个哈希链表进行data的存储,使用recursive_mutex_t进行加锁","[[nslock","[[nsrecursivelock","[lock","[newvalu","[nsmutablearray","[recursivelock","[self","^(int","^{","_","__atautoreleasepool","__autoreleasepool;","__null,","_cmd,","_cond","_cond.broadcast()","_cond.lock()","_cond.unlock()","_conditionvariablepointer.allocate(capacity:","_fin","_fin(id","_lock;","_mutexpointer.allocate(capacity:","_objc_fatal(\"id2data","_objc_inform(\"nil","_rethrow","_swift_cfthreadref?","_sync_exit","_sync_exit(_sync_obj);","_sync_exit(id","_sync_obj","_testarray","_thread","_thread:","_valu","_value:","`try`()","above.","acquir","acquire)","acquire);","acquired.","alignas(cachelinesize)","alignof(syncdata),","alloc","alloc]","allocated;","anoth","appdelegateclassnam","appdelegateclassname);","appdelegateclassname;","arg)","argc,","argv,","argv[])","array];","assert(data);","associ","atom","atomic)","atomic,","atomic保证变量在取值和赋值时的线程安全","atomic修饰的属性绝对安全吗?","atomic原理","atomic只能保证setter、getter方法的线程安全,并不能保证数据安全","atomic只能保证setter、getter时线程安全,所以更多的使用nonatomic来修饰","autoreleas","befor","before:","begin","block","block(10);","block(valu","bool","break;","breakpoint","breakpoint_function(","broadcast()","broadcast会唤醒所有正在等待的线程","buggy\");","cach","cache.","case","catch","char","check","check)","check:","class","collid","concurr","cond","condit","condition,","condition:","constexpr","continue;","conveni","copy,","copywithzone:nil];","corelib","current","data","data(nil),","data;","date)","date.distantfuture)","date.distantpast)","debug\");","debug:","deinit","disguisedptr","dispatch_async(dispatch_get_global_queue(0,","dispatch_semaphore_t","done","done:","done;","done分析:","e)","e;}","end","entri","enum","exclusion,缩写mutex)防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒","exit","fals","fast","fastcacheoccupi","fetch_cache(no);","fetch_cache(yes);","firstunus","firstunused;","for循环在block内部对同一个对象进行了多次锁操作,直到这个资源身上挂着n把锁,最后大家都无法一次性解锁——找不到解锁的出口","for循环遍历链表,如果有符合的就goto","found","found,","foundation下载到源码来一探究竟","func","gcd实现简单线程同步,包括子线程分派,实现多读单写情景,nsoperation方便任务状态控制,添加依赖移除依赖,nsthread多用于常用线程","getter方法亦是如此:atomic修饰的属性进行加锁处理","goto","guard","handl","held","here.","i++)","i;","id","id2data(id","id2data(obj,","id2data先将返回对象syncdata类型的result准备好,后续进行数据填充","incorrectli","init()","init(condition:","init];","inlin","int","int)","int,","int32_t","intern","ios探索","ios系统为我们提供的几钟多线程技术各自的特点是怎样的","ios系统当中主要提供3种,gcd、nsoperation&nsoperationqueue、nsthread,一般使用","issu","item","kvc原理及自定义中有提到自动生成的setter方法会根据修饰符不同调用不同方法,最后统一调用reallysetproperty方法,其中就有一段关于atomic修饰词的代码","limit)","limit:","list","list[0];","list_for_obj(obj)","local","lock","lock()","lock(befor","lock(before:","lock(fork_unsafe_lock)","lock(whencondit","lock(whencondition:","lock;","lock];","lock_for_obj(obj)","lockcount","lockcount++;","lockcount;","lockcount表示被锁的次数,意味着能多次进入,从侧面表现出了递归性","lockp","main(int","match","match.","methodb];","mlock;","mutablecopy)","mutablecopywithzone:nil];","mutex","mutex)","mutex,","mutex;","mutex_tt","mutex_tt;","mutex即对象所关联的锁","mutex可以得出@synchronized是递归锁","name:","needed.","new","newvalu","newvalue)","newvalue);","newvalue,","newvalue;","nextdata;","nextdata指的是链表中下一个syncdata","nil","nil)","nil;","no;","nocopy_t","noth","nsarray","nscondition()","nscondition:","nsconditionlock","nsconditionlock可以设置锁条件,而nscondition只是无脑的通知信号","nsconditionlock是nscondition加线程数的封装","nscondition和nsconditionlock是条件锁,当满足某一个条件时才能进行操作,和信号量dispatch_semaphore类似","nscondition是一个条件锁,可能平时用的不多,但与信号量相似:线程1需要等到条件1满足才会往下走,否则就会堵塞等待,直至条件满足","nscondition是对mutex和cond的一种封装(cond就是用于访问和操作特定类型数据的指针)","nslock","nslock、nsrecursivelock、nscondition和nsconditionlock底层都是对pthread_mutex的封装","nslock在afnetworking的afurlsessionmanager.m中有使用到","nslock是对互斥锁的简单封装,使用如下:","nslog(@\"value——%d\",","nslog(@\"加锁前\");","nslog(@\"加锁后\");","nsobject,","nsrecursivelock","nsrecursivelock使用和nslock类似,如下代码就能解决上个问题","nsrecursivelock在yykit中yywebimageoperation.m中有用到","nsrescursivelock","nsstring","nsstringfromclass(((class","null","null)","null);","null;","number","obj)","objc_autoreleasereturnvalue(value);","objc_exception_throw(rethrow);","objc_getproperty(id","objc_release(oldvalue);","objc_retain(*slot);","objc_retain(newvalue);","objc_sync_enter(_sync_obj);","objc_sync_enter(id","objc_sync_exit(id","objc_sync_exit(sync_exit);","objc_sync_exit两个方法","objc_sync_nil","objc_sync_nil();","objc_sync_nil(void)","objc_sync_not_owning_thread_error","objc_sync_not_owning_thread_error;","objc_sync_success","objc_sync_success;","object","object)","object,","object;","object_getclass(self);","object_setclass(self,","object指的是当前加锁的对象","offset);","offset,","okay","oldvalu","oldvalue;","on","onc","open","os_unfair_lock","osatomicdecrement32barrier(&result","osatomicincrement32barrier(&result","osspinlock","osspinlock不再安全,底层用os_unfair_lock替代","outsid","overrid","p","p;","per","performance,","posix_memalign((void","probabl","propertylocks[slot];","pthread_cond_broadcast(cond)","pthread_cond_destroy(cond)","pthread_cond_init(cond,","pthread_cond_signal(cond)","pthread_cond_timedwait(cond,","pthread_cond_wait(cond,","pthread_mutex_destroy(&_lock);","pthread_mutex_destroy(mutex)","pthread_mutex_init(&_lock,","pthread_mutex_init(mutex,","pthread_mutex_lock(&_lock);","pthread_mutex_lock(mutex)","pthread_mutex_t","pthread_mutex_unlock(&_lock);","pthread_mutex_unlock(mutex)","pthread_mutex就是互斥锁本身——当锁被占用,而其他线程申请锁时,不是使用忙等,而是阻塞线程并睡眠","pthread_rwlock_destroy(&lock);","pthread_rwlock_init(&lock,","pthread_rwlock_rdlock(&lock);","pthread_rwlock_t","pthread_rwlock_tryrdlock(&lock);","pthread_rwlock_trywrlock(&lock);","pthread_rwlock_unlock(&lock);","pthread_rwlock_wrlock(&lock);","pthread_self()","ptrdiff_t","public","reallysetproperty(id","recurs","recursive_mutex_t","recursive_mutex_t(fork_unsafe_lock);","refer","releas","release)","release);","release:","remov","result","result);","result;","retain","reth)","rethrow(reth)","rethrow;","return","return;","save","sdatalist","sdatalists;","sdatalists[obj].data","sdatalists[obj].lock","sel","sel))(void","sel_registername(\"class\")));","self,","self.init(condition:","self.testarray","set","signal","signal()","signal操作是唤醒一个正在休眠等待的线程","singl","sizeof(syncdata));","slotlock","slotlock.lock();","slotlock.unlock();","spinlock.","spinlock_t","spinlock_t&","static","storage,在ios中每个线程都拥有自己的tls,负责保存本线程的一些变量,","string?","stripedmap","struct","support_direct_thread_key","sync","sync_exit(arg)","sync_exit;","synccach","synccache;","synccacheitem","synccacheitem;","synccacheitem用来记录某个syncdata在某个线程中被加锁的记录,一个syncdata可以被多个synccacheitem持有","synccache用来记录某个线程中所有synccacheitem,并且记录了缓存大小以及已使用缓存大小","syncdata","syncdata*","syncdata;","synchron","synclist","synclist()","thread","thread.","threadcount);","threadcount;","threadcount表示使用该对象进行加锁的线程数","timeout","timespecfrom(date:","tls_set_direct(sync_count_direct_key,","tls_set_direct(sync_data_direct_key,","tri","true","trylock(whencondit","typedef","uiapplicationmain(argc,","uintptr_t","unlock()","unlock(withcondit","unlock];","unsign","unus","us","usag","used;","valu","value)","value);","value——10","var","void","wait","wait()","wait(until","wait操作会阻塞线程,使其进入休眠状态,直至超时","why)","world","yes;","yykit的yymemorycach有使用到pthread_mutex","{","{_rethrow","{}","||","}","});","};","}_fin_force_rethow(_rethrow);","~_fin()","~_sync_exit()","⾃旋锁避免了进程上下⽂的调度开销,因此对于线程只会阻塞很短时间的场合是有效的","一般在创建单例对象的时候使用","三、互斥锁","上述代码在外层加个for循环,问输出结果?","上面代码一运行就会崩溃,原因是因为在某一瞬间testarray释放了为nil,但哈希表中存的对象也变成了nil,导致synchronized无效化","不能使用非oc对象作为加锁条件——id2data中接收参数为id类型","且tls无需锁保护,","二、自旋锁","互斥锁","互斥锁(mutual","互斥锁又分为:","互斥锁在线程获取锁但没有获取到时,线程会进入休眠状态,等锁被释放时线程会被唤醒","互斥锁在递归调用时会造成堵塞,并非死锁——这里的问题是后面的代码无法执行下去","从上述代码可以得出以下几点:","从上述精简后的代码可以得出以下几点:","从源码来看就是对互斥锁的简单封装","但不能保证self.index+1也是安全的","使用","使用nslock","使用互斥锁nslock异步并发调用block块,block块内部递归调用自己,问打印什么?","使用如下:","使用快速缓存","使用递归锁nsrecursivelock替换nslock","信号量","修饰属性的关键字","先将前面的lock锁解开","全局哈希表查找","全局声明互斥锁","全局声明读写锁","其中通过两个宏定义去取得synclist中的data和lock——stat","写操作","写者是排他性的,⼀个读写锁同时只能有⼀个写者或多个读者(与cpu数相关),但不能同时既有读者⼜有写者。在读写锁保持期间也是抢占失效的","准备syncdata","初始化互斥锁","初始化读写锁","加锁","加锁前","加锁后","加锁对象不能为nil,否则加锁无效,不能保证线程安全","即","即线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步","原因:","原子性修饰的属性进行了spinlock加锁处理","可以理解成","可以采用使用缓存的@synchronized,因为它对对象进行锁操作,会先从缓存查找是否有锁syncdata存在。如果有,直接返回而不加锁,保证锁的唯一性","同时为了哈希不冲突,还使用加盐操作进行加锁","同样的能在swift源码中找到关于nscondition部分","否则将该synccacheitem存入该线程对应的synccache中","唤醒是一个被动行为","因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释","在gcd应用篇章已经对信号量进行过讲解","在ios中锁的基本种类只有两种:互斥锁、自旋锁,其他的比如条件锁、递归锁、信号量都是上层的封装和实现","在ios探索","在objc源码中找到objc_sync_enter和objc_sync_exit","复制代码","多次锁同一个对象会有什么后果吗——会从高速缓存中拿到data,所以只会锁一次对象","如上图所示,被atomic修饰的index变量分别在两次并发异步for循环10000次后输出的结果并不等于20000。由此可以得出结论:","如果在缓存中找到当前对象,就拿出当前被锁的次数lockcount,再根据传入参数类型(获取、释放、查看)对lockcount分别进行操作","如果改成self.index=i是能保证setter方法的线程安全的","如果是release或check直接goto","如果是release类型直接返回nil","如果第二步中有发现第一次使用的的对象就将threadcount标记为1且goto","如果读写锁当前没有读者,也没有写者,那么写者可以⽴刻获得读写锁,否则它必须⾃旋在那⾥,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以⽴即获得该读写锁,否则读者必须⾃旋在那⾥,直到写者释放该读写锁","如果锁的对象obj不存在时分别会走objc_sync_nil()和不做任何操作(源码分析可以先解决简单的逻辑分支)","对acquire类型和对象的断言判断","对self进行同步锁,这个似乎太臃肿了","对被修饰对象进行原子操作(不负责使用)","寻找链表中未使用的syncdata并作标记","导入头文件","尝试加锁","平时很少会直接使用读写锁pthread_rwlock_t,更多的是采用其他方式,例如使用栅栏函数完成读写锁的需求","当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果","循环等待访问,不释放当前资源(while循环)","循环调用且有线程影响时,请注意死锁,如果有死锁问题请使用@synchron","循环调用时用nsrecursivelock","快速、慢速流程都没找到缓存就会来到这步——在系统保存的哈希表进行链式查找","快速缓存的含义为:定义两个变量sync_data_direct_key/sync_count_direct_key,与tsl_get_direct/tls_set_direct配合可以从线程局部缓存中快速取得synccacheitem.data和`synccacheitem.lockcount","总结","想要了解一下nslock的底层原理,但发现其是在未开源的foundation源码下面的,但但是swift对foundation却开源了,可以在swift","接下来就通过源码探索来看一下@synchronized在使用中的注意事项","放⾃旋锁","无法结束解锁——形成死锁","既然@synchronized能在任意地方(vc、view、model等)使用,那么底层必然维护着一张全局的表(类似于weak表)。而从synclist和syncdata的结构可以证实系统确实在底层维护着一张哈希表,里面存储着synclist结构的数据。synclist和syncdata的关系如下图所示:","普通场景下涉及到线程安全,可以用nslock","查看资源check:不操作","检查每线程单项快速缓存中是否有匹配的对象","正常情况下(obj存在)会通过id2data方法生成一个syncdata对象","比对一下atomic的逻辑分支:","注意事项","注:不要将过多的其他操作代码放到锁里面,否则一个线程执行的时候另一个线程就一直在等待,就无法发挥多线程的作用了","源码分析","生成新数据并写入缓存","用于轻量级数据访问,简单的int值","由于osspinlock自旋锁的bug,替代方案是内部封装了os_unfair_lock,而os_unfair_lock在加锁时会处于休眠状态,而不是自旋锁的忙等状态","疑难解答","第一次加完锁之后还没出锁就进行递归调用","第三步情况均不满足(即链表不存在——对象对于全部线程来说是第一次加锁)就会创建syncdata并存在result里,方便下次进行存储","第二次加锁就堵塞了线程(因为不会查询缓存)","等等,前面不是刚说osspinlock因为安全问题被废弃了吗,但是苹果源码怎么还在使用呢?其实点进去就会发现用os_unfair_lock替代了osspinlock(ios10之后替换)","线程1中加锁1、同时线程2中加锁2","细数ios中的那些锁","而osspinlock忙等的机制就可能造成高优先级一直running等待,占用cpu时间片;而低优先级任务无法抢占时间片,变成迟迟完不成,不释放锁的情况","自从osspinlock出现了安全问题之后就废弃了。自旋锁之所以不安全,是因为自旋锁由于获取锁时,线程会一直处于忙等待状态,造成了任务的优先级反转","自旋锁","自旋锁的线程则会一直处于等待状态(忙等待)不会进入休眠——因此效率高","自旋锁:线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏,","获取该线程下的synccach","获取资源acquire:lockcount++并根据key值存入被锁次数","解决方案:","解决:","解锁","解锁1等待解锁2","解锁2等待解锁1","读写锁","读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的cpu数","读写锁更多使用栅栏函数来实现","读操作","输出结果并没有按代码表面的想法去走,而是只打印了一次value值","运行代码会崩溃,并会提示野指针错误","这个逻辑分支是找不到确切的线程标记只能进行所有的缓存遍历","这也是@synchronized作为递归锁但能防止死锁的原因所在:在不断递归的过程中如果对象不存在了就会停止递归从而防止死锁","这里介绍一下synccache和synccacheitem","这里做需要线程安全操作","这里有个重要的知识点——tls:tls全称为thread","递归锁","递归锁在使用时需要注意死锁问题——前后代码相互等待便会产生死锁","递归锁:可重入锁,同一个线程在锁释放前可再次获取锁,即可以递归调用","通过clang也能得到一些信息:","通过汇编能发现@synchronized就是实现了objc_sync_enter和","通过符号断点能知道这两个方法都是在objc源码中的","那么和nscondition的区别在于哪里呢?接下来看一下nsconditionlock源码","都说@synchronized性能低——是因为在底层增删改查消耗了大量性能","释放资源release:lockcount++并根据key值存入被锁次数。如果次数变为0,此时锁也不复存在,需要从快速缓存移除并清空线程数threadcount","释放锁","锁","锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(acquire)锁,并在访问结束之后释放(release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用","阻塞是一个主动行为","非原子性的属性除了没加锁,其他逻辑与atomic一般无二","非递归锁:不可重入,必须等锁释放后才能再次获取锁","顾名思义,就是nscondit","首先从它的注释中recurs"],"iOS/OCFoundation/AutoReleasePool.html":["!=","!debugpoolallocation)","!page","\"","\"autoreleas","\"just","\"objc_autoreleasenopool()","%p","%s","&&","(%p)","((id","((id)self)","((uint8_t","(*stop","(autoreleasepoolpag","(debugmissingpool","(debugpoolalloc","(debugpoolallocation)","(haveemptypoolplaceholder())","(hotpage())","(id","(id)autoreleas","(id)this;","(istaggedpointer())","(next","(obj","(page","(page)","(parent)","(prepareoptimizedreturn(returnatplus1))","(printpoolhiwat)","(pushextraboundary)","(result)","(stop","(thi","(tl","(token","(void*)empty_pool_placeholder)","(void*)obj,","*","*)","*)result","*)this+size);","*)this+sizeof(*this));","*)tls_get_direct(key);","*)token;","*add(id","*autoreleasefast(id","*autoreleasefullpage(id","*autoreleasenopage(id","*child;","*ctx","*ctxt){","*dest","*dest;","*hotpage()","*newparent)","*next;","*objc_autoreleasepoolpush(void){","*page","*page)","*page;","*parent","*push()","*result","*stop)","*stop;","*tl","*token)","...","//","//\"no","//haveemptypoolplaceholder的本质","//https://stackoverflow.com/questions/24952549/do","//push了一个空的池子,添加哨兵对象","//thread","//构造函数","//没有池子被push","//用于对当前","//相关操作方法","//第一种情况:autoreleasepool首次push的时候返回的,也就是最顶层的page执行pop会执行这一部分","//第三种情况:也就是我们经常碰到的情况","//第二种情况:在非arc的情况下,在新创建的线程中不使用autoreleasepool,直接调用autorelease方法时会出现这个情况。此时没有pool,直接进行autorelease。","0)","0),","0;","0x100816000","0x100817000中,它在内存中的结构如下:","1+parent","1.","1.子线程在使用autorelease对象时,如果没有autoreleasepool会在autoreleasenopage中懒加载一个出来。","1.自动释放池的前世今生","2.","2.在runloop的run:beforedate,以及一些source的callback中,有autoreleasepool的push和pop操作,总结就是系统在很多地方都差不多autorelease的管理操作。","2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。","2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。","3.","3.就算插入没有pop也没关系,在线程exit的时候会释放资源,执行autoreleasepoolpage::tls_dealloc,在这里面会清空autoreleasepool。","4.","4096","5.","6.深入了解runloop","7.带着问题看源码","8.autoreleasepool的实现",":","=","==",">add(obj)",">add(obj);",">add(pool_boundary);",">begin()",">begin());",">check();",">child",">child)",">child);",">child;",">depth",">empty()",">empty())",">fastcheck();",">full()",">full())",">full());",">hiwat",">istaggedpointer());",">kill();",">lessthanhalffull())",">next",">next));",">next,",">next;",">parent)",">parent;",">protect();",">releaseuntil(stop);",">rootautorelease();",">unprotect();","?","__attribute__((noinline))","__attribute__((noinline,used))","__unus","_objc_autoreleasepoolpop()","_objc_autoreleasepoolpush()","_objc_inform(\"miss","ad","add","alloc","argc,","argv[])","assert(!dest","assert(!hotpage());","assert(!istaggedpointer());","assert(!obj","assert(!par","assert(dest","assert(obj);","assert(pag","atautoreleasepoolobj","automat","autoreleas","autorelease(id","autoreleasefast","autoreleasefast(obj);","autoreleasefast(pool_boundary);","autoreleasefast分为三种情况:","autoreleasefullpag","autoreleasefullpage(obj,","autoreleasefullpage会从传入的page开始遍历整个双向链表,如果page满了,就看它的child节点,直到查找到一个未满的autoreleasepoolpage。接着使用autoreleasepoolpage构造函数传入parent创建一个新的autoreleasepoolpage的节点(此时跳出了while循环)。","autoreleasenewpag","autoreleasenewpage(pool_boundary);","autoreleasenewpage分为两种情况:","autoreleasenopag","autoreleasenopage(obj);","autoreleasepool","autoreleasepool,","autoreleasepoolpag","autoreleasepoolpage(autoreleasepoolpag","autoreleasepoolpage(nil);","autoreleasepoolpage(page);","autoreleasepoolpage::autorelease((id)this);","autoreleasepoolpage::pop(ctxt)","autoreleasepoolpage::push()","autoreleasepoolpage::push();","autoreleasepoolpage:pop(ctxt);","autoreleasepoolpage。","autoreleasepoolpage的","autoreleasepool并没有特定的内存结构,它是通过以autoreleasepoolpage为节点的双向链表。","autoreleasepool结构","autoreleasepool结构如图所示:","autoreleasepool(自动释放池)是oc中的一种内存自动回收机制,它可以延迟加入autoreleasepool中的变量release的时机。","autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池push和pop","autorelease方法","badpop(token);","beforewaiting(准备进入休眠)","begin()","begin();","bincompat","bool","break","built","case:","char","child","child(nil),","children","class","clear","cold","coldest","const","content","correctli","creat","debug","debug\",","debugmissingpools)","debugpoolallocation);","delet","depth(par","depth;","dest","dest;","dure","each","empti","empty()","empty_pool_placehold","empty_pool_placeholder)","empty_pool_placeholder);","end()","end();","entry(即将进入loop),其回调内会调用","error.","everyth","execut","false;","fatal","for循环才会,runloop才会进行休眠,如果说是按照系统的autoreleasepool来说,应该是休眠前才释放,但是,文中demo内存并没有显示出循环中内存暴涨,这也说明了,手动autorelesepool","full","full()","full.","half","haveemptypoolplaceholder()","hiwat(par","hiwat;","hot","hotpag","hotpage());","hotpage();","hotpage();获取。","hysteresis:","id","inlin","int","io","keep","leak","leav","lessthanhalffull()","level","magic(),","magic;","magic_t","main(int","memory:","memset((void*)pag","miss","mode的时候,就结束当前","more","necessary.","never","new","next","next(begin()),","nil;","non","normally.","now","nsthread","obj","obj)","obj);","obj,","obj;","objc_autoreleasenopool(obj);","objc_autoreleasepoolpop","objc_autoreleasepoolpop(atautoreleasepoolobj);","objc_autoreleasepoolpop(ctx);","objc_autoreleasepoolpop(void","objc_autoreleasepoolpush","objc_autoreleasepoolpush();","objc_object::rootautorelease()","objc_object::rootautorelease2()","objc_release(obj);","object","object_getclassname(obj));","object,它就会如下图所示移动到下一个为空的内存地址中:","observ","old","on","order","page","page\"意味着没有没有池子被push或者说push了一个空的池子","page);","page,","page.","pageforpointer(token);","parent","parent(newparent),","parent;","per","place","placehold","placeholder.","pointer和是否进行优化的情况(prepareoptimizedreturn这个后面也会提到),如果不满足这两个条件才会进入缓存池。","pool","pool.","pool1","pool2","pool3","pool_boundari","pool_boundary)","pool_boundary);","pool_boundary:","pool_sentinel","pool_sentinel。","pool_sentinel(哨兵对象)","pool_sentinel:","pools:","pool的情况下,","pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)","pop","pop(coldpage()","pop(pool1)","pop(pool2)","pop(pool3)","pop(top)","pop(void","popped,","printhiwat();","protect();","pthread_self(),","pthread_t","purpos","push","push()","pushextraboundari","push代码如下:","push执行的时候首先会进行判断,如果是需要每个pool都生成一个新page,即debugpoolallocation为yes,则执行autoreleasenewpage方法,否则执行autoreleasefast方法。","re","refer","releas","releaseuntil","releaseuntil(id","remain","result","result;","return","return;","rootautorelease2();","runloop","runloop第一个","runloop详解","runloop迭代.新的一轮runloop创建一个新的","runloop迭代结束进行释放。何为","scribble,","sdks.","setemptypoolplaceholder();","sethotpage(nil);","sethotpage(page);","sethotpage(parent);","sethotpage(this);","sizeof(*pag","sleep","special","start","static","step","stop","stop)","this;","thread(pthread_self()),","thread;","tls_get_direct(key);","top","true;","uint32_t","us","used.","usual.","void","want","whatev","{","{//push了一个空的池子","{}中代码","||","}","};","~","一个autoreleasepoolpage节点对应着一个线程,属于一一对应关系。","一个autoreleasepoolpage节点最大的位置","上述方法分三种情况选择不同的代码执行:","上面的","不是在内存峰值时候释放","不满","与","从next指针开始,一个一个向前调用objc_release,直到碰到push时压入的pool为止。","从上述代码可以知道push,pop都是操作","从上面的代码我们可以知道,既然当前内存中不存在autoreleasepoolpage,就要从头开始构建这个自动释放池的双向链表,也就是说,新的autoreleasepoolpage是没有parent指针的。","从上面的源码我们看到,对象调用autorelase方法,最后会变成autoreleasepoolpage的autorelease函数。autoreleasepoolpage的autorelease的本质就是调用autoreleasefast(obj)函数。只不过push操作插入的是一个pool_boundari","作用如上图","保存了当前页所在的线程","创建","创建一个","创建自动释放池。其","初始化一个新的页","初始化之后,将当前页标记为hotpage,然后会先向这个page中添加一个pool_boundary的标记,来确保在pop调用的时候,不会出现异常。","到自动释放池的栈顶,并且返回这个","前面讲到的page其实就是hotpage,通过autoreleasepoolpag","双向链表","可以理解为当前正在使用的","和","哨兵对象。","在arc环境中autoreleasepool(runloop)的研究","在查找到一个可以使用的autoreleasepoolpage之后,会将该页面标记成hotpage,然后调动add()方法添加对象。","在每个自动释放池初始化调用","在没有手加autoreleas","如果next指向beigin()说明为空","如果next指向end)说明满了","如果我们的一个","子线程autorelease对象何时释放","字节","存在page且未满,通过add()方法进行添加;","完整性的校验","就是一个","就是用来构造双向链表的指针。","嵌套","嵌套autorelesepool很好解释,pop的时候总会释放到上次push的位置为止,多层的pool就是多个哨兵对象而已,就像剥洋葱一样,每次一层,互不影响。","已满","并且当前","并在","底层转化为如上代码","当前page已满执行autoreleasefullpage方法;","当前不存在pageautoreleasenopage方法。","当前不存在page执行autoreleasenopage方法。","当前存在page执行autoreleasefullpage方法;","当然这么说并不严谨,因为我们需要考虑是否是tag","总结","所以autoreleasepool的运行过程应该是:","所以push的流程是:","所以一个空的autoreleasepoolpage的结构如下:","手动@autoreleasepool","手动autoreleasepool,如下文参考2例子,可以得知这个for循环中,每一次循环会清理掉一次内存,因为完全执行完","指向了下一个为空的内存地址,如果","指向的地址加入一个","接着我们看一下autoreleasepoolpage的构造函数以及一些操作方法:","接着看一下当对象调用autorelase方法发生了什么。","方法将对象添加至","无","时调用","时调用_objc_autoreleasepoolpop()","是","是以双向链表的形式连接起来的:","最后,将obj添加到自动释放池中。","有","来释放自动释放池。这个","栈中存放的指针指向加入需要release的对象或者pool_sentinel(哨兵对象,用于分隔autoreleasepool)。","栈中指向pool_sentinel的指针就是autoreleasepool的一个标记。当autoreleasepool进行出栈操作,每一个比这个哨兵对象后进栈的对象都会release。","每一个autoreleasepoolpage节点是一个堆栈结,且大小为4096个字节。","每一个线程都会维护自己的autoreleasepool堆栈,也就是说每一个autoreleasepool对应一个线程。","每一个自动释放池都是由一系列的","每个runloop中都会创建一个","每次pop,实际上都会把最近一次push之后添加进去的对象全部release掉。","消息,直到第一个","深入解析","添加一个autorelease对象,next指向下一个存对象的地址。","的","的大小都是","的时候,都会把一个","的栈","的栈中","监视了两个事件:","监视的事件是","第二个","组成的,并且每一个","结构","编译器会把@autoreleasepool{}改写成:","而当方法","自动释放池中的","自动释放池中的栈","表示了一个autoreleasepoolpage节点开始存autorelease对象的位置。","被初始化在内存的","解密runloop","调用","调用时,就会向自动释放池中的对象发送","这里我们主要分析下第三种情况。","进入","迭代结束?当前runloop","通过上面的代码我们知道当前页是存在tls(线程私有数据)里面的。所以说第一次调用push的时候,没有page自然连hotpage也没有。","释放旧的池并创建新池;exit(即将退出loop)","黑幕背后的autoreleas",",而autorelease操作插入的是一个具体的autoreleased对象即autoreleasepoolpage入栈操作。"],"iOS/OCFoundation/@synchronized.html":["!=","#defin","#endif","#if","%","&cach","&list_for_obj(object);","&lock_for_obj(object);","(!cache)","(!data)","(!fastcacheoccupied)","(!okay)","(&result","((addr","(addr","(cache)","(const","(data","(data)","(debugnilsync)","(i","(item","(lockcount","(nil)并不执行加锁解锁操作,会导致线程崩溃。","(nsinteg","(obj)","(objc_object","(result","(result)","(self)","(syncdata","(uintptr_t)tls_get_direct(sync_count_direct_key);","(void)viewdidload","(void*)1);","(void*)lockcount);","(whi","*)object;","*)tls_get_direct(sync_data_direct_key);","**)&result,","**.m","**listp","*cach","*data","*data;","*item","*listp","*listp;","*lockp","*p)","...","/","//","0)","0;","1","10","11","12","13","14","15","16","17","18","19","1;","2","20","21","22","23","24","25","26","27","28","29","3","30","31","32","33","34","35","4","4)","5","6","64","7","8","9","9))",":",":行数",";","=","==",">",">>",">data",">data;",">debug",">list[",">list[cach",">list[i]",">list[i];",">lock();",">lockcount",">mutex)",">mutex.lock();",">mutex.tryunlock();",">nextdata",">object",">perform",">threadcount",">threadcount);",">unlock();",">used++;",">used].data",">used].lockcount",">used];","@synchron","@synchronized(nil);","@synchronized(obj)","@synchronized详解","@synchronized,这儿比你想知道的还要多","[super","^","_objc_inform(\"nil","_objc_sync_exit。","acquire);","acquire:","action","add","addr","again.","alignas(cachelinesize);","alignof(syncdata),","alloc","allocating,","alway","arc","array[indexforpointer(p)].value;","array[stripecount];","assembl","assert(data);","bad","block","bool","break;","breakpoint","cach","case","check:","class","constexpr","continue;","data","data(nil),","data;","debug","debug\");","debug:","disassembl","disguisedptr","done:","done;","enum","fastcacheoccupi","fetch_cache(no);","fetch_cache(yes);","for循环","free","global","goto","guy","held","i++)","i;","id2data(id","id2data(obj,","indexforpointer(const","int","int32_t","io","item","key","list.","list_for_obj(obj)","lock","lock(fork_unsafe_lock)","lock,","lock;","lock_for_obj(obj)","lockcount","lockcount++;","lockcount;","lockp","lock,其加减锁的时机是在加入缓存的时候实现的,线程缓存找不到任何内容时,会加一个自旋锁。但是","memori","mutex","mutex;","n","never","new","nextdata","nextdata;","nil","nil;","no;","nslog","nslog(@\"io","null);","null;","obj","obj)","obj1","objc_sync_ent","objc_sync_enter(id","objc_sync_exit","objc_sync_exit(id","objc_sync_exit。","objc_sync_nil","objc_sync_nil();","objc_sync_not_owning_thread_error;","objc_sync_success;","object)","object,","object;","obj传入sdatalist","often.","okay","operator[]","os_unfair_lock","osatomicdecrement32barrier(&result","paddedt","posix_memalign((void","practice,","product","public:","recursive_mutex_t","recursive_mutex_t(fork_unsafe_lock);","refer","reinterpret_cast(p);","releas","release)","release);","release:","result","result);","result;","return","sdatalists;","sdatalists[obj].data","sdatalists[obj].lock","search","self.array","set","setarray:","show","sizeof(syncdata));","spinlock_t","spinlock_t。","static","stripecount","stripecount;","stripedmap","struct","stuck","support_direct_thread_key","switch(why)","sync","synccach","synccacheitem","syncdata","syncdata*","syncdata;","syncdata。","syncdata,并且会调用命名为自旋锁的互斥锁","synclist","synclist()","synclist。","synclist结构体,内部data就是syncdata","t","t&","threadcount;","tl","tls_set_direct(sync_count_direct_key,","tls_set_direct(sync_data_direct_key,","typedef","uintptr_t","unsign","usag","usage)","used;","valu","veri","viewdidload];","void","why)","won't","workflow","worth","xcode","xxx","yes;","{","{}","}","};","一个值得注意的是,多线程处理时,对应线程可能使用相同的obj","一般来说,我们就像下面的示例一样来使用:","下","不同的","不存在,我们需要创建一个对应的syncdata。最后创建","个","中","中找到了_objc_sync_ent","中的代码在多线程的情况下线程安全","中说","为","为什么","为什么我们在开头我们说","为什么我们要在使用","从上述代码看出整体stripedmap是一个哈希表结构,表外层是一个数组,数组里的每个位置存储一个类似链表的结构(synclist),syncdata","从源代码和注释中,我们可以发现:","以其使用成本成为大部分用户选择,但是性能问题却一直成为他人的诟病。","会变成","使用哈希表的原因就是为了避免多个obj之间的竞争,其哈希函数是基于obj而不是其他。当我们使用","关于","其本质就是一个哈希表,外层是一个数组,数组里的每个位置存储一个类似链表的结构","其本质应该是一个链表的头结点,因为使用","函数获取确定的","创建了一个基于","创建多个不同的","创建缓存等,最差情况下即","前面我们说过,synclist","原理","另一个是使用","只是一个命名为自旋锁的互斥锁","同样会导致线程安全问题。","呢?我们看一下使用的","和","和_objc_sync_exit","和_objc_sync_exit。让我们来看看其具体实现","和两个_objc_sync_exit。由此可知,当代码离开","和其被加的自旋锁","哈希函数","哈希表结构","哈希表结构,内部存synclist","在所有的线程安全的方案中,@synchron","处,经过哈希函数计算得出索引2,起初我们要顺着上面的","多线程同步锁中性能最差的一个。但是却是所有锁中使用起来最简单的一个。","如果我们要了解具体如何获取到,我们需要查看","存储的位置具体依赖第25行处的哈希函数,如图:","存在一个自旋锁","存在,但是线程缓存不存在。如果","寻找确定对应值","并不会执行任何操作","并不能保证线程安全,当我们使用一个可能变成","当","当存在缓存时,根据是否支持","当我们使用时,通过","当我们在测试项目中,键入如下代码:","当我们在调用","当我们想探究某个方法的底层是怎么实现的,我们可以通过汇编部分来探究这部分代码的具体实现。","当我们拿到","当执行","当没有没有缓存时,我们需要创建对应的缓存。","性能差的","总结","慎用","成长指北\");","我们可以查找上述两个方法,最终在","我们最终加锁解锁的是","我们有两种方法来查看汇编部分","我们看看","操作,在某个线程中会出现","文件","方法之后,还会调用一次","方法时,存在一个_objc_sync_ent","时,_objc_sync_ent","时,会发生线程安全问题。","时,找到具体代码的汇编写法,如同红框中的示例。","时,首先先根据hash(obj)","是","是性能最差的呢?因为其包含的操作极为复杂,除了常规的加锁解锁操作以外,还需要考虑哈希表寻址,缓存获取","显示汇编,然后挂上断点,运行程序","有什么优点吗","来创建的,但是并没有创建线程缓存,即","来实现缓存。","来查找。","来获取对应","来获取的","此处的p就是上面的obj,也就是obj执行上面的哈希函数对应到数组的index","源码解析","的","的作用","的其他实现","的头结点时,我们需要查找链表中对应的","的头节点syncdata,那么后续做什么呢?","的对象作为","的情况,而","的成对调用。从汇编调用上看,似乎并不是?","的方法会执行一个","的方法实现是不同的。一个是根据","的时候,我们需要传一个obj","的时机","的线程缓存,并返回对应的","的递归互斥的锁","线对list进行查找,没找到,将当前的obj插入到最前面,也是为了更快的找到当前使用的对象而这么设计。","结构体,是利用","罢了。","获取对应","萧玉大佬在其《关于","这个例子会发生崩溃,是因为","这个例子来自于参考资料","这样就可以保证","这里,我们使用第二种方法来查看汇编部分,使用第二种方式有便于我们查找代码的具体位置。当我们搜索","闭包时,会再执行一次",",如果不合理的使用",",寻找对应的",",并加递归互斥锁。",",稍微修改了一下创建的次数,如果是真机调试可能需要更少的调试次数,模拟器的话其支持的次数会比较多一点。","?注意,这里我们有一个?"],"iOS/SourceCode/YYASyncLayer.html":["!=","\"","#defin","#pragma","(.m)","([uidevic","(^diddisplay)(calay","(^display)(cgcontextref","(^iscancelled)(void)","(^willdisplay)(calay","(__bridg","(_selector)","(_target)","(cur","(dispatch_semaphore_t)","(gpu)","(instancetype)init","(int)[nsprocessinfo","(int32_t)increas","(int32_t)increase;","(int32_t)valu","(io","(iscancelled())","(long)((void","(long)_target;","(nonatomic,","(nsuinteg","(nsuinteger)hash","(nullable,","(readonly)","(selector),实际上一个","(target)","(task.diddisplay)","(transactionset.count","(void)_cancelasyncdisplay","(void)_displayasync:(bool)async","(void)display","(void)drawlayer:(calay","(void)setneedsdisplay","(yyasynclayerdisplaytask","(也是一个核心原理)","(垂直同步信号)","(多边形绘制)、catextlayer(文本绘制)、cagradientlay","(渐变绘制)","(硬件层面),不需要","(软件层面)","(进程间通信)","*","*)_selector);","*)layer","*)newasyncdisplaytask;","*currentset","*imag","*info)","*layer);","*layer,","*sentinel","*stop)","*task","*transaction,","*transactionset","...",".h",".m",".value时,说明当前绘制任务已经被放弃,就需要及时的做返回逻辑。","/","//","//global","//使用栈区的数组存储队列","//最大队列数量","//要点","//队列数量","0)","0;","0xffffff,","0xffffff,优先级在","1","1.","10","16","1、初始化配置","1、提交任务","1、界面卡顿的实质","2","2.","2、uikit","2、yyasynclayerdeleg","2、合适的回调时机","3","3、uikit","3、异步绘制的核心逻辑","3、自定义","4、及时的结束无用的绘制","4、多核设备带来的可能性","5、异步线程的管理","60","8.0","8.0)",":","=","==",">=","?","@2x","@2x和@3x图","@2x和@3x图是苹果一个优化显示效果的机制,当","@3x","@end","@implement","@interfac","@properti","@protocol","@requir","[_sentinel","[calay","[currentset","[deleg","[nsmutableset","[self","[super","[transaction.target","[uiscreen","[yysentinel","^","^bool()","^{","__strong","_cancelasyncdisplay];","_cancelasyncdisplay是取消绘制,稍后解析实现逻辑;","_displayasync:_displaysasynchronously];","_displayasync是异步绘制的核心方法。","_displaysasynchron","_sentinel","_sentinel;","_value;","activity,","app","assign)","bool","bool(^iscancelled)(void));","cadisplaylink","calay","calayer会生成一个back","calayer,对外暴露了一个方法可开闭是否异步绘制。","cashapelay","catransact","catransaction(2000000)","cfrelease(observer);","cfrunloopact","cfrunloopaddobserver(runloop,","cfrunloopgetmain();","cfrunloopobservercreate(cfallocatorgetdefault(),","cfrunloopobserverref","cfrunloopref","cgcontextref","cgfloat","cgimag","cgsize","clang","commit","content","context","context,","copy)","coreanim","coregraph","counter","cpu","currentdevice].systemversion.floatvalu","deleg","diagnost","dispaly]方法调用的时候,他会检查","dispalyerlayer方法是否被实现了,若没有实现则我们调用系统的绘制方法。首先","dispatch_async(dispatch_get_main_queue(),","dispatch_async(yyasynclayergetdisplayqueue(),","dispatch_once(&oncetoken,","dispatch_once_t","dispatch_queue_priority_background:","dispatch_queue_priority_default:","dispatch_queue_priority_high:","dispatch_queue_priority_low:","dispatch_queue_t","display],而这个方法会判断是否实现了displaylayer这个方法,如果没有实现,那么走系统调用,如果实现了就为我们提供了异步绘制的入口。具体可以参看下面的流程图","displaysasynchronously;","drawincontext:]方法,进而调用[uiview","drawlayer:incontext:","drawrect:]方法。","drawrect:方法),需要分配一个内存占用较高的上下文context,与此同时,calay","enumerateobjectsusingblock:^(yytransact","finished);","fps),也就是减小","gpu","hash","hash。这里将","id","id)(image.cgimage);","ignor","incontext:(cgcontextref)ctx方法,否则调用","increase];","increase方法是使用","init];","int","int32_t","io","ipc","iphon","iphone4","iscancelled);","kcfrunloopbeforewait","kcfrunloopcommonmodes);","kcfrunloopexit","kcfrunloopexit,","leaks\"","long","mainscreen].scale;","max_queue_count","n","new];","newasyncdisplaytask];","nil;","no);","nonatomic,","nsmutableset","nsobject","nsset","null);","oberv","observ","observer,","observer;","oncetoken;","opaque,","osatom","osatomicincrement32(&_value);","osatomicincrement32()","osatomicincrement32()是原子自增方法,线程安全。在日常开发中,若需要保证整形数值变量的线程安全,可以使用","performselector","performselector:transaction.selector];","pop","processinfo].activeprocessorcount;","ps:关于多核设备的线程性能问题,后面分析源码会讲到","push","qos_class_background","qos_class_default","qos_class_user_initi","qos_class_user_initiated,低于用户交互相关的qos_class_user_interactive。","qos_class_util","queuecount","queuecount;","queues[max_queue_count];","rect中通过uigraphicsgetcurrentcontext()","rect之后,通过context将数据写入back","refer","repeat","return","return;","runloop","runloop,在处理完重要逻辑(即","scale","scale);","scale;","sel","selector;","self","self.cont","self.contentsscal","self.delegate;","self;","sentinel.value;","setneedsdisplay];","setneedsdisplay]方法,给layer上打上一个脏标记,意味着需要重绘。但是只有在下一次runloop即将结束的时候才会调用[calay","setneedslayout]/","size,","static","store(cgcontextref),每个layer都有一个content,这个content指向的一块缓存称为back","store。如果layer有delegate,则调用delegate的","store。当back","store中的bitmap数据显示在屏幕上。","store写完之后,通过rendserver交给gpu去渲染,将back","strong)","super.cont","super.contents;","target;","task.diddisplay(self,","task.display(context,","transactionset","transactionset;","true,","uigraphicsbeginimagecontextwithoptions(size,","uigraphicsendimagecontext();","uigraphicsgetcurrentcontext();","uigraphicsgetimagefromcurrentimagecontext();","uiimag","uikit","uikit会将这个conext推到系统的context堆栈中,如果在draw","uiview如何显示内容","v1","v2","v2;","valu","value;","void","vsync","warc","yes);","yes;","yyasynclay","yyasynclayer.h","yyasynclayerdeleg","yyasynclayerdisplaytask","yyasynclayerdisplaytask是绘制任务管理类,可以通过willdisplay和diddisplay回调将要绘制和结束绘制时机,最重要的是display,需要实现这个代码块,在代码块里面写业务绘制逻辑。","yyasynclayergetdisplayqueue()","yyasynclayergetdisplayqueue()方法如何获取的异步队列,也先不用管iscancelled()判断做的一些提前结束绘制的逻辑,这些后面会讲。","yydispatchqueuepool","yyrunloopobservercallback(cfrunloopobserverref","yyrunloopobservercallback,","yysentinel","yysentinel.h","yytext","yytransact","yytransaction()","yytransaction.h","yytransactionsetup()","{","{...}","|","}","});","};","}];","一目了然,只是将集合中的任务分别执行。","一看便知,该类扮演的是计数的角色,值得注意的是,","三、yysentinel","上面有提到一个集合:","下面看看回调里面做了些什么:","不同的","不管是创建上下文、重绘带来的内存重新分配、ipc","不过是初始配置并且将任务装入集合。","个串行队列实现并发","个串行队列来调度,而不用一个并行队列。","个任务,也就是最多有","个线程是相互不竞争","个绘制任务时,可以开辟多个线程在后台异步绘制,绘制成功拿到位图回到主线程赋值给","中添加了一个","为了解决这个问题,作者使用了大量的判断来及时的结束无用的绘制,可以看看源码或者是上文贴出的异步绘制核心逻辑代码,会发现一个频繁的操作:","为什么要使用","为什么需要异步绘制?","主要是因为并行队列无法精确的控制线程数量,很有可能创建过多的线程,导致","举个例子:","二次封装的","五、yyasynclay","从这里可以看出,作者使用一个“低姿态”侵入主线程","代理","以上的系统,队列的优先级为","以下的系统,通过dispatch_set_target_queue()函数设置优先级为dispatch_queue_priority_default(第二个参数如果使用串行队列会强行将我们创建的所有线程串行执行任务)。","传递给设备显示系统。值得注意的是:当重绘时需要抹除这个上下文重新分配内存。","使用原子自增函数osatomicincrement32()对局部静态变量counter进行自增,然后通过取模运算轮询返回队列。","保持界面流畅的技巧","值为","值依托于_selector和_target的内存地址,那就意味着两点:","值就相同。","做任何绘制。ca","做的事情就是记录一系列事件,并且在合适的时机调用这些事件。","先不用管","关于两种类型优先级的对应关系是这样的:","内部可以提交结果到另一个空闲的帧缓冲区了;接着","再一次到来的时候,切换帧缓冲区......","再来看一下","删减了部分代码:","到来准备切换帧缓冲区时,若空闲的帧缓存区并未收到来自","协议的","即将进入休眠或者即将退出时遍历执行,相同的方法接收者","去除了判断","及以上,也就是说至少都是每个逻辑像素长度对应两个物理像素长度。所以很多美工会只切","及其以上的","取得的cgcontextref就是calayer生成的这个实例。所有的绘制操作也会在这块context上生效。","可以猜测主队列的优先级是大于或等于qos_class_user_interactive的,让这些串行队列的优先级低于主队列,避免框架创建的线程和主线程竞争资源。","可以看到两个方法,","可能会想到用信号量","可能有人会有疑惑,为什么这里需要使用","同一个","同时还创建了一个yysentinel实例。","周期内可以视为重复调用。","周期多次的绘制请求为一个。","和","和其他编程语言一样","和方法","和相同的方法","哪一个出现问题导致不能及时的提交渲染结果到帧缓冲区,都会导致掉帧。优化界面流畅程度,实际上就是减少掉帧(ios设备上大致是","四、yytransact","回调的优先级避免与系统绘制逻辑竞争资源,使用nsset合并了一次","图片或者使用","图给你,而不切一倍图。","图,当scale为","图,这就意味着,calayer的contentsscale要和设备的scale对应才能达到预期的效果(不同设备显示相同的逻辑像素大小)。","在","在一个","大部分","实例,_selector和_target只要有一个内存地址不同,就会在集合中体现为两个值。","实例,_selector和_target的内存地址都相同,在集合中的体现为一个值。","实际上","对任务的管理是使用的一个栈结构,而","将会优先满足,而忽略掉contentsscale。","就是一个任务,而全局区的","布局,计算完成交由","带来压力,这个时候就很容易掉帧(主要是文本控件,大量文本内容的计算和绘制过程都相当繁琐)。","并行","并行一定并发,并发不一定并行。在单核设备上,cpu通过频繁的切换上下文来运行不同的线程,速度足够快以至于我们看起来它是‘并行’处理的,然而我们只能说这种情况是并发而非并行。例如:你和两个人一起百米赛跑,你一直在不停的切换跑道,而其他两人就在自己的跑道上,最终,你们三人同时到达了终点。我们把跑道看做任务,那么,其他两人就是并行执行任务的,而你只能的说是并发执行任务。","幸运的是,uiview和uiimageview默认处理了它们内部calayer的contentsscale,所以除非是直接使用calayer及其衍生类,都不用显式的配置contentsscale。","库代码很清晰,就几个文件:","库是否存在的代码,实际上那就是作者提取的队列管理封装,思想和以下代码一样。","异步绘制","当","当你开辟的线程过多,超过了处理器核心数量,实际上某些并行的线程之间就可能竞争同一个处理器的资源,频繁的切换上下文也会消耗处理器资源。","当我们操作ui时,例如改变frame、更新uiview/calayer,或者自己去调用setneedslayout/setneedsdisplay方法,uiview会调用","当然更加放心。","当然,首选优化方案是","很像,他们同为“事务”,但实际上很不一样。通过","很明显,在提交重绘请求时,计数器加一。","很简单,方法接收者","循环即将进入休眠或者即将退出的时候。而该","性能瓶颈","我们首先看一下系统绘制,当[calay","或","或者其子类需要创建一个等大的寄宿图contents。当基于","所以,实际上一个","所以,笔者认为:超过处理器核心数量的线程没有处理速度上的优势,只是在业务上便于管理,并且能最大化的利用处理器资源。","执行","执行完draw","方法时(等同于uiview","方法来对value执行自增。","时会优先读取","是使用的集合来管理任务。","是基于","替代方案:coreanim","有两个属性:","来控制并发,然而这样只能控制并发的任务数量,而不能控制线程数量,并且使用起来不是很优雅。而使用串行队列就很简单了,我们可以很明确的知道自己创建的线程数量,一切皆在掌控之中。","来进行绘制,当同一时刻过多组件需要绘制或者组件元素过于复杂时,必然会给","核设备同一时刻最多能","框架。calay","框架下的","框架下的方法,它往往性能比使用各种“锁”更为优越,并且代码优雅。","框架可以通过图片上下文将绘制内容制作为一张位图,并且这个操作可以在非主线程执行。那么,当有","框架,实际上它是依托于","此时就很清晰了,在异步线程创建一个位图上下文,调用task的display代码块进行绘制(业务代码),然后生成一个位图,最终进入主队列给yyasynclayer的contents赋值cgimage由","注意这里使用了一个判断:if","渲染完成的帧缓冲区数据进行绘制的同时,还会通过","渲染过后提交到显示系统。","渲染,渲染完成提交到帧缓冲区;当","源码剖析:异步绘制","物理像素","由此可知,不管是","的","的yytextview中,主要是为了将自定义的绘制逻辑装入transactionset,然后在","的优先级是","的区别:","的压力提高性能。","的后面。","的大部分属性都是由","的寄宿图属性。","的嵌套用法猜测","的性能比较差,日常开发中要尽量避免直接在主线程使用。通常情况下,直接给","的提交,此次切换就会作罢,设备显示系统会放弃此次绘制,从而引起掉帧。","的某个时机回调,用于处理异步绘制事件。","的衍生类就能实现大部分需求,还能充分利用硬件支持,图像处理交给","的软件绘制。在实现calayerdeleg","的软件绘制完成,还需要通过","的集合,它是不能有重复元素的,而判断是否重复毫无疑问是使用","监听,回调的时机是","看看这个代码块的实现:","等机制通知","等都有较高的效率,非常实用。","算法","算法:","管理的绘制任务)之后做异步绘制的事情,这也是作者对优先级的权衡考虑。","类是一个计数的类,是为了记录最新的布局请求标识,便于及时的放弃多余的绘制逻辑以减少开销。","类是事务类,捕获主线程","类继承自","类重写了","类默认的","系统绘制:","线程调度过于频繁,影响交互性能。","组件的绘制是在主线程进行,需要","绘制的","继承自","而串行队列中只有一个线程,","至于该类的实际作用后文会解释。","要点","要结束时统一执行,runloop","计算","设备scale为","设备scale都是","设备是双缓存+垂直同步);在读取经","设备显示器每绘制完一帧画面,复位时就会发送一个","该框架中,作者使用和处理器核心相同数量的串行队列来轮询处理异步任务,有效的减少了线程调度操作。","该类非常简单:","貌似和系统的","资源。当然,这种场景主要是出现在列表界面快速滚动时,由于视图的复用机制,导致重新绘制的请求非常频繁。","资源的。","赋值","较为糟糕的性能。然而可喜的是,市面上的设备都已经不是单核了,这就意味着可以通过后台线程处理耗时任务,主线程只需要负责调度显示。","还是","这个代理实际上就是框架和业务交互的桥梁,不过这个设计笔者个人认为有一些冗余,这里如果直接通过代理方法与业务交互而不使用中间类可能看起来更舒服。","这么做的意义是什么呢?","这就是yysentinel计数类起作用的时候了,这里用一个局部变量value来保持当前绘制逻辑的计数值,保证其他线程改变了全局变量_sentinel的值也不会影响当前的value;若当前value不等于最新的_sentinel","这样可以避免重复的方法调用。加入transactionset中的事件会在","这里在主线程的","这里设置了yyasynclayer的contentsscale为屏幕的scale,该属性是","进制的内存地址,这里作者将_selector和_target的内存地址进行一个位异或处理,意味着只要_selector和_target地址都相同时,hash","通过以上说明,可以了解","逻辑像素,这样可以充分利用不同设备的显示器分辨率,绘制更清晰的图像。但是若contentsgravity设置了可拉伸的类型,coreanim","那么,何时改变这个计数?","那么,实际上核心代码可以更少:","都会带来性能上的较大开销。所以","重写绘制方法","针对同一个yyasynclayer,很有可能新的绘制请求到来时,当前的绘制任务还未完成,而当前的绘制任务是无用的,会继续消耗过多的","集合就是用来存储这些任务。提交方法","首先要明白,并发","(参考",")",",不同的是作者封装了异步绘制的逻辑便于使用。",",即是主线程",",并且此时切换帧缓冲区",",当cur自增越界时就会变为负数最大值(在二进制层面,是用正整数的反码加一来表示其负数的)。",":串行队列数量和处理器数量相同",":创建串行队列,设置优先级",":轮询返回队列"],"iOS/SourceCode/FluentDarkModeKit.html":["!=","!dm_swizzleinstancemethod(#selector(setter:","!dm_swizzleinstancemethod(#selector(willmove(towindow:)),","\"dynamictintcolorkey\"","#endif","#if","#selector(dm_settintcolor))","#selector(dm_willmove(towindow:)))","#selector(setter:","#selector(willmove(towindow:))))","&constants.dynamictintcolorkey)","&constants.dynamictintcolorkey,","(*dm_original_setbackgroundcolor)(uiview","([color","(bool)iskindofclass:(class)aclass","(darkmodekit)","(dmdynamiccolor","(dmtraitcollection.currenttraitcollection.userinterfacestyl","(id)copi","(id)copywithzone:(nszon","(imp)dm_setbackgroundcolor);","(instancetype)initwithlightcolor:(uicolor","(instancetype)initwithlightimage:(uiimag","(nonatomic,","(nsmethodsignatur","(uicolor","(uiimag","(void","(void)dm_swizzlesetbackgroundcolor","(void)forwardinvocation:(nsinvoc","(void)setdm_dynamicbackgroundcolor:(dmdynamiccolor","*);","*)[[dmdynamiccolorproxi","*)color;","*)colorwithalphacomponent:(cgfloat)alpha","*)darkcolor","*)darkcolor;","*)darkimag","*)darkimage;","*)dm_colorwithlightcolor:(uicolor","*)dm_dynamicbackgroundcolor","*)dm_imagewithlightimage:(uiimag","*)dm_namespace:(dmnamespace)namespac","*)initwithlightcolor:(uicolor","*)invoc","*)lightcolor","*)lightimag","*)method_getimplementation(method);","*)methodsignatureforselector:(sel)sel","*)resolvedcolor","*)zone","*,","*color)","*darkcolor;","*dynamiccolor","*lightcolor;","*resolvedcolor;","*resolvedimage;","*self,","+",",重新赋值",".black)",".h",".m",".normal)",".objc_association_copy_nonatomic)",".white,","//","///","0,","1.","1.0)","1.fluentdarkmodekit","2.",":","=","==","@end","@implement","@interfac","@objc","@properti","@selector(dm_dynamicbackgroundcolor),","@selector(setbackgroundcolor:));","[[dmdynamiccolor","[[dmdynamiccolorproxi","[dynamiccolor","[invoc","[self","[self.resolvedcolor","^{","__swift__","_cmd);","_cmd,","alloc]","alpha:","appear","appl","as?","assertionfailure(darkmodemanager.messageforswizzlingfailed(class:","backgroundcolor","button","button.settitlecolor(color,","button.titlecolor(for:","c","class]])","class_getinstancemethod(self,","color","color);","color:","colorwithalphacomponent:alpha]","colorwithalphacomponent:alpha]];","colorwithlightcolor:(uicolor","conform","constant","conveni","copywithzone:nil];","dark:","darkcolor:(uicolor","darkcolor:[self.darkcolor","darkcolor:darkcolor];","darkcolor:self.darkcolor];","darkcolor;","darkcolor。对于这种属性设置,需要在设置","darkcolor。这样","darkimage:(uiimag","darkimage。","debugprint(\"equal\")","debugprint(\"not","dispatch_once(&oncetoken,","dispatch_once_t","dm_","dm_dynamicbackgroundcolor,","dm_dynamictintcolor","dm_dynamictintcolor:","dm_original_setbackgroundcolor","dm_original_setbackgroundcolor(self,","dm_setbackgroundcolor(uiview","dm_settintcolor(_","dm_settintcolor(color)","dm_updatedynamiccolor","dm_updatedynamiccolors()","dm_updatedynamicimag","dm_updatedynamicimages()","dm_willmove(towindow","dm_willmove(towindow:","dmdynamiccolor","dmdynamiccolorproxi","dmdynamiccolorproxy。","dmdynamiccolorproxy)赋值给","dmdynamicimageproxi","dmdynamicimageproxy。","dmdynamicimageproxy,由","dmnamespac","dmnamespace,","dmtraitcollectiondidchang","dmuserinterfacestyledark)","dynam","dynamiccolor","dynamiccolor?","dynamictintcolorkey","equal","equal\")","extens","fluentdarkmodekit","fluentdarkmodekit的代理","for:","func","gener","https://stackoverflow.com/questions/42677534/swizzl","imagewithlightimage:(uiimag","image。","import","init(_","init(_:light:dark:)","init];","initializer.","initwithlightcolor:[self.lightcolor","initwithlightcolor:lightcolor","initwithlightcolor:self.lightcolor","instead.\");","invokewithtarget:self.resolvedcolor];","iskindofclass:[dmdynamiccolor","iskindofclass:aclass];","light:","lightcolor","lightcolor;","lightimag","mark:","method","method_setimplementation(method,","methodsignatureforselector:sel];","more","name:","need","newvalue,","nil","nil;","ns_assume_nonnull_begin","ns_assume_nonnull_end","ns_swift_name(dynamiccolor)","ns_swift_name(init(_:light:dark:))","ns_swift_name(init(_:light:dark:));","ns_swift_unavailable(\"us","nscopi","nsobject","nsproxi","nsproxy类,类中包含两种uicolor颜色,利用这个动态消息转发,根据当前主题颜色,返回不同颜色","nsproxy,它将所有的事件转发到","objc_association_copy_nonatomic);","objc_getassociatedobject(self,","objc_setassociatedobject(self,","object","oncetoken;","privat","properti","readonly)","refer","resolvedcolor","resolvedimag","resolvedimage,这样在外界看来","return","sel","sel,","selector","selector:","self.darkcolor","self.darkcolor;","self.dm_dynamicbackgroundcolor","self.init(white:","self.lightcolor","self.lightcolor;","self;","set","setbackgroundcolor","setter:","settintcolor:","static","strong)","struct","subviews,一层一层的获取到,然后根据当前的模式进行修改颜色。对于不在页面上显示的","swift","swizzlesettintcoloronce:","swizzlewillmovetowindowonce:","tintcolor","tintcolor)))","tintcolor),","titlecolor","to:","todo:","ui","uiapplication开始往下遍历到每个","uibutton()","uicolor","uicolor(.dm,","uicolor)","uicolor,","uicolor,但是在","uicolor,并且可以根据系统的模式返回对应的颜色。","uiimag","uiimage,但是可以根据当前的模式返回不同的","uiview","uiview.self,","uiview上,执行","uiwindow?)","var","view","view.backgroundcolor","view等一系列控件颜色,","view,只能通过替换","void","willmove(towindow:)","window","window)","window:","{","}","}()","});","中添加了","中的方面名称。","中,在初始化方法前面添加了一个自定义的枚举","中,我们可以看出它真正创建的是一个","也就是说,同样是给颜色进行赋值,但是","也是将事件转发到","做最终的处理结果","其他方法的替换","利用","动态消息转发思想,当切换主题色时候,从","参数。","可以通过","后,再和原来的颜色进行对比,结果是否相等?","命名空间","和","和颜色的实现原理一样,也声明了","图片","在","在具体的实现中,dmdynamicimageproxi","在该框架中","在调用这些方法时,返回的类型依然为","声明了dmdynamiccolor","如果使用","对","对一个颜色进行赋值,再取出时类型却变成","对外的表现就是一个","对这类的属性进行了替换,例如","微软的暗黑模式适配框架","总结:","我们先来看一个小测试,同一个颜色(实际类型为","或者","所以","承载了两种模式下的不同颜色和不同图片。","文件中,我们可以看出","方法,在添加到","时更新当前模式对应的颜色和图片。","时进行保存。","是少数不继承自","是根据当前系统的模式返回的","替换","替换设置方法","有点特殊,替换代码如下:","来判断编译环境,通过","来指定在","根据当前的模式返回","框架中的方法。虽然在实际的编程中都不会这样做。","注意:对于","注意:这种形式,并没有起到命名空间的作用。在代码中,依然可以定义相同的方法:","的","的代码中,通过","的初始化方法进行了扩展,为了避免冲突,在","的前缀,在","的处理是不一样的,有的和被赋予的值一致,有的则不一致。(应该是有些赋值会对颜色进行拷贝)","的方法","的方法中返回值为","的时候:","的类型。","的表现就是","的,dmdynamiccolorproxi","的,dmdynamicimageproxi","的,它就丢失了","类,","继承子","继承自","记录","设置","设置的时候,记录","设置背景色","调用","赋予的是一个","转化","输出:","这样就覆盖了","都进行了实现,目的就是当","页面上显示的","颜色",",而"],"iOS/SourceCode/KTVHttpCache.html":["\"一个source读完,切换到下一个source\"","\"两个数组保存两种数据来源\"","\"从source里读取数据\"","\"创建了两个文件句柄,读和写。\"","\"接收到数据之后,写入文件。\"","\"有可用数据了,需要回调通知。\"","\"读取数据最开始的入口\"","\"这个回调获取有可用的数据的通知。\"","\"这个方法就会触发response的readdataoflength\"","#pragma","%@\",","%@\\npath","%@\\nunit","%@\\nunititem","%@\\nurl","%lld\",","%lld,","&&","(!self.downloadcalledcomplete)","([self.currentsourc","(data.length","(double)self.readedlength","(double)self.response.contentlength;","(itemmax","(ktvhcdataunititem","(length","(long","(max","(min","(nsdata","(nsexcept","(nsobject","(self.currentsource)","(self.currentsource.isfinished)","(self.error)","(self.isclos","(self.isclosed)","(self.isfinished)","(self.reader.isfinished)","(self.reader.isprepar","(self.response.contentlength","(self.sourcemanager.isfinished)","(void)ktv_download:(ktvhcdownload","(void)ktv_reader:(ktvhcdataread","(void)ktv_readerdidprepare:(ktvhcdataread","(void)ktv_readerhasavailabledata:(ktvhcdataread","(void)preparesourcemanag","*)data","*)download","*)error","*)httpresponseformethod:(nsstr","*)method","*)path","*)readdataoflength:(nsuinteger)length","*)reader","*)respons","**ktvhcdatanetworksource和ktvhcdatafilesourc","*data","*datarequest","*error","*exception)","*filesourc","*item","*networksourc","*paramet","*path","*player","*proxyurl","*request","*respons","*sourc","*unit","*unititem","*url","+","+=","/","0)","1);","1.","1;","1、ktvhchttpserver:","1、使用ios自带的avurlasset的avassetresourceloader来实现。","2.","2、ktvhcdatareader和ktvhcdatasourcemanag","2、在客户端搭建local服务器,local服务器作为中间者,代替客户端请求服务器数据,并将获取到的数据缓存,再提供给客户端。",":","=","==",">",">_finish",">_progress",">_readedlength",">_respons","@catch","@interfac","@tri","[[ktvhcdatanetworksourc","[[ktvhcdatarequest","[[ktvhcdatasourcemanag","[[ktvhcdataunititem","[[ktvhcdataunitpool","[[ktvhchttprespons","[[ktvhcurltool","[avplay","[ktvhcerror","[ktvhcpathtool","[ktvhttpcach","[networksourc","[nsfilehandl","[nsmutablearray","[nsurl","[self","[self.connect","[self.currentsourc","[self.downlaodtask","[self.read","[self.request","[self.sourcemanag","[self.unititem","[self.writinghandl","[sourc","[unit","addobject:source];","addobjectsfromarray:filesources];","addobjectsfromarray:networksources];","alloc]","array];","avail","avplay","call","callbackforfailed:error];","callbackforhasavailabledata];","callbackforprepared];","cancel","cancel];","class]])","client","close];","connect","continue;","data","data\",","data.length;","data;","datarequest:datarequest];","delegate:self","delegatequeue:self.internaldelegatequeue];","delta","delta;","didfailwitherror:(nserror","didreceivedata:(nsdata","didreceiveresponse:(ktvhcdatarespons","download","error);","errorforexception:exception];","exception\",","exception\\nerror","failed\\nerror","filehandleforreadingatpath:self.unititem.absolutepath];","filehandleforwritingatpath:self.unititem.absolutepath];","filepathwithurl:self.request.url","finished\",","headers:request.allheaderfields];","http","httpconnect","httprespons","initwithconnection:self","initwithpath:path","initwithrequest:request];","initwithsources:sourc","initwithurl:url","insertunititem:self.unititem];","io","iskindofclass:[ktvhcdatafilesourc","item.length","item.offset","item.offset;","itemmax","itemmin","itemmin)","ktvhcdatafilesource的readdataoflength实现比较明显,就是单纯从文件里读取数据。","ktvhcdatanetworksourc","ktvhcdataread","ktvhcdatarequest","ktvhcdatasourcemanag","ktvhcdataunit","ktvhchttpconnect","ktvhchttprespons","ktvhclogdatanetworksource(@\"%p,","ktvhclogdatareader(@\"%p,","ktvhclogdatasourcemanager(@\"%p,","ktvhcloghttpconnection(@\"%p,","ktvhcloghttpresponse(@\"%p,","ktvhcmakerange(offset,","ktvhcrang","ktvhcrangegetlength(obj.readrange);","ktvhttpcach","ktvhttpcache的使用比较简单:","length","lock];","long","long)data.length);","long)data.length,","mark","max","max)","method,","min","min;","newrequestwithrange:range];","next","nextsource];","nil;","nsarray","nsdata","nsdictionari","nserror","nsmutablearray","nsmutablearray>","nsobject","nsstring","nsurl","objectforkey:@\"url\"]];","offset","offset:self.request.range.start];","parsequery:request.url.query];","path,","playerwithurl:proxyurl];","pool]","prepare];","prepared\",","proxyurlwithoriginalurl:originalurl];","rang","read","readdataoflength:length];","receiv","refer","request.url);","request\\nmethod","response,","response;","response\\nrespons","responsedidabort:self];","responsehasavailabledata:self];","return","return;","self","self);","self,","self.currentsourc","self.currentsource);","self.downlaodtask","self.downloadlength","self.downloadlength,","self.error)","self.readinghandl","self.request.range.end);","self.request.range.end;","self.request.range.start;","self.sourcemanag","self.unit.unititems;","self.unititem","self.unititem);","self.unititem.length);","self.waitingrespons","self.writinghandl","server","server数据返回体,遵循httpresponse协议,实现协议方法","server的,内部使用第三方库httpserver实现:","source,","storag","switch","task","tool]","unit,","unititems)","unitwithurl:self.request.url];","unlock];","updatelength:self.downloadlength];","uri:(nsstr","urlwithstring:[paramet","workingrelease];","write","writedata:data];","yes)","yes;","{","||","}","………………(省略,节省篇幅)","」设计思想","一旦有可用数据,就通过delegate的方式一直回调,通知response类有可用数据。","两大模块组成。前者负责与","交互,后者负责资源加载及缓存处理。","从名字就可以看出:这两个类,一个是负责从直接从本地文件提供数据,一个是负责从网络读取之后提供数据","从服务器返回类可以看到,数据的入口是从ktvhcdatareader的readdataoflength获取的。","从这个方法里我们可以看到,读取数据又走到了ktvhcdatasourcemanager中去。","具体实现:","再看一下ktvhcdatasourcemanager的readdataoflength方法:","几个核心类实现:","创建response作为loc","创建自己的connection类继承自httpconnect","可以看出其实正常获取数据的是ktvhcdatafilesource和ktvhcdatanetworksource两个类。","可以看出,两个source的实现比较类似,只不过ktvhcdatanetworksource多了一个从网络获取数据写入文件的步骤,其实最终提供数据还是通过文件读取的方式。","可以看出,它是将源视频的url替换成了自己定义格式的url,这时我们其实请求的就是local服务器了。","和","唱吧ktvhttpcach","实现协议方法","我们项目里使用的是ktvhttpcache来实现视频缓存,ktvhttpcache的实现方式就是第二种,项目地址:(https://github.com/changbadevs/ktvhttpcache)。","核心的流程大概是这样:","用来搭建local","由","目前ios端比较常见的视频缓存的实现方式主要有两种:","看下ktvhcdatanetworksource:","看到ktvhcdatasourcemanager的初始化过程,","视频缓存ktvhttpcache原理和实现","读懂「","这样,当本地发生请求时,就会获取ktvhchttpresponse内部方法返回的数据。","重写子类方法,返回相应的response类"],"iOS/SourceCode/SDWebImage.html":["!sd_options_contains(options,","#699","&","&&","&=","&loadoperationkey);","&loadoperationkey,","(!(option","(![self.deleg","(!cachedimag","(!imag","(!oper","(!validoperationkey)","((imag","((option","(5.0.6)","([oper","(bool)imagemanager:(nonnul","(cachedimag","(coderjtao.github.io)","(completedblock)","(error)","(finished)","(icloudart.com)","(key)","(nonatomic,","(nullabl","(oper","(operation)","(operations)","(option","(progressblock)","(sdoperationsdictionari","(sdwebimagedownloadercompletedblock","(self)","(shouldblockfailedurl)","(shouldquerycache)","(strong,","(void)callcacheprocessforoperation:(nonnul","(void)callcompletionblockswithimage:(nul","(void)calldownloadprocessforoperation:(nonnul","(void)callstorecacheprocessforoperation:(nonnul","(void)sd_cancelimageloadoperationwithkey:(nul","(void)sd_internalsetimagewithurl:(nul","(void)sd_setimageloadoperation:(nul","(void)sd_setimagewithurl:(nul","(weak,","(后进先出)","(没有则创建","*","*)cacheddata","*)cachedimag","*)context","*)downloadeddata","*)downloadedimag","*)error","*)error;","*)imag","*)imagedata","*)imagemanag","*)imageurl","*)imageurl;","*)key","*)loadimagewithurl:(nul","*)oper","*)placehold","*)sd_operationdictionari","*)url","*/","*callback","*completionblock","*data,","*downloadeddata,","*downloadedimage,","*error,","*failedurls;","*image,","*imageurl)","*key","*oper","*operationdictionari","*runningoperations;","*sharedmanager;","*validoperationkey","......",".m","/**","//","//deleg","//图片下载器","//标识当前","//用于全局控制当前管理器的","//用于在图像加载完成后进行图像变换,并将变换后的图像存储到缓存中。","//缓存处理","//默认使用","//默认情况下,imagecach","//默认情况下,是把","0","0;","1.如果operation不存在或者被取消,什么也不处理","1、一个添加了web图片加载和缓存管理的uiimageview分类","1,sdmemorycach","2.如果有error则直接回调错误信息,并把当前url加入到filedurls中。","2、一个异步图片下载器","2。此时,若","3.如果一切正常,则把错误请求从filedurls中移除,并把下载好的图片数据传递到缓存处理程序。","3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片","4.最后,如果finished==yes,则把当前operation从runningoperations中移除。","4、支持动态gif图","5、支持webp格式的图片","6、后台图片解压处理","6。还维护了可变字典","7、确保同样的图片url不会下载多次","8、确保伪造的图片url不会重复尝试下载","9、确保主线程不会阻塞","=","==",">","@autoreleasepool","@properti","@strongify(operation);","@synchron","@synchronized(self)","@weakify(operation);","[[nsmaptabl","[completedblock","[error.domain","[imageload","[manag","[nsmutabledictionari","[oper","[operationdictionari","[progressblock","[sdimagecach","[sdwebimagedownload","[self","[self.callbackblock","[self.deleg","[self.downloadqueu","[self.failedurl","[self.imagecach","[self.imageload","[self.runningoper","_downloadqueu","_downloadqueue,默认的最大并发数为","_ioqueu","_nonnul","_nullabl","_urloper","_urloperations,key","`addoperation:`","`downloadoperationcanceltoken`,","`failedurls`","`operation.completionblock`","`runningoperations`","`sdcallbacksdictionary`","`sdwebimagecombinedoperation`","`sdwebimagedownloadtoken`","a.","access","accord","add","adddepend","addhandlersforprogress:progressblock","addobject:callbacks];","addobject:operation];","addobject:url];","addoperation:operation];","again","alloc]","anoth","apple'","assign,","avoid","b.","basedonclassorviacustomsetimageblock:setimageblock","below,","between","block","blog","bool","cach","cache,","cacheddata,","cacheddata:(nul","cacheddata:cacheddata","cacheddata:nil","cachedimage,","cachedimage:(nul","cachedimage:cachedimag","cachedimage:nil","cacheimag","cachekey","cachekey,","cachekeyfilt","cachekeyfilter:cachekeyfilter];","cachekeyfilter;","cachekeyforurl:","cachekeyforurl:url","cacheseri","cacheserializer;","cachetype)","cachetype,","cachetype:(sdimagecachetype)cachetyp","cachetype:cachetyp","cachetype:sdimagecachetypenon","cache),它会弱引用被缓存对象,当缓存被清理之后,我们还可以在","call","callbacks;","callbacks[kcompletedcallbackkey]","callbacks[kprogresscallbackkey]","callbacksforkey:kcompletedcallbackkey];","callback,这里会先处理几种情况:","callcacheprocessforoperation:oper","callcompletionblockforoper","callcompletionblockforoperation:oper","callcompletionblock。","calldownloadprocessforoperation:oper","callstorecacheprocessforoperation:oper","cancel","cancel];","cancel。其强引用由","cancel。如果是返回错误并结束。","canrequestimageforurl:url];","capacity:0];","categori","category:","caus","cgimagesourcecreatewithdata","charles'","check","class,","class]);","combineoper","complet","completed:(nonnul","completed:(nul","completed:^(uiimag","completed:completedblock];","completed:nil];","completedblock","completedblock(image,","completedblock,","completedblock。","completedblock),并设置当前","completedblock),然后,将","completion:^(uiimag","completion:completedblock","completionblock","completionblocks)","condit","configur","conformstoprotocol:@protocol(sdwebimageoperation)])","context","context(字典)","context);","context:(nul","context:(sdwebimagecontext","context:context","context[sdwebimagecontextcachekeyfilter];","context[sdwebimagecontextsetimageoperationkey];","continu","copi","copy];","cost","count、对象大小","cycl","data","data,","deadlock.","defaultimagecache;","defaultimageloader;","delegate;","detail","dispatch_main_async_safe(^{","dispatch_queue_create(\"com.hackemist.sdimagecache\",","dispatch_queue_serial);","dispatch_semaphore_t","doc.","done","download","downloaddata","downloadeddata:(nul","downloadeddata:downloadeddata","downloadedimage:(nul","downloadedimage:downloadedimag","downloadimagewithurl:url","downloadoperationcanceltoken","entri","error","error,","error.cod","error:(nul","error:error","error:error];","error,callcompletionblock","execut","extens","failedurl","failedurlslock;","failedurls。","failedurls:","filepath","filet","finished)","finished);","finished,","finished:(bool)finish","finished:finish","finished。执行","forkey:(nul","forkey:key];","forkey:validoperationkey];","getter=isrunning)","hit","id","id)addhandlersforprogress:(nul","id)oper","id,默认值为当前","imag","image,","imagecache;","imagecontext","imagecontext)。","imagedata","imagedata,","imagedata:(nul","imagedata:nil","imagedata。","imageload","imageloader;","imagemanager:self","imagerefresh","imageurl)","imageurl);","imageurl,","imageurl:url];","image、data","image。","indicator。调用","initwithkeyoptions:nspointerfunctionsstrongmemori","ioqueu","isequaltostring:sdwebimageerrordomain]","jpeg/png","keep","key","lilo","load","loaderoperation。在新建任务前,如有取到","loadimagewithurl:","loadimagewithurl:url","lock","lru","manag","more","need","new","new];","nil","nil,会自动创建。然后会将当前实例的类名作为","nonatomic,","nonnull)","noth","no,则结束下载并调用","no:直接进入","nsarray","nscach","nsdata","nserror","nsmaptabl","nsmaptable>","nsmaptable,对","nsmutableset","nsoper","nsoperationqueu","nsprogress、","nsstring","nsstringfromclass([self","nsurl","nsurlcach","nsurl。","nullabl","nullable)","objc_association_retain_nonatomic);","objc_getassociatedobject(self,","objc_setassociatedobject(self,","object,","objectforkey:key];","on","oper","operation.cacheoper","operation.iscancelled)","operation.isfinish","operation.loaderoper","operation;","operations,","operations;","operation。","operation。实现了一个","operation,利用","option","options,","options:(sdwebimageoptions)opt","options:0","options:downloaderopt","options:opt","optionsprocessor;","overwrit","placeholderimage:(nul","placeholderimage:nil","placeholderimage:placehold","process","progress","progress:(nul","progress:combinedprogressblock","progress:nil","progress:progressblock","queri","queryimageforkey:key","queue","race","readonly,","refer","refresh","removeobject:url];","removeobjectforkey:key];","reqeust","requestimagewithurl:url","respondstoselector:@selector(imagemanager:shoulddownloadimageforurl:)]","retain","retri","return","return;","return。","running;","runningoper","runningoperationslock;","runningoperations。","runningoperations:会将在上面的方法中会生成的一个","safe","safelyremoveoperationfromrunning:operation];","safelyremoveoperationfromrunning。此时如果存在","safelyremoveoperation。","same","sd_cancelimageloadoperationwithkey:","sd_cancelimageloadoperationwithkey:key];","sd_cancelimageloadoperationwithkey:validoperationkey];","sd_cancelimageloadoperationwithkey:取消上一次任务,保证没有当前正在进行的异步下载操作,","sd_internalsetimagewithurl:url","sd_lock(self.callbackslock);","sd_lock(self.failedurlslock);","sd_lock(self.runningoperationslock);","sd_operationdictionary];","sd_operationdictionary]这个调用,这个方法的实现是给当前view通过关联对象的技术关联了一个nsmaptable对象,用来存储请求链接接对应的请求操作类型如nsmaptable。源码如下:","sd_operationdictionary,key","sd_setimage:","sd_setimage:placehold","sd_setimageloadoperation:oper","sd_setimageloadoperation:内部实现如下:","sd_setimagewithurl:url","sd_unlock(self.callbackslock);","sd_unlock(self.failedurlslock);","sd_unlock(self.runningoperationslock);","sdcallbacksdictionari","sdexternalcompletionblock)completedblock","sdimagecache.sharedimagecache。","sdimagecachedecodeimagedata(nsdata","sdimagecachedecodeimagedata,进行了图片解码的处理。","sdimagecachequerydiskdatasync));","sdimagecachequerymemorydatasync)","sdimagecachetyp","sdimagecachetypeall。","sdimagecoderhelp","sdimageloaderdecodeimagedata","sdimageloaderdecodeimagedata(nsdata","sdimageloaderprogressblock)progressblock","sdimagemanag","sdinternalcompletionblock)completedblock","sdinternalcompletionblock)completedblock;","sdmemorycach","sdoperationsdictionari","sdoperationsdictionary;","sdoperationsdictionary。它会存储当前实例的所有","sdsetimageblock)setimageblock","sdwebimag","sdwebimagecombinedoper","sdwebimagecontext","sdwebimagecontextimagecache。","sdwebimagecontextimageloader。","sdwebimagecontextquerycachetyp","sdwebimagedelayplaceholder))","sdwebimagedownload","sdwebimagedownloader.shareddownloader。","sdwebimagedownloadercompletedblock)completedblock","sdwebimagedownloaderoper","sdwebimagedownloaderprogressblock)progressblock","sdwebimagedownloadtoken","sdwebimageerrorcachenotmodified)","sdwebimagefromcacheonli","sdwebimagefromcacheonly);","sdwebimagefromloaderonli","sdwebimagefromloaderonly)","sdwebimageindicator,并判断是否开启。","sdwebimagemanag","sdwebimagemanager。","sdwebimageoper","sdwebimageopt","sdwebimageoptionsresult。","sdwebimagerefreshcach","sdwebimagerefreshcached);","sdwebimagerefreshcached。","sdwebimageretryfailed))","sdwebimageretryfailed。则将","sdwebimageretryfailed,则直接返回","sdwebimage常见问题","sdwebimage源码学习","second,","see","self.sd_latestoperationkey","self.urloperations[url]","setimageblock:(nul","setimageblock:nil","setobject:oper","shareddownloader]","sharedimagecache]","shouldblockfailedurl","shouldblockfailedurl:(nonnul","shouldblockfailedurlwithurl:url","shouldcacheorigin","shouldcacheoriginal。","shoulddownload","shoulddownloadimageforurl:(nonnul","shoulddownloadimageforurl:url]);","shouldquerycach","shouldquerydisksync","start","storecacheprocess。","storecachetype、originalstorecachetype、transformer、cacheserializer,判断是否需要存储转换后图像数据、原始数据、等待缓存存储结束。","stroageimage:]","strong","strong,","strong——weak","synchron","thread","transformer;","transformer。","transit","true。","typedef","uiimag","uiview+webcach","uiview+webcacheoper","url","url.absolutestr","url:(nonnul","url:url","url:url];","url。","url,valu","validoperationkey","validoperationkey;","validoperationkey。","validoperationkey,一般","valueoptions:nspointerfunctionsweakmemori","view","weak","weakcach","weakcachelock","weakcache(stong","weakcache(strong","weak)又存储了一份缓存。","webp","whether","witherror:(nonnul","yes,会将其存入","yes,新建下载任务并将其保存在","yes:先确认存储类型是否为原始数据,存储时如果","{","|","||","}","});","}];","“空间换时间”","、sdimageloaderprogressblock。","。","一个为uiimageview提供一个分类来支持远程服务器图片加载的库。","一起返回。","下载数据","下载结束后回到","不为","不会与即将进行的操作发生冲突。保证当前的控件上有且只有一个最新的任务。","不需要查找缓存,直接进入下载。","与","且","中利用","中取出","中同步或者异步地执行磁盘查询。","中声明的。","中已经取不到这个对象了。为了解决这个问题,sdmemorycach","中的参数。","中移除,调用","中获取到被缓存对象,就算对象被释放,因为弱引用也不会造成野指针问题。这是典型的","中,根据下载","中,维护了一个","串行队列","为","为下载","为下载的","主要方法","之后进入重点,那就是开始从缓存中读取图片:","之后进行一系列的传递会传递到最深层的方法:","从","从上面的代码中可以看到,方法内部是遍历了所有需要完成回调的completedblock,然后回调出去。","从上面的源码中可以看出请求图片的回调回来后:","从上面的源码可以看出,","从中可以看出一个imagedownloaderoperation可以有多个回调block。","会直接将","传入","作为","使用weak,在后续operation下载操作回调后,获取这个operation。如果view已经重用或者消失,则不会设置图片避免混乱。","依次返回给调用方。这方法是不是很机智。这一点也可从请求结果的代码中得到验证:","依赖于最新加入的","保存了失败的请求","保持。","值。可能由","值作为校验","值是否为","先从","入口","其次,将这个operation添加到正在运行的操作容器中:","内存缓存","出错,callcompletionblockforoper","分类下:","分类中,设置了一个关联属性","则会创建一个新的","则会对通过","则会随","则抛弃下载的","初始化","判断","判断当前","判断是同步查询还是异步查询","利用","利用信号量","利用这个全局声明的变量","功能简介:","加入到","包裹磁盘读取的代码。","去加载我们需要的图片,并把获取的结果回调给了上一级调用方。从上面的代码可以看到,获取图片的同时返回了一个operation,这个operation就是标识获取当前url图片的一个操作。之后会把这个operation放在当前view的operationdictionary中:","参数","参数确定是否需要查找缓存。","取出","取到图片后,停止","取消掉正在执行的操作operation如下调用:","只有当从磁盘取到缓存时,才会对图片进行解码。","可以直接将","可以看到,这个方法里面调用了uiview+webcache分类里面的一个方法:","合法性判断。因为,这里的","同时为新的","同样的,将我们刚才讲到的operation传入到这个方法中。我们看一下这个方法中做了什么:","后请求结果仍旧命中了","否则,重用之前的","和","回调到","回调(progressblock,","因为磁盘缓存读取时,会产生许多临时变量,为了避免内存过高,使用","图片加载奇淫巧技","图片加载奇淫巧技/)","图片缓存读写原理","图片缓存读写原理/)","在","在实例开始真正的图片请求操作之前,会根据","在磁盘中根据","在继承自","均无以上情况,如果是通过","处理逻辑交给代理处理。","复制并转换为不可变类型。","复用时导致的图片展示错乱问题。","外部传入一个需要缓存的对象时,其引用计数为","如何解决tableviewcel","如何避免同一时间多个请求,请求同一张图片下载多次问题。","如果","如果存在operation,但是operation没有正在执行,则根据条件调整operation的请求优先级。","如果有正在执行的operation,不创建新的请求operation,而是给当前operation添加回调对象progressblock","字典中。","存入","存在则会先转换数据格式,最终都调用","实例","实例。","实例中有两个属性与之一一对应,方便对两种加载图片的方式进行管理。","实例对象。","实例并返回。在","实例,保存在集合中。图片加载存在两种情况,一种是直接在缓存中获取,一种是通过网络在下载,都会返回一个","实现内存缓存。通过双向链表及字典实现","容器中移除掉。源码如下:","对","对其进行缓存时,会强引用被缓存的对象,使它的引用计数变为","对图片进行了子线程强制解码并将解码后的","对象,所以","导致的","封装为","将","将数据存入缓存,并进入","将解码后的图片缓存到内存缓存中,然后通过","属性","属性介绍","并","并将","并将返回的","开启下载","开始缓存查询。","强制解码并返回解码后的图片。","当下载失败之后,如果实现了这个代理,则将失败的","当内存中未命中缓存,则在一个串行队列","当我们使用sdwebimage加载图片时需要调用如下方法:","成功的,会先将","我们接着看loadimagewithurl:方法内部实现:","或","所有控件设置图片的方法,最终都会来到","找到当前","拥有一个弱引用,方便","拦截并进行修改。","接下来我们看一下这个方法的内部实现:","接下来,就是判断我们传入的url是否合法,以及设置uiimageview的加载指示器,还有加载进度block,此处不做详细说明了。我们着重看加载图片的方法:","接着看上面这个方法的内部实现:","控制能否支持下载任务。","操作。","操作,如果之前有操作存在,则会取消之前的操作,保证当前实例执行的是最新的","文件中的","方法的内部实现会查询到已经存在的同名任务,并且会取消掉这个任务,并在当前view的operationdictionari","方法的执行的流程:","方法,使原队列中","时都需要进行重复的解码操作。而通过","时,说明有操作在执行。","是","是一个","是否有","是否被","是否需要下载。默认为","是整个框架的中心,所有的处理逻辑都在这里面进行组装、分发。","最后会对标记为","根据","根据传入的","根据获取到的","格式来。这会产生一个问题,每次当我们需要从磁盘读取","格式的,那么磁盘中的存储则会按","检查","检查是否需要开启下载。","检查是否需要缓存原始数据","正在运行。内部维护了","正常,进入下载。","江涛的博客","添加","添加至","清理了缓存,被缓存对象的引用计数减一,但是它还在内存中,但是,从","然后,开始从缓存中读取图片,回调之后判断当前operation是否还存在,以及operation是否被取消,如果取消的话就从runningoperations中移除当前operation并返回,什么也不做。否则,调用下载处理程序:calldownloadprocessforoperation:并把我们读取出来的缓存数据传入该方法。接下来我们看看这个方法的内部实现:","生成","由","由代理决定是否需要新建下载任务。","的","的。如果是","的基础上,维护了一个","的完成回调中,可以看到也使用了","的封装之后,最终图片的加载逻辑会来到","的思想。当然,针对","的操作优先级。","的操作队列。","的格式的","的类名。","的缓存策略。内存清理策略:对象数量","的读写安全,也使用了","的这个方法:","看下这个方法的内部实现:","确定最终查找时使用的","确定用于下载的实例对象。默认的","确定用于查找缓存的实例对象。默认的","确定缓存查找的范围。默认为","磁盘缓存","第一步,根据validoperationkey","答案是为了解决在同一时间,多个请求同时下载一张图片的时候,对该图片请求只下载一次。也就是请求只发送一次,而请求有结果的时候根据存储的多个返回block","类型的","结束下载。","绕了这么大一圈,你可能会问,为什么一上来要调用sd_cancelimageloadoperationwithkey:这个方法?通过上面的源码分析sdwebimage这样设计是为了解决tableviewcell复用时,如果被复用的cell的imageview请求的图片没有回调时展示图片错乱的问题。原理就是如果被复用的cell的imageview之前请求的图片还没有回调,而此时需要请求新的图片,那么就取消掉之前的请求operation,并从operationdictionary中移除掉。然后去加载需要加载的新图片。如果说,之前的图片请求在这之后回调回来的话,会判断之前请求的operation是否存在,以及operation的iscancel属性,如果不存在或者iscancel=yes的话,就不会回调到ui界面。也就是如下代码逻辑:","继承自","维护了一个","缓存数据","缓存查询","缓存查询结束后。","缓存,从而提高访问效率。","缓存,则不会调用","若命中,且","若未命中,或者","获取","被","设置","设置占位图。","说了这么多,相信应该清楚为什么要调用sd_cancelimageloadoperationwithkey:方法了,我们接着回到sd_internalsetimagewithurl:方法中,cancel之后就会清掉当前imageview上次下载的图片:","说明","转换为","过渡动画。","返回。","还会将其转换为","还是","还是由","这个方法就是我们加载图片的正式入口方法。下面我们看一下这个方法里面都主要做了什么。","这也是程序一开始时,能够取消掉同名operation的原因。就是同一个view发送一个图片请求就会记录在operationdictionary中来标识有请求正在执行。","这四个是在","这里可以解释,复用的时候,已经展示过图片的imageview为什么在被复用的时候没有展示之前存在的图片而是展示placeholer或者不展示的原因。","这里当前view利用前面生成的manag","这里需要说明一下:[self","进行变换。开始查找缓存。","进行缓存,而当我们使用其他图片格式进行传输时,例如","通过","通过上层","那么问题来了,sdwebimage为什么会这么设计呢?","重置","防止多线程竞争。","集合查询。","集合,当数量大于","需要查找缓存。","首先判断url是否合法,如果合法,从下载器的urloperations属性中读取该url对应的operation,如果operation不存在,或者已经取消或者已经完成,则根据url重新生成一个operation,同时记录该operation到urloperations中,并把该operation添加到下载队列中去:","首先判断是否需要下载图片,如果不需要就判断缓存数据如果缓存有值就直接返回给调用方,如果需要就先看一下之前读取的缓存数据是否有值,如果有值,就直接返回给调用方。如果没有的话,就使用imageloader下载图片:","首先判断是否需要从缓存中读取图片,如果需要,就处理url,处理后得到我们读取缓存的key。","首先处理一些下载器选项,然后调用下载图片方法:","首先,判断url是否合法,然后生成一个请求图片的operation,这个和我们刚才讲到的operation在内存中是同一个,因为是从该方法中返回出去的。","(dispatch_semaphore_t)线程锁。",",callcompletionblock",",而如果设置了"],"iOS/Knowledge/Dyld.html":["!=","\"main","#endif","#if","%s\",","&&","&argv[argc+1];","&timinginfo);","'init'","'mapped'","(","(*snotifyobjcinit)(imag","(below","(const","(dyld","(fhasdashinit","(foundat","(imag","(imageloadermacho*)image;","(initialized)","(std::vector::iter","(uint64_t)imag","(uintptr_t)smainexecut","(void)load{","(重签微信应用实战)",")","*/","*codesigcmd","*compress","*encryptcmd","*it;","*lib","*libcount","*segcount","*函数太长","+","++apple;","++lib)",",",",dyld::_main",".","..)","...省略掉.",".这里加载共享缓存有几种情况","/","/*","//","0","0);","0,","0;","1);","1.","1.1","1.2","11","1;","1、仅加载到当前进程","1️⃣","1️⃣、","1️⃣、const","2.1","2.1.1","2.1.2","2.1.2.1","2.1.2.2","2.1.2.3","2.1.2.4","2.1.2.5","2.1.3","2.1.4","2.1.5","2.1.6","255","2、dyld","2、共享缓存是第一次被加载","2️⃣","2️⃣、","2️⃣、intptr_t","3、共享缓存不是第一次被加载","3️⃣","3️⃣、","4095","4️⃣","4️⃣、_objc_init","5️⃣","750","8",":","::","=","==",">",">doinitialization(context);",">forceflat()",">getentryfromlc_main();",">getpath());",">getrealpath(),",">getstate()",">machheader());",">machheader(),",">notifyobjc()",">setneverunloadrecursive();",">weakbind(glinkcontext);","?","__data","__guard_setup(apple);","__has_feature(ptrauth_calls)","__mod_init_func","_data","_dyld_objc_notify_init","_dyld_objc_notify_regist","_dyld_objc_notify_register(&map_images,","_dyld_objc_notify_register(_dyld_objc_notify_map","_dyld_objc_notify_unmap","_dyld_start","_main(const","_objc_init","_objc_init(void)","_os_object_init","abort","addimage(image);","alreadi","alsr","anyon","app","appl","apple);","apple,","apple[],","appsmachhead","appsmachheader,","appsslid","appsslide,","argc,","argv,","argv[],","aslr","bit","bl","bool","bool*","bt","c++","cache)","call","call_load_method","catch","char*","char**","checkenvironmentvari","checksharedregiondis","cmd","code","codesigcmd","codesigcmd,","command","compress","compressed,","configureprocessrestrict","const","const*","context)","context,","context.notifysingle(dyld_image_state_dependents_initialized,","context.notifysingle(dyld_image_state_initialized,","cpusubtyp","cputyp","crsetcrashlogmessage2(null);","crsetcrashlogmessage2(thi","defer","depend","doimageinit(context);","doiniti","domodinitfunct","domodinitfunctions(context);","down","dure","dyld","dyld3::scopedtim","dyld::_main","dyld::_main(appsmachheader,","dyld::registerobjcnotifiers(mapped,","dyld::throwf(\"malform","dyld_image_state_dependents_initialized;","dyld_image_state_initialized)","dyld_image_state_initialized;","dyld_initializer_support","dyld_insert_librari","dyld_print_env,","dyld_print_opt","dyldbootstrap","dyldbootstrap::start","dyldsmachheader,","dyld将应用进程加载到内存中时","dynam","editor","encryptcmd","encryptcmd)","encryption_info_command**","entri","environ_init();","envp","envp,","envp;","envp[],","exception_init();","execut","false,","false;","far","fhasinitializers);","find","finish","fishhook","fixm","for(unsign","format\";","found?","foundat","framework","fsegmentsarraycount","fstate","fstate;","function","gethostinfo","glinkcontext);","glinkcontext.bindflat","glinkcontext.linkingmainexecut","glinkcontext.prebindusag","hasiniti","header","i=0;","ignor","imag","image:","imageloader*","imageloader::kusenoprebinding;","imageloader::rpathchain(null,","imageloadermacho","imageloadermacho*","imageloadermacho::doinitialization(const","imageloadermacho::instantiatemainexecutable(mh,","imageloadermacho::sniffloadcommands(const","incache,","independ","init","init'","init,","init;","initi","initializemainexecut","initializemainexecutable();","instantiatefromloadedimage(const","instantiatefromloadedimage(mainexecutablemh,","instantiatemainexecut","int","int*","intptr_t","io","iscompatiblemacho","iscompatiblemacho((const","it++)","it=sallimages.begin();","j","know","known","lc_dyld_info_onyl","lc_load_dylib","lib","libcount","libcount,","libdispatch","libdispatch_init","libobjc","librari","libsystem","libsystem)","libsysteminiti","link","link(smainexecutable,","linkcontext&","linkedit_data_command**","lion10.7","lldb","load","load_imag","load_images,","load_images.","loaddyldcach","loader","loadinserteddylib(*lib);","load方法调用机制解析","lock_init();","mac","mach","mach_absolute_time();","mach_init();","macho","macho_header*","machoview","magic","main","mainexecutablemh,","mainexecutableslide,","map","map_imag","mapcachepriv","mapcachesystemwid","mapped,","mapped;","mapsharedcach","mh)","mh,","more","msg)","needsaddedlibsystemdepency(*libcount,","notifybatchpartial(dyld_image_state_bound,","notifysingl","nslog","nslog(@\"load","null","null)","null),","null);","null,","null;","o","o,","objc","oldstat","os","o文件","path)","path);","path,","pic","point","posit","processiniti","rebasedyld(dyldsmachheader,","rebind_symbol","record","recursivebind","recursivebindwithaccount","recursiveiniti","recursiveloadlibrari","refer","registerinterposing(glinkcontext);","registerobjcnotifi","registerobjcnotifiers(_dyld_objc_notify_map","registr","reloadallimag","request","result","return","return;","rundyldinitializers(dyldsmachheader,","runiniti","runtim","sallimages.end();","sallimages.size()","sallimages;","segcount","segcount,","segment","senv.dyld_bind_at_launch,","senv.dyld_insert_librari","senv.dyld_insert_libraries;","setcontext","setneverunloadrecursive();","sexecpath);","share","shift","shouldrebas","sinserteddylibcount","slide","slide);","slide,","slideofmainexecutable(appsmachheader);","slideofmainexecutable(dyldsmachheader);","smainexecut","sniffloadcommand","snotifyobjcinit","snotifyobjcmap","snotifyobjcunmap","start","start(const","startglue)","startglue);","static","static_init();","std::vector","struct","t1","this,","throw","timer(dbg_dyld_timing_objc_init,","tls_init();","tri","true);","true,","true;","uikit","uint64_t","uint8_t*)mh,","uintptr_t","uintptr_t*","unmap_imag","unmap_image);","unmapped)","unmapped);","unmapped;","unsign","until","up","us","viewcontrol","void","while(*appl","x","xcode","{","||","}","⚠️","。","一样有","上图第","上面判断了并不会为空","下一步是调用","下不会被禁用","下面找","不同","不着急","与","个.","中","中列出的需要加载哪些库文件","中创建一个","中可以自由调整","中我们也有详细讲述过","中注册并保存了","中添加","为了节约空间","为例","主程序已经实例化完毕","主程序的实例化就已经完成了","也就是我们这里的","也就是说","也就是说弱绑定一定发生在","也就是递归进行符号绑定的过程","也就简单明了了.","了解了系统函数的整个加载过程","从头梳理","以","会触发","会触发该函数","会触发该函数.","会触发该方法.","会调用","会走到","传递了三个参数","但是我们看到了这么个东西","但还没有加载","位置代码独立","你可以通过","使用","例如","例如工程中有一个","依赖库数量","值得一提的是会调用","偏移","允许","全名","共享缓存","关于应用的砸壳","关于这个","关于这个请看","其他库链接绑定完成之后","其实根据二进制顺序有关","其指向的地址设置成符号地址","其流程如下","其第二个参数赋值给了","再继续搜索","准备工作","函数","函数中","函数中有一系列","函数入口","函数地址.","函数执行完毕之后","分类底层原理详细研究","初始化","初始化完成后调用","到了这里","加载共享缓存","加载共享缓存库","加载到内存中","加载到开始链接主程序的时候","加载动态库","加载插入动态库","加载流程","加载程序","加载进内存时","动态库共享缓存区","原理就是","去做绑定的操作","去检测是否兼容","可以使某些攻击者无法事先获知地址","可以定位文件位置","可执行文件中会预留出一段空间","可是这个","同","同样你可以使用","同理","后续更新越狱篇章攻防会详细讲述和演示","后续逆向文章会带着大家自己写一个越狱插件","后续逆向文章越狱篇里会实际操作演练","因为","因此","在","在上下文中做出对应处理","在工程编译时","在运行时重绑定到用户指定的函数地址","处","大家可以在如下图中配置玩一玩","如何能找到其真实的实现地址呢","存放在","它会调用起","它是苹果的动态链接器,是苹果操作系统一个重要组成部分","实例化主程序","实例化这个","将","将编译后系统库函数所指向的符号","就会去找到","就会通过","就去做加载操作","就可以影响到应用","就已经完成了","就指向这个符号","就是指","就是调用函数的指令","就来到了","就调用了各个类的","工程","工程中所有引用了共享缓存区中的系统库方法","工程中的","已经加载完毕了","并不会也不可能会在我们自己的工程的","并添加到","并返回.","应用加密信息","应用签名","应用签名原理及重签名","底层","建议读一读","开始加载这个可执行文件","开始所有的应用程序均提供了","开始的地方","当","当我们点开一个应用","当某个特定进程,在存储器中所能够使用与控制的地址空间在运行时随机进行分配","当然","总结","懒加载绑定","我们会看到","我们俗称的应用加壳","我们就看到了","我们所熟知的","我们来到测试工程里下一个符号断点","我们来看","我们来稍微看一下","我们看到的就是","我们跟进去调用流程","我们非越狱环境重签名都是需要砸过壳的应用才能调试","所产生的","打印结果","找到主程序的入口","找到如下代码","找到真正","技术","拖动就可以自己调整顺序了","指令来到入口","搜索","搜索发现","支持","数据段中","文件之后","文件结构","新建一个空","方法","方法也是在此处调用","方法添加断点","时","最大不能超过","有一个必不可少的东西","有些防护操作就是基于这个原理来做的","有的同学可能对这个函数比较熟悉了","有部分防护手段就用到了这个环境变量","来了\");","来决定","来到","来到函数实现","来到源码中","来到这里","来加载主程序","来实现地址空间配置随机加载","来查看二进制顺序","来重定向","构造方法存储在","某些环境变量会直接影响该库是否会被加载","查看函数调用栈","栈溢出保护","根据","根据函数调用栈我们发现","根据环境变量配置打印信息","根据计算出来的","检测共享缓存禁用状态","检测可执行程序格式","检测环境变量","检测进程是否受限","检测通过","模拟器仅支持加载到当前进程","段","段命令数量","段在运行时是可读可写的","段的符号表中","没啥结果了","注册完毕继续回到","流程如下","消息传递","演示如下","点击进入","然后会讲一讲越狱环境插件如何防护","然后在","然后将原系统函数的真实地址赋值到用户指定的指针上.","然后找到","然后由","熟悉越狱插件的同学应该很清楚这个机制了","熟悉越狱插件的同学应该都很清楚","物理地址","环境变量来决定是否需要加载插入的动态库","由于","的","的主要函数.","的代码中直接搜索","的函数名称","的函数实现地址","的初始化","的影子","的构造方法","的真实地址写到","的符号","的符号上面","直接本文件搜索","直接点击","直接点击跳转到","看函数调用栈","看到如下","看看什么时候被赋的值","看看其在什么时候被调用的","真正实例化主程序是用","移除时","章节中所讲的共享缓存绑定的过程","等库每个应用都会通过","简介","类似","系统中","系统内核会开启一个进程","经过以上步骤","绑定的过程就是我们上述","结合函数调用栈","继续往","编译时","编译顺序就会根据这个顺序来","至此","节中.","苹果将这些系统库放在了一个地方","获取程序架构","虚拟地址","行","被加载的整个流程","被调用","要声明一下的是","解读","记录插入动态库的数量","设置上下文信息","设置好上下文","该函数是加载","该流程主要步骤如下","说白了就是通过一个随机值","谁先会被加载","调用","调用到","调用时","负责链接","走到了这里","越狱的插件就是基于这个原理来实现只需要下载插件","跟我们上面截图的函数调用栈一模一样","运行主程序","运行时","运行来到断点","运行程序","还是","这三个分别代表","这两篇文章","这个作用域里的","这个全局的镜像列表中去","这个其实就是","这个函数主要流程如下","这个函数也就是我们","这个函数到底做了什么呢","这个函数去做的","这个函数就是根据","这个函数第一次执行","这个函数调用","这个函数里面调用了","这个函数首先有两个参数我们要说明一下","这个参数就是","这个命名空间作用域里的","这个很简单","这个空间其实就是符号表","这个过程被称为","这是个回调函数的调用","这种","这篇文章中","这篇文章中有非常详细的讲述","这里几个参数我们稍微说明下","这里就不贴了.*/","进不去了","进行","进行弱绑定","递归下一次调用","递归调用","通过","通过查看源码查看","那么也就是说","那么就不做任何处理","那么怎么办","那么我们回到函数调用栈看下","那么我们搜索一下","那么我们的工程想要调用","那么接下来","那么编译时就会在","那么这个","那就代表一定是有值的","那我们搜索一下","那讲到这插一句题外话","配置环境变量","配置相关环境变量","里","里就会通过","里并没有找到","里有详细描述","里注册好的回调函数进行调用","里的","里被执行","重头戏来了","重绑定符号","链接主程序","链接动态库","首先","验证一下",",交由",",令攻击者难以通过固定地址获取函数或者内存值进行攻击",",在应用被编译打包成可执行文件格式的"],"iOS/Knowledge/AppLaunchDetail.html":["\"1234\";","&","(void)load","*","+","+load","//会产生静态初始化","0","0x10","0x1010。运行时类对象的地址已经知道了,bind","0x1010,那么","0x10。但是","0x10,加上","0,这个行为叫做","0,那么这些","1","1234","1234。为了执行函数,首先要访问__text触发一次","12。dyld2","13","13,所以我们重点看下","15%。","16k,6","3","3.1","32byte,里面有两个指针:内部指针,指向__text,__cstring中字符串的位置;外部指针","4;","4k,这是","6","6s","93%的设备是",":","=","__attribute__((constructor))","__data,__cfstring,存储","__mod_init_func,stat","__objc_nlcatlist,实现+load","__objc_nlclslist,实现+load","__text,__cstring,存储实际的字符串\"1234\"","anim","app","appl","applifecycl","app启动详细","app,开始执行","back","base","befor","bind","bind。","bind:修复外部指针。这个比较好理解,因为像","bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。catransact","block","build","c","cach","cache[1],什么是","categori","catransact","char","clang,swift","class","class/method","cocoapod","command","commit","commit(提交),打包","commit,首帧渲染数据打包发给","connect","const","control","core","data","data,数据段,读写,存储","delay","demo{","dependends,依赖动态库列表","detail","didfinishlaunch","didfinishlaunchnotif","didfinishlaunchnotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到","dispatch_async","display],如果","display(绘制),源头是","display,drawrect","drawrect","dyld","dyld2","dyld3","dyld3。","dyld3,dyld3","dyld3,官方数据[3]显示,过去四年新发布的设备中有","dyld。","dyld。dyld","dyld,把入口地址设为_dyld_start","entry,","es)来生成","execv","facebook","featur","fill。","fill,是因为全局变量的初始值往往都是","first","fixup","fixup,包括","fixup:bind","flag","flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的","flags,这些","frame","global","header","imag","init","initi","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在+load","initializer,做一些最基本的初始化:","initializer:","inline。","int","in。","in。假如我们把方法","in,从而提升启动速度。","in,其实也比较容易理解,因为启动的会读写二进制中的很多内容。pag","in,影响","in,把对应的文件内容读入物理内存。","io","ios启动优化《原理篇》","io,把数据读入物理内存","ipa","iphon","ir","ir(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。c","isa","isa,指向类对象的,这就是为什么可以对","itun","launch","layer","layoutsublayers],这时候","layoutsubview","layout(布局),源头是","layout,viewdidload","lc_load_dylinker,找到","ld","libdispatch","library,是因为链接的过程中只需要符号就可以了,所以","libsystem","libsystem,因为他是所有依赖的源头。","lifecycl","link","linkedit,启动","linkedit,找到","linkmap","linkmap,这样在生成的","llvm","llvm。","load","logger","logger;//不会产生静态初始化","mach","mach_msg_trap","magic","main","mainqueue,block。在循环的合适时机,会以","map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:fil","memori","metrickit","metricskit","mmap","mmu","namespac","number,表示这是一个","o","objc","object","observ","optimizeobjc:","optimizeobjc。","order_fil","order_file[2]的","order:初始化调用顺序","o。链接的过程并不产生新的代码,只会做一些移动和补丁。","o,而是提供一个只包含符号等信息的","page","pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了","pass,由于","pc","phase","phase:以","pipelin","prepare(准备),这个过程中会完成图片的解码","prepare,图片解码发生在这一步","printf","printf(\"1234\");","process","rebas","rebase,主要耗时在","rebase:修复内部指针。这是因为","refer","render","renderserv","renderserver,renderserv","renderserver,启动结束","root","runloop","runloop,继续执行这个","runtime,注册","runtime,由于闭包已经初始化了大部分,这里只会注册","section","section,分别存放不同类型的数据。","segment","segment/sect","segment,每个","sel","sel,加载","server","set","settings:配置编译和链接相关的参数。特别要提到的是","share","slide","slide=0x1000,这时候字符串在运行时的地址就是","slide。","slide,需要把内部的指针指向加上这个","source0","static","std::string","storyboard,asset","stub","suspend","swiftc,二者的后端都是","target","tbd","text","text,data,linkedit,也支持自定义:","text,代码段,只读可执行,存储函数的二进制代码(text),常量字符串(cstring),object","tip","tips:catransact","tmp/com.apple.dyld","tree","ui","uiapplic","uiapplicationdeleg","uiapplication,启动","uikit","uikit。uikit","uiviewcontrol","uuid…","var_1;","var_2","var_3","var_4","view","viewdidapp","viewdidload","while循环。","will/didfinishlaunch,这里主要是业务代码耗时","willfinishlaunch","write","xcode","xpc","zero","{","}","};","。","一小段时间再回到主线程上执行,对于性能较差的设备,主线程","一般会用","上对第三方","上的修改打包,一起发给","上的修改,合并成一个事务,通过","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做“砸壳”,砸的就是这一层","与启动又有什么关系呢?","两个段存在:__text存函数二进制,cstring存储字符串","中插入脚本,来做一些定制化的构建,比如","中的","中的两个配置项:","中给出了官方计算方式:","中读取,很有可能读取的时候还没有注册。","为了执行这个简单的函数,系统要额外付出两次","为什么闭包能提高启动速度呢?","为例,我们来看下构建流程:","为维度定义了构建的流程。可以在","主二进制,找到","主要会做两个大的初始化:","主要处理几种任务:source0,source1,timer,gcd","主要有两个版本:dyld2","举个例子:一个","举例","之后对其置为","之后有一个偏移量","之后,首先会执行","也会编译,编译后加载速度会变快","也是在这一步生效","了。这时候很多动态库还没有加载进来,会首先对这些动态库","二进制重排","产生的条件","什么是","仍然活着,只不过处于","代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用","以下图为例,方法","以单","会占去启动耗时的很大一部分,我们来看看单个","会合成","会在这个阶段执行。","会在这里调用,autolayout","会对上传","会影响","会成为启动性能的瓶颈。","会把","会把启动流程交给","会有一些逻辑要在启动之后","会被裁剪,去掉一些不必要的信息","会调用","会调用,autolayout","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新/下载","作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,appl","做","做优化,生成机器码","做的组件化,这时候编译选项在对应的.xcconfig","做的,app","其中解密是大头,io","其他:main","其次。为什么要解密呢?","内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。","再调用渲染框架(metal/opengl","冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动","函数。main","函数之前的一些初始化,主要包括+load","函数多了,page","函数里要做的最重要的事情就是初始化","创建启动闭包","初始化","初始化之后,就进入了我们熟悉的","利用","到内核,内核创建进程。接着会把主二进制","到虚拟内存的时候,起始地址会有一个随机的偏移量","到虚拟内存,找到","前端负责预处理,词法语法分析,生成","加载到虚拟内存里。接着会对每个","加载到进程的地址空间里,然后把后续的启动过程交给","动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是","又被划分成很多个","变成","变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接","可以分为三部分:","可执行文件的格式,典型的","可能一直处于忙的状态,所以这个","后端基于","启动","启动主线程的","启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以","启动有两种定义:","启动流程","启动的定义","启动的时候,mach","启动的种类","启动的路径上会触发很多次","启动速度提升超","启动速度断崖式下降的原因之一。","启用了","呢?","呢?我们先来看一下渲染的大致流程","和","和layoutsubview","和之前的设备都是","和方法","和装载","和资源文件一起,打包出最后的.app","和静态初始化被调用,除了方法本身耗时,这里还会引起大量","回前台:大多数时候不会被定义为启动,因为此时","回调了,在这些会调里去做一些业务上的初始化:","因为","因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是","在","在__cstring的","在启动上主要有几点应用:","基本概念","处,所以","大小是","太多会影响这部分时间","如下图,编译的时候,字符串","如果+load","如果是","字符串@\"1234\",编译到最后的二进制的时候是会存储在两个","字符串的元数据,每个元数据占用","存储","完全消失第一帧","实现了","寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取","寄存器来完成的。","寄存器设置成_dyld_start,接下来启动流程交给了","寄存器,pc","对.app","对三方","对每个二进制做","对解密后的页,进行签名验证","对这个过程进行了优化,page","就是实现了类似的插桩。","就是实现这个功能的。","就是把","就是把一组","就是把指针指向这个地址。","就是把系统库(uikit","就是触发一个系统调用,让线程休眠,等待事件到来,唤醒","就是通过","就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在","广义:点击图标到首页数据加载完毕","开始","开始,像","开始,物理内存的","引入,一直持续到","循环,在图中橙色部分的","或者","打散耗时的启动预热任务","执行","执行完毕之后,dyld","找到一个时机,在启动结束去执行一些预热任务","找到空闲的物理内存页面","把没有加载的动态库","抖音品质建设","指向实际的内存地址。","排列到一起,那么只需要一次","接下来会进行","提交。","提供的一种事务机制,把一组","提的","插桩来实现。llvm","支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案","数量的是","文件。","文件里。","文件里就可以找到有哪些文件里包含","文件,除此之外还包含一些","方法是基于","方法里的内容很简单,会影响启动时间么?比如这样的一个+load","方法,会在这个阶段调用","方法?","既然","既然要构建,那么必然会有一些地方去定义如何构建,对应","映射到虚拟内存里的(如下图)。下图中部分页被标记为","是","是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动","是主二进制和动态库。mach","是从","是启动的时候用到的,为了执行对应的代码,就需要两次","是启动的辅助程序,是","是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~","是基于","是开源的,我们可以添加一个自定义的","有个参数","有个比较大的优化是","有了闭包之后,就可以用闭包启动","本地离线缓存文章","本质上是一个while","构建","标准的三个","根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。","段加密。io","段的指针指向","段的指针指向就不对了。rebas","段的页,要进行解密","段进行加密,防止","注册","注意这个过程都是在内核态完成的,这里提到了","注意这里没有初始化","注意,并不是所有的","渲染。","渲染可以分为四个步骤","渲染里。","源文件(.m/.c/.swift","点击图标,创建进程","热启动:如果把","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。","状态","狭义:点击图标到","用户点击图标之后,会发送一个系统调用","由于主线程的","的","的主要区别就是没有启动闭包,就导致每次启动都要:","的代价,所以","的代码优化流程是一个一个","的任务并不一定能按时执行。","的元数据","的入口函数_dyld_start,把","的全称是","的前端是","的启动流程。","的地址","的地址,代码签名,符号表…","的字符串(__cfstring),以及运行时的元数据:class/protocol/method…","的字符串字面量发消息的原因。","的布局信息,比如","的拷贝资源就是通过脚本的方式完成的。","的指针地址,找到","的方式发给","的方式通知外部执行到了哪里。","的时候不需要解密了。","的最开始是","的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。","的次数,从而优化启动时间:","的渲染是在一个单独的进程","的的路径。然后","的第一次启动才会创建。闭包存储在沙盒的","的第一次启动,会创建启动闭包","的类","的类/方法名等信息","的类方法等信息,是因为启动闭包的缓存数据已经包含了","的解析。","的路径","的过程就是把指针从","的过程:","的运行时数据(class/method**…)解析非常**慢。","的,即启动的时候会把","的,所以在+load","目录,清理缓存的时候切记不要清理这个目录。","目标文件和静态库/动态库一起,链接出最后的","相比","符号的地址","等)合成一个大的文件,提高加载性能的缓存文件。","等)是单独编译的,输出对应的目标文件(.o)","等元数据,对大型工程来说,这部分耗时会很长","等外部函数,只有运行时才知道它的地址是什么,bind","等系统库就不提供完整的","签名,防篡改","精准统计启动时间","线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,runloop","终点:第一个ca::transaction::commit()","经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个","给","编码打包给","编译","编译器可以分为两大部分:前端和后端,二者以","编译完了之后,这个函数会在二进制中的","耗时,有没有什么办法优化呢?","虚拟内存","被分割成很多个","要特别提一下","解析","解析动态库的依赖关系","触发磁盘","详细回顾下整个启动过程,以及各个阶段耗时的影响因素:","语言家族的前端是","读入物理内存,为了打印字符串,要访问__cstring,还会触发一次","读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少","调用[calay","资源文件如","起点:进程创建的时间","这是从用户感知维度定义启动,那么代码上如何定义启动呢?appl","进来,动态库的数量会影响这个阶段","进来,读取","进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在","通过","那么如何利用编译优化启动速度呢?","那么,runloop","那么,如何找到代码里有哪些","部分包含了实际的代码和数据,data","里可以配置","里如果调用了","里对启动终点定义是第一个ca::transaction::commit()。","里的","里,对应会有一些地方读取这些注册的数据,如果在+load","重启手机/更新/下载","链接","链接器","闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:","需要的信息。","需要的信息,如","静态初始化是从哪来的呢?以下几种代码会导致静态初始化","首帧渲染是基于"],"iOS/Knowledge/MachO.html":["(",")","*/","+",",",".","..",".a",".dsym",".dylib",".o","/*","1.","11.0","2.mach","32","5c","64",":","?","__data.__bss","__data.__cfstr","__data.__common","__data.__const","__data.__data","__data.__la_symbol_ptr","__data.__objc_classlist","__data.__objc_imginfo","__data.__objc_protolist","__data.__objc_protoref","__data.__objc_selfref","__data.__objc_superref","__data.nl_symbol_ptr","__stub_help","__text.__const","__text.__cstr","__text.__objc_classnam","__text.__objc_methnam","__text.__objc_methtyp","__text.__stub","__text.__stubs_help","__text.__text","_cstring","_data","_got","_la_symbol_ptr","_objc_classlist","_objc_classnam","_objc_methodnam","_objc_methtyp","_stub","_stub_help","_text","a.out","architectur","arm","arm64","arm_v7","armv7","binari","bind","bss,存放为初始化的全局变量,即常说的静态内存分配","c","cmd","command","companion`","const","core","cpu","cpu_subtype_t","cpu_type_t","cpusubtype;","cputype;","data","dsym","dyld","dynam","dynamically动态库文件、mach","ececut","elf","execut","fat","file","filetype;","flags;","format","foundat","framework","header","io","iphon","lazi","link","linker动态链接器文件、mach","linux","load","load.h","mac","mach","mach_head","mach_header_64","macho","machoview","magic;","ncmds;","non","o","object","o文件","pe","pointer","portabl","refer","releas","reserv","reserved;","section","section。","segement","self","shift","sizeofcmds;","struct","stub","symbol","uint32_t","univers","v@:","valid","window","xcode","{","};","、","一张包含很多内容的表","上可执行文件的格式,","上的","下面也有详细列出.","下面列举一些常见的","中叫做","中存储的内容大致如上图所示","中继续添加就可以了","中通过编译设置","为例.","主程序代码","主要是和系统加载、链接有关*/","之后","之后的","也就是","也就是说","以上机型都是","以及","但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。","但是除了可执行文件外","位头文件","位系统了","位还是","位,对应的处理器是什么、文件类型是什么","使得可以快速确认一些信息,比如当前文件用于","使用","例如可执行文件","保留字段","关键字修饰的常量","其中","其实是","其实真正开始读取就是从","其实还有一些文件也是使用的","具体类型","内容","内容包括区域的位置、符号表、动态符号表等。","分为","初始化过的可变数据","加载命令大小*/","加载命令条数","动态链接","动态链接器","包含","包含该二进制文件的一般信息","即多种架构都可读取运行","原型","原型引用","另外","只是多了一个保留字段","可执行文件","可执行文件、mach","可执行文件是包含","可执行文件的支持架构的","可执行文件被称为","同一个程序包中同时为多种架构提供最理想的性能。","名称","告诉链接器如何去加载这个","命令可以查看文件类型","命令可以检查下结果","因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大。","因此想要支持多架构的话","在","在valid","在内存中","在内存中是紧跟在","字符串(cfstringrefs)","字节顺序、架构类型、加载指令的数量等。","它决定了一些基础架构","它是一种文件格式","它是一种用于可执行文件、目标代码、动态库的文件格式。作为","对应了什么呢","属于","并非一定是可执行文件","库文件","引用","当","当满足这两个条件时","懒加载符号表","我们以","我们打开源码看一下,","我们来看看","我们的应用打包出来的","或者重新组合的","找","指令条数等信息.","提供了更强的扩展性。","搜索","支持","文件","文件.","文件会选择","文件格式探索","文件格式的缩写,是","文件类型","文件结构","方法名称","方法类型","无法找到真正的符号地址后的最终指向","是可以更改所生成的","是我们经常需要研究的","是紧跟在","是链接器加载时最先读取的内容","标志位标识二进制文件支持的功能","格式","格式的常见文件","格式的替代,mach","模式下","段","段之后的.","段和","段开始读取的","段里都存放了什么","比如","比如arm64","没有初始化过的常量","没有初始化过的符号声明","用于","用途","的交集","的具体数据","的占位代码,很多地方称之为桩代码。","的指针表,每个表项中的指针都指向一个在装载过程中,被动态链机器搜索完成的符号","的指针表,表中的指针一开始都指向","的文件格式","的架构的","的组成结构如图所示包括了","目标文件","相较于","程序中使用的","符号表","符号表文件","等","等等","类似于","类列表","类名称","类型","系统版本以下","系统类型","结构体.","编译器在生成","编译生成","而且由于执行中只调用一部分代码,运行起来也不需要额外的内存。","苹果公司提出的一种程序代码。能同时适用多种架构的二进制文件","详细保存着加载指令的内容","语言字符串","超类引用","还看到一个","这个是什么意思呢","这种二进制文件是可以完全拆分开来","通常是对象文件中最大的部分","通用二进制文件","通用二进制文件通常被称为","通过查看内存地址我们发现","那么包含了支持多架构的","那么每一条到底对应着什么呢","那么这些","镜像信息","静态字符串常量","非","非懒加载符号表","魔数,快速定位64位/32位"],"iOS/Knowledge/PreMain.html":["&","((constructor))这样的函数。","(1)","(2)","(3)","(4)","(5)","(6)","1.","1.1.","1.2.","2.","2.1.","3.","4.","5.","6.","7.","7.1.","7.2.","7.3.","7.4.","8.",">","__dyld_start","addimag","app","app从点击到启动","attribut","bind","bind之类的符号,把上述结果写入缓存。这样,在应用启动的时候,就可以直接从缓存中读取数据,加快加载速度。","c","cpu","domodinitfunctions函数,内部会调用全局c++对象的构造函数,即","dyld","dyld2的过程是:加载dyld到app进程,加载动态库(包括所依赖的所有动态库),rebase,bind,初始化object","dyld3的out","dyld::_main()","dyldbootstrap::start()","dyld,dyld","headers,分析依赖的动态库,查找需要rebas","imag","imageload","image,包括可执行文件、动态库等,imageload","io","link","load_images里面执行call_load_methods函数,循环调用所用类以及分类的load方法。","main","main()函数调用之前,其实是做了很多准备工作,主要是dyld这个动态链接器在负责,核心流程如下:","o","objc","premain","process。","process会做如下事情:分析mach","process,也就是在程序进程内执行的,也就意味着只有当应用程序被启动的时候,dyld2才能开始执行任务。dyld3则是部分out","process,部分in","rebas","refer","runtime和其它的初始化代码。","setup","一步一步带你揭开main函数之前的面纱","之后会去加载可执行文件,二进制文件常被称为","以上三步完成后,dyld","以及","会去调用它。","会调用","会负责后续的工作","信息。可执行文件加载完成后,系统会调用","具体查看","函数","函数之前发生了什么","函数将其管理起来,并更新内存分布信息。","函数将可执行文件加载进内存中,加载过程分为三步:","函数开始之后的处理流程。","函数的地址,最后","初始化函数。","加载共享缓存库。","加载可执行文件。系统会去判断可执行文件的类型,选择相应的","加载程序所需的动态库","合法性检查。主要是检查可执行文件是否合法,是否能在当前的","在dyldstartup.","大体分为如下步骤:","实例化主程序,即macho可执行文件。","对程序进行","将其加载进内存空间中。","总结:","执行程序的","插入动态缓存库。","操作","文件中有个名为","方法在设置好运行环境后,会调用instantiatefromloadedimag","方法,然后进一步调用","方法,里面包含","是","架构下运行。","此回调是被运行时_objc_init初始化时赋值的一个函数load_imag","注册","的作用就是将二进制文件加载进内存。dyld::_main()","的整个启动流程,该函数最终返回应用程序","的方法,它会去调用","程序执行从_dyld_star开始","系统为程序启动做好准备","系统将控制权交给","系统的动态链接器,","经过一系列的初始化函数最终调用notifsingle函数。","设置的环境变量方便我们打印出更多的信息。","读取macho文件信息,设置虚拟地址偏移量,用于重定向。","调用dyld::_main方法进入macho文件的主程序。","调用gethostinfo()来获取macho头部获取当前运行架构的信息。","运行初始化函数","返回主程序的入口函数,开始进入主程序的main()函数。","选择","配置一些环境变量","链接主程序。","需要注意的是,dyld2和dyld3的加载方式略有不同。dyld2是纯粹的in"],"iOS/Knowledge/Complie.html":["+",".0",".app",".i",".m",".o",".s","01,","03,","0s,也可以写自己的","1","analysis),输出抽象语法树(ast),过程中会校验语法是否错误。","asset","asset.xcasset","b","bitcod","bitcode,苹果会做进一步优化。若有新的后端架构,依旧可以用这份优化过的","build","build.log","clang","cocoapod","codegen","command","compilec","cpu","foundation.framework,afnetworking.framework…","icon","infoplist","io","ir","ir)、优化器(优化","ir)、后端(生成汇编","ir,ir","ir:到这里","launchiamge。","link。","llvm","log","log,可以发现","mach","manifest.lock)。","optim","o。每次进行了","pass","pass,pass","phase","phases、build","phases:用于控制从源文件到可执行文件的整个过程,如编译哪些文件,编译过程中执行哪些自定义脚本。例如","process):宏替换、删除注释、展开头文件,产生","r","refer","rule","rules:指定了不同的文件类型该如何编译。一般我们不需要修改这里的内容。如果需要对特定类型的文件添加处理方法,可以在这里添加规则。","set","settings:这一栏下是对编译的细节进行设定,包含","storyboard","swift","target","token","xcode","xcodebuild","上执行,所以执行效率很高。","中使用","中的","中间代码:codegen","中预设一些脚本(checkpod","优化","优化器(optimizer):会进行","优化工作的一个节点,一个节点做些事,一起加起来就构成了","会做一些优化工作,在","会在","内部函数的日志记录表示形式,它是","写入辅助信息(.hmap","创建","前端(frontend):语法分析,语义分析和生成中间代码。在这个过程中,也会对代码进行检查,如果发现出错的或需要警告的会标注出来。","去生成。","及","后端(backend):针对不同的架构,生成对应的机器码。","命令。","和","在这里会进行相关配置。","处理","头文件替换;macro","完整的优化和转化。附件:官方","宏展开;处理预编译指令","我们在","或","执行","拷贝","拷贝资源文件到目标包","教程。","文件","文件。","文件。如果使用","文件中有关编译的基本信息来源。","文件中的对于其他库的引用的地方进行引用,生成最后的可执行文件。也包括多个","文件并对其签名","文件转化为机器码文件,产生","文件转化为汇编语言,产生","文件进行","文件)。将项目的文件结构对应表、将要执行的脚本、项目依赖库的文件结构对应表写成文件。","文件,生成可执行文件","日志获得。大致过程为:","时,即完成了一次编译,来看下这个过程做了哪些事情。","是","是根据","是编译过程中前端的输出后端的输入。","来控制编译过程。","来管理图片,这些图片会被编译为机器码,除了","标准库","每个","汇编(asembly):把汇编语言","流进行语法静态分析(static","流)。","生成","生成可执行文件","生成可执行文件)。使用","生成字节码:如果开启了","生成汇编","生成目标文件","的具体编译过程也可以通过","的完整流程:前端(词法分析","的流程","的生成,链接期优化等工作。","的编译设置里可以设置优化级别","的编译过程","编译","编译信息写入辅助文件(如entitlements.plist),创建编译后的文件架构","编译器的作用是把我们的高级语言转换成机器可以识别的机器码,经典的设计结构如下:","编译器的概述","编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","编译过程","编译过程分为四个步骤:","编译过程梳理","编译(compliling):把前面生成的","脚本,将在编译项目前已编译好的依赖库和相关资源拷贝到包中。","词法分析:预处理完成后进入词法分析,将输入的代码转化为一系列符合特定语言的词法单元(token","语法分析","语法分析:将词法分析得到的","负责将语法树自顶向下遍历翻译成","过程的每个阶段的设置选项(包含编译、链接、代码签名、打包)。","运行预设的脚本。如","进行编译的。我们可以通过","通过解析","链接","链接需要的库。如","链接(link):对","预处理阶段:import","预编译(pre"],"iOS/Knowledge/BinaryOrder.html":["1.","app","app启动和内存加载","app,pag","ar","a、b、c,则需执行3次","cpu","default(包括首次读取),并使用3个分页。","fault","fault。","fault造成时间的损耗","fault),分配物理内存,有需要的话会从磁盘","fault),因此阻塞进程。此时就需要先加载数据到物理内存,然后再继续访问。这个对性能是有一定影响的。","fault,将指令从磁盘加载到物理内存中并进行验签操作(app","file","file(.o)顺序写文件,按照","func","io","linux","method1","method3","mmap","object","page","page:page1/page2,其中绿色的","refer","store","text","t查看.a","二进制重排","二进制重排原理","二进制重排,主要是优化我们启动时需要的函数非常分散在各个页,启动时就会多次page","会执行","但如果我们把","共享缓存功能,访问时先判断是否已缓存到主存中才通过","内存的管理和保护工具","内部的函数顺序写函数。","创建分页,将代码读取到物理内存中,并且这些分页中的部分代码不会在启动阶段被调用。如下图所示,假设我们在启动阶段需要调用","包含的所有.o。","包,可以用ar","即可,这就是二进制文件重排的核心原理。","原理","发布情况下)。","启动时候需要调用,为了执行对应的代码,系统必须进行两个","启动过程中,会调用各种函数,由于这些函数分布在各个","启动速度优化(二进制重排)","和","在app","在虚拟内存出现前,程序指令必须都在物理内存内,使得物理内存能存放的进程十分有限,并且由于是相邻存储,容易发生越界访问等情况。","在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(pag","寻址(虚拟地址)访问主存或硬盘。","就是一组.o","当我们需要访问一个内存地址时,如果虚拟内存地址对应的物理内存还未分配,cpu","排布到一起,那么只需要一个","文件的","段中且不连续,此时需要执行多次","深入探索","渠道分发的","的耗时比想象的要多:","简化问题:假设我们只有两个","系统下,进程申请内存并不是直接物理内存给我们运行,而是只标记当前进程拥有该段内存,当真正使用这段段内存时才会分配,此时的内存是虚拟内存。","编译器在生成二进制代码的时候,默认按照链接的","而对应的物理内存却不存在时,会触发一次缺页中断(page","虚拟内存是作为","诞生的,为每个进程提供了一片连续完整的虚拟内存空间,使用时先通过界限寄存器判断访问是否越界,再通过基址寄存器转换为实际内存地址。降低了内存管理的复杂度,保护每个进程的内存地址空间不会被其它进程破坏,并且实现了","读人数据。","还会进行签名验证,所以一次","进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。为了提高效率和方便管理,又对虚拟内存和物理内存又进行分页(page)。当进程访问一个虚拟内存","通过","重排","静态库文件.a","默认布局"],"iOS/Knowledge/RuntimeSuper.html":["!__objc2__","!defined(__cplusplus)","#els","#endif","#if","&&","(*)(__rw_objc_sup","(*)(id,","(class)class","(id)class_getsuperclass(objc_getclass(\"car\"))},","(id)init","(obj)","(self)","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_0,","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_1,","*)objc_msgsend)((id)self,","*)objc_msgsendsuper)((__rw_objc_super){(id)self,","*,","*/","*super,",",最终都是找到了","...)","/*","///",":","=",">getisa();","@end","@implement","[self","[super","__unsafe_unretain","_nonnul","clang","class","class.","class;","class]","class]));","class。","compat","data","father","father,然后从这个","first","header","id","id.","init];","instanc","ios:关于sup","isa","isa,所以,我们得到的结果是:son。","message.","nil;","nslog((nsstr","nslog(@\"%@\",","nsobject","nsobject.mm","nsstringfromclass(((class","nsstringfromclass([self","nsstringfromclass([sup","obj","obj)","objc","objc_class.mm","objc_msgsendsuper(struct","objc_sup","object_getclass","object_getclass(id","object_getclass(self);","old","op,","particular","pointer","receiv","receiver:","receiver;","refer","return","rewrit","runtime.h","runtime学习:面试题狙击","search","sel","sel))(void","sel_registername(\"class\"))));","self","self;","self,然后第二个就是父类的","son","specifi","struct","structure.","super","super_class","super_class:","super_class;","superclass","type","{","}","};","下面的代码输出什么?","不一样,并不是指向父类的指针,只是一个","中可以找到","中找到","中的","仅仅是一个编译指示器。但是消息的接收者","从上方可以得出,调用","从定义可以得知:当利用","作用。","依然是self。最终在","关键字(使用runtime分析)","关键词是从父类的方法列表当中找,调用父类的那个方法。但是这两种方式的事件调用者都是当前的实例","可以看到,最终这个方法返回的是,调用这个方法的","命令,将题干的代码转化为如下代码:","在","就是调用这个事件的接受者","打印当前类的","指针。","指针。那我们只需要知道在题干中的代码里面最终是谁在调用","指针的时候,获取到的依旧是","接下来,我们利用","方法就可以找到答案了。","方法,一直找到了","是类的隐藏参数,指向调用方法的这个类的实例,是一个","用","的","的定义如下:","的实现:","的方法。","的时候,本质是在调用","类开始找","编译器修饰符","而","获取","调用方法时,只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用,是去父类找实现,sup","调用方法是从该类的方法列表当中找对应方法调用,如果没有就从父类当中找;而","跟","里面传两个参数,第一个参数objc_super结构体中有两个成员:",",最后这两个方法都是调用了"],"iOS/Knowledge/RuntimeCls.html":["%d","%d\",","&&","(bool)iskindofclass:(class)cl","(bool)ismemberofclass:(class)cl","(class","(tcl","*","//","0","0;","1",":","=","==",">superclass)","@autoreleasepool","@end","@implement","@interfac","[(id)[nsobject","[(id)[sark","[nsobject","[sark","[self","argc,","argv[])","bool","char","class","class(class),也就是","class(meta)","class]","class]);","class];","class]];","class不相等。","class,","class,和","class,所以和","cls)","cls;","code","const","here...","insert","int","isa","iskindofclass","iskindofclass:[nsobject","iskindofclass:[sark","iskindofclass,第一次","iskindofclass,第一次判断先判断","ismemberofclass","ismemberofclass:[nsobject","ismemberofclass:[sark","main(int","meta","nil,","no;","no。","nslog(@\"%@\",","nslog(@\"%d","nsobject","refer","res1","res1,","res2","res2,","res3","res3,","res4","res4);","return","root","runtime学习:面试题狙击","sark","super","superclass","tcl","tcls;","yes;","{","}","不相等。第三次","不相等。第四次循环之后,退出循环,所以第三行的","不相等。第四次循环,nsobject","不等,第二次","与","与meta","与本身不等。接着第二次循环判断","也不等。","以下的代码会输出什么结果?","分析:","可以得知:","和","就是","循环,nsobject","循环,sark","执行完之后调用","指向","指向的是","指针和自己比较,是否相等。","指针和自己比较,若不等则继续取","指针所指的","是否相等。还是从那张图上面我们可以看到:root","是否相等,之前讲到","是拿到自己的","本身。所以第二次循环相等,于是第一行","的","的super","的执行过程是拿到自己的","的时候放了一张很详细的图,从图上我们也可以看出,nsobject","结果:","输出为","输出应该为yes。","进行比较。如此循环。","首先,我们先去查看一下题干中两个方法的源码:"],"Network/TCPMessageFrame.html":["1","1、要发送的数据大于tcp发送缓冲区剩余空间大小,将会发生拆包。","2","2、待发送数据大于mss(最大报文长度),tcp在传输前将进行拆包。","3","3、要发送的数据小于tcp发送缓冲区的大小,tcp将多次写入缓冲区的数据一次发送出去,将会发生粘包。","4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。","framing),我们重新回顾一下粘包问题出现的核心原因:","ip","json","nagl","refer","socket","tcp","tcp粘包","tcp粘包,拆包及解决方法、丢包的原因及解决办法","—","为什么","传输性能的算法。因为网络","判断消息是否终结。","协议中的粘包是如何发生的:","协议以及应用层协议出发,分析我们经常提到的","协议传输数据时,tcp","协议发送","协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从","协议头带来的额外开销,但是使用该算法也可能会导致应用层协议多次写入的数据被合并或者拆分发送,当接收方从","协议数据传输的核心机制","协议是基于字节流的传输层协议,其中不存在消息和数据包的概念;","协议是面向字节流的协议,它可能会组合或者拆分应用层协议的数据;","协议是面向连接的、可靠的、基于字节流的传输层通信协议,应用层交给","协议有粘包问题","协议栈中读取数据时会发现不相关的数据出现在了同一个数据段中,应用层协议可能没有办法对它们进行拆分和重组。","协议的定义并且缺乏设计应用层协议的经验。本文将从","协议的数据并不会以消息为单位向目的主机传输,这些数据在某些情况下会被组合成一个数据段发送给目标的主机。","协议的错误理解,忽略了","协议粘包问题","协议粘包问题是因为应用层协议开发者的错误设计导致的,他们忽略了","协议造成的,它的出现是因为应用层协议设计者对","发生tcp粘包或拆包有很多原因,现列出常见的几点,","和","在应用层协议中,最常见的两种解决方案就是基于长度或者基于终结符(delimiter)。","基于字节流,其本身不包含消息、数据包等概念,所有数据的传输都是流式的,需要应用层协议自己设计消息的边界,即消息帧(messag","带宽有限,它不会将小的数据块直接发送到目的主机,而是会在本地缓冲区中等待更多待发送的数据,这种批量发送数据的策略虽然会影响实时性和网络延迟,但是能够降低网络拥堵的可能性并减少额外开销。","应用层协议没有使用基于长度或者基于终结符的消息边界,导致多个消息的粘连;","应用层协议的没有定义消息的边界导致数据的接收方无法拼接数据;","当应用层协议使用","总结","数据,接收方可以根据接收到的数据是否能够被解析成合法的","消息边界","算法是一种通过减少数据包的方式提高","算法确实能够在数据包较小时提高网络带宽的利用率并减少","粘包和分包问题","粘包并不是","缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。","除了这两种方式之外,我们可以基于特定的规则实现消息的边界,例如:使用"],"Network/Https.html":["(tls)","+","1.","1.0,","1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。","1)客户端发起一个http请求,连接到服务器的443端口。","2.","2.0,","2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。","2)服务端把自己的信息以数字证书的形式返回给客户端(证书内容有密钥公钥,网站地址,证书颁发机构,失效日期等)。证书中有一个公钥来加密信息,私钥由服务器持有。","3.","3.0","3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。","3)验证证书的合法性","4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。","4)生成随机密码(rsa签名)","5)生成对称加密算法","=","authent","authority,缩写","ca","ca)签发的服务器公开证书,证书中包含了公钥。客户端会使用这个公钥加密接下来的握手过程,直到协商生成一个新的对称密钥。证书中还包含了该证书所应用的域名范围(common","clienthello","cn),用于客户端验证身份。","code)","finish","happen","hash","hash算法","http","https协议:点外卖的过程原来这么复杂","https和http的区别主要如下:","https是安全的http.","https的验证流程","https运行流程","https都是用了哪些加密手段?","http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了ssl(secur","h、ecc等。在客户端与服务器相互验证的过程中用的就是非对称加密算法","key)并用公钥加密,让服务端用私钥解密,解密后就用这个对称密钥进行传输了,并且能够说明服务端确实是私钥的持有者。","layer","layer)协议用于对http协议传输的数据进行加密","mac(messag","name,简称","over","random","randomc","refer","rsa密码体制就是公钥密码体制,rsa的一对公钥和私钥都可以用来加密和解密。","secur","serverhello","socket","ssl","ssl/tl","ssl。ssl","tl","tls,是一种在加密信道进行","transport","zh_cn):","|","主要包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。","从上面的过程可以看到,tl","从现在开始,接下来整个","会话秘钥","会话都使用对称秘钥进行加密,传输应用层(http)内容","值,然后解密客户端发送来的信息,检查这两个值是否对应。如果对应,就向客户端发送一个","内容传输的协议。","列表,验证服务器端的证书是否可信。如果认为可信(具体的验证过程在下一节讲解),客户端会生成一串伪随机数,使用服务器的公钥加密它。这串随机数会被用于生成新的对称密钥","即","名称了。","后续通讯过程是用对称加密","在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。","基本过程","如果验证通过,或用户接受了不受信任的证书,浏览器就会生成一个随机的对称密钥(session","客户端发送一个","客户端收到服务器的响应后会先验证证书的合法性(证书中包含的地址与正在访问的地址是否一致,证书是否过期)。","客户端根据自己的信任","对称加密","对称加密算法(私钥加密)","数字证书","有aes、des、3des、tdea、blowfish、rc4、rc5、idea等。加密使用的密钥和解密使用的密钥是同一个密钥。由于加密算法是公开的,若要保证安全性,密钥不能对外公开。通常用来加密消息体。","有md5,sha1,sha256。用来确认信息没有被篡改。主要用来生成签名,签名是加在信息后面的,可以证明信息没有被修改过。一般对信息先做hash计算得到一个hash值,然后用私钥加密(这个加密一般是非对称加密)作为一个签名和信息一起发送。接收方收到信息后重新计算信息的hash值,且和信息所附带的hash值解密后进行对比。如果一样则认为没有被修改,反之则认为修改过,不做处理。可能有一种情况,黑客修改了信息并把hash值也改了,从而让他们相匹配。所以hash值一般都是加密后(生成签名)再和信息一起发送,确保hash值不会被修改。","有rsa、dsa/dss、elgamal、rabin、d","服务器端使用自己的私钥解密上面提到的随机数,然后使用这串随机数生成自己的对称主密钥","服务器端向客户端返回一个","服务器端生成自己的","比如公钥加密后只能由私钥解密;私钥加密后只能由公钥解密。且一方加密的内容只能由对方进行解密。","消息到服务器端,消息中同时包含了它的","消息给服务器端,使用对称密钥加密这次通讯的一个散列值","消息,也使用协商好的对称密钥加密","消息,消息中包含了服务器端的","版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的","版本进行支持了,因此这里我们就统一使用","版本,可用的加密算法和压缩算法。","版本,服务器所选择的加密和压缩算法,以及数字证书认证机构(certif","的","的传输会使用","的基本过程如下","的完整过程需要三个算法(协议),密钥交互算法,对称加密算法,和消息认证算法(tl","的早期版本叫做","第15讲","这一部分看的比较多,主要归纳了一下,分5条。","进行完整性检查)。","连接建立过程中是用非对称加密,非对称加密很耗时","连接经历流程是怎么样的","非对称加密","非对称加密算法(公钥加密)","预主秘钥","验证完服务端身份后,客户端生成一个对称加密的算法和对应密钥,以公钥加密之后发送给服务端。此时被黑客截获也没用,因为只有服务端的私钥才可以对其进行解密。之后客户端与服务端可以用这个对称加密算法来加密和解密通信内容了。","(取自"],"Network/TCPHandShake.html":["+","+1","1","1.2","1.3","1.4","1.5","1s,2s,4s,8s......","2.1","2.2","2.3","2.4","2msl等待状态","ack","ack包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传。如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。","ack状态的b收不到对已发送的fin+ack报文段的确认,服务端超时重传fin+ack报文段,而客户端能在2msl时间内收到这个重传的fin+ack报文段,接着客户端重传一次确认,重新启动2msl计时器,最后客户端和服务端都进入到closed状态,若客户端在tim","ack状态的服务器收不到对fin","ack的确认报文。服务器会超时重传这个fin","ack,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2msl,而是在发送完ack之后直接释放关闭,一但这个ack丢失的话,服务器就无法正常的进入关闭连接状态。","close","close_wait","close)造成的。所谓的半关闭,其实就是tcp提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。","cookies技术","dos/ddo","establish","fin","fin_wait1","grep","handshake),客户端或服务器均可主动发起挥手动作。","handshake)其实就是指建立一个tcp连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立tcp连接,并同步连接双方的序列号和确认号,交换tcp窗口大小信息。","isn","isn(c)。此时客户端处于","isn(initi","isn(s)。同时会把客户端的","last_ack","lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。","lifetime),它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为tcp报文段以ip数据报在网络内传输,而ip数据报则有限制其生存时间的ttl字段。","linux/unix","listen","msl是maximum","n","netstat","number)是固定的吗?","number),以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果","open)。","open),接收这个syn并发回下一个syn的另一端执行被动打开(pass","p","refer","segment","sequenc","syn","syn_rcvd","syn_recv","syn_send","syn攻击是什么?","syn,此时服务器处于","tcp","tcphandshak","time_wait","time_wait状态也成为2msl等待状态。每个具体tcp实现必须选择一个报文段最大生存时间msl(maximum","timeout)时间","wait状态不等待一段时间,而是发送完ack报文段后立即释放连接,则无法收到服务端重传的fin+ack报文段,所以不会再发送一次确认报文段,则服务端无法正常进入到closed状态。","way","|","。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它做错误的解释。","三次握手","三次握手和四次挥手","三次握手的其中一个重要功能是客户端和服务端交换","三次握手过程中可以携带数据吗?","三次握手(three","上可以使用系统自带的","两个理由:","为了保证客户端发送的最后一个ack报文段能够到达服务器。因为这个ack有可能丢失,从而导致处在last","为什么time_wait状态需要经过2msl才能返回到close状态?","为什么这样呢?大家可以想一个问题,假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的","为什么需要三次握手,两次不行吗?","之后,一样发送一个","之后,会发送","之后,就会处于","也就是说,第一次握手不可以放数据,其中一个简单的原因就是会让服务器更加容易受到攻击了。而对于第三次的话,此时客户端已经处于","什么是半连接队列?","作为","作为ack","作为自己","作者:猿人谷","保证客户端发送的最后一个ack报文段能够到达服务端。","其实第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据","刚开始双方都处于","刚开始客户端处于","即发出连接释放报文段(fin=1,序号seq=u),并停止再发送数据,主动关闭tcp连接,进入fin_wait1(终止等待1)状态,等待服务端的确认。","即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ack=1,seq=u+1,ack=w+1),客户端进入time_wait(时间等待)状态。此时tcp未释放掉,需要经过时间等待计时器设置的时间2msl后,客户端才进入closed状态。","即服务端收到连接释放报文段后即发出确认报文段(ack=1,确认号ack=u+1,序号seq=v),服务端进入close_wait(关闭等待)状态,此时的tcp处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入fin_wait2(终止等待2)状态,等待服务端发出的连接释放报文段。","即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(fin=1,ack=1,序号seq=w,确认号ack=u+1),服务端进入last_ack(最后确认)状态,等待客户端的确认。","发送第一个syn的一端将执行主动打开(act","命令来检测","四次挥手","四次挥手释放连接时,等待2msl的意义?","因为当服务端收到客户端的syn连接请求报文后,可以直接发送syn+ack报文。其中ack报文是用来应答的,syn报文是用来同步的。但是关闭连接时,当服务端收到fin报文时,很可能并不会立即关闭socket,所以只能先回复一个ack报文,告诉客户端,\"你发的fin报文我收到了\"。只有等到我服务端所有的报文都发送完了,我才能发送fin报文,因此不能一起发送。故需要四次挥手。","因此,需要三次握手才能确认双方的接收与发送能力是否正常。","在socket编程中,任何一方执行close()操作即可产生挥手操作。","在socket编程中,客户端执行connect()时,将触发三次握手。","在确认报文段中syn=1,ack=1,确认号ack=x+1,初始序号seq=y。","增加最大半连接数","如客户端发出连接请求,但因连接请求报文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端共发出了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,但是第一个丢失的报文段只是在某些网络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务端,此时服务端误认为客户端又发出一次新的连接请求,于是就向客户端发出确认报文段,同意建立连接,不采用三次握手,只要服务端发出确认,就建立新的连接了,此时客户端忽略服务端发来的确认,也不发送数据,则服务端一致等待客户端发送数据,浪费资源。","客户端在发送完最后一个ack报文段后,再经过2msl,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,使下一个新的连接中不会出现这种旧的连接请求报文段。","对一个具体实现所给定的msl值,处理的原则是:当tcp执行一个主动关闭,并发回最后一个ack,该连接必须在time_wait状态停留的时间为2倍的msl。这样可让tcp再次发送最后的ack以防这个ack丢失(另一端超时并重发最后的fin)。","常见的防御","建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由tcp的半关闭(half","弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。","当一端为建立连接而发送它的syn时,它为连接选择一个初始序号。isn随时间而变化,因此每个连接都将具有不同的isn。isn可以看作是一个32比特的计数器,每4ms加1","当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。","报文中放入大量的数据。因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发","报文之后才会进入","报文之后,也处于","报文之后,会以自己的","报文之后,会发送一个","报文之后,就处于关闭连接了,处于","报文作为应答,且把服务端的序列号值","报文作为应答,并且也是指定了自己的初始化序列号","报文的序列号值,此时客户端处于","报文的序列号值,表明已经收到客户端的报文了,此时服务端处于","报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。","报文,且把客户端的序列号值","报文,且指定一个序列号。此时服务端处于","报文,并指明客户端的初始化序列号","报文,当然,也是一样把服务器的","报文,报文中会指定一个序列号。此时客户端处于","报文,此时客户端处于","挥手为什么需要四次?","收到一个fin只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入time_wait是正常的,服务端通常执行被动关闭,不会进入time_wait状态。","攻击。","攻击是一种典型的","攻击的方法有如下几种:","攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源ip地址是随机的,基本上可以断定这是一次syn攻击。在","是动态生成的。","是固定的,攻击者很容易猜出后续的确认号,因此","服务器发送完syn","服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到syn洪泛攻击。syn攻击就是client在短时间内伪造大量不存在的ip地址,并向server不断地发送syn包,server则回复确认包,并等待client确认,由于源地址不存在,因此server需要不断重发直至超时,这些伪造的syn包将长时间占用未连接队列,导致正常的syn请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。syn","服务器第一次收到客户端的","来源:掘金","检测","注意,每次重传等待的时间不一定相同,一般会是指数增长,例如间隔时间为","状态。","状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据也没啥毛病。","状态。服务器收到","状态。需要过一阵子以确保服务端收到自己的","状态,假如是客户端先发起关闭请求。四次挥手的过程如下:","状态,服务端收到","状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。","状态,此时,双方已建立起了连接。","理论上,四个报文都发送完毕,就可以直接进入close状态了,但是可能网络是不可靠的,有可能最后一个ack丢失。所以time_wait状态就是用来重发可能丢失的ack报文。","的值,表示已经收到了服务端的","的值,表示自己已经收到了客户端的","的状态。","的状态,服务端处于","的连接的拆除需要发送四个包,因此称为四次挥手(four","确认报文段ack=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ack报文段可以携带数据,不携带数据则不消耗序号。","第一次挥手:客户端发送一个","第一次握手:客户端发送网络包,服务端收到了。","第一次握手:客户端给服务端发一个","第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给","第三次握手:客户端发包,服务端收到了。","第三次握手:客户端收到","第二次挥手:服务端收到","第二次握手:服务器收到客户端的","第二次握手:服务端发包,客户端收到了。","第四次挥手:客户端收到","缩短超时(syn","著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。","试想如果是用两次握手,则会出现下面这种情况:","过滤网关防护","这个ack报文段有可能丢失,使得处于last","这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。","这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。","这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。","这种2msl等待的另一个结果是这个tcp连接在2msl等待期间,定义这个连接的插口(客户的ip地址和端口号,服务器的ip地址和端口号)不能再被使用。这个连接只能在2msl结束后才能再被使用。","这里在补充一点关于syn","进行三次握手:","重传次数的问题:","链接:https://juejin.cn/post/6844903958624878606","防止“已失效的连接请求报文段”出现在本连接中。","首部的同步位syn=1,初始序号seq=x,syn=1的报文段不能携带数据,但要消耗掉一个序号。"],"Network/TCPUDP.html":["&","1.","1、tcp面向连接(如打电话要先拨号建立连接);udp是无连接的,即发送数据之前不需要建立连接","2.","2、tcp提供可靠的服务。也就是说,通过tcp连接传送的数据,无差错,不丢失,不重复,且按序到达;udp尽最大努力交付,即不保证可靠交付","3.","3、tcp面向字节流,实际上是tcp把数据看成一连串无结构的字节流;udp是面向报文的","4.","4、每一条tcp连接只能是点到点的;udp支持一对一,一对多,多对一和多对多的交互通信","5、tcp首部开销20字节;udp的首部开销小,只有8个字节","6、tcp的逻辑通信信道是全双工的可靠信道,udp则是不可靠信道","ip","tcp","tcp&udp","tcp(传输控制协议)","tcp/udp区别以及udp如何实现可靠传输","tcp。","tcp一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。","tcp不像udp一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。","tcp与udp区别总结","tcp主要靠停止等待协议实现的","tcp允许通信双方的应用程序在任何时候都能发送数据,因为tcp连接的两端都设有缓存,用来临时存放双向通信的数据。当然,tcp可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于mss)","tcp协议的特点","tcp和udp是osi模型中的运输层中的协议。tcp提供可靠的通信传输,而udp则常被用于让广播和细节控制交给应用的通信传输。","tcp和udp的比较","tcp提供全双工通信","udp","udp(用户数据报协议)","udp协议的特点","udp如何实现可靠传输","udp是面向报文的","udp没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如ip电话,实时视频会议等)","不可靠传输,不使用流量控制和拥塞控制","不可靠性","不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说","为什么要进行三次握手","主要需要保证报文无差错,不丢失,不重复,按序到达。","仅支持单播传输","传输方式","具体来说就是:","再者网络环境时好时坏,但是","功能:","协议,udp","协议,然后就传递给网络层了","发送方的udp对应用程序交下来的报文,在添加首部后就向下交付ip层。udp对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文","只会给数据增加一个","只去除","只能是一对一通信","可靠传输","可靠传输,使用流量控制和拥塞控制","因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用","在发送端,应用层将数据传递给传输层的","在接收端,网络层将数据传递给传输层,udp","复用,分用,差错检测","头标识下是","如何保证可靠传输","对于可靠传输,判断丢包,误码靠的是tcp的段编号以及确认号。tcp为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ack);如果发送端实体在合理的往返时延(rtt)内未收到确认,那么对应的数据(假设丢失了)将会被重传。","对比","尽最大努力交付","并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。","应答确认","当网络出现拥塞的时候,tcp能够减小向网络注入数据的速率和数量,缓解拥塞","报文头就传递给应用层,不会任何拼接操作","拥塞控制","提供了单播,多播,广播的功能。","提供拥塞控制","支持一对一,一对多,多对一和多对多交互通信","数据传输前需要建立连接","数据传输结束后断开连接","无差错情况","无连接","是不需要和","是否可靠","是否连接","有单播,多播,广播的功能","有序接受","每条tcp传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。","流量控制","滑动窗口流量控制等机制","特点","特点:","由于在传输层udp已经是不可靠的连接,那就要在应用层自己实现一些保障可靠传输的机制","确认丢失","确认迟到","等于说要在传输层的上一层(或者直接在应用层)实现tcp协议的可靠数据传输机制,比如使用udp数据包+序列号,udp数据包+时间戳等方","简单来讲,要使用udp来构建可靠的面向连接的数据传输,就要实现类似于tcp协议的","而不是","超时重传","超时重传(定时器)","超时问题,客户端超时重传策略,又发一次sync,造成多次建立连接","连接对象个数","适用于实时应用(ip电话、视频会议、直播等)","适用于要求可靠传输的应用,例如文件传输","适用场景","面向字节流","面向报文","面向报文(既不合并,也不拆分)","面向无连接","面向连接","面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。","首先","首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。","首部开销","首部开销小,仅8字节","首部最小20字节,最大60字节","(seq/ack应答机制)","(添加包序号)","(滑动窗口协议)"],"Network/HTTPDNS.html":[">ip】的映射方式,那就是httpdns。","dn","dns造成的域名劫持问题和调度不精准问题。","dns,能够避免local","domain","http","httpdn","httpdns使用http协议进行域名解析,代替现有基于udp的dns协议,域名解析请求直接发送到阿里云的httpdns服务器,从而绕过运营商的loc","httpdns是一款递归dns服务,与权威dns不同,httpdns并不具备决定解析结果的能力,而是主要负责解析过程的实现。","httpdns是通过ip直接请求http获取服务器a记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟。httpdns和localdns最大的区别在与:前者使用http协议进行域名解析;后者协议运行在udp协议之上,使用端口号53。","httpdns深度解析","ip","ip列表更换方便。","ip直连方案有下面几大优势:","local","refer","ttl","传统的dns系统存在很多问题,最常见的就是dns劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是dns劫持,因为dns解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按","使用httpdns,可以有效解决传统dns的dns劫持、访问时间延迟等问题。","劫持:由于","平均访问延迟下降:由于是","摒弃了系统dns,减少外界干扰,摆脱dns劫持困扰。","是通过","用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。","直接访问省掉了一次","直接请求","缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名","自建dns更新时机可以控制。","获取服务器","解决的问题","解析过程,所以从根本避免了劫持问题。","解析过程,通过智能算法排序后找到最快节点进行访问。","记录地址,不存在向本地运营商询问"],"Network/CA.html":["(jianshu.com)","(zhihu.com)","authority)机构给服务端进行颁发,ca机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。","ca","ca是证书的签发机构,它是公钥基础设施(publ","ca认证链","ca证书","ca证书详解","infrastructure,pki)的核心。ca是负责签发证书、认证证书、管理已颁发证书的机关。","key","refer","ssl如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到ca证书","ssl的加密机制:在使用ssl的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为des、3des,aes等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有rsa、elgamal、ecc等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请网上搜索相应的资料。","一个证书中含有三个部分:\"证书内容,散列算法,加密密文\",证书内容会被散列算法hash计算出hash值,然后使用ca机构提供的私钥进行rsa加密。","一文看懂https、证书机构(ca)、证书、数字签名、私钥、公钥","为了防止这种情况,数字证书就出现了,它其实就是基于上上面所说的私钥加密数据,公钥解密来验证其身份。","使用用户身份信息生成数字签名","信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如sha1,md5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。","在传输的过程中,客户端如何获得服务器端的公钥呢?当时是服务器分发给客户端,如果一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。","对称加密方式","当客户端发起请求时,服务器将该数字证书发送给客户端,客户端通过ca机构提供的公钥对加密密文进行解密获得散列值(数字签名),同时将证书内容使用相同的散列算法进行hash得到另一个散列值,比对两个散列值,如果两者相等则说明证书没问题。","拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证","数字签名:当我们去银行办理业务时,会在业务单上签下自己的名字,这个叫签名。而在网络通信中,签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确","数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?","数字证书是由权威的ca(certif","数据加密","根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的,若终端信任根证书,则信任根证书生成的其他证书。终端没有安装相应https证书则不能访问https网站。","的签字从而信任","的证书(含公钥),用以验证它所签发的证书。","知乎","简书","证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循x.509国际标准。",",任何人都可以得到"],"Struct/BinaryTree.html":["(1)","(2)","(3)","*bitree;","*lchild,","*rchild;//左右孩子指针","/*中序遍历左子树*/","/*二叉树的中序遍历递归算法*/","/*二叉树的前序遍历递归算法*/","/*二叉树的后序遍历递归算法*/","/*先后序遍历左子树*/","/*再先序遍历左子树*/","/*再后续遍历右子树*/","/*显示结点数据,可以更改为其他对结点操作*/","/*最后中序遍历右子树*/","/*最后先序遍历右子树*/","1","1)","1.1","12","1个节点。(k>=1)","1)n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。","1)叶子只能出现在最下一层。出现在其它层就不可能达成平衡。","1)叶子结点只能出现在最下层和次下层。","1)在二叉树的第i层上最多有2(i","1)已知前序遍历序列和中序遍历序列,确定一棵二叉树。","1)有且仅有一个特定的称为根(root)的结点;","1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。","1,不行,给我调整!","1,这时还算平衡,这时再添加一个元素","2","2.1","2.2","24","28","28,然后变成这样:","28:","2i","2i+1>n,则该结点无右孩子结点,","2i>n,则该结点无左孩子,","2)m>0时,子树的个数没有限制,但它们一定是互不相交的。","2)二叉树中如果深度为k,那么最多有2(k)","2)左子树和右子树是有顺序的,次序不能任意颠倒。","2)已知后序遍历序列和中序遍历序列,确定一棵二叉树。","2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集t1、t2、......、tn,其中每一个集合本身又是一棵树,并且称为根的子树。","2)最下层的叶子结点集中在树的左部。","2)非叶子结点的度一定是2。","3","3.1","3.13","3.2","3.3","3.4","3.5","3.6","3.7","3.7.1","3.7.2","3.8","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","30,它就需要在","37","3)n0=n2+1","3)倒数第二层若存在叶子结点,一定在右部连续位置。","3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。","3)在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。","4)在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。","4)如果结点度为1,则该结点只有左孩子,即没有右子树。","5)同样结点数目的二叉树,完全二叉树深度最小。","5)若对含",">",">data);",">lchild);",">rchild);",">右子树,中序是",">右子树,后序是",">左子树",">父节点","[i/2]","abcdefghij","abdhiejcfg","bitnod","bitnode,","bitnode{","data;//数据","hdibjeafcg","hidjebfgca","h右子树为空,则返回至d,此时第二次到达d,故输出d;","h右子树为空,则返回至h,此时第三次到达h,故输出h;","i=1,则该结点是二叉树的根,无双亲,","if(t==null)","inordertraverse(bitre","inordertraverse(t","i为叶子结点,则返回到d,d左右子树已经访问完毕,则返回到b,进而到b右子树,第一次到达e,故输出e;","n","n0表示度数为0的节点数,n2表示度数为2的节点数。","o(logn),性能已经相当好了。","postordertraverse(bitre","postordertraverse(t","preordertraverse(bitre","preordertraverse(t","printf(\"%c\",","refer","return;","struct","t","t)","telemtyp","typedef","void","{","}","。(i>=1)","一棵典型的二叉树如下图所示:","丑了点,但的确保持了平衡。","个结点的完全二叉树从上到下且从左至右进行","个节点","中序遍历","中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。","为它的右子树后,根节点的左右子树高度差为","为根节点的树,明显右边太重,左边太稀,想要保持平衡就","为根节点,当添加","也就是说,树的两个左子树的高度差别不会太大。","二叉树","二叉树基础","二叉树性质","二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。","二叉树特点","二叉树的存储结构","二叉树的访问次序可以分为四种:","二叉树的遍历一个重点考查的知识点。","二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。","二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。","二叉树遍历","二叉链表","于是我们就需要调整当前的树结构,让它进行旋转。","从根结点出发,则第一次到达结点a,不输出a,继续向左访问,第一次访问结点b,不输出b;继续到达d,h;","从根结点出发,则第一次到达结点a,故输出a;","以","例如:对于图3.8描述的二叉树:","例题:若一棵二叉树的前序遍历为abcdef,中序遍历为cbaedf,请画出这棵二叉树。","依次类推,平衡二叉树在添加和删除时需要进行旋转保持整个树的平衡,内部做了这么复杂的工作后,我们在使用它时,插入、查找的时间复杂度都是","其中浅色结点表示结点不存在。那么图3.8所示的二叉树的顺序存储结构如图3.9所示:","其中,∧表示数组中此位置没有存储结点。此时可以发现,顺序存储结构中已经出现了空间浪费的情况。","分析:前序遍历第一个输出结点为根结点,故a为根结点。早中序遍历中根结点处于左右子树结点中间,故结点a的左子树中结点有cb,右子树中结点有edf。","分钟理解完全二叉树、平衡二叉树、二叉查找树","则3.13所示二叉树的中序遍历输出为:","则3.13所示二叉树的前序遍历输出为:","则图3.13所示二叉树的后序遍历输出为:","则图3.6所示的二叉树可以采用图3.12表示。","到","到达h,h左子树为空,则返回到h,此时第二次访问h,不输出h;","到达h,h左子树为空,则返回到h,此时第二次访问h,故输出h;","前序遍历","前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。","前,中,后只是指父节点遍历的顺序,前序就是","变成根节点,12","右子树","右斜树","右旋成","后序遍历","后序遍历中最后访问的为根结点,因此可以按照上述同样的方法,找到根结点后分成两棵子树,进而继续找到子树的根结点,一步步确定二叉树的形态。","后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。","向e左子树,故输出j;","否则,编号为","否则,编号为2i+1","因为最后一个节点加到了右子树的右子树,就要想办法给右子树的左子树加点料,因此需要逆时针旋转,将","图3.10","图3.11","图3.12","图3.12中采用一种链表结构存储二叉树,这种链表称为二叉链表。","图3.13所示二叉树中序访问如下:","图3.13所示二叉树后序访问如下:","图3.13所示二叉树访问如下:","图3.14","图3.15.png","图3.2","图3.3","图3.5","图3.6","图3.6所示的一棵完全二叉树采用顺序存储方式,如图3.7表示:","图3.7","图3.8.png","图3.9","如图3.14所示:","子树也必须是一颗平衡二叉树","完全二叉树","完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1","定义","定义结点代码:","对于二叉树的遍历有一类典型题型。","就是度为0的结点","层序遍历","层次遍历","层次遍历就是按照树的层次自上而下的遍历二叉树。针对图3.13所示二叉树的层次遍历结果为:","层次遍历的详细方法可以参考二叉树的按层遍历法。","左子树","左斜树","平衡二叉树","平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:","平衡二叉树要么是一棵空树","当到达叶子结点h,返回到d,此时已经是第二次到达d,故不在输出d,进而向d右子树访问,d右子树不为空,则访问至i,第一次到达i,则输出i;","得让位给","按照同样的分析方法,对a的左右子树进行划分,最后得出二叉树的形态如图3.15所示:","按照同样的访问规则,继续输出c、f、g;","按照同样规则继续访问,输出j、e、a、f、c、g;","按照同样规则继续访问,输出j、e、b、f、g、c,a;","按照同样规则,输出d,输出h;","斜树","斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。","既然顺序存储不能满足二叉树的存储需求,那么考虑采用链式存储。由二叉树定义可知,二叉树的每个结点最多有两个孩子。因此,可以将结点数据结构定义为一个数据和两个指针域。表示方式如图3.11所示:","树","树(tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:","此外,树的定义还需要强调以下两点:","注:已知前序遍历序列和后序遍历序列,不可以唯一确定一棵二叉树。","注:满二叉树一定是完全二叉树,但反过来不一定成立。","深入学习二叉树(一)","满二叉树","满二叉树的特点有:","满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。","父节点","特点:","由d返回至b,第二次到达b,故输出b;","由h返回至d,第二次到达d,不输出d;","由二叉树定义以及图示分析得出二叉树有以下特点:","由图3.10可以看出,对于这种右斜树极端情况,采用顺序存储的方式是十分浪费空间的。因此,顺序存储一般适用于完全二叉树。","由图3.7可以看出,当二叉树为完全二叉树时,结点数刚好填满数组。","的右子树,还算平衡:","的左子树,就变成了这样(有点丑哈哈):","的左子树:","的结点为其双亲结点;","的结点为其右孩子结点。","的结点为其左孩子结点;","的结点有如下特性:","的编号,则对完全二叉树中任意一个编号为","结点拥有的子树数目称为结点的度。","结点的度","继续向左访问,第一次访问结点b,故输出b;","继续访问至i,i左右子树均为空,故第三次访问i时,输出i;","至","节点是数据结构中的基础,是构成复杂数据结构的基本组成单位。","节点概念","节点的度:结点拥有的子树数目称为结点的度,叶子结点","若","虽然二叉树的遍历过程看似繁琐,但是由于二叉树是一种递归定义的结构,故采用递归方式遍历二叉树的代码十分简单。","要么保证左右子树的高度之差不大于","觉得不平衡了,我左孩子一个都没有,右边都有俩了,超过了之前说的最大为","返回至d,此时第三次到达d,故输出d;","这时又恢复了平衡,再添加","这时如果再添加一个","这时我们可以看到这个树又不平衡了,以","这时根节点","递归实现代码如下:","遍历常考考点","那么对于图3.3所示的右斜树极端情况对应的顺序存储结构如图3.10所示:","那么当二叉树不为完全二叉树时,采用顺序存储形式如何呢?","那我们接着看前面的极端情况的二叉排序树,现在用它来构造一棵平衡二叉树。","重点概念","顺序存储"],"Algorithm/BinaryInsertSort.html":["(int","(n","(一)概念及实现","(三)稳定性","(二)算法复杂度",")","+","//","1)","1)/2加上","1;","1]","1]为有序区,a[i…n]","1]的元素后移,并将a[i]赋值给a[j]。","1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left","2)","3)","=",">=","advanceinsertsortwithbinarysearch(int[]","arr)","arr[j","arr[j];","arr[low]","for(int","high","j","low","low;","mid","public","refer","static","temp)","temp;","void","{","}","。即o(log2n)","为无序区。(i从1开始)","二分查找排序是稳定的,不会改变相同元素的相对顺序。","二分查找插入位置,因为不是查找相等值,而是基于比较查插入合适的位置,所以必须查到最后一个元素才知道插入位置。","二分查找插入排序的原理:是直接插入排序的一个变种,区别是:在有序区中查找新元素插入位置时,为了减少元素比较次数提高效率,采用二分查找算法进行插入位置的确定。","二分查找插入排序耗时的操作有:比较","二分查找最坏时间复杂度:当2^x>=n时,查询结束,所以查询的次数就为x,而x等于log2n(以2为底,n的对数)。即o(log2n)","二分法插入排序","二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i","从实现原理可知,二分查找插入排序是在原输入数组上进行后移赋值操作的(称“就地排序”),所需开辟的辅助空间跟输入数组规模无关,所以空间复杂度为:o(1)","从无序区中取出第一个元素,即a[i],使用二分查找算法在有序区中查找要插入的位置索引j。","优化的直接插入排序(二分查找插入排序,希尔排序)","元素相同时,也插入在后面的位置","具体如下(实现为升序):","后移赋值。时间复杂度如下:","将a[j]到a[i","将原序列分成有序区和无序区。a[0…i","所以,二分查找排序比较次数为:x=log2n","时间复杂度:o(n^2)","最坏情况:查找的位置是有序区的第一个位置,则需要的比较次数为:log2n,需要的赋值操作次数为n(n","最好情况:查找的位置是有序区的最后一位后面一位,则无须进行后移赋值操作,其比较次数为:log2n","次。即o(n^2)","渐进时间复杂度(平均时间复杂度):o(n^2)","空间复杂度:o(1)","设数组为a[0…n]。","重复步骤2~3,直到无序区元素为0。"],"Algorithm/BinarySort.html":["!=","\"\"\"","#","'''","+=","1","144.","145.","1]","1、申请一个新的栈,记为stack,申请一个变量cur,初始时令stack为空,cur等于头节点。","1、申请一个栈,记为s1,然后将头节点压入s1中。","1、申请一个栈,记为stack,将头节点压入stack,同时设置两个变量h和c。在整个流程中,h代表最近一次弹出并打印的节点,c代表当前stack的栈顶节点,初始时令h为头节点,c为null。","1、首先申请一个新的栈,记为stack。","2、从s1中弹出的节点记为cur,然后先把cur的左孩子压入s1中,然后把cur的右孩子压入s1中。","2、先把cur节点压入栈中,对以cur节点为头的整棵子树来说,依次把整棵树的左边界压入栈中,即不断令cur=cur.left,然后重复步骤2。","2、每次令c等于当前stack的栈顶节点,但是不从stack中弹出节点,此时分以下三种情况。","2、然后将头节点head压入stack中。","3、一直重复步骤2,直到stack为空,过程停止。","3、不断重复步骤2,直到发现cur为空,此时从stack中弹出一个节点,记为node。打印node的值,并让cur=node.right,然后继续重复步骤2。","3、在整个过程中,每一个从s1中弹出的节点都放进第二个栈s2中。","3、每次从stack中弹出栈顶节点,记为cur,然后打印cur节点的值。如果cur右孩子不为空的话,将cur的右孩子先压入stack中。最后如果cur的左孩子不为空的话,将cur的左孩子压入stack中。","4、不断重复步骤2和步骤3,直到s1为空,过程停止。","4、不断重复步骤3,直到stack为空,全部过程结束。","4、当stack为空并且cur为空时,整个过程结束。","5、从s2中依次弹出节点并打印,打印的顺序就是后序遍历的顺序了。","94.",":rtype:",":type","=","==",">",">右",">右子树,中序是",">右子树,后序是",">左",">左子树",">根",">父节点","[]","[root]","__init__(self,","bf","bfs(root):","break","class","cur","cur.left","cur.left:","cur.right","cur.right:","cur:","def","else:","http://www.ichenfei.com/2019/05/02/%e4%ba%8c%e5%8f%89%e6%a0%91%e7%9a%84%e5%89%8d%e4%b8%ad%e5%90%8e%e5%ba%8f%e9%81%8d%e5%8e%86%e7%9a%84%e9%9d%9e%e9%80%92%e5%bd%92%e5%ae%9e%e7%8e%b0(python)/","index","inordertraversal(self,","int.","l","l:","l=none,","leetcod","len(lst):","list","list()","list2tn(lst,","list[int]","list[int]:","lst:","lst[i]","need","needs:","needs=none):","nit","nit.append(cur.right)","nit.append(root)","node","node.right","none","none:","postordertraversal(self,","preordertraversal(self,root):","prev","prev:","provid","queue","queue.append(l)","queue.append(r)","queue.append(root)","queue.pop(0)","queue:","r","r:","r=none):","re","refer","res.append(cur.val)","res.append(node.val)","res.append(root.val)","res.append(temp.val)","return","returned.","root","root):","root,","root.left","root.right","root:","self.left","self.right","self.val","solution(object):","solution:","stack","stack.append(cur)","stack.append(cur.left)","stack.append(cur.right)","stack.append(root)","stack.pop()","stack1","stack1.append(cur.left)","stack1.append(cur.right)","stack1.pop()","stack1:","stack2","stack2.append(cur.val)","stack2[::","stack:","temp","temp.left","temp.right","tnq","tnq.append(cur.right)","tree","treenod","treenode(lst[0])","treenode(lst[i])","treenode)","treenode:","way","whose","x","x,","中序遍历","二叉树定义","二叉树排序","二叉树的中序遍历","二叉树的前中后序遍历的非递归实现","二叉树的前序遍历","二叉树的后序遍历","代码实现","具体过程","前序遍历","前,中,后只是指父节点遍历的顺序,前序就是","右子树","后序遍历","层次遍历","左","左子树","方法一:","方法一:使用两个栈实现","方法二:","方法二:使用一个栈实现","根","根节点加入队列中","父节点","(1)如果c的左孩子不为空,并且h不等于c的左孩子,也不等于c的右孩子,则把c的左孩子压入stack中。","(2)如果情况1不成立,并且c的右孩子不为空,并且h不等于c的右孩子,则把c的右孩子压入stack中。","(3)如果情况1和情况2都不成立,那么从stack中弹出c并打印,然后令h等于c。"],"Algorithm/remove-duplicates-from-sorted-array.html":["(int","//","0","0,","00","00。","00,则数组不包含任何元素,因此返回","0;","1","1,","11","11。","11,即指向下一个位置。","1]nums[fast]","1]nums[slow−1]","1n−1","1:","2","2,","26.","2:","3,","4","5","=","=nums[fast−1],说明",">","[0,0,1,1,1,2,2,3,3,4]","[0,1,2,3,4]","[1,1,2]","[1,2]","\\ne","\\textit{fast}fast","\\textit{nums}[0]nums[0]","\\textit{nums}[\\textit{fast}","\\textit{nums}[\\textit{fast}]","\\textit{nums}[\\textit{fast}]nums[fast]","\\textit{nums}[\\textit{slow}","\\textit{nums}[\\textit{slow}]nums[slow],然后将","\\textit{nums}num","\\textit{slow}slow","\\textit{slow}slow,返回","class","def","fast","int","int:","len","len(nums)","list[int])","n","nn。将快指针","num","nums:","o(1)","o(1)o(1)","removeduplicates(nums);","removeduplicates(self,","return","slow","solution:","。不需要考虑数组中超出新长度后面的元素。","不要使用额外的数组空间,你必须在","为什么返回数值是整数,但输出的答案是数组呢?","你可以想象内部操作如下:","使用快慢双指针,快指针在满之后后面遍历数组,由于数组是有序的,快指针向后遍历时,若碰到当前下标与慢指针值不一样时,就将当前值前移到慢指针位置,知道快指针遍历完数组,原理其实就是将不同的数向前提前,不扩大数组空间","依次遍历从","保持原状即可,从下标","修改输入数组","假设数组","分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标","删除有序数组中的重复项","删除重复元素,在删除重复元素之后,每个元素只出现一次,并返回新的长度,上述操作必须通过原地修改数组的方法,使用","删除重复出现的元素,使每个元素","到","即可。","原地","双指针","只出现一次","和","和之前的元素都不同,因此将","在函数里修改输入数组对于调用者是可见的。","复杂度分析","如果数组","它会打印出数组中","定义两个指针","并且原数组","并在使用","开始删除重复元素。","当数组","提示:","时间复杂度:o(n),其中","时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此","是以“引用”方式传递的。也就是说,不对实参做任何拷贝","是数组的长度。快指针和慢指针最多各移动","是有序的,因此对于任意","根据你的函数返回的长度,","次。","由于给定的数组","的值加","的值复制到","的前两个元素被修改为","的前五个元素被修改为","的所有元素。","的每个位置,对于每个位置,如果","的每个元素都不相同且包含原数组中的每个不同的元素,因此新的长度即为","的空间复杂度完成。","的长度为","的长度大于","示例","空间复杂度:o(1)。只需要使用常数的额外空间。","给你一个有序数组","解决:","解释:函数应该返回新的长度","该长度范围内","说明:","请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。","输入:num","输出:2,","输出:5,","这道题目的要求是:对给定的有序数组","遍历结束之后,从","额外空间的条件下完成。","",",",",并且原数组",",请你",",返回删除后数组的新长度。"],"Algorithm/QuickSort.html":["&&","(int","(left","//交互位置","0,","01、快速排序","02、算法思想","03、算法实现","0;","1","1);","1,","12,","16,","1};","1,2","2","2,","28,","3","3,","32,","4","4,","5","5,","6","6,","60","60,","7","7,","72","72,","8","8,","9","9,",";","=",">=","a.5,","args)","array","array.length","array[left]","array[right]","array[right];","b.2,","base","base)","base;","c.2,","class","d.5,","exchang","int[]","int[]{2,","left","loop)可以在大部分的架构上很有效率地达成。","main(string[]","n","new","o(n^2)","o(nlogn)","public","quicksort","quicksort(array,","refer","right","sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序","static","void","{","}","个项目要","从运行的结果我们看到,已经正常的排序结束了,说明这个算法已经满足了我们的要求,而且详细的代码分析也已经加上了注释,我想大家应该都能看懂。只要记住核心的几个点就可以了,这里我在重复说明一下:","你应该知道的常用排序算法之快速排序","先找基准点","先找第一个中间元素,满足左边的比他小,右边比他大,第二趟就是看第一个元素分割的两半,再同样找是否在子序列中,有一个中间元素满足左边的都比他小,右边的比他大;","大的放在右边序列;","小的放在左边序列,比","平均情况下快速排序的时间复杂度是θ(𝑛log𝑛),最坏情况是n²,但通过随机算法可以避免最坏情况。由于递归调用,快排的空间复杂度是θ(log𝑛)。","循环,这里是使用类似两个指针,分别从序列的左右两个端点开始往中间进行遍历,主要进行的第二步比较和赋值的操作。","快速排序","快速排序的算法思想是分而治之,将一个大的待排序列,分成两个子序列,然后采用递归的方式,依次将子序列也分成更小的子序列,依次进行,最后得到排序好的序列。算法的实现主要分成三步","快速排序(英语:quicksort),又称划分交换排序(partit","我们先看看维基百科的解释:","找到基准点:","排列序列,将比基准点小的放在左边的子序列,将比基准点大的放在右边的子序列;","排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(d)","次比较。在最坏状况下则需要","次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner","步骤,得到最终的顺序序列","比较大小,比","注意上面内部的两个","运行结果:","递归左右序列。","采用递归,依次重新选取基准点,在重复进行","题目"],"Algorithm/BST.html":["(binari","1、二叉查找树的缺点","1、具有二叉查找树的全部特性。","1、具有二叉查找树的特点。","2、平衡二叉树","2、根节点是黑色的;","2、每个节点的左子树和右子树的高度差至多等于1。","3、每个叶子节点都是黑色的空节点(nil),也就是说,叶子节点不存数据。","4、任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。","5、每个节点,从该节点到达其可达的叶子节点是所有路径,都包含相同数目的黑色节点。","==",">","bst","class","def","int)","n","none","o(logn)","o(logn)。","o(logn),不过却不是最佳的,因为平衡树要求每个节点的左子树和右子树的高度差至多等于1,这个要求实在是太严了,导致每次进行插入/删除节点的时候,几乎都会破坏平衡树的第二个规则,进而我们都需要通过左旋和右旋来进行调整,使之再次成为一颗符合要求的平衡树。","o(logn),我这里就不细讲了,后面的文章可能会讲。","o(n),可想而知,我们必须不能让这种情况发生,为了解决这个问题,于是我们引申出了平衡二叉树。","o(logn)。","refer","return","root","root.val:","root:","search","searchbst(self,","self.searchbst(root.left,","solution:","tree)","treenode,","treenode:","val","val)","val:","。","不过,与平衡树不同的是,红黑树在插入、删除等操作,不会像平衡树那样,频繁着破坏红黑树的规则,所以不需要频繁着调整,这也是我们为什么大多数情况下使用红黑树的原因。","不过,如果你要说,单单在查找方面的效率的话,平衡树比红黑树快。","个节点的二叉查找树,正常的情况下,查找的时间复杂度为","个节点的平衡树,最坏的查找时间复杂度也为","为什么有了二叉查找树/平衡树还需要红黑树","为什么有了平衡树还需要红黑树?","之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如","二叉搜索树与平衡二叉树","二叉查找树","二叉查找树、平衡树(avl)","二叉查找树中序遍历得到结果是递增排序的结点序列。","二叉查找树又称二叉搜索树,二叉排序树,特点如下:","二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图","于是,通过平衡树,我们解决了二叉查找树的缺点。对于有","例如下面的图片(注意,图片中黑色的、空的叶子节点没有画出)(图片来自极客时间)","例如:图一就是一颗平衡树了,而图二则不是(节点右边标的是这个节点的高度)","右子树上所有结点值均大于根结点","基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n","如果我上面讲的,你都懂,都能够在面试中说出来,应该是足够的了。我当时就是这么回答的。","对于图二,因为节点9的左孩子高度为2,而右孩子高度为0。他们之间的差值超过1了。","左子树上所有结点值均小于根结点","平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了,平衡树具有如下特点","平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。关于平衡树如何构建、插入、删除、左旋、右旋等操作这里不在说明,具体可以看我之前写的一篇文章:【漫画】以后在有面试官问你avl树,你就把这篇文章扔给他。","总结","所以,我们也可以说,红黑树是一种不大严格的平衡树。也可以说是一个折中发方案。","所以,最后的答案是,平衡树是为了解决二叉查找树退化为链表的情况,而红黑树是为了解决平衡树在插入、删除等操作需要频繁调整的情况。","显然,如果在那种插入、删除很频繁的场景中,平衡树需要频繁着进行调整,这会使平衡树的性能大打折扣,为了解决这个问题,于是有了红黑树,红黑树具有如下特点:","查找","概念","正是由于红黑树的这种特点,使得它能够在最坏情况下,也能在","的时间复杂度查找到某个节点。至于为什么就能够保证时间复杂度为","结点的左右子树本身又是一颗二叉查找树","虽然平衡树解决了二叉查找树退化为近似链表的缺点,能够把查找时间控制在","记一次腾讯面试:有了二叉查找树、平衡树(avl)为啥还需要红黑树?","这种情况也是满足二叉查找树的条件,然而,此时的二叉查找树已经近似退化为一条链表,这样的二叉查找树的查找时间复杂度顿时变成了"],"Article/ReadME.html":["技术文章","技术文章收集"],"Article/贝聊 IAP 实战之满地是坑.html":["#import","#pragma","(!products.count)","(!receipt)","()","([skpaymentqueu","(bool)application:(uiappl","(skpaymenttransact","(transcation.transactionstate)","(void)buyproduct","(void)dealloc","(void)getproductinfo:(nsstr","(void)init","(void)paymentqueue:(skpaymentqueu","(void)productsrequest:(skproductsrequest","(void)transcationdeferred:(skpaymenttransact","(void)transcationfailed:(skpaymenttransact","(void)transcationpurchased:(skpaymenttransact","(void)transcationpurchasing:(skpaymenttransact","(void)transcationrestored:(skpaymenttransact","*)applic","*)productidentifi","*)queue","*)request","*)respons","*)sourceappl","*)transact","*)transcat","*)url","*identifi","*payment","*product","*receipt","*receipturl","*request","*transcat","//","01.","02.","03.","04.","05.iap","06.iap","1.","2","2.","3.","4.","5.","6.","64","7.","8","=","@end","@implement","@interfac","[[nsbundl","[[skpaymentqueu","[[skproductsrequest","[nsdata","[nsset","[request","[self","[skpayment","[super","addpayment:payment];","addtransactionobserver:self];","alloc]","annotation:(id)annot","app","appstorereceipturl];","app。","app,app","app,只有一次。这里有以下几个问题:","app,并通过","app,我们也没法给用户发货。","app,由","app,跳转到支付宝","app,通知购买成功,并把收据写入到","app,那么我们可能一个月没法给用户发货。","base","blpaymentmanag","break;","buyproduction:","canmakepayments])","case","datawithcontentsofurl:receipturl];","dealloc:","defaultqueue]","didreceiveresponse:(skproductsrespons","finish","finishtransaction:transcation];","getproductinfo:nil];","https://juejin.im/post/5a3b14f36fb9a045104aa6c8","iap","iap,交易是一样的。但是验证交易这一环需要移动端来驱动我们自己的服务器来进行查询,这是第一个坑,先记一笔。另外一点,iap","iap,同时也会对比支付宝和微信支付,从而引出","iap,苹果不是和你商量,而是强制要求,爸爸说怎么样,就怎么样。当然,这篇文章解决不了这个问题,所以也只是说说而已。上面说了微信公众号的事情,虽然它不是","if(self)","init];","initwithproductidentifiers:identifiers];","mainbundle]","mark","nsarray","nsdata","nslog(@\"没有收据,","nslog(@\"没有正在出售的商品\");","nslog(@\"用户禁止应用内付费购买\");","nsset","nsurl","openurl:(nsurl","paymentwithproduct:products.firstobject];","removetransactionobserver:self];","request.deleg","response.products;","return","return;","sdk","sdk,支付宝的","self","self;","setwithobject:productidentifier];","skpayment","skpaymenttransactionobserv","skpaymenttransactionstatedeferred:","skpaymenttransactionstatefailed:","skpaymenttransactionstatepurchased:","skpaymenttransactionstatepurchasing:","skpaymenttransactionstaterestored:","skproductsrequest","skproductsrequestdeleg","sourceapplication:(nsstr","start];","switch","transactions)","transcationdeferred:transcation];","transcationfailed:transcation];","transcationpurchased:transcation];","transcationpurchasing:transcation];","transcationrestored:transcation];","transcationst","ui","updatedtransactions:(nsarray","{","}","。","上的过程。","上面讲了两个很大的坑,接下来看一看","不对交易信息做处理。","不接","不用担心,我从来不会只讲原理不留源码,我已经将我司的源码整理出来,你使用时只需要拽到工程中就可以了,下面开始我们的内容","也收不到支付成功的通知,就没法通知","交易中.","交易失败.","交易延期.","交易成功.","交易没有发生变化,仅仅是重启一下,收据信息就会发生改变。","交易结果出来到通知","今年上半年的公众号打赏事件,大家可还记得?我们对苹果强收过路费的行为愤懑,也为微信可惜不已,此事最后以腾讯高管团队访问苹果画上句号。显然,协商结果两位老板以及他们的团队都很满意。","从apple查询用户点击购买的产品的信息.","仔细看一下下面这张图,这是我们每次在买早餐使用支付宝支付的流程图。下面我们来一步一步看一下每一步对应的操作原理。","代码大致做了如下事情,初始化的时候去添加支付结果的监听,并在","会和","会调起支付宝","原文地址","发起一笔支付交易,此时,第一件事,我们要去我们自己的服务器上创建一个订单信息。同时服务器会组装好一笔交易交给我们。关于组装交易信息,有两种做法,第一种就是支付宝推荐我们做的,由我们服务器来组装交易信息,服务器加密交易信息,并保存签名信息;另一种做法是,服务器返回商品信息给","发送到服务器,","只有","同样,我们再来看看","启动的时候,才会重新通知我们有未验证的订单。这个周期根本没法想象,如果用户一个月不重启","坑爹之处从以下两个方面来理解。","坑爹的","处理异常\");","好吧,算起来有九个比较大的问题了,还有没照顾到的请各位补充。这九个问题,基本上每一个都是致命的。这么多的不确定性,我们应该怎么综合处理,怎么相互平衡?","如果","如果用户后买成功以后,网络就不行了,那么苹果的","如果用户的交易还没有得到验证,就把","存储到本地先.","实战之满地是坑","实战之满地是坑,这一篇是支付基础知识的讲解,主要会详细介绍","实战之见坑填坑,这一篇是高潮性的一篇,主要针对第一篇文章中分析出的","实战之订单绑定,这一篇是关键性的一篇,主要讲述作者探索将自己服务器生成的订单号绑定到","审核不让过。接不接","对比支付宝和","已经购买过该商品.","应该去获取沙盒中的收据信息(一段","当验证交易成功以后我们去取","我们先不去想那么多,先把支付逻辑跑通再说。下面我们看看","我们先放一放这些问题,下一篇就一起来着手解决这些问题,现在我们先来看一看","把交易信息传给支付宝的服务器。","拿到交易信息,开始调起支付宝的","拿到交易信息,然后开始调起","拿到查询结果,然后把这笔交易给","掉。","支付","支付代码","支付宝的支付流程讲完了,那微信支付也讲完了,因为它们流程相似。","支付的基本代码。","文章中讨论的","方法中移除监听。同时可以通过","方法处理支付宝的回调结果,对应的进行刷新","方法查询后台配置的商品信息。通过","方法购买产品,购买成功以后,iap","方法通知购买进度。","是指使用苹果内购购买消耗性的项目。","有人反馈,iap","服务创建订单,并把订单推入支付队列。","服务器回调","服务器查询失败的话,那就要等下次","服务器查询的时候,查不到这笔订单。","服务器查询这个收据对应的已付款的订单号。","服务器通讯,让用户确认购买,输入密码。","本身有哪些坑。最大的一个就是,从","来组装交易信息,并进行加密处理等操作。显然我们应该采用第一种方式。","查询成功后的回调.","步,对不对?看起来比支付宝还简单,有木有?","步,比支付宝少","沙盒中。","没啥大毛病,对吧?现在来详细分析一下。","注意:","源码在这里。","熟悉的支付宝和微信支付","由于移动端所处的网络环境远远比服务端要复杂,所以,最大可能出现问题的是与移动端的通讯上。对于支付宝,只要移动端确实付款完成,那么接下来的验证工作都是服务器于服务器之间的通讯。这样一来,只要用户确实产生了一笔交易,那么接下来的验证就变得可靠的多,而且支付宝服务器会一直回调我们的服务器,交易的可靠性得到了极大的保证。","的事情,但是实质上都属于强收过路费的行为。","的代码。","的坑和注意点。","的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会包含三篇。","的待验证交易列表的时候,这个列表没有数据。","的服务器远在美国,我们的服务器去查询延时相当严重,这是其二。","的问题进行具体解决。","第一方面,app","第一步:我们的","第一步:用户开始购买,首先会去我们自己的服务器创建一个交易订单,返回给","第一篇:[ios]","第七步:我们自己的服务器拿到这个收据对应的已付款的订单号以后,就去校验当前的已付款订单中是否有要查询的那一笔,如果有,就告诉","第七步:支付成功,支付宝服务器回调支付宝","第三步:app","第三步:iap","第三篇:[ios]","第九步:支付宝服务器会回调我们的服务器并把收据传给我们服务器,如果我们的服务器没有确认已经收到支付宝的收据信息,那么支付宝服务器就会一直回调我们的服务器,只是回调时间间隔会越来越久。","第二方面,坑开发人员。下面开始数坑。","第二步:app","第二步:服务器创建好交易信息以后,返回给","第二篇:[ios]","第五步:此时,app","第五步:验证通过以后,我们的","第八步:app","第八步:支付宝回到我们自己的","第六步:在支付宝","第六步:服务器拿到收据以后,就应该去","第十步:我们的服务器收到支付宝的回调,并回调支付宝,确认已经收到收据信息,此时早餐买完了。","第四步:iap","第四步:验证通过以后,支付宝服务器会告诉支付宝","等待验证结果.","等操作。","给卸载了,以后要怎么恢复那些没有被验证的订单?","编码的数据),并将收据信息上传给服务器。","设计上的坑","贝聊","购买操作后的回调.","越狱手机有无数奇葩的收据丢失或无效或被替换的问题,应该怎样酌情处理?","这次为大家带来我司","这里的事务包含之前没有完成的.","通知已经交易成功了,此时去沙盒里取收据数据,发现为空,或者出现通知交易成功那笔交易没有被及时的写入到沙盒数据中,导致我们服务器去","通知我们支付成功,我们驱动服务器去","通过","里,用户输入密码进行交易,和支付宝服务器进行通讯。","题外话","验证通过。","(void)fetchproductinfowithproductidentifiers:(nsset"],"Article/关于离屏渲染的深入研究 - Medium.html":["/","1","100m","121","135","16m","2.5","2010","2011","2014","221,可以看到","419","419,关于","421","60","90%","advanc","allowsedgeantialias","alpha,最后和底下其他","andi","anim","animation:","animation、gpu","app","applic","apps(wwdc14","asdk","asyncdisplaykit","asyncdisplaykit(texture)","backgroundcolor","backgroundcolor,可以放心使用","bitmap","buffer","buffer)。进一步来说,其实所有","buffer,作为像素数据存储区域,而这也是","buffer,再到","buffer,只能暂时先放在另一块内存之中,说起来都属于","buffer,后一层覆盖前一层,就能得到最终的显示结果(值得一提的是,与一般桌面架构不同,在","buffer,最后把内容画上去(这只是我的猜测,实际情况可能更复杂)。不过如果我们能够预先告诉","buffer,而是先暂存在另外的内存区域,之后再写入","buffer,那么这个过程被称之为离屏渲染。","calay","call","calls(以前是","cell","cgcontext","cgcontext,而不是直接到了","collectionview","composition,设置","core","coreanim","coreanimation。这样一来,多线程间数据同步会增加一定的复杂度","coreanimation(通过","coregraph","cornerradiu","cornerradius+clipstobounds,原因就如同上面提到的,不得已只能另开一块内存来操作。而如果只是设置","cornerradius。另一个好处是,我们可以灵活地控制裁剪和缓存的时机,巧妙避开","cornerradius(如不需要剪切内容,只需要一个带圆角的边框),或者只是需要裁掉矩形区域以外的内容(虽然也是剪切,但是稍微想一下就可以发现,对于纯矩形而言,实现这个算法似乎并不需要另开内存),并不会触发离屏渲染。关于剪切圆角的性能优化,根据场景不同有几个方案可供选择,非常推荐阅读","cpu","cpu”","draw","drawrect","drawrect,此时打开","e776f56b3e60","essenti","es,现在慢慢转到了","frame","gpu","gpu。","gpu。除此以外,有时候也会遇到","graphic","green","group","hit","https://medium.com/@jasonyuh/%e5%85%b3%e4%ba%8e%e7%a6%bb%e5%b1%8f%e6%b8%b2%e6%9f%93%e7%9a%84%e6%b7%b1%e5%85%a5%e7%a0%94%e7%a9%b6","instrument","io","ios10","ios7","iphon","layer","layer)必须是静态的,因为一旦发生变化(如","layer)都还没有被组合到一起,怎么可能在第一步就画出只有完成最后一步之后才能知道的形状呢?这样一来又只能另外申请一块内存,把本体内容都先画好,再根据渲染结果的形状,添加阴影到","layer,rend","layer,以及圆角、阴影、group","layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改","mask","mask,我们知道","master","matuschak","medium","metal),显然","miss","move","objc.io:","offscreen","onto","oom","opac","opacity=0.5,并复制一份在旁边作对比。左边关闭","opacity(默认行为)的被标记为","opacity,其实从名字就可以猜到,alpha","opacity,右边保持默认(从","opengl","opengl/met","optim","os","part","perform","pixel","red”","render","rendering)的知识点。一般来说,绝大多数人都能答出","resize,动画),之前辛苦处理得到的缓存就失效了。如果这件事频繁发生,我们就又回到了","screen","server","session","shadowpath","shadow,其原因在于,虽然","shouldraster","shouldrasterize,减少触发的次数","shouldrasterize,只会弄巧成拙。","simpread","tableview","tableview,是个不小的性能挑战","techniques》","text","textur","true,rend","ui","uiblureffect,同样无法通过一次遍历完成,其原理在","uiimage),消耗内存较多,所以应该在使用完及时释放,并在需要的时候重新生成,否则很容易导致","uikit","uiview","uivisualeffect,而是另外实现模糊效果(cigaussianblur),并手动管理渲染结果","understand","view","view,使用","view,右边打开","wwdc","wwdc18","xcode","yellow”","“","“color","“precomposite”","“切圆角”","“剪”","“圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如:","“新开一块","“每一帧都需要离屏渲染”","“画家”","“画家算法”,按次序输出到","“的形状一致,这就意味着需要先知道","“的操作,有很多文章和视频也称之为","“离屏”,但是通常提到的离屏渲染是发生在","“离屏渲染”。","“离屏渲染”(因为像素数据是暂时存入了","“软件渲染”,而真正的离屏渲染发生在","“,把每一层依次输出到画布","”","《core","一个典型的例子是,我们经常会使用","一定会触发离屏渲染吗?","一定要使用","一旦缓存超过","上设置","不擅长做这件事,所以我们需要尽量避免它,就误以为这就是需要避免离屏渲染的原因。但是根据苹果工程师的说法,cpu","与其所有子结构组合之后的形状。更关键的是,阴影需要显示在所有","与离屏","中”","中。这就是","中实现了","中对于如何选择圆角渲染策略的流程图,非常实用","中提到:","中比较多)中有这样一张图:","中的一篇文档。","中苹果的解释,mask","中,滚动的每一帧变化都会触发每个","中,设备主存和","为图片裁剪圆角","为这个方案提供了对应的解法:shouldrasterize。一旦被设置为","之后,系统的设计风格慢慢从扁平化转变成圆角卡片,即刻的设计风格也随之发生变化,加入了大量圆角与阴影效果,如果在处理上稍有不慎,就很容易触发离屏渲染。为此我们采取了以下一些措施:","之间的上下文切换。如果无法避免,也可以通过有效利用","什么时候需要","从一个更广阔的视角看,离屏渲染也仅仅是渲染性能优化中的一部分,而能否保证","会将具体操作转换成发送给","会消耗其相当一部分计算时间,并且我们也不愿意因此阻塞用户操作,因此一般来说","会遵循","会默认打开),然后打开","传给","但是对于一些情况,如文字(coretext","作为主要渲染框架,对于文字和图片的异步渲染操作交由框架来处理。关于这方面可以看我之前的一些介绍","作为渲染结果的","使用","依次画好,然后把四个角","倍大小","做了大量的工作,尽量把渲染工作转换成适合","像素数据,已经在渲染中被永久覆盖了。这就意味着,对于每一层","关于离屏渲染的深入研究","关于离屏渲染的解释","其他还有一些,类似","其实通过","其实除了解决多次离屏渲染的开销,shouldraster","内容的下方,那么根据画家算法,下层必须先被渲染,而此时阴影的本体(layer","分担一部分工作,提高整体效率。","剪裁操作。","即刻大量应用","即刻客户端中有大量的圆角、阴影等效果","即刻的优化","原文地址","双方同处于一个流水线中,协作完成整个渲染工作。","叠在一起,然后在父","可以适当给与帮助","可能的绘画操作。","同样因为","同样的两个","和","和其子","和其所有子","和图形学等等方面的知识,在实践中也非常考验一个工程师排查问题的基本功、经验和判断能力——如果在不恰当的时候打开了","善用离屏渲染","因为父容器有圆角,那么也会需要被裁剪,而这时它们还在渲染队列中排队,尚未被组合到一块画布上,自然也无法统一裁剪","在","在上面的渲染流水线示意图中我们可以看到,主要的渲染操作都是由","在另一个场景中也可以使用:如果","在平时的","在操作,而到了","在早年的","基于","基础的","处理的形式(也就是所谓的硬件加速,如","大家知道,如果我们在","如果一个","如果你选择使用","如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的","如果要绘制一个带有圆角并剪切圆角以外内容的容器,就会触发离屏渲染。我的猜想是(如果读者中有图形学专家希望能指正):","存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写入","完成的。这样一来既然我们已经得到了想要的效果,就不需要再另外给图片容器设置","实在忙不过来的情况,而","实现了","容器的子","对于","对于图片的圆角,统一采用","对于所有的阴影,使用","对于模糊效果,不采用系统提供的","对于特殊形状的","对于类似这种","对于视频的圆角,由于实时剪切非常消耗性能,我们会创建四个白色弧形的","将一个","就会强制把","就需要根据当前滚动位置渲染整个","尽管离屏渲染开销很大,但是当我们无法避免它的时候,可以想办法把性能影响降到最低。优化思路也很简单:既然已经花了不少精力把图片裁出了圆角,如果我能把结果缓存下来,那么下一帧渲染就可以复用这个成果,不需要再重新画一遍了。","属性)阴影的几何形状,那么阴影当然可以先被独立渲染出来,不需要依赖","常见离屏渲染场景分析","平衡","并不擅长做这些工作,不得不先由","并不是分别应用在每一层之上,而是只有到整个","并不认为这属于离屏渲染。","并打开","开关,你会发现这片区域不会被标记为黄色,说明","开始,如果没有显式指定,group","性能过关,将会直接影响到用户日常的操作体验。渲染技术作为客户端工程师的关键技术能力之一,值得持续研究。","总结","成圆形,再把结果画到","我们可以看到,在","或者","所组成的形状上,那就只能等全部子","掌管的","接口来执行的。通常对于每一层","推荐资料","提供了","擅长并行计算,但也有捉襟见肘之时,此时","操作。等到完成以后再次清空,再回到向","改变其中的某个部分——因为在这一层之前的若干层","数据量较大(形式上一般为解码后的","方法,就算它的函数体内部实际没有代码,系统也会为这个","无法在一次遍历就完成绘制,那么就不得不触发离屏渲染","是应用在","是相互扶持的关系。cpu","最繁忙的时段,达到平滑性能波动的目的。","本体,也就不再需要离屏渲染了。","本文由","本来并不复杂,也没有圆角阴影等等,打开这个开关反而会增加一次不必要的离屏渲染","本身是一块矩形区域,但是阴影的形状却未必是矩形,而是与","来做","来做渲染,那么就没有理由再触发","来处理好以后,再把结果作为","来完成渲染任务,而给","来对渲染结果进行缓存","来画出最终结果,那就只能另开一块内存空间来储存中间结果。这些原理并不神秘。","来画图","来自","来规避离屏渲染","树了","树画完之后,再统一加上","模块,通过调用显卡驱动所提供的","次,并且很可能每一帧有几十张的图片要求这么做,对于","此时我们就不得不开辟一块独立于","每","没有被使用,会自动被丢弃","渲染","渲染不是","渲染就是俗称的","渲染并非真正意义上的离屏渲染。另一个证据是,如果你的","渲染性能的调优,其实始终是在做一件事:平衡","渲染效率不高,但是较为通用灵活;gpu","渲染架构","渲染结果先经过了离屏","渲染虽然也是","渲染速度不够快,因此只适合渲染静态的元素,如文字、图片(想象一下没有硬件加速的视频解码,性能惨不忍睹)","渲染都在后台线程完成(这也是","渲染)和图片(imageio)渲染,由于","然而有些场景并没有那么简单。作为","瓶颈),这时可以让","由于在","申请一块内存区域,等待","画完才能得到","画家算法","留出足够时间处理各种各样复杂的","的","的不同工具来测试性能,而不是仅凭猜测来做决定","的主旨在于降低性能损失,但总是至少会触发一次离屏渲染。如果你的","的主要思想),然后再回到主线程上,把渲染结果传回","的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效果。","的像素进行组合。显然也无法通过一次遍历就得到最终结果。将一对蓝色和红色","的内容裁剪成圆角,可能不存在一次遍历就能完成的方法","的内容(包括子","的原理类似,不得不在离屏渲染中完成。","的圆形边框,如果没有","的子结构非常复杂,渲染一次所需时间较长,同样可以打开这个开关,把","的强项,调用","的性能冲击可想而知(gpu","的情景,而这正是开发者需要极力避免的。针对这种情况,xcode","的操作是高度流水线化的。本来所有计算工作都在有条不紊地正在向","的显存共享物理内存,这样可以省去一些数据传输开销)。","的渲染结果(包括其子","的离屏渲染。","的离屏渲染了,否则会同时存在两块内容相同的内存,而且","的空白内存,先把容器以及其所有子","的策略,也就是不经由容器来做剪切,而是预先使用","的组合之上的,而且可能带有透明度,那么其实和","的调试,我们会发现右边的那一组确实是离屏渲染了。","的负载","的负载,让他们尽量做各自最擅长的工作。","的选项,帮助我们查看缓存的使用是否符合预期","的重新绘制,因此一旦存在离屏渲染,上面提到的上下文切换就会每秒发生","盖住四个角,从视觉上制造圆角的效果","相对空闲(gpu","离屏渲染","离屏渲染是在哪一步进行的?为什么?","离屏渲染牵涉了很多","离屏渲染的定义","离屏渲染的开销主要在与","离屏渲染的性能影响","离屏渲染缓存有空间上限,最多不超过屏幕总像素的","等等也可能会触发离屏渲染,原理也都是类似:如果你无法仅仅使用","等等)。","等等)保存在一块内存中,这样一来在下一帧仍然可以被复用,而不会再次触发离屏渲染。有几个需要注意的点:","简悦","绘制到一块缓存,然后在接下来复用这个结果,这样就不需要每次都重新绘制整个","给图片加上圆角(将图片中圆角以外的部分渲染成透明)。整个过程全部是由","绝大多数情况下,得益于","自然我们会认为,因为","虽然可以一层一层往画布上进行输出,但是无法在某一层渲染完成之后,再回过头来擦除","设置","调试的","转码,","输出的正常流程。","输出,此时突然收到指令,需要输出到另一块内存,那么流水线中正在进行的一切都不得不被丢弃,切换到只能服务于我们当前的","这一层中主要是","这一层,coreanim","这里有几个需要注意的点:","进行的光栅化操作(如文字渲染、图片解码),都无法直接绘制到由","逻辑。为此","都会比较辛苦","针对图形处理的优化,我们都会倾向于让","阴影会作用在所有子","需要遍历至少三次","非常擅长大规模并行计算,但是我想频繁的上下文切换显然不在其设计考量之中)","非透明区域","面试中,我们经常会考察有关离屏渲染(offscreen"],"Article/面试驱动技术 - Category 相关考点.html":["&","&&","(!cats)","(!cls)","(addedcount","(cl","(eat)","(flush_cach","(hasarray())","(i","(loadable_classes_us","(loading)","(method_list_t","(mlist)","(nonatomic,","(nsstring","(play)","(printreplacedmethods)","(property_list_t","(proplist)","(protocol_list_t","(protolist)","(rua)","(run)","(test)","(void)initialize{","(void)load{","(void)setproperty:(nsstr","(void)test{","(分类1)","(宿主类1)","(宿主类2)","(对象)","(效果上感觉像成员变量)","(编译状态)",")",")(关联策略)","*","*)properti","*)property{","*)realloc(array(),","**)","**mlist","**proplist","**protolist","*/","*_map;","*_property;","*cache;","*cats,","*class_methods;","*cls;","*instance_methods;","*isa;","*mlist","*name;","*person","*pool","*properties;","*property;","*proplist","*protocols;","*protolist","*ro;","*superclass;","*test","*vtable;","+","+load",",",",(key)",",(关联的值)","...","/*","/*子类1*/","/*子类2*/","/*父类*/","//","//_class_t","//array()","//memcpi","//memmove,内存挪动","//realloc","//先加载宿主类的load方法(按照编译顺序,调用load方法)","//协议列表","//实例方法列表","//宿主类名称","//宿主类对象,里面有isa","//属性列表","//最后编译的分类,最先添加到分类数组中","//类方法列表","0","0)","0,","01401,","01403","02","0;","1,","1.categori","10等价于","17:28:00.519862+0800","17:28:00.520032+0800","17:28:00.520047+0800","17:39:10.354050+0800","17:39:10.354237+0800","17:39:10.354252+0800","17:39:10.354263+0800","17:39:10.354274+0800","17:39:10.354285+0800","17:57:33.305655+0800","17:57:33.305950+0800","17:57:33.306476+0800","18:17:12.034392+0800","18:17:12.034555+0800","18:17:12.034569+0800","18:17:12.034627+0800","18:17:12.034645+0800","18:17:12.034658+0800","1\\.","2.","2019","27","2\\.","3","3,","3.","3\\.","4.categori","5.","6.categori",":","=","==","=>",">",">count",">count;",">count;//宿主类,分类的总数",">data()",">data();",">flag",">isbundle();",">ismetaclass();",">isrealized());",">list",">list[i];",">lists,",">lists[0]));",">methods.attachlists(mlists,",">methodsformeta(ismeta);",">properties.attachlists(proplists,",">propertiesformeta(ismeta,",">protocols.attachlists(protolists,",">protocols;",">setinfo(rw_loaded);",">superclass);","@\"hello","@\"test\"));","@\"test\",","@autoreleasepool","@end","@implement","@interfac","@properti","@selector(key),","[","[[mnperson","[method_t,],","[method_t,method_t,method_t],","[method_t,method_t],","[mnperson","[mnstudent","[mnteacher","[person","]","_category_t","_class_ro_t","_class_t","_lock;//自旋锁,保证线程安全","_method_list_t","_policy;","_prop_list_t","_properti","_property;","_protocol_list_t","_read_imag","_value;","add_class_to_loadable_list(cls);","addedcount","addedcount)","addedcount,","addedcount;","addedlists,","ag","again!怎么这么多!连","age;","age;,就是","alloc","alloc]","alloc];","alloc]init];","alloc],内部也是调用","api","arch","aren’t","argc,","argv[])","arm64","array()","array_t::bytesize(newcount)));","assert(cl","assign)","assign,所以这里选择objc_association_assign","associ","associatedobject","associationshashmap","associationsmanag","attachcategories(class","attachlists(list*","auto","auto&","backward","bb","bool","call","call_category_loads();","call_class_loads();","call_load_methods(void)","cat","categori","category_list","category_t,里面存储着分类的各种信息,包括","cats);","char","cl","clang","class","cls)","cls,","const","copi","copy)nsstr","count","cpp","demo[91107:2281575]","demo[91308:2303030]","demo[91661:2331296]","demo[92064:2370496]","ensur","entrant","entri","entry.cat","entry.hi","entry.hi);","exo","extens","extension(扩展)","finish","first","fixm","flush_caches)","flushcaches(cls);","free(mlists);","free(proplists);","free(protolists);","frombundl","frombundle);","has_assoc","i.","id","ii.","iii.","initi","initialize\");","initialize,","initialize]","initialize],","initialize方法,所以调用父类的initialize,","initialize,加载","initialize,因为是mnteacher的调用,所以会先让父类mnperson","initialize:","int","intermedi","interview","io","iphoneo","ismeta","job.","key","list","load","load\");","load(分类2)","load(分类3)","load(分类4)","load:","load];","load]啊,这个就是","loadmethodlock.assertlocked();","load只会加载一次吗,而且他还不走","load可能其实有点奇怪,不是说","load里了!","m","main(int","malloc(cat","mani","mcount","mcount);","mcount,","me?","memcpy(array()","memmove(array()","method_list_t","mlist;","mlists,","mlists[mcount++]","mndog","mnperson","mnperson+test.m","mnperson{","mnstudent","mnteacher","more","more_categori","more_categories);","more_categories;","msg_send()","newcount","newcount;","newest","no,","no;","nothing;","nsinteg","nslog(@\"%@\",objc_getassociatedobject(person,","nslog(@\"mnperson","nslog(@\"mnstud","nslog(@\"mnteach","nslog(@\"test","nsobject","nsstring","objc","objc_association_assign","objc_association_assign);","objc_association_copi","objc_association_copy_nonatom","objc_association_copy_nonatomic);","objc_association_retain","objc_association_retain_nonatom","objc_associationpolicy)","objc_autoreleasepoolpop(pool);","objc_autoreleasepoolpush();","objc_enum(uintptr_t,","objc_getassociatedobject(,","objc_msgsend","objc_msgsend(mnteacher,@selector(mnteacher)),这就跑到mnteach","objc_msgsend,","objc_setassociatedobject","objc_setassociatedobject(","objc_setassociatedobject(obj,","objc_setassociatedobject(person,","objcassoci","object","objectassociationmap","oc","oldcount","onc","order","outermost","person.ag","person,关联的","preparemethodlists(cls,","printreplacements(cls,","propcount","propcount);","property;","property_list_t","proplist;","proplists[propcount++]","protocol_list_t","protocount","protocount);","protolist;","protolists[protocount++]","public","re","realiz","rearrang","remov","repeatedli","return","return;","rewrit","rua~\");","run","runtim","runtime,","rw","rw_loaded)","schedule_class_load(cl","schedule_class_load(class","sdk","seri","set","setage:10],所以证明了,给分类声明属性之后,并没有添加其对应的实现!","setarray((array_t","sizeof(*mlists));","sizeof(*proplists));","sizeof(*protolists));","sizeof(array()","spinlock_t","spinlock_t(自旋锁),","static","std::map","struct","superclass","test","test,","test,test","through","typedef","uint32_t","uintptr_t","unordered_map","until","untri","valu","value,因为","void","world\",","xcrun","xxx","yes;","{","{//倒序遍历,最先访问最后编译的分类","|=","||","}","};","“覆盖”","“覆盖”,宿主类的同名方法还是存在","、initi","一样,也没实现initi","一次(父类的","上述代码系统内部会自动三件事:","不多","不能为系统类添加扩展","不能直接给","与","两颗星星,一个)","个mnperson","中","中的调用顺序?以及出现继承时他们之间的调用过程?","为什么分类会","为啥打印三次呢","之前会先调用父类的","之前,会先调用父类的","之后,轮到mnteacher","也有了?","了吧,程序一运行,runtim","二维数组(","人工智障翻译:实例变量不能放在分类中","以下代码输出的结果是啥","以关联对象代码为例:","以键值对的形式存储在","但是,你现在是[mnteacher","作用域之后,就会销毁;","使用","做了哪些事?","先初始化父列","先编译的类,优先调用","先调用宿主类的+","先调用类的","关联对象","关联对象其实就是","关联对象并不是存储在被关联对象本身的内存中的","关联对象由","关联对象的原理","关联对象的本质","关联对象,存储在全局的一个统一的associationsmanager中","关联的","关联策略,等价于属性声明","其实不是真正的","其实内部会调用","内","内部","内部有一持有一个_lock,他其实是一个","再初始化子类(可能最终调用的是父类的初始化方法)","再调用分类的的+","出了他们的{}","函数","函数的地址,直接调用","函数转换","函数,但是,还是可以调用的!","函数,它做的是方法查找,因为分类的方法优先放在前面,所以通过选择器查找到分类的方法之后直接调用,宿主类的方法看上去就像被","函数,生产一个","分类中原理解析","分类中可以添加哪些内容","分类也是可以添加属性的","分类将附加到类对象的方法列表中,整合的时候,分类的方法优先放到前面","分类的在编译后,方法并不会直接添加到类信息中,而是要在程序运行的时候,通过","分类的方法列表","分类里面,生成属性,只会生成方法的声明,不会生成成员变量","分解体积庞大的类文件","列表,里面就是","则是用于存储关联对象的数据结构","到原来的方法列表中","前三个","加载类、分类的时候调用(只会调用一次)","动态将分类的方法合并到类对象、元类对象中","协议","原因,关联的对象是","原文:","原来的方法列表","原理分析:","参考资料:","取值","变量","变量已经销毁了,所以程序崩溃了,这也说明了","只是一般没人手动调用load","只能以声明的形式存在,多数情况下,寄生于宿主类的.","可以为系统类添加分类","吗,怎么还能调用这个方法?","和","因为!当类第一次加载进内存的时候,调用的","在分类中,因为类的实例变量的布局已经固定,使用","在程序运行过程中只会执行一次","在类第一次接收消息的时候会调用,oc","在调用分类的","声明私有属性","声明私有成员变量","声明私有方法","复制代码","如果是普通类声明生命属性的话","存储","存储在全局的一个统一的associationsmanag","存放属性的;","完全解析","实例方法","实例方法合并到类对象中,类方法合并到元类对象中","实现关联对象技术的核心对象有","实现原理","实现原理?","实际开发中,你用","实验证明:宿主类先调用,分类再调用","宿主类的方法?","对","对应的对象,访问对象内部的","对象,","对象方法、类方法、属性、协议信息","对象的指针以及其对应","将分类的方法列表","就放在","属性","属性,默认声明是@properti","已经无法向固定的布局中添加新的实例变量(这样做可能会覆盖子类的实例变量),所以我们需要使用关联对象以及两个方法来模拟构成属性的三个要素。","帮我们生成一个生成变量_properti","开发),关注仓库,及时获取更新","引用自","所以这时候,[mnteacher","所以:","扩容了","找到","把framework的私有方法公开","指示对象是否含有关联对象","按照编译先后顺序调用(先编译,先调用)","文件,","文件中","方法","方法可能被调用多次)","方法实现!","方法是系统调的,这时候不走","方法的区别是什么,他们在","方法,再调用自己本身的;","方法,所以同理调用父类的[mnperson","方法,无需导入,无需使用","方法,第一次调用的时候,mnperson","是","是强引用!","是根据函数地址直接调用,initi","是类第一次加载的时候调用,initi","是类第一次接收到消息的时候调用,每个类只会","是通过objc_msgsend","最后一个mnteacher","核心:将所有分类的对象方法,附加到类对象的方法列表中","此时通过","每一个对象都有一个标记位","每个分类的结构都一致,都是category_t","每个分类都是独立的","每个类、分类的","比如这里的","没被使用过,所以未被初始化,要先调用一下父类的","添加成员变量,但是可以间接实现分类有成员变量的效果","然后判断得知","然后轮到[mnstudent","父类mnperson类调用过initialize了,因此调用自身的就够了,由于他和mnteach","生成一个","用来保证associationshashmap操作的时候,是线程安全的","画图分析就是","的函数调用底层走的是","的区别","的区别是什么?","的数据,","的特点","的试题欢迎补充~","的问题都罗列解决了一下,如果还有其他常见的","直接将全部的类加载到内存中,肯定最先输出;","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,上面的问题以及解答已经把比较常见的","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,本文把比较常见的","相关考点","相关面试题","窥探其底层结构","第一个","第二个","答案出现!!!","管理并在","类方法","类第一次加载进内存的时候,会调用","类第一次接收到消息的时候,会调用该方法,需导入,并使用","类结构里面,有个properti","类自己了,由于他内部没有实现","结构","结果如下:","编译之后,底层结构是","编译时决议,categori","而没有生效","能否添加成员变量,如果可以,如何添加?","自身调用,由于他自己没有实现","获取某一个分类","解释:","讲","调用","调用一次initialize,输出第一个","调用了","调用子类的","调用方式也不一样,load","调用时刻,load","调用父类的initialize,","调用的时候,要先实现自己父类的","调用的时候,都会先调用父类对应的","调用都可以看成","调用顺序","调用顺序:","调用,而是找到","走的不是消息发送的","走的是消息发送的","输出第","输出第一个mnperson","输出第二个","输出第二个mnperson","运行时决议","这道题实际上考的就是关联对象","这里的mnperson","递归调用,先将父类添加到load方法列表中,再将自己加进去","通过","都是系统自动调用的话,都只会调用一次","里面的","重新分配内存","问题出现:以下会输出什么结果","问题出现:以下会输出什么结果?","面试题","面试驱动技术","面试驱动技术合集(初中级","题目出现"],"Article/iOS 编译过程的原理和应用.html":["\"","\"${project_dir}/${infoplist_file}\"","\"${project_dir}/${infoplist_file}\")","\"ap","\"applic","\"app的bundleid\";","\"print","\"set","#","#defin","#els","#endif","#ifdef","#import","#object","#pragma","$","$appdir/$ipaname.ipa","$appdir/$projectname.app","$buildconfig","$buildnumber\"","$projectnam","$projectname.xcworkspac","((warn_unused_result))","(.xcodeprog)","(intermedi","(name.app)","(strong,nonatomic)classnam","(type","(variabl","*","+","...","....",".a",".o","/","//","//...","///代码","//oc","//oc方法在swift中不可用","//代码","//告诉编译器,即使这个变量/方法","//和__unused相反","//如果不使用方法的返回值,进行警告","//如果没有使用返回值,编译的时候给出警告","//字符串","//带描述信息的弃用","//常量","//弃用api,用作api更新","//打包","//测试服务器相关的代码","//生产服务器相关代码","//编译成.app","//遇到__unavailable的变量/方法,编译器直接抛出error","/epluspan4phone.build/epluspan4phone.app.xc","/users/huangwenchen/library/developer/xcode/deriveddata/epluspan4phon","/usr/libexec/plistbuddi","0x00000008","0x00000010","0x00000029","0x00000038","0x00000080","0x00000109","0x00000149","0x00000218","0x00000510","0x00000fd8","0x000012c8","0x00001520","0x000019c0","0x00001a50","0x000020e8","0x000022d8","0x00004a9a","0x00006e34","0x00007a30","0x0000a500","0x0000d56c","0x0000e760","0x00010498","0x00010908","0x000129c0","0x00015cc0","0x0001ad78","0x0002d840","0x0003e140","0x00041ef7","0x00053a4c","0x0005af70","0x00071693","0x00129280","0x0077ebc3","0x0077ebc3,而二者相加的下一个位置正好是stub","0x1000021b0","0x1000021b0,大小是","0x1000022c0","0x100002340","0x100780d74","0x100780d74。","0x100781d4c","0x1007837a0","0x10079e518","0x1007e040f","0x1007e7243","0x1007f76dc","0x100805e40","0x1008065c2","0x1008774d4","0x10087bf6e","0x10087c0b8","0x100889628","0x10089c000","0x10089c010","0x10089d2d8","0x10089e7f8","0x10089e840","0x1008dc980","0x10090a1c0","0x10090c498","0x10090c4a8","0x10090c6c0","0x10090c6c8","0x10090cbd8","0x10090cbe0","0x100a35e60","0x100a46768","0x100a467a0","0x100a48888","0x100a4a248","0x100a4a248,就能找到","0x100a54748","0x100a6a420","0x100a71e60","0x100accde0","1))","11]","16","2]","3]","8,关闭",":cfbundlevers","=",">","@class","@properti","[","[0]","[1175]/umsocial_sdk_4.4/libumsocial_sdk_4.4.a(umsocialjob.o)","[1188]/iphonesimulator10.1.sdk/system/library/frameworks//foundation.framework/found","[1]","[1]http://blog.csdn.net/hello_hwc/article/details/50036323","[2]","[2]/epluspan4phone.build/object","[2]http://blog.csdn.net/hello_hwc/article/details/46425503","[3]https://github.com/leomobiledeveloper/blogs/blob/master/demoprojects/scripts/autoipa.sh","[3],使用的时候,需要拷贝到工程的根目录","[ulwbigresponsebutton","[ulwcategorycontrol","__attribtue__","__attribute__","__attribute__((__availability__(swift,","__attribute__((__warn_unused_result__))","__attribute__((deprecated(_msg)))","__attribute__((deprecated))","__attribute__((unavailable))","__attribute__((unused))","__attribute__((used))","__attribute__语法格式为:attribute((attribut","__bss","__cfstring","__common","__const","__cstring","__data","__deprec","__deprecated;","__deprecated_msg(_msg)","__eh_fram","__entitl","__gcc_except_tab","__got","__la_symbol_ptr","__mod_init_func","__nl_symbol_ptr","__objc_catlist","__objc_classlist","__objc_classnam","__objc_classref","__objc_const","__objc_data","__objc_imageinfo","__objc_ivar","__objc_methnam","__objc_methtyp","__objc_nlcatlist","__objc_nlclslist","__objc_protolist","__objc_protoref","__objc_selref","__objc_superref","__result_use_check","__stub","__stub_help","__swift_unavailable(_msg)","__text","__unavail","__unus","__unwind_info","__use","__ustr","_objc_ivar_$_ulwcategorycontroller._liveapi","activ","address","api,但是被__deprec","app","app,sect","arc","arc...","arch","arch:","archier","architectur","archiv","arm64","arm7/arm64","ascii","attribtu","attribut","attribute)","attribute。","attribute)","auto","binari","bitcod","block","build","buildnumber=$(($buildnumb","buildnumber=$(/usr/libexec/plistbuddi","c","c++,object","categories]","cfbundleversion\"","check","checkpod","ci(持续集成)来说,十分有用。io","clang","clang(swift","clang是实际的编译命令","classname.c","classname.h。这样,编译器能大大提高","classname.m","classname.o","classname,而不是","clean","cocoapod","com.apple.compilers.llvm.clang.1_0.compil","com.apple.dt.xcod","command+b),会执行如下过程","compilec","configur","copi","cpu","crash","c,因为原理上大同小异。","ddebug=1","debug","debug/releas","declar","declaration,就是","default","development;","diagnost","dsym","duplicate),单独一个","d开头的,指的是预编译宏,通过这些宏可以实现条件编译","emb","entitlements:","environment\"","epluspan4phone,目录如下","export","eznmxzawtlhpmadnbyhafnpqpizo/build/intermediates/epluspan4phone.build/debug","f","fasm","field","file","files:","file,我们可以窥探二进制文件中布局。","finder","fmessag","fobjc","forward","foundation.framework,afnetworking.framework,alipay.fframework","framework","framework,例如","framework,运行脚本来链接三方库的静态","fuckingclangwarn","f开头的,指定了采用arc等信息。这个也就是为什么你可以对单独的一个.m文件采用非arc编程。","http://sns.whalecloud.com/sina2/callback","https://mp.weixin.qq.com/s/32w4orjwvrkkxwsczjkxga","iar","identifier\"","ignor","imageasset","increas","info","info.plist","initi","installing,保证只有我们在安装到设备上的时候,才会执行这段脚本。重命名脚本的名字为","io","ipa","ipa,重命名为.","iphoneo","iphoneos/.build/","iphonesimulator/epluspan4phone.build","iphonesimulator10.1.sdk","iquot","isysroot","itun","ivar","javascript,python","js","key","lang=en_us.u","length=0","level","librari","link","linker","list))","liter","liveapi]","lldb","llvm","llvm.","lvvm","m","machine)","manifest.lock","manifest.lock,用来检查","map","message=_msg)))","miss","name","normal","normal/x86_64/ulwbigresponsebutton.o","number","o","objc_ivar","object","oc","oc协议列表","organ","packageappl","path=\"...\"","pch","phase","pist","pod","pointinside:withevent:]","pop","properti","proprecess。然后点击图中蓝色的加号,可以分别为","push","push/pop,","releas","representation)。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。","resources,运行脚本来拷贝三方库的资源文件","run","scheme","script","sdk","sdk版本","section","sections:","segment","selector\"","selector(未声明的)selector","set","showbuildoperationdur","size","store","string:","string,会显式的存储到数据段中,例如,","swift","swift)","swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于","symbol","symbols:","symbols,起始地址也是","symroot=$buildapptodir","synthes","target","targetnam","target(右键","target,选择","testmod","text","text,","unavailable,","v","vritual","warn","window","wno","workspac","write","wundeclar","w开头的,指的是编译的警告选项,通过这些你可以定制化编译选项","x","x86_64","x86_64制定了编译的架构,类似还有arm7等","xcode","xcodebuild","xcodeproject,然后配置编译期脚本,来保证三方库能够正确的编译连接。","xcode,然后编译,你会在这里看到编译时间。","xcode,终端输入以下指令","xcrun","xib","xib,图片等资源文件到结果目录","ye","yes。这样做,可以只编译当前的版本,比如","zip","{","}","~/library/developer/xcode/deriveddata/","“;”","…","。其中,文件编号和上文的编号对应","一些列","一系列以","一般可以将编程语言分为两种,编译语言和直译式语言。","上执行,所以执行效率较高。","上文提到了,dysm","上文提到的文件","下载微信,然后获得","下面","两种模式设置预处理宏。","中显示。","中的各个段进行了二级划分,","中自动开启了。","中,搜索","中,选择","之前就已经被预编译,并且引入到每一个.","二进制文件的内容","代码层面的优化","代码段","以明文的形式写在文件里,是一件很危险的事情。","优化器会进行","位置","作为编译器前端,llvm(low","作为编译器后端。","你一定还见过如下代码:","你可以灵活的控制代码块的编译选项。","使用起来也很简单:","例如对于使用","例如,之前写的一个","例如,对于text","例如,我们通过","例如,我的","值得一提的是,对于","像","关于如何用","其中,段分为两种","其中:[cp]","具体内容如下","函数属性","分为三种:","创建.","到这里,cocoapod","到这里,我们知道","制定了编译采用的io","前言","前面。","动态库","包内容了。","包就是一个普通的压缩包。","包的内容","区域如下,可以看到,代码段的","原文地址","参考","友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含","双击","变量属性","可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活,也就是为啥","可以看到我们生成的","可能会有同学想问,我不懂编译的过程,写代码也没问题啊?这点我是不否定的。但是,充分理解了编译的过程,会对你的开发大有帮助。本文的最后,会以以下几个例子,来讲解如何合理利用","右键","右键图中的wechat,选择显示包内容,然后就能够看到实际的","合理利用","同样,我们也可以插入自己的脚本,来做一些额外的事情。比如,每次进行","同样,我们同样也可以定义其他预处理变量,","命令。","和","和编译","在","在这个链接,你可以找到所有的","地址","地址的调用信息。然后,通过","处理","处理文件打包信息,例如在","大小","大法好。","如何调试第三方统计到的崩溃报告","安装包,然后实际看看其安装包的内容。","完整的脚本","实际执行的二进制文件中,是通过地址来调用方法的。在","对","对于","对于不想看我啰里八嗦讲一大堆原理的同学,可以直接跳到本文的最后一个章节。","对常用的工具类进行打包(framework/.a)","对应id/build/intermediates/.build/debug","对当前编译环境进行压栈","对编译环境进行出栈","常用头文件放到预编译文件里","常量","开发中常用的几个:","开发中,编译打包必备的两个命令是:","开发目前的常用语言是:object","开启","开启后,在编译,我们可以在对应的","开头的,就是","当你在","忽略","我们在每次编译过后,都会生成一个","我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。","我在之前的一篇文章里,详细的介绍了","或多或少,你都会在第三方库或者","或者静态库,这样编译的时候这部分代码就不需要重新编译了。","所以,若果你的加密","所谓","所谓预处理,就是在编译之前的处理。预处理能够让你定义编译器变量,实现条件编译。","所需要的framework","打包成","执行","执行一次","把编译信息写入指定的辅助文件","拷贝","指定了编译的语言","提高项目编译速度","插入的脚本。","插入编译期脚本","插入脚本","搜索","改为","放在声明分号","数据段","文件","文件。","文件。dsym","文件中,存储了","文件和对其签名","文件是预编译文件,这里的内容在执行","文件来分析崩溃位置,可以查看我之前的一篇博客。","文件来降低编译速度。","文件编号","文件编译后的结果。","文件里了。","文件里存储了调试信息,在","文件,使用","文件,我们就可以由地址映射到具体的函数位置。","文件,解压缩后会得到一个文件夹。所以,ipa","文文件,也就是上文提到的.","方法列表","方法名","方法类型","是","是一个高级的的编译器指令,它允许开发者指定更更多的编译检查和一些高级的编译期优化。","是如何存储的。","是这样子的:","机器码生成器会针对不同的架构,比如","来管理三方库,那么你的","查看包内容。","查看编译时间","标准库","模式。这个选项在高版本的","模式下,不生成","模式下,关闭编译器优化","模式下,我们可以借助","段","比如","比如我们加上:testserver,表示在这个宏中的代码运行在测试服务器","比如,在三方库中最常见的,声明一个属性或者方法在当前版本弃用了","比如,这样的代码很常见","没被使用,也不要抛出警告","然后对其加一,重新写入。","然后把这段脚本拷贝进去,并且勾选","然后,","然后,拖动这个脚本的到","然后,搜索这个地址","然后,配合多个","然后,重启","父类引用","版本号,","版本,如果一不小心,就会忘记。这个过程,我们可以通过插入脚本自动化。","环境下","的","的位置","的使用场景很多,本文只列举","的原理也就大致搞清楚了,通过修改","的头文件中,见到过","的存储区域。","的属性仍然可以正常使用。如果直接弃用,会导致开发者在更新","的工程会执行","的方法是如何存储的,我们再来看看","的时候(快捷键","的时候,代码无法运行了。","的时候,我们都必须手动调整","的时候,第三方工具(fabric,","的替换速度。","的流程","的生成,链接期优化等等。","的编译过程后,我们可以从以下角度来优化编译速度:","的编译过程,后端的处理如下","的警告相关内容。本文篇幅限制,就不详细讲解了。","目录下看到对应的","等生成不同的机器码。","等等,记得只开启","简单的编译过程如图","管理的三方库是否需要更新","篇幅限制,本文只关注","类名","类型属性","编译","编译产物","编译代码","编译信息写入辅助文件,创建编译后的文件架构","编译前脚本","编译各个.","编译器优化","编译器前端","编译器前端的任务是进行:语法分析,语义分析,生成中间代码","编译器后端","编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。io","编译器选项优化","编译文件","编译过程的原理和应用","而对应的","而这些配置信息都存储在这个文件","脚本","脚本化编译打包对于","脚本编译打包","节","节的地址是","表示代码段中的代码内容。","警告","警告处理","警告来提高代码质量","语法结构","负责测试服务器。这样我们就不用每次切换测试服务器都要修改代码了。","这个区域提供了各个段(segment)和节(section)在可执行文件中的位置和大小。这个区域完整的描述克可执行文件中的全部内容。","这个区域的存储内容比较简单:前面是文件的编号,后面是文件的路径。文件的编号在后续会用到","这个映射文件的主要包含以下部分:","这个部分包括的内容","这样的好处是:给开发者一个过渡的版本,让开发者知道这个属性被弃用了,应当使用最新的","这段代码的作用是","这段脚本其实很简单,读取当前","进制的函数地址映射。","进行调试。所以,不需要生成额外的","选中","选择添加","通常,如果你使用","通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了","通过","通过info命令,可以查看到详细的文档","通过这个编译的命令,我们可以看到","那些你想到和想不到的应用场景","部分将二进制文件进行了一级划分。而,symbol","都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为","都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","采用","里","链接所需要的framework","链接需要的","需要","预处理","首先找到数据栈中data","默认的目录在","!","(function"],"Article/Objective-C Runtime 机制简析.html":["!__objc2__","#defin","#endif","#if","&load_images);","&map_2_images);","'var',","(*imp)(id,","(1ulis_swift","(id","(uint32_t","*","*)((char","*)obj","**methodlist","**value)","*cach","*class;","*data()","*ivar","*locat","*method_typ","*name","*name;","*offset;","*protocol","*ro;","*sel;","*type;","+","+alloc","+load","...);","//","0/*not","0;","1","1.","1.1","2.","2.0","3.","3.2。","3.3","3.4。","4~47","64",":","=","[classobj","[obj","[object","_map_2_imag","_read_imag","api","arg]","arg],classobj","arg)","basemethodlist","basemethodlist;","baseprotocol","baseprotocols;","batch*/,","be","bits.data();","bits;","bits,它相当于","bool","c","c1.0","cach","cache;","cache_t","call_load_method","categori","category_list,并将","char","class","class_data_bits_t","class_ro_t","class_rw_t","class。","class。下文会对此详细介绍。","class。可以这样理解,类是","class(class),即","class(meta)。root","class(meta)的","class(meta)的父类是","class)中寻找。这也就是为什么说,图","const","crash。","custom","data()","dyld","dyld_image_info","dyld_image_st","dyld_register_image_state_change_handler(dyld_image_state_bound,1/*batch*/,","dyld_register_image_state_change_handler(dyld_image_state_dependents_initialized,","dyld,即处理由","false;","fast_is_swift","firstsubclass;","flag","flags;","formerli","found","found;","github","given","hash","here.","https://www.jianshu.com/p/0a4e5b944d7d","id","imag","imp","info","infocount,","infolist[])","instance_s","instances","int32_t","isa","isa;","isa_t","ivar","ivar)","ivar_list_t","ivar_offset);","ivar_t","ivars;","ivar,然后调用","load","load_imag","load_images(enum","load_images_nolock","lock","long","main","map","map2_imag","map_images_nolock","meta","method","method_array_t","method_imp","method_list_t","method_nam","methodizeclass","methodlist","methodlists、protocol","methods;","methodwitharg,","methodwitharg:","methodwitharg:arg];","myobject.var","name;","new.h","nil。","nsobjct","nsobject,nsobject","nsobject,若仍未找着,就","obj_object","objc","objc2.0","objc2_unavailable;","objc_cach","objc_class","objc_class,objc_class","objc_class,但由于对象的内存地址不一样,所以它们的实例变量存储位置也不一样,从而实现对象与类之间的多对一关系。","objc_isa_availability;","objc_ivar_list","objc_method","objc_method_list","objc_msgsend(object,","objc_object","objc_object、objc_class、class_rw_t、class_ro_t","objc_object,有一个","objc_protocol_list","objc_selector","object","object_getinstancevariable(myobject,","object_getivar(myobject,","offset","plu","pointer","properties;","property_array_t","protocol_array_t","protocol_list_t","protocols;","readonli","readwrit","realizeallclass","realizeclass","return","ro","root","rr/alloc","runtim","runtime。","sel","sel,","size;","state,","struct","subclass(class)","subclass(class),subclass(class)的","subclass(meta),subclass(meta)的","subclass)的","super_class","superclass(class)","superclass;","swift","take","typedef","uint32_t","version","version;","vtabl","without","xcode","{","}","};","};","→","。","上下载源码。","与","中","中只有一个","中可以看到","中寻找。以此类推,直到根类","中注册了两个回调","中的","中的变化","中的对象,它仅包含一个","中,class","中,ivar_t","中,objc_class","中,方法实质上是一个","中,方法的调用采用如下方式:","中,类实际上是一个","中,类本身也是一个对象。objc_class","中,除了","为消息的接收体,它可能是一个对象,也可能是一个类。若为对象,则是实例方法(","也会通过其","从","会判断镜像是否实现了","会完成对镜像中所有类的加载和预处理,它最终会调用","位的指针","位(从","例如","值,runtim","其中","其中,","其中,superclass","列表。","列表。若有,则返回;否则,到其父类寻找。以此类推,直到根类,若在根类中仍没有该方法,则","列表中。","列表中,之后会遍历","列表赋值。","前面提到过在","前面提过,在","加载镜像","原文地址","去寻找","又通过其","又通过调用","只剩下一个","可以把它看作是发送消息的过,其中","可以看到,在","可以通过添加符号断点,来直观的查看这几个方法的调用关系,如图","同时,root","同理,若是类方法,则从对象所属类的","图","在","在内存中是不可变的。在运行期间,动态给类添加方法,实质上是更新","在程序初始化方法_objc_init","在编译之后,class_ro_t","在编译期间,以上代码会被转化为","在这里需要先了解几个概念","基于此,虽然多个对象的","如图","如果说,sel","存储协议列表。注意到这里有一个","存储在","存储对象方法,meta","存储属性列表、protocol","存储方法列表、properti","存储类方法。","存储类的实例方法(","存储类的类方法(+),class","官网浏览,或者从","实质上就是一个","对","对象方法:前面提过,调用对象方法,相当于给对象发送消息,","对象的成员变量寻址","就已经确定。当镜像加载的时候,methodizeclass","就是","就是方法的实现。imp","就相同,与这个方法属于哪个类没有关系。","工程的编译产物,包括一些动态链接库、foundat","开始寻找。","开始计)。","当","当我们使用对象的成员变量时,如","我们常用的","所示,一个对象(instanc","找到其","找到相应的方法入口(method_imp),从而执行方法的代码块。","指向父类,cach","指的是分类,基于此,categori","指针。其中,method_nam","指针。实际上当我们调用","指针。由于","指针到其所属的类(meta","指针加上","指针外,objc_class","指针存在于","指针定义了一个方法的入口,指向了实现方法的代码块的内存地址。","指针找到对应的","指针指向","指针指向同一个","指针指向它所属的类","指针指向所属的类。","指针指向本身。","指针指向的也是其所属的类。子","指针指向自身。当然,由于苹果进行了封装,在开发中基本不可能直接去使用","指针,指向其所属的类,即","指针,指向当前对象所属的类。","指针:meta","接收到消息之后,若是实例方法,则会从其所属的类","接收到消息后,通过其","方法","方法。","方法。若未找着,则到其父类","方法之前被调用,所有使用到的类的","方法会在","方法会将","方法找到所有","方法是每个镜像加载完毕的回调。","方法来初始化一个对象时,也仅仅在内存中生成了一个","方法的注释为:process","方法的调用","方法的调用栈。load_imag","方法都会被调用。先调用父类的","方法)。mehodwitharg、arg","方法);反之,则是类方法(+","方法,之后通过","方法,再调用分类的","方法,再调用子类的","方法,并且调用","方法,查询","方法;先调用主类的","映射的给定镜像。它的调用如下:","是","是具体的消息内容。","是成员变量相对于对象内存地址的偏移量,正是通过它来完成变量寻址。","是方法名,那么","本身也是一个对象,它的","机制简析","来分配空间,将其","来处理每一个类,而","来对类结构体的","来获取成员变量的内存地址。其计算公式如下:","标记位标示是否为","添加到","用于存储类名、类版本号、方法列表、协议列表等信息,替代了","的","的关系如图","的其他成员变量皆已被弃用。","的动态链接库,在程序运行时,会将镜像加载进内存。","的基础上添加了面向对象的特性,同时它是一种动态编程语言,将静态语言在编译和链接时需要做的一些事情给延后到运行时执行。例如方法的调用,只有在程序执行的时候,才能具体定位到哪个类的哪个方法。这就需要一个运行时库,就是","的定义如下:","的定义(只截取关键代码,下文同)","的对象。所以,当调用类方法是,例如","的方法也添加到","的最大区别在于一个是只读的,一个是可读写的,实质上","的源码去分析,可以通过","的父类为","的简写。","的简写,rw","的类。通过进行位运算可以得到一个","相当于","等成员变量。","等标志位。其中","等等,是一些二进制文件。","类似。","类型指针。","类型指针,我们会在下文详细介绍。","类型指针,是根据特定规则生成的方法的唯一标识。需要注意的是,只要方法名相同,生成的","类型的指针。","类方法:","类的成员变量","类的理解与方法的调用","类的结构和定义","结构体","结构体中只有一个","结构体就是","结构体的定义如下","结构体的指针,它指向当前类的","结构体,其定义如下:","结构体,并根据其","继承自","缓存指针、方法入口等,用于提高效率。bit","能扩充一个类的方法。这是开发时经常需要使用到。","调用一个方法时具体做了什么?","调用所有的","这里的","进行了一定的封装,类的信息并未全部对开发者开放。我们不妨通过阅读","通过","里","镜像","),meta",",编译器会将其转化为"],"Article/OC 消息机制和 super 关键字.html":["!__objc2__","!defined(__cplusplus)","#0","#0xf000000000000000","#3]","#4","#52,","#60,","#8","#els","#endif","#if","#isa_mask","&&","(!","(!lookupimpornil(cls,","(*msg)(class,","(aselector","(id)forwardingtargetforselector:(sel)aselector","(instancetype)init","(msb","(nsmethodsignatur","(selector","(self","(typeof(msg))objc_msgsend;","(void)doesnotrecognizeselector:(sel)aselector","(void)forwardinvocation:(nsinvoc","(void)sendmessag","(void)sendmessage;","*","*)aninvoc","*)methodsignatureforselector:(sel)aselector","*/","*a","...)","...)的形式。",".h文件",".m文件","/*","/**","//","///","//没有找到resolveclassmethod方法,直接返回。","03","1.0,","10:18:54.252949+0800","12","19:44:46.003313+0800","19:44:46.003442+0800","2","2.0);","2.0,","2019","3","4","5","9.0,",":","=","==",">doesnotrecognizeselector:",">ismetaclass())",">ismetaclass());",">methodsignatureforselector:","@end","@implement","@interfac","@selector(sendmessage))","[a","[aninvoc","[aobject","[bobject","[cl","[nonmetaclass","[self","[super","[x0]","[x10,","[x17,","__objc_forward_handler@pag","__objc_forward_handler@pageoff]","__objc_msgforward","__objc_msgforward_impcach","__objc_msgsend_uncach","__objc_msgsend_uncached,","__unsafe_unretain","_cf_forwarding_prep_0和___forwarding___这两个方法会先被调用了,之后调用了forwardingtargetforselector:。","_class_resolveclassmethod","_class_resolveclassmethod(class","_class_resolveclassmethod(cls,","_class_resolveclassmethod和_class_resolveinstancemethod实现类似,这里就只看_class_resolveclassmethod的实现。","_class_resolveinstancemethod(cls,","_class_resolvemethod","_class_resolvemethod(class","_nonnul","_nullabl","_objc_debug_taggedpointer_classes@pag","_objc_debug_taggedpointer_classes@pageoff","_objc_debug_taggedpointer_ext_classes@pag","_objc_debug_taggedpointer_ext_classes@pageoff","_objc_msgforward_impcach","_objc_msgforward_impcache用来进行消息转发,但是其真正的核心是调用_objc_msgforward。","_objc_msgsend","_objc_msgsend,","abi.h中","add","adrp","alreadi","aobject","arm.s、objc","arm64.s的实现。由于汇编不熟,里面的实现只能连看带猜。","arm64.s等文件中,是通过汇编实现的。这里主要看在arm64即objc","assert(cl","b","b.eq","b.h","b.le","band","bobject","bool","br","c","cache.","cachelookup","call","callabl","check","check,如果为空就是调用lreturnzero,lreturnzero里调用messenger_end_nil*/","cl","class","class,","class.","class;","class]);","class],但是真正执行方法的对象还是aobject。","cls,","cmp","compat","crash","crash。","crash,结合上面的代码我们知道消息转发会调用___forwarding___这个内部方法。___forwarding___方法调用顺序是forwardingtargetforselector:","current","d0,","d1,","d2,","d3,","doesnotrecognizeselector\",","end_entri","entri","ext","first","forwardingtargetforselector:aselector];","forwardinvocation:aninvocation];","framewithnosav","function","header","https://juejin.im/post/5c87a218f265da2dd868cfcd","id","imp","implement","imp,此时会进入一个for循环,沿着类的父类一直往上找,直接找到","init])","init]的时候,调用了那些方法","inst)","inst),","inst);","inst,","instanc","instancemethodsignatureforselector:@selector(sendmessage)];","invokewithtarget:[bobject","ioscodelearning[18165:5967575]","ioscodelearning[34431:7234182]","isa","ldr","lexttag","lexttag:","lgetisadon","lgetisadone:","lnilortag","lnilortagged:","locat","look","lookupimporforward","lookupimporforward会返回一个imp,它的函数实现比较长,但是注释写的非常清楚。它的实现主要由以下几步(这里直接从缓存获取开始):","lookupimpornil(cls,","lreturnzero","lreturnzero:","lsl","messag","message\",","message.","messenger_end_nil","messenger_end_slow","messenger_start","method","method],运行时会将它翻译成objc_msgsend(id","methodsignatureforselector:aselector];","methodtablelookup","mov","movi","msg","msg(_class_getnonmetaclass(cls,","negative)","new.mm文件中的_class_lookupmethodandloadcache3。该函数会调用lookupimporforward函数。","new];","new]];","nil","nil;","no/*initialize*/,","no/*resolver*/))","no/*resolver*/);","nofram","nop","normal","nslog(@\"%@","nslog(@\"%@\",","nsobject","objc","objc_available(10.6,","objc_export","objc_msgsend","objc_msgsend_uncach","objc_msgsendsuper2()","objc_msgsendsuper2(struct","objc_msgsendsuper2的声明在objc","objc_msgsend的实现在objc","objc_sup","objc_super的定义如下:","object","oc","old","op,","out","particular","pointer","receiver;","resolv","resolveclassmethod:sel]","resolveinstancemethod:sel]","resolveinstancemethod:或者resolveclassmethod:方法,然后用objc_msgsend执行上述方法。","resolve)的过程即调用_class_resolvemethod,如果失败,进入第","ret","return","return;","runtim","runtime.h","search","sel","sel)","sel);","sel,","sel_resolveclassmethod,","selector","selector];","self,","self.class);","self;","send","sendmessage];","specialization.","specifi","static","static_entri","stret","struct","super","super,","super_class","super_class;","super_class为指向当前类的父类。","superclass","superclass.","tag","take","tri","ubfx","unwind","void","x0","x0,","x1,","x10","x10,","x11,","x13","x13,","x16","x16,","x17","x17,","yes/*cache*/,","zero","{","}","};","上述函数会根据当前传入的类的是不是一个元类,在_class_resolveinstancemethod和_class_resolveclassmethod中选择一个进行调用。注释也说明了这两个方法的作用就是判断当前类是否实现了","上述过程中有几个比较重要的函数:","上面的流程可能是这样的:","为止。如果找到返回,否则进入第","从cachelookup的注释有两处:","从上面的定义我们可以知道receiver即消息的实际接收者,","代码","代码执行结果和消息重定向测试的运行结果一致。_cf_forwarding_prep_0和___forwarding___这两个方法又再次被调用了,之后代码会先执行forwardingtargetforselector:(消息重定向),消息重定向如果失败后调用methodsignatureforselector:和forwardinvocation:方法签名。所以说___forwarding___方法才是消息转发的真正实现。","代码运行结果肯定是","以下代码省略不影响阅读","关于_objc_msgforward在objc中并没有其相关实现,只能看到_objc_forward_handler。其实_objc_msgforward的实现是在cfruntime.c中的,但是开源出来的cfruntime.c并没有相关实现,但是也不影响我们对真理的追求。","关键字","即使看不懂汇编代码,但是从上面的注释我们可以猜测,消息机制会先从缓存中去查找。","原文地址","原文链接","在","在forwardingtargetforselector:处打个断点,查看一下调用栈:","在缓存、当前类、父类以及方法决议都没有找到的情况下,object","复制代码","我们做几个实验来验证消息转发。","我们先查看一下执行[super","我们用一张图表示整个消息发送的过程:","所以我们能理解为什么下面这段代码执行的结果都是aobject了吧。虽然使用[sup","所以该函数实际的操作是:从objc_super结构体指向的super_class开始查找,直到会找到","执行结果","方法签名测试","步;","测试","消息发送","消息机制和","消息转发","消息重定向","消息重定向测试","的方法为止。找到后以receiver去调用。当然整个查找的过程还是和消息发送的流程一样。","缓存结果","调用","运行结果:","还为我们提供了最后一次翻身的机会,调用_objc_msgforward_impcache进行方法转发,如果找到便加入缓存;如果没有就","这里的methodtablelookup里涉及到objc","进入方法决议(method","通过cache_getimp从缓存中获取方法,有则返回,否则进入第","通过getmethodnosuper_nolock从类的方法列表中获取,有加入缓存中并返回,否则进入第","通过方法名我们可以知道,没有缓存的时候应该会执行__objc_msgsend_uncached。","通过父类的缓存和父类的方法列表中寻找是否有对应的","里面调用一个方法[object","验证crash","验证消息重定向"],"Article/UIViewController 预加载方案浅谈.html":["\"","\"unbalanc","\"viewcontrollerprerender.h\"","#import","()","(^)(uiviewcontrol","(_windowno2","(instancetype)defaultrender;","(instancetype)defaultrender{","(nonatomic,","(uinavigationcontrol","(uiviewcontrol","(vc","(void)dealmemorywarnings:(id)notif","(void)showrenderedviewcontroller:(class)viewcontrollerclass","(void)tableview:(uitableview","*)_windowno2.rootviewcontroller;","*)getrendered:(class)viewcontrollerclass{","*)indexpaths;","*)tableview","*/","*_myrend","*fresh","*key","*nav","*no2","*renderedviewcontrollers;","*vc","*vc))block;","*vc))block{","*vc1","*windowno2;","+","/**","//","//.h","//.m","0)];","1.","10","100","12","13","14;","1777.684814","1793.544922","17:","1828.953857","1850.614990","1895.146729","1897.723877","1934.873047","1946.458984","1956.969971","2.","20","2050.655762","2067.84","2067。","2075.978027","2155.601074","2168.324951","2198.915039","21:","2218.141113","2237.258057","2243.837158","2261.447998","2268.033936","2294.206055","2302.843750","2305.270264","2322.465088","2333.105957","2340.742920","2352.54","2357.508789","2358.933350","2371.049805","2377.906250","2382.412842","2384.422852","2385.695068","2424.213135","2465.007812","2538.381836","2552.829834","2639.933105","2659.640625","300","300ms,猜测是","379.502930","382.000244","386.897949","399.669922","40.200928","400m","407.436035","409.042969","421.780762","426.408691","435.476318","439.666016","440.330811","441.053955","443.14","443.190186","453.924072","478.447998","48.425049","48.640625","490.614014","5","50.403320","508.499023","51.270020","51.363770","515.513916","53.313965","54.635010","54.883789","55.749756","56","56.13","57.637207","58.913818","59.484863","598.571777","63.152832","63.797852","64.150146","68.835938","779.028809","78.262207",":","=","==",">","@end","@implement","@interfac","@option","@param","@properti","@protocol","@requir","@return","[1]","[2]","[3]","[4]https://developer.apple.com/documentation/uikit/uiviewcontroller?language=objc","[5]","[6]","[7]","[8]","[[nsnotificationcent","[[uinavigationcontrol","[[uiwindow","[catransact","[nav","[nsmutabledictionari","[self","[self.renderedviewcontrol","[uiscreen","[unbalanc","[viewcontrollerclass","[viewcontrollerprerend","^{","_myrend","_myrender.renderedviewcontrol","_myrender;","_windowno2=","actual","addobserver:_myrend","alloc]","animated:no];","app","appear","appl","app,其实不适合用","ascend","asdk","avg","begin/end","begin];","block","block(vc1);","block,然后执行","builder。它的底层机制决定了它在开发启动、app","cach","calc.rb","call","cancelprefetchingforrowsatindexpaths:(nsarray","candid","catransact","cell,弹出领取津贴,我们分","cgrect","cgrectgetwidth(full),","chameleon","class","commit];","completion:(void","consid","consol","copi","cpu","data","dealloc","defaultcenter]","demo","develop","dictionarywithcapacity:3];","diff","dispatch_once(&oncetoken,","dispatch_once_t","distanc","document","document.onload","document.onload事件也提前,2357","documentation,","fetch","fetching,","forkey:key];","full","geometr","getrendered:viewcontrollerclass];","h5","hidden","indexpath","init","initwithcoder:方法实现序列化,打开","initwithframe:cgrectoffset(full,","initwithrootviewcontroller:[uiviewcontrol","interfac","io","ios性能优化系列篇之“列表流畅度优化”","layout","load","loadview()","mainscreen].bounds;","memori","ms","ms,相应的","ms,还需要进一步考虑","name:uiapplicationdidreceivememorywarningnotif","nativ","nav;","navig","navigationstart的性能,443","new];","new]];","nil)","nil;","no2","no2.hidden","no2.rootviewcontrol","no2.windowlevel","no2;","no;//","no,和在不在屏幕上没有关系","nslog(@\"releas","nsmutabledictionari","nsobject","nsstring","nsstringfromclass(viewcontrollerclass);","object:nil];","objectforkey:key];","old","oncetoken;","order","popviewcontrolleranimated:no];","pre","prefetch","prefetchrowsatindexpaths:(nsarray","prerend","present","pressure\");","previou","previous","project","purg","push","pushed,而是作为子","pushviewcontroller:fresh","pushviewcontroller:vc","removeallobjects];","renderedviewcontrol","resize、和作为子","return","rootviewcontrol","rootviewcontroller,之后再复用从缓存中拿到的","rootviewcontroller,始终有","safari,序号后面的图形,表示本阶段","same","selector:@selector(dealmemorywarnings:)","setcompletionblock:^{","setobject","setobject:fresh","setobject:vc","share","stack","stack后是否会被渲染,取决于所在的","stack的方式外,","stack里不能","static","storyboard","storyboard,需要持久化为文件,使用","strong)","subset","tabl","tableview:prefetchrowsatindexpaths:","transit","two","uikit","uinavig","uinavigationcontrol","uitableviewdatasourceprefetch","uiviewcontrol","uiviewcontroller.view","uiviewcontrollerd","uiviewcontroller需要可以安全的编写","uiwindow","uiwindowlevelstatusbar","ui、事件和转场等逻辑,将动态部分(网络请求)的发起逻辑写在转场结束之后。","unbalanc","url","url;如果","used;","vc","vc.view中间层,负责事件分发、响应链,","vc;","vc,","view","viewcontrol","viewcontrollerclass","viewcontrollerclass。否则会奔溃","viewcontrollerprefetch,增加额外复杂度。","viewcontrollerprerend","viewcontrollerprerender的逻辑分析解释为什么会有提速,在使用viewcontrollerprerender时,需要特别留意什么地方,以免掉入误区。","viewcontroller。","viewcontroller内部逻辑相同,详见","viewcontroller加载严选首页两种方式测试,保持","viewcontroller性能表现并不是瓶颈,所以目前业界对","viewcontroller的方式;第二次之后使用预热的","viewcontroller,但是不易过多,容易引起内存紧张","viewcontroller,因为","viewcontroller,如果第一次使用。","viewcontroller,池子,在必要时候","viewcontroller,然后再执行真实的","viewcontroller,隐藏的","viewcontroller,需要划分职责,在viewdidload里搭建框架,,而在另一个单独的接口如本","viewdidiload","viewdidload","viewdidload()之后,整个","viewlayoutmarginsdidchang","view,uidropshadowview,uitransitionview。","vs.","way","webview","window","window,才会触发预热","xcode","xib","xml","{","|","}","});","}];","。","一.","七,prerend","三.","上半部分,所有阶段是线性的;下半部分,可以做到并行,尤其是第三个","下次使用缓存","不可用。但是和是否在屏幕可见没关系","不宜占用太多主线程资源,避免对当前界面打开产生负面影响。","不是被","业务逻辑回调","中同步的返回一个预先被渲染的","中的渲染逻辑。以下是我根据自己的理解画的","中,默认大部分的尺寸是全屏。","为","为了避免一个","为例,","为例,你可以在","主方法。传入一个","之间的约束","事件。","事件开始时,就已经完成","二.","五.","从测试数据可见,使用预加载的方式显著的提升了","从测试数据来看,从点击到最后加载完毕,大概节省了","代码很短,全文摘录,以下以注释的方式详细解读。","以","以及其他元素,可以提高加载","会影响被缓存的","会根据滚动方向的变化实时改变缓冲区的位置;在向下滚动时,下面的","传统方式","但是对于整个","但是有些","体验中通常体验最差的","体验的瓶颈问题,不要随意使用","作为","作为严选用户体验的重要载体,app","作为网络加载时间的开始标志,以","作为页面加载完毕的标志;","使用","使用时出错,在本","使用的","使用预加载弹窗的","使用预加载方式","八,xib","六,原因探析","关键点","内“领取津贴”弹窗慢的问题时,我思考了这个问题,所以查阅了","内部方法,用来产生可用的","减少到","初始化,在","到","到底能不能预加载?","加载也使用","加载失败,就不会弹出弹窗。","加速两部分。","加速(使用预加载)和","动画同时进行的问题。","动画和另外一个","区域会是非滚动方向(trailing)的两倍,asdk","区域就是上面的两倍,向上滚动时,上面的","区域就是下面的两倍。","十,补记","却少见预加载的策略。极少数场景是这样的:整个界面包含多个","参考","发送网络请求(但是完成加载耗时只少","另外比较适合","可以直接将从","同样的,在被添加到","启动时会有性能损耗,不过也为我们做了一个例子——","和","四.","因为","困难、复用困难、启动慢等坏处,不值一提。","图例参考","在","在严选里弹窗有两种,一种是被动弹窗,比方说从后台数据返回中,得知有弹窗需要显示,nativ","在同一个","在和同事解决严选","在弹窗出现时使用缩放动画,h5","在整理出上面的流程结论后,编写了viewcontrollerprerender,虽然不到","在滚动方向(leading)上","在被添加到","在被苹果推广时没有被提到它预加载的优点,一直没有引起重视。","增加一个监听,当内存紧张时,丢弃这些预加载的对象不会造成功能错误,","外","大概有以下的收获;","如何预加载","如果使用","子元素容器,子元素根据","子类","字典时,保证被渲染过","实例","实例之后,后续相同的viewcontrol","实例的尺寸。但在预热好的","对","对于","对于大部分功能也能而言,","对象","对象已经在内存内。如果我们要使用","对象,在调用的","层次,特别的,会首先限制","层级,认清这些事件,可以知道哪个阶段做哪些操作是合适的?","工程里已经有","工程里注释。","已经被渲染过后的","带来的启示","常规的优化方案中,预加载也是极常见的手段,多见于:预加载图片、配置文件、离线包等业务资源。查阅后知,","并不是必选项,还需要根据自身的业务来决定使用可以","幸好通过多次尝试,最终解决掉。","序号的","应用时,也抱有相同的意图","开发方式失败的时候,大部分可需要持续迭代的","开发时,已经到了","引子","当它被添加到当前活动的","当我接触","当某个","必须先渲染将要被","必须是","必须是先设置","必须是显示的","性能提升如何?","性能是极其重要一环。我们对弹窗的体验做了少许优化。","性能问题中,","总结:预加载利用了并行这一传统性能优化技术,同时对","我的订单界面,当用户某个订单有商家已发货未收货时,根据行为统计,用户大概率会打开第一条已发货的订单去查看当前物流(物流数据来自第三方,响应速度没有保证),所以在进入我的订单时,可以预先加载一个查看最新未完成订单的物流的","或者","所以这个警告必须解决。","所以这里预先设置将来真正展示时的尺寸,减少","执行了","掉","推销","支持预热多个","文件","文件模式开发","文件绘制","文件被","文件,然后用","时至今日,当我思考预加载方式在","时,会触发","时,先从文件反序列化解析得到","时,可以直接从内存里获取,将会获得速度提升","时,它的","时,它的生命周期是错误的","时,生命周期紊乱导致一些依赖生命周期执行的逻辑失效,如电商行业里很看重的曝光统计数据不正确","是不是","是个懒加载属性,由","是可以被压入","更重要些。暂时没想到方法","有一套很智能的预加载策略;","有正确的尺寸。","有能达到预热","本次使用缓存,同时储备下次","本身。以","来开发,它的可视化带来的好处相比项目协作迭代里遇到的","来构建界面。开发人员创建完","来渲染界面的。这需要","根据","根据全局弹窗排序,决定显示那个——当后台数据返回指定的","次左右,统计表格如下,navigationstart","比目前","没有开源,我从","注意:以上为","测试方案:模拟器,每种方式测试时都重启,各测试了","添加","渲染的流程?","源码","点击到网络加载时间(ms)","点击到页面加载完毕时间(ms)","片段乃至","理想情况,应该是先执行","用户在详情页面,点击了我好评率,那么大概率,用户还会打开用户晒单的视频和图片。这时候可以预加载一个视频播放器和图片浏览器,提供用户的响应速度等。","的","的viewdidload","的原理,我大概画了图例来解释。","的地方如,","的子","的尺寸","的尺寸多少为合适。我自己做了下实验","的尺寸无关。","的尺寸是正确的和","的层级,除了显示第一个","的思想解决","的效果。","的新","的显示,将异步加载数据也放到并行逻辑了,这对有性能瓶颈的界面优化不失为一种方式","的核心组件","的渲染流程,肯定有错误和遗漏,仅供理解本文使用。","的生命周期也提出更高的要求,譬如:","的能力。","的重写源码里试图还原真实的","的错误","的页面优化。","的预加载并没有太多可参考的案例,不过对于某些场景优化还是有指导意义。在本文开始时提到的严选商品详情页里领取津贴是弹窗,常规情况下弹出是比较慢的,经过讨论后,我们决定对津贴弹窗做两个优化","的,这也是预加载的关键。","目标是严选商城的","直接返回全新创建的对象,同时也预热一个相同类的对象,供下次使用。","相同的","相同的一个uiviewcontrol","相比之下,预加载方式提前","知识小集推荐","等新的协议来提供uitableview\\uicollectionview","答案:可以被预加载,除了本文尝试的多个navig","系统层面,io","绘制","而且对于内存而言,尺寸越小内存占用越少,理论上","而对于用户主动弹出的弹窗,如用户在详情页点击","而最终的用户界面需要等待网络返回真实数据后重新渲染,在此期间,显示静态的等待界面。所以在需要被缓存的","而言,预初始化","自己在早期推广","自己的","虽然是编译器警告,实际上","行,前后却花了一周,主要是为了解决下面这个","被初始化好的","被加载完毕之后,才弹出遮罩,显示被加载好的","被添加到","被添加到当前工作的","被添加到活动","被预加载的","被预热的","要多两个","解决","警告。","资源调度问题)。以上数据只作为性能提升参考,对于加载","转场(segue)和按钮动作跳转","转自:","还为开发者新增了uitableviewdatasourceprefetch","这样也要求","这里包含一个陷阱——","这里设置的尺寸会影响被缓存的","适宜的场景","都会来","都能正确处理资源释放","里uikit","里做以下操作;","里拿到的数据实现为报表,方便你测试自己的页面性能加载提升对比。","里的seturl用来使用业务数据渲染页面。","里的情况,在","里绘制的静态数据","里还要多少操作空间时,我发现","里,第","页面的速度。","预加载","预加载与智能预加载(ios)","预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后一页的分页数据,在用户继续翻页时,能极大提升响应速度;在微信公众号列表,不仅预加载了多个分页数据,还加载了某个公众文章的文字部分,所以当列表加载完毕之后,你走到了没有网络的电梯里,依然可以点击某个文字,阅读文字部分,图片是空白。","预加载方案浅谈","题外话,app","(1,1,1,1)",",http://m.you.163.com,分别以传统的,每次都新创建",",否则会崩溃;而来自不同",",这个警告必须解决,否则会导致被缓存的",",预加载其他的"],"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":["\"yzsgoodsmodel.h\"","\"移动开发前线\"","#import","(bool)application:(uiappl","(bool)setupmodulesynchronously;","(h5,","(id)performtarget:(nsstr","(instancetype)sharedinstance;","(nsarray*)getgoodslist","(nsarray*)getgoodslist;","(nsarray*)goods_getgoodslist","(nsarray*)goods_getgoodslist;","(nsinteger)getgoodscount","(nsinteger)getgoodscount;","(nsinteger)goods_getgoodscount","(nsinteger)goods_getgoodscount;","(nsuinteger)priority;","(nullabl","(void)applicationwillenterforeground:(uiappl","(void)load","(void)setup;","(yzsgoodsmodel*)goodsbyid:(nsstring*)goodsid","(yzsgoodsmodel*)obj;","(当然你也可以起个别的名字)。同时因为","(很多接口还是基于阿里的需求提供的,我们用不到,会形成理解成本)。原因三其实是最关键的,就是模块化","(雷神里的彩虹桥)","(雷神里的彩虹桥)。在过程中我们深刻体会到","*","*)actionnam","*)applic","*)launchopt","*)params;","*)targetnam","*)urlstr","*/","*bundl","*good","*goodsid","*imag","*list","*path","*storyboard","*urlstr","*vc","+","+load","...","/","/**","//","//classa为framework中的某各类","//code","//goods模块所有对外提供的方法封装在一个category中","//goods模块提供实现goodsmoduleservice的对象,","//goods模块提供的所有对外服务都放在goodsmoduleservice中","//kroutegoodsdetail","//kroutegoodslist","//kroutemembersearch","//mediator提供基于nsinvocation的远程接口调用方法的统一封装","//sale","//yzsalemoduleservice.m内","//业务方依赖mediator模块,可以直接调用相关方法","//业务模块可以直接调用相关接口","//传统方式只能定位到指定bundle,比如main","//做一次强转","//将goodsmoduleservice放在某个公共模块中,对所有业务模块可见","//并在+load方法中注册","//提供具体实现","//注册服务","//通过路由url跳转到商品列表页面","0","1000","123];","16","17","2","20","2016","2018","3","3.1","3.2","3.3","3.4","3.5","30","300","4","4.1","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2","4.2.1","4.2.2","4.2.3","4.3","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","6",":","=","@\"//goods/goods_list\"","@\"123123123\";","@end","@implement","@implet","@interfac","@option","@protocol","@requir","@return","@“//goods/goods_detail?goods_id=%d”","@“//member/member_search”","[[goodslistviewcontrol","[[mediat","[[nsbundl","[bfmodule(yzgoodsmoduleservice)","[bifrost","[manag","[modul","[nsbundl","[nsstring","[router","[self","[self.navigationcontrol","[servicemanag","[uiimag","[uistoryboard","_nullabl","_nullable(nsdictionari","_yzg_goodsmodel,","_yzs_goodsmodel.","action:(nsstr","action:@\"getgoodscount\"","action:@\"getgoodslist\"","action:@\"goodsbyid:\"","alloc]","android","animated:yes];","app","appdeleg","arguments:@[safe(application),","arguments:@[safe(application)]];","beehiv","bifrost","bifrost.","bifrostmoduledefaultpriority;","bifrostmoduleprotocol","bifrostmoduleprotocol,令每个模块的","bindurl:kroutegoodslist","block","block,","bundl","bundle.","bundle:bundle];","bundleforclass:","bundleforclass:classa];","bundle中资源","bundle需要通过bundleforclass获取","cach","categori","checkallmoduleswithselector:_cmd","class","code","commit","commmon","commom","common","common.","common,和前面提到的简化","common,用于放置一些通用业务和全局的基类。app","compatiblewithtraitcollection:nil];","complet","completion:(nul","completion:^(id","complexparams,","complexparams:(nul","complexparams:nil","copi","ctmediat","d","d1","d2","d3","default","demo.","didfinishlaunchingwithoptions:(nsdictionari","error,","facad","facaded.","framework","framework,需要注意资源读取的问题。因为传统的资源读取方式无法定位到","getgoodslist];","git","git,代码提交的","good","goodmodelprotocol,","goods.name;","goods.price;","goods;","goods_getgoodslist];","goodsbyid:goodsid];","goodsmodul","goodsmoduleservic","handl","handleurl:kroutegoodslist];","handleurl:urlstr","handleurl:urlstr];","hardcod","hardcode,","hardcode.","hook","https://juejin.im/post/5d4136295188255d5861d0e4","id","id)handleurl:(nonnul","if(vc)","im","imagenamed:@\"icon_name\"","import","inbundle:bundl","infoq","init];","io","ios,android,weex/rn);","json,","list","logout","lowest","mainbundle]","manag","mediat","mediator(goods)","mediator,","merg","method1,","method2,","method3.","mgjrouter,","model","modul","module.","moduleprotocol","moduleservi","moduleservic","moduleservice.h","moduleservice.h,","moduleservice。将对其它模块的接口的反射调用,放入各个模块的","modulesevic","module的接口","module远程调用good","mr,","ms,","mvvm、mvp","nsarray","nsbundl","nsclassfromstring(@\"yzgoodsmanager\");","nsdictionary*)complexparam","nsinvoc","nsnotificationcent","nsobject","nsstring","nsurl","obj","objbyservice:@protocol(goodsmoduleservice)];","parameters)","params:(nsdictionari","params:@[goodsid]];","params:nil];","path","path,直接依赖的了别的模块,以便重用复杂模型类的情况。","peformselector","performselector","performselector:@selector(getgoodslist)];","performtarget:@\"yzgoodsmodule\"","performtarget:@“goodsmodule”","plist","pod","prioriti","priority;","project","project.","protocl","protocol","protocol,","protocol,不符合我们编译隔离的需求。但既然我们可以拷贝粘贴复杂对象代码,是否也可以拷贝粘贴","provided,","pushviewcontroller:vc","registerservice:@protocol(service_protocol)","request","result","result)","return","review","rollback","routecompletion)completion;","safe(launchoptions)]];","sdk","search","self.goodscell.nam","self.goodscell.pric","servic","servicemanag","setup.","setupallmodules];","sevic","sharedinstance]","simpread","storyboardwithname:@“sb_name”","stringwithformat:@\"kroutegoodsdetails\",","studio,","tohandler:^id","tricki","ui","uiapplicationdeleg","uiimag","uistoryboard","uiviewcontrol","url","urlforresource:@\"file_name\"","v1.0","v1.0:","v2.0:","v3.0:","vs","warning.","willfinishlaunchingwithoptions:(nsdictionari","withextension:@\"txt\"];","withmodule:self.class]","yes;","yzappdeleg","yzggoodsmodel,开单模块将其强转为","yzsgoodsmodel","{","{...}","}","}];","“危险代码”","“同名”","“如何在保证开发质量和效率的前提下做到无代码依赖的跨模块通信”。目前业界常见的模块间通讯方案大致如下几种:","“没有绝对正确的架构,只有最合适的架构”","“组件”。","“网络层”","“转发层”","“面向协议编程”","一、背景","一对多的通知广播。比如","三、业界常见模块化方案","上述问题在团队规模扩大,新同学到来时格外明显,经常需要答疑讲解。甚至有一次业务项目时间特别紧张时,有些小伙伴私下更改模块间头文件","上面方法里的","与一个","与一个页面绑定,需要时通过","与路由","业务功能的大部分资源可以通过无损压缩控制体积,体积不大的资源允许一定程度上的重复。","业务模块化时机","业务模块化的效果之一就是个业务模块可以单独打包,放入壳工程运行。很容易想到的一个改造就是把各个模块拆到不同的","业务模块化设计通过对各业务模块的解耦改造,避免循环双向依赖,达到提升开发效率和质量的目的。但业务需求的依赖是无法消除的,所以模块化方案首先要解决的是如何在无代码依赖的情况下实现跨模块通信的问题。io","业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自","业界的","业界里,蘑菇街的","个","个左右),所以我们为每个模块创建了一个","个,所以对启动速度的影响可以忽略不计。而且前文提到,每个模块本来也需要注册自己的外观类(modul","中。","中。好处很多,比如单独的权限控制,独立的版本号,万一发版时发现问题可以及时","中。管理非常方便规范,别的模块","中不同模块的开发发版节奏也基本一致,所以多","中业务模块数量不会很多(我们几个","中修改多个模块的代码。修改完成后,要多次执行提交、打版本号以及集成测试等操作,很不效率。同时因为涉及到多个","中接口改变导致的依赖模块的修改,其实成本很低,改起来很快。此时我们开始思考之前追求的编译隔离是否适合当前阶段,是否有实际价值。","中放入所需的初始化代码。可以在合适的地方将初始化","中的方式。","中的类型强转风险也没有了。","中的这些","中的那些方法。所以我们定义了一个继承","中(或者叫消息转发层)。这样危险代码只存在某几个文件里,可以特别地进行","中,曾发生过好几次小伙伴改别人的模块改出问题的例子(虽然有","中,通过","为","为什么不直接使用业界的","为子系统中的一组接口提供一个一致的界面,","为尽量减少拷贝粘贴频率,我们将每个模块对外提供的接口服务,路由定义,通知定义,以及复杂对象","之前的业务模块化方案没有使用","也不会引起编译问题,连改名这一步都省去了。以商品模型为例,为它定义一个","了。同时因为用的是同一个协议对象,所以","二、什么是业务模块化(组件化)","互不可见。","五、总结","人。业务模块化改造后会形成一定的开发门槛,带来一定的开发效率下降。小项目适合模块化改造吗?其收益是否能匹配付出呢?但考虑到当时","仍然对开发效率有一定影响。","代码的。但它有额外的服务注册过程,可能会影响启动速度,性能弱于基于反射的接口封装方案。这里对启动速度的影响究竟有多少呢?我们做了个测试,在","代码隔离的思考","优势是实现简单,非常适合处理一对多的通讯场景。","优化","优化以及","会发现它创建的子系统都叫","会破坏各业务模块的完整性,同时也会影响","传统的","但人难免有遗漏)。后来我们是通过","但介于业界习惯称之为组件化,所以我们继续使用这个术语。本文下面所用名词,“模块”","但编译隔离和代码隔离真的没有价值吗?当然不是,主要是我们当前阶段并不需要。过早的调整增加了成本却没有价值产出,所以并不合适。实际上我们还有一些业务模块是跨","但这样改造后又发生了一件事。某个新来的同学,直接在","但这种方式存在大量的","体验与成果","作为自己的页面统跳方案,达到解耦的目的。","使用","使用的,比如","修改文件路径来控制修改权限才解决了这个问题。后续介绍有赞移动基础设施建设的文章中会有更多相关细节。","做到服务端可配置","其它","其它优化","其实从功能角度,远程接口的网络层,完全可以取代路由","其质量和稳定性难以保障。最终我们采用了一个","内各子系统之间耦合严重,","内大多是","内资源,需要通过","写起来仍然有些麻烦。而且需要额外写单测保证质量。","分开存放的,相当于把以上方案里的","到自己模块中,也不需要改名,操作成本非常低。然后商品模块内就可以使用这个","到自己模块内部,就可以直接依赖并调用接口了。而且如果将来需要从服务器拉取相关配置,一个文件会方便很多。但是也需要考虑如果以上内容都放入同一个头文件,会不会导致文件过大的问题。当时分析模块间交互是有限的,否则就需要考虑模块划分是否合适。所以问题应该不大。从结果来看,目前我们最大的","加上注释大概是","劣势是","劣势是仅适用于简单通讯场景。复杂数据传输,同步调用等方式都不太方便。","动作执行及复杂数据传输。比如商品模块向开单模块传递商品数据模型并进行价格计算。","包含哪些接口即可。","区别于功能模块","协议与具体实现绑定起来。","协议天然支持:","协议注册的模块间通讯方式,对开发效率基本无损。","即可。","即可。我们","原文地址","参数,是一个回调","反射的代码明显会极大损害开发质量与效率,与目标背道而驰。所以,模块化解耦需求的更准确的描述应该是","另外如果使用","另外,为什么还需要路由","另外,我们发现每个模块对初始化顺序也有需求。比如账号模块的初始化可能要优先于别的模块,以便别的模块在初始化时使用其服务。所以我们也对","另外,每个模块单独","只是收敛了","只是模块化整体设计的冰山一角。我们也推荐读者所在团队,如果有时间可以尝试自己实现模块化工具,bifrost","只用做参考即可。","可以方便的打开相应页面。","可以有更细粒度的权限管理。我们因为在一个","各模块边界已经稳定,即使模块化改造出现问题,也可以用很小的代价将其降级到传统的中介者模式,所以改造开始了。","合适的注册及初始化方式。","同时创建一个特殊的模块","同时平时定期通过自动化工具检测无用资源,以及重复资源的大小,以便及时优化包体积。","同时,我们希望各业务模块不需要去理解所依赖模块的内部复杂实现。比如","启动时间影响大概是","呢?","呢?如果接触过后端的服务化改造,会发现和移动端的业务模块化很相似。dubbo","和","和生成静态库","和相关的编译检查也复杂了很多。同样的,因为微信商城","和联调测试。后期还可以通过单元测试来保障质量。模块化方案中,我们可以称这类","和设计不符,beehiv","和这些","和阿里的","商品模块的接口返回的是","四、有赞的模块化实践","因为其强大的运行时特性,无论是基于","因为我们希望一个模块做了接口修改,另一个模块可以存在一种选择,是马上更新接口,还是先完成手头的工作将来再更新。","因为我们每个模块都是基于外观模式设计的。所以每个模块只需要对外暴露一个","因为考虑到每个","基于以上设计,我们大概花了","基于反射的远程接口调用封装。","基于反射的远程调用封装","基于路由","基于通知的广播方案。","基于通知的模块间通讯方案,实现思路非常简单,","基于面向协议思想的服务注册方案。","基本类型的参数,url","增加了优先级接口。每个模块可以定义自己的初始化优先级。","声明呢?答案是可行的。而且即使工程中同时存在多个同名的","处理打开某个页面需要有回调功能的场景。比如打开会员选择页面,搜索会员,搜到之后点击确定,回传会员数据:","复制代码","复杂对象传输","复杂对象传输优化","复杂对象的处理方式也存在一些问题,比如拷贝粘贴的方式比较丑陋,重复代码会带来包体积的增加。","复杂类型的参数,可以提供一个额外的字典参数","外观(facade)模式:","多","多人,但仍然是一个协作紧密的整体,发版节奏基本一致。各业务模块代码都在同一个","多行。","头文件的方式仍然有一些理解成本。移动团队规模快速发展,一些新来的小伙伴还是会提出疑问。18","头文件,不再需要","如何进行优化呢?这其实是各端远程调用都需要解决的问题。移动端最常见的远程调用就是向后端接口发网络请求。针对这类问题,我们很容易想到创建一个网络层,将这类","字符串","字符串。无法触发代码自动补全,容易出现拼写错误,而且这类错误只能在运行时触发相关方法后才能发现。无论是开发效率还是开发质量都有较大的影响。","字符串,也不需要理解内部麻烦的逻辑。","存在重名覆盖的风险,需要通过开发规范以及一些检查机制来规避。同时","定义都放在","实现页面跳转,而且没有路由","对于远程接口调用的封装方式,我们没有完全照抄","对象后,appdeleg","对象对外提供所有服务,同时隐藏内部复杂实现。调用方也只需要理解","对象并令其为单例。在","对象都服从这个协议。app","对象)以处理生命周期和接受","对象,会轮询所有注册了的业务模块并进行必要的调用。","对象,所以其实没有额外的性能消耗。","封装到里面。上层业务调用时网络层接口时,不需要","将","将复杂参数放到字典中即可:","尝试","就做了这种尝试。将代码迁到了很多","就可以直接调用这些方法了。","就是服务化的经典框架之一。它是通过服务注册的方式来实现远程接口调用的。即每个模块提供自己对外服务的协议声明,然后将此声明注册到中间层。调用方能从中间层看到存在哪些服务接口,然后直接调用即可。例:","层只保留","层和","层因为没有明确的业务组来负责,所以也应该尽量轻薄。各业务模块之间互不可见,但可以直接依赖","层的目标是相悖的。而且因为","层等等,以便于维护和扩展。但随着业务的发展,系统变得越来越复杂,只做分层就不够了。app","层设计。","工程中,基本每次发版用的都是各个模块的最新版本。而且实际做了几次调查,发现","年优化后的模块化方案,基本算是具有有赞特色的相对成熟的方案了,支撑了包括零售在内的多个大型","年年中我们做了几次检查,发现模块间","年的实践,发现一味的追求性能,绝对的追求模块间编译隔离,过早的追求模块代码管理隔离等方式都偏离了模块化设计的真正目的,是得不偿失的。更合适的方式是在可控的改造代价下,一定程度考虑未来的优化方式,更多的考虑当前的实际场景,来设计适合自己的模块化方式。希望通过本文提供的具体案例和思考方式,大家都能找到适合自己应用的业务模块化之路。","年的尝试","年的思考","年的成熟","年的第一版模块化设计方案虽然可行,但还存在两个痛点:","年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出","年起开始实践业务模块化架构方式,大致经历了","年,有赞微信商城、有赞收银等","并未消除","广播相结合的方式。","开单模块内叫","开源库,以及美团都是采用类似方案。","当协议内容改变时,会存在所有服务依赖模块编译失败的风险。同时需要一个注册过程,将","当无法","当时最纠结的点就是复杂对象的传输。例如商品模型,它包含几十个字段。如果是传字典或传","当然有些场景会比这个复杂,比如有些页面需要更多参数。","微信群里听了蘑菇街的组件化方案分享,非常受启发。不过当时还是有一些顾虑,比如微信商城和收银当时都属于中小型项目,每端开发人员都只有","思考","成熟","我们建议所有进入业务领域划分稳定期(业务模块基本确定,不会发生较大变动)的团队采用业务模块化架构设计。即使模块划分还没完全明确,也可以考虑对部分明确了模块进行模块化改造。因为迟早要用,晚用不如早用。目前基于路由","我们选择了路由","或者","所有业务代码挪入各业务模块的","所有模块间调用均通过中介者来做(图二)。这时架构逻辑会清晰很多,但因为中介者仍然需要反向依赖业务模块,这并没有从根本上解除循坏依赖等问题。时不时发生一个模块进行改动,多个模块受影响编译不过的情况。进一步的,通过技术手段,消除中介者对业务模块依赖,即形成了业务模块化架构设计(图三)。","才行。","接收并处理全局事件。","摸索","摸索,2017","操作。这样改造的代价是形成了更多的依赖。本来一个业务模块是可以不依赖","收益还是可观的。","放入其中。common","文件","方案。当时非常期望保留模块化的编译隔离属性。比如当","方法,","方法中将自身注册给模块化","方法中注册了","方法引起的启动速度影响都微乎其微。模块需要监听的全局事件主要为","方法里:","方法附带参数数量有限,也没有返回值,所以更适合使用","时账号模块发出广播,各业务模块进行","是不需要","更多路由","最终形成的","最终我们决定节省每一份精力,效率最大化。将各业务的","最终,我们总结了所有我们需要的业务模块化需求,沉淀出了轻量级的模块化","有没有办法直接传递模型对象呢?这里涉及到模型的类文件放在哪里。最容易想到的方案是沉入","有没有办法绝对的避免","有赞移动","有赞移动自","服务使用方开单模块可以直接将这个","服务注册方案","本文由","本身是一种跨多端的通用协议。使用路由","来实现。","来设置模块依赖关系。","架构为:","架构关系如图:","架构设计更多强调的是分层,基于设计模式六大原则之一的单一职责原则,将系统划分为基础层,网络层,ui","某个类的头文件但仍需调用其方法时,最常想到的就是基于反射来实现了。例:","根据具体业务和需求的不同,大部分公司会采用以上一种或者某几种的组合。","模块。但一旦这个口子放开,后续会有越来越多的模型放入","模块。通过","模块中写代码通过这些","模块中这些命名有所变化,还会出现调用失败。所以我们对各个模块使用外观(facade)模式进行重构。d","模块依赖","模块内设计及","模块创建一个外观层","模块化通讯方案中,更多的是把通知方案作为以上几种方案的补充。","模块和","模块对上层业务模块的反向依赖。于是我们进一步拆分出了一个新模块","模块对外提供的某个接口发生变化时,不会引发依赖这个接口的模块的编译错误。这样可以避免依赖模块被迫中断手头的工作先去解决编译问题。当时也没有采用","模块是很薄的一层,共同修改维护这个模块也可以接受,所以目前没有将其拆开。将来如果需要,再将其做分拆改造即可,改造工作量很小。","模块没有明确业务组归属,所有小组都能编辑,","模块点击用户头像打开会员模块的用户详情页。","模块的","模块的这些内部信息才能完成反射功能的实现。如果","模块编译产出以及集成到","模块间网络层的封装基于反射代码,","模块间通信方式设计","模块,各业务模块直接依赖","模块,资产模块等等。他们都是独立","模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。","模式改造之外,还需要考虑以下问题:","每个业务模块的产出包括可执行文件和资源文件两部分。有","每个业务模块都作为一个子","每个模块除了","沉淀","沉淀几个阶段。期间有过对已有","没价值的隔离?","没有路由管理同时不够轻量","注","注意不是报","注:","消息。这里","清理及其它相应操作。","然后各个业务模块依赖","版本不一致的情况时有发生。当时零售移动团队虽然达到","版本改造后,app","独立发版的。编译隔离和代码隔离属性对他们很有效。","用老版本打包。我们的微信商城","的","的一些","的不同版本管理及回退的优势也没有体现出来。最终还是将各模块代码迁回了主","的业务模块存在,这种追求没有价值,所以应该问题不大。同时因为下沉的都是一些头文件,没有具体实现,将来如果需要模块间的进一步隔离,比如模块单独打包等,只需要将这些","的个月的时间对已有项目进行了业务模块化改造(边做业务边改造)。因为方案细节考虑的比较多,大家对一些可能存在的问题也都有预期,所以当时改造后大家多持肯定态度,成本","的主要原因是我们存在动态化且多端统一的需求。比如消息模块下发的各种消息数据模型完全是动态的。后端配好展示内容以及跳转需求后,客户端不需要理解具体需求,只需要通过统一的路由跳转协议执行跳转动作即可。","的代码,并做一个比较。如果发现不一致,则报","的优点是输出在同一个对象内,方便管理。缺点是作为动态库载入,影响加载速度。所以当时选择了静态库","的协议","的基于服务注册的方式","的声明","的头文件","的实现其实不难。通过前面的介绍,可以发现其中并没有什么黑魔法,代码量也不多,实现成本很低。模块化过程更多精力花在了全局架构设计,与之配合的开发规范,以及结合自己团队情况的一些取舍。模块化","的实现者就是这个","的实际模块数量大概是","的开发。","的形式。不过个人感觉这块还是需要具体测一下会慢做少再做决定更合适。但因为二者差别不大,所以后续我们也一直没作调整。","的思想。劣势是如果服务提供方和使用方依赖的是公共模块中的同一份协议(protocol),","的所有质量及效率方面的隐患,业务模块化方案趋近成熟。","的接口","的方式进行管理。但后续开发中体验并不是很好。当时微信商城","的方案。因为下沉入","的方案,把要传递的复杂模型的代码复制一份放在使用方模块中,同时通过修改类名前缀加以区分,这样就可以避免打包时的链接冲突错误。比如商品模块内叫","的服务注册方式,也是因为同样的原因。","的模块化改造,也试过直接应用于新起项目。模块化方案经历过几次改版,踩过一些坑,也收获了很多宝贵的经验。","的模块数量比开发同学数量多很多,每个同学都同时维护着多个模块。有时一个项目,一个人需要同时在多个","的质量。经过讨论后,决定把资源分为三类:","的问题。而且路由","的,但现在就必须依赖了。但考虑到实际情况,还没有不依赖","目前天猫和蘑菇街都有使用路由","直接基于系统的","相关例子,可以参考","相关框架","相比组件(component),个人感觉称之为模块(module)更为合适。组件强调物理拆分,以便复用;模块强调逻辑拆分,以便解耦。而且如果用过","相绑定。block","种选择:生成","移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”。有赞移动团队通过过往","端动态拉取放在本地缓存中。","等优化方式无法从全局层面解决这些问题。后来在","等全局类和","等同于","等特殊配置,基本没有任何业务代码。common","简悦","类似的,我可以将模块间通讯也封装到一个","组件化(模块化)架构设计实践","组件(比如图片库,网络库),本文讨论的是业务模块","组件(比如订单模块,商品模块)相关的架构设计。","经历了初期的功能快速迭代,内部依赖混乱,耦合严重,急需优化重构。传统的","经测试,这里因为单例造成的内存占用以及","经过以上优化改造,基本解决了","经过讨论,当时选择参考网络层封装方式,在每个模块中设计一个对外的","绑定,比如在","结构调整","统跳方案","统跳方案的优势是动态性及多端统一","统跳路由是页面解耦的最常见方式,大量应用于前端页面。通过把一个","编译隔离的思考","缺少服务管理,ctmediat","缺点是能处理的交互场景偏简单。所以一般更适用于简单","考虑到实现的灵活性,提供路由服务的页面,会将","自动化下载生成即可,改造成本非常小。","要再造个轮子呢?主要有三个原因:一是我们开始尝试模块化改造时,业界还没有相关框架开源出来,所以需要自己实现。二是我们的需求和业界的开源库不完全相符。mgjrouter","读uiimag","读uistoryboard","调用了上层业务模块的功能,形成了底层","资源","起来也简单,只需要把这个","跨模块进行方法调用和数据读取非常便捷:","路由","转码,","较大体积的资源放到服务端,app","边界越来越模糊,经常发生你中有我我中有你的情况(图一)。这对代码质量,功能扩展,以及开发效率都会造成很大的影响。此时,一般会将各个子系统划分为相对独立的模块,通过中介者模式收敛交互代码,把模块间交互部分进行集中封装,","还是基于","还是选择远程接口的困惑。这里选择支持路由","还有个原因,就是服务提供方和使用方共同依赖同一个","这些问题的根本原因还是存在效率损失,\"不方便\",怎么优化呢?","这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,提供一种思路,对遇到类似问题的同学能有所启发。","这种方式的优势也包括调用简单方便。代码自动补全和编译时检查都有效。实现起来也简单,协议的所有实现仍然在模块内部,所以不需要写反射代码了。同时对外暴露的只有协议,符合团队协作的","这种方式虽然比较粗暴,但考虑到两个模块间交互的复杂对象应该不会很多(如果太多则应考虑这两个模块是否划分合适),同时拷贝粘贴操作起来成本可控,所以可以接受。同时这种方法也能达到预期的编译隔离的效果。但两边模型定义及实现还是有不一致的风险。为了解决一致性问题,我们做了个检查脚本工具,在编译时触发。会根据命名规则查找这类","这种方案的优势是调用简单方便,代码自动补全和编译时检查都仍然有效。","这类资源主要包括图片、音视频,数据模型等等。","进行下沉到","远程接口存在一定的功能重合,还会造成后续实现新功能时,分不清应选择路由","远程接口封装优化","远程接口调用封装","通用功能所用资源,将相关代码整理为功能组件后一起放入","通知广播方案","通过","通过业务模块化架构,一般可以达到明确模块职责及边界,提升代码质量,减少复杂依赖,优化编译速度,提升开发效率等效果。很多文章都有相关分析,在此不再累述。","那么数据提供方(商品模块)和使用方(开单模块)都需要专门理解并实现一下这种模型的各种字段,对开发效率影响很大.","部分进行分拆,每个业务模块都有一个。这种方式的优点是职责明确,大家不用同时对一个公共模块进行修改,同时可以做到依赖关系很清晰;劣势是模块的数量增加了一倍,维护成本增加很多。考虑到我们目前的情况,mediat","都可以很很容易做到这一点。但不能为了解耦而解耦,提升质量与效率才是我们的目的。直接基于","都是采用的这个方案。","重复资源处理","阿里","除了不在不合适的阶段追求编译隔离,我们还发现代码隔离并不适合我们。","除了模块间通讯的实现,业务模块化架构还需要考虑每个模块内部的设计,比如其生命周期控制,复杂对象传输,重复资源的处理等。可能因为每个公司都有自己的实际场景,业界方案里对这些问题描述的并不是很多。但实际上他们非常重要,有赞在模块化过程中做了很多相关思考和尝试,会在后面环节进行介绍。","集成入","需要了解","非常少。","非常干净。","页面统跳管理。","页面跳转。一些复杂操作和数据传输,虽然也可以通过此方式实现,但都不是很效率。","页面跳转。比如","项目中的","项目结构如图:","首先我们排除了无脑放入","首先是如何避免反射及","首先是梳理我们的模块间通信需求,主要包括以下三种:",":业界有些方案是把"],"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":["\"commit","#","$","$(git","%s\\0\"","&&","(1046479/1046479),","(256/256),","(base)","(printf","+","...",".git","1","1/3:","10","100%","1034279,","190de0ca85c16aef74c490127b94fa8ff04e168","1,例如:sha","20","2005","2007","2017","256,git","40","5d05609b383fffc5f9f36f65de0d7d7d3df91ce6","652baf18601eecf42521a1361a8815576bc8eb55","add","bad,","best","better","better,","between","blob","c);","cat","check","checkout","checksum","client","clone","collis","commit","connectivity:","control","cv","dangl","data","degrad","design","design?","design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。","detect","differ","directori","directories:","done.","explor","fact","file","for?","form","fsck","function","git","git:","git://","git?","github","github.com","gitlab","git、svn","good,","googl","hash","hate","head","head)","https://draveness.me/whi","id","journey","linu","local","main","metaphor","mix","moron","myth","n/a","nightmar","object","objects:","out","prevent","proud","pull","push","real","refer","repo","repositori","request","seri","sha","sha1","sha1sum","stand","subvers","subversion?","svn","system","system),演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用","talk","test","thing","transit","ugli","understand","updat","us","username=","vs.","wc","why'","year","|","·","–","——","上一次提交的","上介绍","上曾经介绍过版本控制系统必须具有的三个特性:","上的演讲就此嘲讽过","上述三点中的后两点是非常容易理解的,虽然很多人可能会疑惑为什么性能对于一个日常使用频率不高的版本控制工具如此重要,但是没有人拒绝性能的提升(尤其是在免费的情况下)。","上述的几个特性对于一个好的版本控制系统来说缺一不可,我们会依次介绍它们的重要性以及","不支持在本地提交文件,这一点背后的设计哲学就与","与其他版本控制工具的对比文章和讨论都已经有着相当久的年头了,我们目前面对的开发场景与几年前有很多不同,而这些不同的版本控制工具也各自演化,不过作者始终认为","个字母组成的","中找到更详细的解释:","为什么你应该使用","为什么这么设计(why’","今天的绝大多数开发者都已经在日常开发中使用","仓库都有全量的变更数据,我们不需要通过网络获取仓库的相关信息,与中心化的版本控制工具相比,在出现问题时我们也能快速定位导致问题的变更所在。","以上的三个问题都是集中式的主仓库带来的,它们是中心化的系统无法避免的问题,这些集中式版本控制系统的缺点非常影响它的使用体验,这也是为什么","以及其他的版本控制工具。","作为分布式的版本控制系统能够让开发者离线工作和本地提交,不仅能够避免直接提交大量代码带来的风险,还能帮助我们限制对主仓库的授权,减少由于命名空间导致的冲突问题;","作为版本号,这一方面是因为一个分布式系统中没有全局时钟和版本的概念,另一个方面","作为版本控制工具的话,你可能无法体会使用集中式版本控制工具的局限性,假设我们使用的是一个集中式的版本控制系统的话,所有的开发者都必须连接到同一个服务器上才能进行开发和提交:","作者和提交人的名字、邮件等信息;","你可以使用如下所示的命令来生成当前仓库","做不到的?","共同组成了一个链条,我们只要验证当前的提交版本是否合法,就能够信任整条链路上的全部提交,如果本地仓库的磁盘损坏,我们可以通过当前的提交记录从远程仓库上获取相同的代码并且通过下面的命令来验证仓库中的数据是否发生了损坏:","关于滨野纯的访谈","分布式","分布式对于一个版本控制工具非常重要,如果你从开发程序以来就一直使用","分布式的方式更加符合版本控制系统的工作场景;","分支;","则使用由","原文地址","可以让我们在本地创建分支并且没有命名空间冲突的问题;","可以让我们在本地进行提交以支持离线工作;","可以让提交通过","可靠性","可靠性对于一个版本控制系统来说也至关重要,专业的云服务商提供的磁盘都不一定能够保证我们数据的可靠性,避免数据损坏和丢失等问题,我们作为普通用户和开发者,更需要通过一些机制来保护我们的代码不会被损坏,如果版本控制系统不能为我们提供保护或者一致性的校验,我们可能就会遇到只有在编译或者打开文件时才会发现文件损坏的窘境。","可靠性能帮助我们能够及时发现数据因磁盘故障而丢失或者损坏;","合并多个分支是一件非常容易并且快速的事情,它能在几秒钟以内将两个复杂的分支进行比较和合并,不需要等待较长的时间。","同时让项目中的所有开发者具有写权限其实是一件危险的事情,我们并不是知道这些开发者是否有着足够的经验操作主仓库,一旦出现操作上的失误,所有的成员都将面临这一失误带来的风险;","命令为我们生成","命令对照表,其中包括了两个不同工具对于检出仓库、更新本地仓库、本地提交和向主仓库提交几个最常用的简单命令:","命令将某一个仓库中的全部数据下载到本地并在本地创建分支、修改和提交,也可以选择将新的改动推送到其他的节点上或者等待其他节点的拉取。","和","哈希来保证仓库中数据的可靠性,我们通过","哈希的一致性检查,保证我们能够立刻感知到仓库中的数据损坏和变更,还能够帮助我们抵御来自攻击者对文件的恶意篡改,保证了仓库的安全和可靠性。","哈希的计算同时使用了源代码树、上一次提交的哈希、作者和提交人的信息以及当前提交的消息,所以只要使用的任何信息有所变动,我们就会在校验时发现哈希的不一致,从而检测出当前仓库的数据中包含数据的变更、损坏和丢失,同时这也能够帮助我们阻挡攻击者对仓库的恶意修改,因为即使对仓库修改成功,攻击者也很难保证哈希的不变,虽然在研究中表明这种的哈希冲突攻击是可能的,但是在实践中遇到这种问题的几率还是非常低。","哈希,你可以在","哈希,例如:e328029255d8f02909ec0cbc16cc74ef4b79e1d0,这个哈希就表示了当前提交的版本号,它是由以下的数据共同计算而来的:","哈希;","在","在一个分布式的版本控制系统中,所有的节点在实现上都是等同的,只要有权限,它们都可以一次获取其他仓库中的全部数据。不同的节点之间可以互相拉取代码,我们可以使用","在优化性能时选择了合并分支作为主要的性能衡量指标,将合并分支变成了成本非常低的操作以鼓励分支的使用;","在日常使用中的明显差异","在绝大多数的场景下都能让我们的开发和合作变得更加高效。","在继续深入理解","在设计","在设计上有哪些缺点和问题,我们能不能改变它?如果能的话又如何改变它?","在设计上的决策之前,我们首先要回到今天要讨论的问题,也就是『为什么你应该使用","如何从","如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因,可以在博客下面留言,作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容。","字节的","完全不同。","客户端和插件也降低了","对中心仓库的提交和改动,例如创建分支等操作对于所有的开发人员都是可见的;","对于一个较大的分布式开发团队,在实际生产中我们也难以保证所有成员都能同时通过骨干网等高速网络连接到同一个主仓库;","对每一个版本的提交都会生成一个","对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用","就可以对数据进行校验,保证整个提交链条上的所有数据的稳定性和可靠性,也帮助我们抵御了来自攻击者的恶意篡改;","工程师必须都需要连接网络才能开发,在网络状况不好或者无网络的情况下无法进行提交;","带来一些其他的差异,例如","年","年开发出的版本控制系统(version","年的","当前仓库的所有开发者都需要有直接向主仓库提交代码的权限,否则他们就无法进行开发;","当前提交的消息;","当前提交的源代码树;","当我们使用集中式的开发模型时,无论是提交代码还是创建新的实验分支,这些操作其实都会改变所有人共享的代码库,这也就意味着如果某个开发者创建了很多的实验分支,所有开发者的代码库也都会变大;","当我们谈论最好的版本控制系统时,我们需要为","很多人可能认为自己并没有离线工作的需求,但是这实际上在我们的日常工作中也比较常见,百兆带宽虽然已经能够满足日常开发的需求,不过在复杂的网络环境下,很多时候我们还是会遇到无法联网或者网络极差的场景,例如在飞机和火车上;","很多公司和决策者因为不了解工程和版本控制系统,可能非常容易地就低估了集中式仓库带来的『效率降低』程度。","很多关于","性能","性能对于一个版本控制系统也至关重要,但是更重要的其实是选取合适的指标对性能进行度量,linu","性能的提升能够鼓励我们做出成本更低的操作;","总结","我们在上一节中已经介绍了版本控制系统必须满足的三个特性:分布式、高性能以及可靠性,在这里我们就会分别从这三个方面介绍","我们对于版本控制系统的的要求是什么,又应该如何定义一个更好的版本控制系统呢?linu","我们还是需要简单总结一下正文中提出的一些观点:","或者","所有的","找几个用于比较的对手,只有通过对手我们才能更清晰的理解","文档和工具链对于一个工具来说十分重要,一个好的文档不仅能够帮助初学者快速上手,还能帮助使用者解决大多数使用过程中的困惑、理解工具背后的设计和实现,git","无法发挥的作用?它有哪些特性是作为分布式系统的","无论是","时可能就会同时比较","时是如何满足自己提出的这些需求的:","是","是一篇关于","是如何遵循这些规则来设计和实现的。","是目前最高效的工具,这都是由顶层的设计思想决定的,我们今天就来看一看『为什么你应该使用","有没有什么方式能够帮助我们发现使用『哈希碰撞』进行的恶意攻击从而保证仓库的安全呢?","服务,图形界面的","来比较两个不同版本和不同文件夹之间的差异也是非常迅速的,作为分布式系统,每一个","来访问这些代码不会有什么问题,通过计算机之外的方式对代码进行控制是一种效率更高的做法。","检测到了","概述","然而『合并分支』的性能对于版本控制系统来说才更加重要,因为我们创建新分支的最终目的就是合并回主干分支,如果合并分支的性能非常差,每次合并可能都需要几十秒甚至几分钟,那么这种昂贵的代价就会使开发者谨慎地使用分支合并操作,很多人可能因为合并分支的复杂和困难选择直接在主干分支上开发,因为他们认为只改一两行代码怎么可能会导致线上事故!","然而在实际场景中,真正需要严格控制的代码都非常少,大多数公司的内部代码都是一些秘密等级非常低的业务代码,不仅代码质量非常差、而且一旦脱离了公司的环境就无法运行,作为公司内部的开发者通过","版本控制系统中的开发模型必须是分布式的;","版本控制系统必须保证文件的完整性,提供来自于数据丢失或者损坏的保护;","版本控制系统必须提供足够好的性能支持;","由于","的使用门槛,sourcetre","的哈希碰撞,所以","的开发者,因为它们选择将『创建分支』作为度量版本控制系统的重要性能,还在自己的官网上以此进行宣传(具体界面已经不可考证)。","的所有版本号都是串行的递增数字,版本号不会有冲突的可能也更利于沟通和交流,git","的提交版本号,这个命令通过以上信息重新计算出了","的方式进行,不需要所有的开发者都有主仓库的写权限;","的生态目前建设的也非常好,github","的生态走的更加成熟,也是为什么我们应该使用","的重要原因。","的集成也不再需要我们直接使用命令行来进行操作(作者还是倾向于使用命令行),这些都帮助","目前的","社区也在考虑使用更加复杂的哈希算法来替代","等服务商提供个人版和企业版的","背后的设计哲学为它带来了怎样与众不同的功能,而我们今天在介绍","能够作为","能够在哪些场景下发挥出","虽然分布式的版本控制系统能够为我们带来各种各样的好处,但是这并不是说集中式的系统就不能用,正相反在一些代码需要严格控制的项目中,集中式的版本控制系统却能更好的工作,这是因为企业或者项目在做决策时认为『代码需要非常严格的控制』,由此带来的效率降低等问题是可以接受的,所以这其实是对开发效率与权限审核的权衡。","虽然在实现上所有的节点都是等同的,但是在实际操作中我们还可能会有一个或者多个主仓库帮助多个开发者同步代码,各个节点之间的关系更像一个可以分叉的树形结构,与中心化的版本控制系统相比,通过分布式的模型:","虽然我们能在中心仓库中创建分支,但是由于中心仓库中不存在名空间,如果开发者创建分支没有遵循特定的命名规则,就非常容易出现命名冲突的问题,例如各种","虽然说这两个版本控制系统有很多等价的功能,但是从两者不同的地方我们就能看到它们在设计上的不同抉择,例如:svn","设计","迁移到更复杂的哈希的提案,感兴趣的读者可以简单阅读一下。","还是其他的版本控制系统,它们绝大多数的功能都是重叠的,所以很多时候我们也能找到不同工具之间命令的对照表,下面就是一个","这篇文章","这里我们还是要强调,集中式的版本控制系统在一些需要严格控制源代码的公司中还是有着一席之地,不过我们总是可以通过将代码分到多个仓库来分别限制权限,但是如果这一操作并不可行,选择集中式的版本控制系统可能就是最后不得不做的选择。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细想一下下面的问题:","进行版本控制","进行版本控制』。","进行版本控制』,我们可以换一种方式思考这个问题","进行版本控制了,分支的创建和合并是非常常用的功能,这其实是因为使用","选择使用分布式的设计思想指导其实现,正是版本控制系统的场景其实与分布式的模型更加相似,所以通过分布式的模型能够很好地解决上述的关键问题。","选择集中式的版本控制工具意味着我们必须接受以下的几个缺点:","通过","除此之外,使用","集中式和分布式系统的特性也为","验证仓库中的内容是否被更改,我们会在『可靠性』一节中详细介绍这一特性。"],"Article/深入了解 iOS 的初始化.html":["!","\"daniels\";","\"旺财\")!","#endif","#if","(instancetype)init","(instancetype)initwithframe:(cgrect)fram","(nonatomic,","(nullabl","(self","*)coder","*)name","*name;","//","0","10,","100","100)","18)",":",";","=","?,则为隐式的可失败的初始化器","@end","@implement","@interfac","@properti","[self","[super","age)","age:","age;","alloc]","anim","c","cgrect,","class","conveni","design","dog:","doubl","double)","failabl","fatalerror(\"init(coder:)","frame)","func","https://juejin.im/post/5dd24e3ff265da0bbc3067a","implemented\")","init(age:","init(frame:","init(name:","init?(coder:","init?(name:","init]时,","initi","initializers)","initializers),表示在某些情况下会创建实例失败。","initwithframe:","initwithframe:fram","initwithframe:frame])","initwithframe:,导致父类nsobject的指定初始化器","init退化成便利初始化器。所以当调用[[uiview","init里面必然调用了","instancetype)initwithcoder:(nscod","int","int)","int,","io","jump()","myview","myview:","name","name)!","name,","name.isempti","name:","name:(nsstr","name:@\"daniels\"];","name;","nil","nil,没有强制要求额外为每个属性(成员变量)赋值,方便的同时也缺少了代码的安全性。","ns_designated_initi","ns_designated_initializer;","ns_enforce_nsobject_designated_initi","nscoder)","nsobject","nsstring","object","overrid","person","requir","return","score","score:","self.ag","self.init(name:","self.nam","self.scor","self;","simpread","string","string)","string,","strong)","student:","super.init(frame:","super.init(name:","swift","swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在","uirespond","uiview","var","xcode","{","}","不存在继承","中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在","中可以定义一个可失败的初始化器(failabl","中的指定初始化器会在后面被ns_designated_initializer修饰,以下为nsobject","中,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手","中,初始化的时候不需要保证所有属性(成员变量)都有值","中,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值","中,可以使用required修饰初始化器,来指定子类必须实现该初始化器。需要注意的是,如果子类可以直接继承父类的指定初始化器和便利初始化器,所以也就可以不用额外实现required修饰的初始化器","中,如果子类没有直接继承父类的指定初始化器和便利指定初始化器,则必须实现父类中required修饰的初始化器","中,如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。必须重写旧的定初始化器,在里面调用新的指定初始化器","中,如果存在继承,并且子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,那么就需要新创建一个指定初始化器,或者重写父类的指定初始化器,并且在里面调用父类的指定初始化器","中,子类会直接继承父类所有的初始化方法","中,子类可以把父类的指定初始化器重写成便利初始化器","中,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器,那么就不会继承父类的指定初始化器和便利指定初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器","中,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利指定初始化器","中,必须在初始化完成后才能调用实例属性,调用实例方法","中,都可以有多个指定初始化器和多个便利指定初始化器。如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器","中,都需要在便利初始化器中调用指定初始化器","从","便利初始化器","便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在初始化时更方便设置相关的属性(成员变量)。既然便利初始化器是为了便利,那么一个类(结构体、枚举)就可以有多个便利初始化器,这些便利初始化器里面最后都需要调用自身的指定初始化器","便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器","则有一堆的限制。","则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。","初始化","初始化时加入参数name,这个方法已经成为新的指定初始化器","初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值,否则会报错。","初始化的核心规则展开而来,swift","原文地址","参考资料","只有在表示创建失败的时候才有返回值,并且返回值为nil。","可以存在多个指定初始化器","可失败的初始化器,如果把","和uiview的指定初始化器","在","在保证子类有指定初始化器,才能创建便利初始化器,且在便利初始化器里面必须调用指定初始化器","在初始化时,会自动给每个属性(成员变量)赋值为","在没有给所有非可选类型属性赋值(初始化完成)之前,不能调用self相关的任何东西,例如:调用实例属性,调用实例方法。","复制代码","多了一些规则:","如果子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,则需要新创建一个指定初始化器,或者重写父类的指定初始化器","如果子类没有新的非可选类型属性,或者保证所有非可选类型属性都已经有默认值,则可以直接继承父类的指定初始化器和便利初始化器","子类可以把父类的可失败的初始化器重写为不可失败的初始化器,但不能把父类的不可失败的初始化器重写为可失败的初始化器","子类实现该初始化器时,也必须加上required修饰符,而不是overrid","存在继承","展开而来的多条规则:","当存在一个新的指定初始化器的时候,推荐在方法名后面加上ns_designated_initializer,主动告诉编译器有一个新的指定初始化器,这样就可以使用","当然,一个新的类也可以不增加新的初始化方法,在","必须在初始化完成后才能调用实例方法","必须实现此初始化器,但由于是可失败的初始化器,所以里面可以不做具体实现","必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)","必须要调用自己的指定初始化器","总结","或者","或者一直对","所有的其他规则都根据这两条规则而展开,只是","指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。在","换成","推荐加上ns_designated_initi","新创建一个指定初始化器,会覆盖父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","新的指定初始化器,如果有新的指定初始化器,就不会继承父类的所有初始化器,除非重写","无论在","无论继承自什么类,都经常需要新的初始化方法,而这个新的初始化方法其实就是新的指定初始化器。如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。为了遵循必须要调用指定初始化器的规则,就必须重写旧的定初始化器,在里面调用新的指定初始化器,这样就能确保所有属性(成员变量)被初始化","旧的指定初始化器就自动退化成便利初始化器,必须在里面调用新的指定初始化器","本文由","核心规则","根据这条规则,可以从nsobject、uiview中看出,由于uiview拥有新的指定初始化器","没有那么多安全检查,显得比较随意、宽松,而","深入了解","的初始化.md","的初始化最核心两条的规则:","的初始化没有深入理解的人很头疼。其实核心规则还是一样,只要理解了各个规则的含义和作用,写起来还是没有压力。","简悦","类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(design","自带的analysis功能分析,找出初始化过程中可能存在的漏洞","转码,","还是","这种情况处理就十分简单,自己里面的init方法就是它的指定初始化器,而且可以随意创建多个它的指定初始化器。如果需要创建便利初始化器,则在方法名前面加上convenience,且在里面必须调用其他初始化器,使得最后肯定调用指定初始化器","里面,所有类都继承自nsobject。当自定义一个类的时候,要么直接继承自nsobject,要么继承自uiview或者其他类。","里面,无论是","里,视图控件类,如果:uiview、uiviewcontroller就有两个指定初始化器,分别代表从代码初始化、从nib初始化","重写父类的指定初始化器,如果不重写,则子类不存在这个方法","重写父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","需要注意的是,如果子类重写父类所有指定初始化器,则会继承父类的便利初始化器。原因也是很简单,因为父类的便利初始化器,依赖于自己的指定初始化器",")、便利初始化器(conveni"],"Article/App 启动时间:过去,现在和未来.html":["/","1.0","1.0(1996","10","10.0,苹果开启了一个新的功能:预绑定(prebinding),用于找到系统中每个","10.13","11","1,如果我们有","2","2.0","2.0(2004","2.x","2.x,但在一些特殊场景下也可能会有一些潜在问题。在适配时我们需要注意以下几点:","2.x,所以有些现存接口会进入降级模式,这些接口的执行效率将会特别慢。所以在使用时,我们需要注意避免这样的接口。另外,有些针对于","2004)","2007)","2016","2。","3","3.0","3.0,dyld","3.1","3.3,在","300","300、400","3,最终","3,第三方","3?核心的理由有三点:性能、安全性和可测试性。什么是理论上启动一个","600","@rpath,那么恶意修改路径或者将一些库插入到特定的地方,攻击者就可以毁坏","all_image_info","app","app。所以这部分工作需要被搬到进程外来完成,比如搬到一个","app,我们会在","app,来完全取代","app,进程内引擎会在首次启动时启动一个","attribut","bind_at_link会降低","bind_at_link,在","bind_at_load","c","c++","cach","closure)”","closure):这是一个新引入的概念,指的是","crash。","crash,苹果提供了一个链接器标志","crash;而","c、c++","daemon","daemon,之后就可以使用启动闭包了。总之大部分情景下,这些工作都在","data","debug","dladdr()","dlclose()","dlopen()","dlopen()、dlsym()、dladdr()、all_image_infos。","dlrelease,它可能并不会真的关闭","dlsym()","dyld","dyld3.0。dyld(动态连接器)的更新对","dylib","dylib。并且,苹果的平台有一些防止","futur","initi","instrument","io","ios,tvos,watcho","juejin.cn","layout","leopard","mach","macho","maco","main()","nextstep","o","objc","oc","past,","path,@rpath","powerpc,后来增加了","present,","printf","randomization)和边界检查;","resolution)策略。也就是说在二进制文件中,printf","search","session","share","sideload","snow","space","startup","swift","swift。swift","symbol","text","thread","thread_loc","tiger","time:","tracing),用于定为","unix","warning,建议程序员自行修正不对齐的指针。不过","wwdc","x86,x86_64,arm,arm64","“启动闭包(launch","“懒惰的符号解析”","一、如何优化","一个启动闭包缓存服务:系统","一个进程内的引擎,来运行启动闭包:它所做的一切是验证启动闭包,将动态链接库映射出去,然后跳转到","一个进程外的","一启动就会","三、dyld","上大部分系统","上的大部分","上,人们必须使用第三方的封装函数来适配标准的","上,是","上,由于有","不同的扩展程序,所以在","不断增加了平台和架构:dyld2","与","个动态链接库,所以这个步骤包含了较大的工作量。","个动态链接库,这个方法会浪费大量内存。所以苹果预计在未来的版本中废弃这个方法,同时苹果将会提供相应的替代接口。","个组件的结合:","中不符。苹果对旧的二进制做了一些兼容,但是链接器将会禁止新的二进制使用这些方案,所以可能会出现链接错误。","中对这些操作进行了改进。这就可能导致","中有","中某些行为的结果和","中的一个方法,这个方法会返回","中的函数指针中","中的大部分只是一个常规的","中的预绑定被抛弃了。","中能被攻击的部分,并且能提升","中调用了","中,mach","中,一切都是在","中,我们甚至不需要打开一个单独的文件;对于第三方","中,缺失符号会导致","中,苹果发布了","中,苹果已经介绍了从","中,苹果给","中,首次调用缺失符号时","为了防止切换到","为什么苹果需要引入","之前调用的,以前我们很难调试它们。而现在,这个工具能提供每一个静态初始化程序的时间,帮助我们找到耗时最长部分。","之前,首先我们来回顾一下","之后,在","之外的平台,dlclose()","也不会卸载。所以在","也不允许不对齐的结构体。这些都对启动时间的优化有一定帮助。","也将会使用","了,未来第三方","二、dyld","二进制文件,并且完成了所有符号查找的工作;最后它将这些工作的结果创建成了启动闭包。这是一个普通的","今年,苹果发布了","从今年开始,系统","从多个角度增加了安全性,增加了代码签名支持,地址空间配置随机加载(address","代码不存在这个问题。","以上两点思路也是","会","但是值得注意的是,在","但是引入了","使用了","使用了哪些动态链接库,其中各个符号的偏移量,代码签名在哪里等等。","使用静态的二进制文件。相比于静态的二进制文件,引入动态链接库可以实现代码共用,节约内存和磁盘空间;各个动态链接库的更新变得比较容易,易于库的维护;动态链接库在构建时不需要合并到可执行文件中去,能大大缩减可执行文件的体积。","写入硬盘。","出现之前,next","出现在","出现时,posix","出现的时候,很多系统还没有使用大型","函数","函数。","函数中。它不需要解析","函数执行这之间的工作:app","函数的地址,首次访问","函数调用之前的启动速度瓶颈。","切换到","到","动态库,所以","匹配","卸载的机制,比如如果","原文地址","参考静态链接器的警告,修复所有不对齐的指针","发布至今,苹果对它进行了不断的优化和升级,即迭代出了","变量,dylib","另外,由于","另外,苹果还建议更多使用","可以使用","可能还是会有一些问题,所以各个第三方","启动上做的一系列优化。","启动之前做完的。在","启动之前完成了。","启动之前,符号解析的结果已经在启动闭包内了,所以","启动到","启动时矫正这些不对齐的指针,但矫正是一个复杂的工作。所以静态链接器会产生一个","启动时间:本次讨论的启动时间,指的是","启动时间:过去,现在和未来","启动闭包(launch","和","和环境变量;它解析","四、潜在问题和适配方案","在","在一些边界条件下,某一些操作的行为在今天看来其实是不正确的,苹果收集了这些案例并且在","在介绍","在启动期间所需要的所有信息。比如这个","在性能有了显著提升,所以","在本次","在设计上能避免很多","在面对一些大型","增加了一个工具,名叫静态初始化程序跟踪器(static","大部分的启动场景都不需要调用这个进程外的","头部可以进行某些攻击,如果一个","头部解析和符号查找工作完成后,这些执行结果会被作为","头部,也不需要做符号查找。","如何减少启动时间,最重要的还是尽可能的少做事。比如:尽可能的嵌入更少的动态链接库;尽可能少引入文件、少定义方法;尽可能少执行初始化程序。","如果必须使用,那么请让苹果知道你为什么需要使用","如果有一个全局的结构体,它指向一个函数或者另一个全局结构体,那么为了更好的运行性能这个指针必须和系统字长对齐。如果出于某些特殊原因,第三方程序员必须使用","安装或者系统升级的时候构建这个启动闭包。在","完全兼容","完全兼容,但在一些极端用例下,从","完全支持了","将全面取代","就不会卸载;或者如果","就将使用","就是专门用来加载动态链接库的库。通过回顾","尽可能将复杂操作放到进程以外:如果","尽可能的不要使用","平台;","并不指向真正的","并且,dyld","库时,动态链接非常慢。","库进行高效支持。","开发了与","开始之前,我们需要了解这样几个术语:","开始启动后,系统首先加载可执行文件,然后加载动态链接库。动态链接库的加载速度直接影响着","开始,app","开放使用","引入的,它完全取代了预绑定。这是一个包含了大部分系统动态库的文件,正是由于这些都被合入到了一个文件,我们可以做一些优化。比如重新组织","总结一下上述的适配方案,对于第三方程序员来说,我们在编码时应该做到以下几点:","所以我们可以认为","所做的优化,以及适配","所要完成的最少的任务呢?我们能有更激进的安全性检查么?我们能让","才会直接访问","抛弃","抛弃依赖","接口起源于","提升了性能,因此预绑定被完全废弃了,取而代之的是","操作系统上,但这是得益于人们在后来适配了专门的扩展程序;而","文件到自身的地址空间","文件并寻找依赖是安全性敏感的,因为恶意篡改的","文件,找到其依赖的库,并且递归的找到所有依赖的库,形成一张动态库的依赖图。io","方法","方法调用之前的时间。","方法,就需要去系统库中查找到","方法,这些方法在","时期不同:dyld","时缺失符号造成","时需要注意的问题。","是","是一个全新的动态链接器,它即将成为新的","是为了效率而设计的,所以在健全性检验上有一些限制。因此它也有安全性问题,所以苹果不断的改进它以适应今天的平台。","是如何启动一个","更严格的链接语法","更便于测试么?这些是苹果一直在思考的问题,也是","有:","本次","本篇相关文档和","来强行指定对齐方式,那么系统会在","模式下使用。","模式下,将","段、","段和整个符号表来缩减大小。它能打包二进制段,因此能节约内存空间。实际上它是一种动态库的预链接。它预先构建了","没有初始化过程;swift","环境下,性能开销变得更大。","由于","由于符号解析的开销很大,dyld","由于这些初始化程序是在","的","的一次全面重写。它拥有正确的","的优化将不再起作用。","的优化思路。在","的出现,改变了动态链接的流程,相信","的函数地址。从第二次访问","的历史","的历史和新的","的发展过程,我们可以看到苹果在","的名字和它实际的功能是不相符的,在苹果的平台上,它代表的意思其实是","的启动","的启动时长","的启动速度、安全性等方面有着重大影响。本文介绍了","的启动速度。","的启动速度带来明显优化。但是目前只有系统","的启动速度得到明显提升。","的启动速度,而","的启动闭包被构建在一个","的固定的地址,动态连接器会尝试从这些地址中加载,如果加载成功,就会编辑这些二进制,等到下次他们被放到同样的地址上时,就不需要做任何工作了。这样能大幅优化启动速度,但这意味着二进制文件在每次启动时都被修改,在安全性和其他方面都有隐患。","的地址,然后将地址拷贝到","的开发者也应该对适配有所留意,按照苹果提供的建议进行检查。","的引入,能让","的性能,所以这个链接器标志应该只在","的改革方向。","的时候,其实是访问了","的环境下不做懒惰符号解析,来帮助第三方程序员及时发现符号缺失的问题。当然,由于","的行为也将和","的陷阱;swift","的默认动态链接器,在未来也会被用于第三方","的:","确实出现在了一部分","等架构的支持,并且增加了","策略也不再被需要。这时,如果有符号缺失的情况,app","简单很多,因为它是一个内存映射文件,解析和验证都非常简单,并且经过了良好的性能优化。所以","类或者","类,dylib","绑定和变基:由于","编译器:它处理了所有可能影响启动速度的","能对","虽然","被添加链接标志符中","装载于","解析","解析器","解析器。而启动闭包又比","让进程中的需要执行的动态链接操作尽可能少:这样可以减少","识别可以被缓存的部分:符号查找就是其中一个,因为在一个特定的库中,除非软件更新或者这个库被改变,不然每个符号都应该有固定的偏移量。","识别安全性敏感的组件:解析","语法支持,能对","语法,也就是说它抛弃了旧时期的接口。dyld","起源于","软件。而问题是,它们的语义并不完全一致,所以会出现一些怪异的边界案例,并且效率很慢。","运行初始化程序,之后运行","还没有被标准化。现在","进程中。","进程,可以使用通常的测试架构。","进程,用标准化的测试工具就可以测试。","进行符号查找:比如","适配方案的最佳实践","那么应该如何做到以上这些呢?","那么这些步骤在性能、安全性和可测试性上应该如何被优化呢?苹果提出了这样两点思路:","部分接口的性能","都依赖","都应该被认为是一个无效的方法。","需要修正不对齐指针","需要完全兼容","需要的数据结构,这节约了内存和时间。","需要解决符号缺失问题","需要让地址空间配置随机加载,所以所有的指针都需要加上一个基地址","预计还得等待一些时日。","默认采取的是懒惰的符号解析(lazi",",其中的优化包括:"],"Article/iOSUIResponderChain.html":["([respond","(bool)pointinside:(cgpoint)point","(hitview)","(iokit可能是注册监听了屏幕输出的端口)","(responder)","(self.alpha","(uiview","(uiviewcontrol",")","*)event","*)event;","*)hittest:(cgpoint)point","*)parentcontrol","*)responder;","*hitview","*respond","*subview","0.01。","0;","1","2","3","=",">","[respond","[self","[subview","__iohideventsystemclientqueuecallback()函数会将事件交给source0处理,source0会调用__uiapplicationhandleeventqueue()函数,函数内部会做具体的处理操作。","api","api,可以处理触摸事件、按压事件(3d","appl","button","buttonaction:","cgpoint","chain派发。如果其不能处理事件,则交给手势处理或响应者链传递。","class]])","convertpoint:point","document","gestur","gesturerecognizer:shouldberequiredtofailbygesturerecognizer:","gesturerecognizer:shouldreceivepress:","gesturerecognizershouldbegin:","hittest:insidepoint","hittest:withevent:","hittest:withevent:方法内部会通过调用这个方法,来判断点击区域是否在视图上,是则返回yes,不是则返回no。","hitview;","icon,会将这个程序启动。","insidepoint","io","ios事件处理,看我就够了~","iskindofclass:[uiviewcontrol","juejin.cn","keywindow遍历subviews的hittest:withevent:方法,找到点击区域内合适的视图来处理事件。","main","nextresponder];","nil;","no。","no,如果想要uiimageview响应交互事件,将属性设置为","pointinside:withevent:","port(ipc","port传来的系统事件的,source0是用来处理用户事件的。","port发过来的事件,唤醒main","port将iohidevent事件转发给这个程序。","recogn","respond","return","rootview","runloop将事件交给source1处理,source1会调用__iohideventsystemclientqueuecallback()函数。","runloop并将这个消息交给source1处理,source1调用__iohideventsystemclientqueuecallback()函数,在函数内部会将事件交给source0处理,并调用source0的__uiapplicationhandleeventqueue()函数。","runloop来处理。","self;","simpread","source1收到系统事件后,都会调用source0的函数,所以最终这些事件都是由source0处理的。","source1是runloop用来处理mach","springboard是","subview3","subviews[i];","superview","tapaction:","tip","touch)、远程控制事件、硬件运动事件。","touchesbegan:withevent:","touchescancelled:","touchesended:withevent:","toview:subview];","uiapplication接收到事件,将事件传递给keywindow。","uicontrol","uigesturerecogn","uiimageview的userinteractionenabled默认为","uirespond","uiresponder是","uiview","uiviewcontroller没有hittest:withevent:方法,所以控制器不参与查找响应视图的过程。但是控制器在响应者链中,如果控制器的view不处理事件,会交给控制器来处理。控制器不处理的话,再交给view的下一级响应者处理。","uiview的子视图也会遍历其subviews的hittest:withevent:方法,以此类推。","withevent:(uiev","withevent:event];","ye","yes。","{","}","上面的视图中subview1、subview2、subview3是同级视图,都是superview的子视图。我们给subview1加上uitapgesturerecognizer手势,并且通过subview1action:方法接收回调,点击上面的subview3后,方法调用如下。","不只uibutton是直接由uiapplication派发事件的,所有继承自uicontrol的类,都是由uiapplication直接派发事件的。","中用于处理用户事件的","为了有依据的推断响应事件的实现和传递机制,我们做以下测试。","事件传递","事件传递优先级","事件到来后先会执行hittest和pointinside操作,通过这两个方法找到第一响应者,这个在上面已经详细讲过了。当找到第一响应者并将其返回给uiapplication后,uiapplication会向第一响应者派发事件,并且遍历整个响应者链。如果响应者链中能够处理当前事件的手势,则将事件交给手势处理,并调用touches的cancelled方法将响应者链取消。","事件拦截","事件控制","事件转发","事件逐级传递","事件通过uitouch进行传递,在事件到来时,第一响应者会分配对应的uitouch,uitouch会一直跟随着第一响应者,并且根据当前事件的变化uitouch也会变化,当事件结束后则uitouch被释放。","从keywindow开始,向前逐级遍历子视图,不断调用uiview的hittest:withevent:方法,通过该方法查找在点击区域中的视图后,并继续调用返回视图的子视图的hittest:withevent:方法,以此类推。如果子视图不在点击区域或没有子视图,则当前视图就是第一响应者。","以uibutton为例,uibutton也是通过hittest的方式查找第一响应者的。区别在于,如果uibutton是第一响应者,则直接由uiapplication派发事件,不通过respond","传递过程","例如用户点击了某个应用程序的","假设rootview、superview、button都实现touches方法,并且button添加buttonaction:的action,点击button后的调用如下。","假设有上面的视图结构,superview的subview超出了其视图范围,如果点击subview在父视图外面的部分,则不能响应事件。所以通过重写pointinside:withevent:方法,将响应区域扩大为虚线区域,包含superview的所有子视图,即可让子视图响应事件。","函数内部会判断,是否有程序在前台显示,如果有则通过mach","分析","即可响应事件。","原文地址","只不过这并不包含uicontrol子类以及uigesturerecognizer的子类,这两类会直接打断响应者链。","可以通过touchesbegan、pressesbegan、motionbegan、remotecontrolreceivedwithevent等方法,获取到对应的回调消息。uiresponder不只用来接收事件,还可以处理和传递对应的事件,如果当前响应者不能处理,则转发给其他合适的响应者处理。","可以通过重写对应的方法,控制这个遍历过程。通过重写pointinside:withevent:方法,来做自己的判断并返回yes或no,返回点击区域是否在视图上。通过重写hittest:withevent:方法,返回被点击的视图。","响应事件的优先级,以及整体的响应逻辑。","在__uiapplicationhandleeventqueue()函数中,会将传递过来的iohidevent转换为uievent对象。","在hittest:withevent:方法中,会从上到下遍历子视图,并调用subviews的pointinside:withevent:方法,来找到点击区域内且最上面的子视图。如果找到子视图则调用其hittest:withevent:方法,并继续执行这个流程,以此类推。如果子视图不在点击区域内,则忽略这个视图及其子视图,继续遍历其他视图。","在uiapplication向第一响应者派发事件,并且遍历响应者链查找手势时,会开始执行响应者链中的touches系列方法。会先执行touchesbegan和touchesmoved方法,如果响应者链能够继续响应事件,则执行touchesended方法表示事件完成,如果将事件交给手势处理则调用touchescancelled方法将响应者链打断。","在uiapplication接收到响应事件之前,还有更复杂的系统级的处理,处理流程大致如下。","在uiresponder中提供了nextresponder方法,通过这个方法可以找到当前响应环节的上一级响应对象。可以从当前uiview开始不断调用nextresponder,查找上一级响应者链的对象,就可以找到离自己最近的uiviewcontroller。","在函数内部,调用uiapplication的sendevent:方法,将uievent传递给第一响应者或uicontrol对象处理,在uievent内部包含若干个uitouch对象。","在开发中,有时会有找到当前view对应的控制器的需求,这时候就可以利用我们上面所学,根据响应者链来找到最近的控制器。","在开发过程中,经常会遇到子视图显示范围超出父视图的情况,这时候可以重写该视图的pointinside:withevent:方法,将点击区域扩大到能够覆盖所有子视图。","在执行hittest:withevent:方法时,如果该视图是hidden等于","在查找第一响应者的过程中,已经形成了一个响应者链。","基础","复制代码","如上图所示,响应者链如下:","如果textfield未处理事件,则会将事件传递给下一级响应者链,也就是其父视图。","如果前台没有程序在显示,则表明springboard的桌面程序在前台显示,也就是用户在桌面进行了操作。","如果当前视图在响应者链中,但其没有处理事件,则不考虑其兄弟视图,即使其兄弟视图和其都在点击范围内。","如果想让响应者链中,每一级uiresponder都可以响应事件,可以在每级uiresponder中都实现touches并调用super方法,即可实现响应者链事件逐级传递。","如果手势不能处理事件,则交给第一响应者来处理。如果第一响应者也不能响应事件,则顺着响应者链继续向后查找,直到找到能够处理事件的uiresponder对象。如果找到uiapplication还没有对象响应事件的话,则将这次事件丢弃。","如果控制器的view未处理事件,则会交给控制器处理。","如果是继承自uiresponder的类,则调用第一响应者的touchesbegin,并且不会立即执行touchesended,而是调用之后顺着响应者链向后查找。如果在查找过程中,发现响应者链中有的视图添加了手势,则进入手势的代理方法中,如果代理方法返回可以响应这个事件,则将第一响应者的事件取消,并调用其touchescanceled方法,然后由手势来响应事件。","如果有事件到来时,视图有附加的手势识别器,则手势识别器优先处理事件。如果手势识别器没有处理事件,则将事件交给视图处理,视图如果未处理则顺着响应者链继续向后传递。","如果点击uitextfield后其会成为第一响应者。","如果点击事件是发生在视图外,但在其子视图内部,子视图也不能接收事件并成为第一响应者。这是因为在其父视图进行hittest:withevent:的过程中,就会将其忽略掉。","如果第一响应者不能处理事件,则调用其nextresponder方法,一直找响应者链中能处理该事件的对象。","将事件转发给springboard来处理。","小技巧","应用程序会先调用第一响应者处理事件。","应用程序接收到springboard传来的消息,会唤醒main","应用程序接收到事件后,将事件交给keywindow并转发给根视图,根视图按照视图层级逐级遍历子视图,并且遍历的过程中不断判断视图范围,并最终找到第一响应者。","应用程序通过响应者来接收和处理事件,响应者可以是继承自uiresponder的任何子类,例如uiview、uiviewcontroller、uiapplication等。当事件来到时,系统会将事件传递给合适的响应者,并且将其成为第一响应者。","当事件到来时,会通过hittest和pointinside两个方法,从window开始向上面的视图查找,找到第一响应者的视图。找到第一响应者后,系统会判断其是继承自uicontrol还是uiresponder,如果是继承自uicontrol,则直接通过uiapplication直接向其派发消息,并且不再向响应者链派发消息。","当响应者链和手势同时出现时,也就是既实现了touches方法又添加了手势,会发现touches方法有时会失效,这是因为手势的执行优先级是高于响应者链的。","当用户操作屏幕,iokit收到屏幕操作,会将这次操作封装为iohidevent对象。通过mach","接收事件深度剖析","控制器未处理则会交给uiwindow。","最后交给uiapplicationdelegate,如果其未处理则丢弃事件。","最后到uiapplication后仍然没有能处理该事件的对象,则该事件被废弃。","有时候想让指定视图来响应事件,不再向其子视图继续传递事件,可以通过重写hittest:withevent:方法。在执行到方法后,直接将该视图返回,而不再继续遍历子视图,这样响应者链的终端就是当前视图。","本文由","查找第一响应者","查找第一响应者时,有两个非常关键的api,查找第一响应者就是通过不断调用子视图的这两个api完成的。","根据上面的手势和响应者链的处理规则,我们会发现uibutton或者uislider等控件,并不符合这个处理规则。uibutton可以在其父视图已经添加tapgesturerecognizer的情况下,依然正常响应事件,并且tap手势不响应。","根据我们上面的测试,推断","根据苹果的官方文档,手势不参与响应者链传递事件,但是也通过hittest的方式查找响应的视图,手势和响应者链一样都需要通过hittest方法来确定响应者链的。在uiapplication向响应者链派发消息时,只要响应者链中存在能够处理事件的手势,则手势响应事件,如果手势不在响应者链中则不能处理事件。","模拟代码","此方法在遍历视图时,忽略以下三种情况的视图,如果视图具有以下特征则忽略。但是视图的背景颜色是clearcolor,并不在忽略范围内。","注意","测试","然后会交给uiapplication。","父视图未处理事件则继续向下传递,也就是uiviewcontroller的view。","的那三种被忽略的情况,则改视图返回nil。","直到找到点击区域内,且处于最上方的视图,将视图逐步返回给uiapplication。","示例","示例代码:","第一响应者未处理的事件,将会在响应者链中进行传递,传递规则由uiresponder的nextresponder决定,可以通过重写该属性来决定传递规则。当一个事件到来时,第一响应者没有接收消息,则顺着响应者链向后传递。","简悦","系统的桌面程序。springboard收到mach","系统通过iokit.framework来处理硬件操作,其中屏幕处理也通过iokit完成","视图的alpha小于等于","视图的hidden等于","视图的userinteractionenabled为","调用方法,获取到被点击的视图,也就是第一响应者。","转码,","还是上面的视图结构,我们给rootview加上uitapgesturerecognizer手势,并且通过tapaction:方法接收回调,点击上面的superview后,方法调用如下。","进程间通信)","通过上面的例子来看,虽然subview1在subview3的下面,并且添加了手势,点击区域是在subview1和subview3两个视图上的。但是由于经过hittest和pointinside之后,响应者链中并没有subview1,所以subview1的手势并没有被响应。"],"Article/iOS 代码瘦身实践_ 删除无用的类.html":["\"\"","\"unref","#arm64","#binary_file_arch:","#class","#file","#subclass","#superclass","#untreat","%","%d\\n\"","%s\"","%s'","'","')","')[","'x86_64':","(__data,__objc_data)","(address,","+",".*","0","00","00000001","0000000102bd8070","0000000103113f68","01","03","03138580","03138878","0:","0x103113f68","0x10313bb80","0x\\w{9}","15","1]","1]))","1].strip()","64","68","75","77","=","==",">","__data","__objc_classlist","__objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。","__objc_classlist获取所有类的地址。","__objc_classref","__objc_classrefs段记录了引用类的地址,__data","__objc_classrefs获取到引用类的地址。","_objc_class_$_episodestatusdetailitemview","_objc_class_$_ttbasecontrol","_objc_class_$_ttepisodestatusdetailitemview","_objc_class_\\$_(.+)\")","_objc_class_\\$_(.+)')","arm64","arm7","b","big","binary_file_arch","binary_file_arch)","binary_file_arch):","binary_file_arch.startswith('arm'):","bit","class","class_list_pointers(path,","class_ref_pointers(path,","class_symbols(path):","confirmed,armv7","continu","d8","def","distinguish","endian","example:","example:00000001030bcd20","example:00000001030cec80","execut","extern","f","f.close()","f.write(","f.write(\"\\n\")","f.write(unref_symble+\"\\n\")","filter_super_class(unref_symbols):","format","io","juejin.cn","len(filter_prefix)","len(reserved_prefix)","len(subclass_name)","len(superclass_name)","len(unref_symbles))","line","line[0:4][::","line[0])","line[16:].strip().split('","line[2])","line[8:12][::","lines:","list_point","list_pointers.union(pointers)","littl","mac","mach","nm","nm:","nm命令可以得到地址和对应的类名字。","none","number:","o","open(script_path+\"/result.txt\",\"w\")","os.popen(\"/usr/bin/otool","os.popen('/usr/bin/otool","os.popen('fil","os.popen('nm","output","ov","ov可以获取到类的继承关系。","o中的段信息,需要注意的是模拟器和真机对应的可执行文件,数据的存储方式不同需要加以区分。","o文件中__data","path).read().split('","path).readlines()","pointer","pointers.add(''.join(line[12:16][::","pointers.add(''.join(line[4:8][::","pointers.add(line[1]","pointers.add(line[3]","pointers_from_binary(line,","re.compile(\"\\s*superclass","re.compile(\"\\w{16}","re.compile('(\\w{16})","re_class_nam","re_class_name.findall(line)","re_subclass_nam","re_subclass_name.findall(line)","re_superclass_nam","re_superclass_name.findall(line)","ref_point","ref_pointers.union(pointers)","result","result:","result[0]","return","s","script_path","set()","simpread","subclass_match_result","subclass_match_result:","subclass_match_result[0]","subclass_nam","superclass","superclass_match_result","superclass_match_result:","superclass_match_result[0]","superclass_nam","symbol","symbol)","symbols:","symbols[address]","symbols[unref_pointer]","sys.path[0].strip()","unconfirm","unref_point","unref_pointers:","unref_symbl","unref_symbles:","unref_symbol","unref_symbol.startswith(filter_prefix):","unref_symbol.startswith(reserved_prefix):","unref_symbols.add(unref_symbol)","unref_symbols.remove(superclass_name)","unref_symbols:","v","{}","中未使用的类,源码链接:xuezhulian/classunref。","为了防止一些三方库的误伤,还可以去过滤一些前缀,或者是是仅保留带有某些前缀的类。","代码瘦身实践_","删除无用的类","原文地址","取差集","可以通过","可以通过file命令获取到arch。","在取类地址的时候区分x86_64和arm。","在实际分析的过程中发现,如果一个类的子类被实例化,父类未被实例化,此时父类不会出现在__objc_classrefs这个段里,在未使用的类中需要将这一部分父类过滤出去。使用otool","复制代码","引用类地址","所有类地址","最终结果保存在脚本目录下。","本文将提供一种静态分析的方式,用于查找可执行文件","本文由","用所有类信息减去引用类的信息,此时我们可以拿到未使用类的地址信息。","符号化","简悦","自带的工具otool打印mach","转码,","过滤","这个思路在一定程度上能够减少代码的冗余,减小包的体积。因为是静态分析,不能包括动态调用的情况,对于需要删除的类需要进一步的确认。","通过nm","通过otool"],"Article/iOSLaunchScreenBug.html":["(bool)moveitematpath:(nsstr","(cgsize)getimagesize:(nsdata","*)dstpath","*)imagedata","*)srcpath","**)error","*imag","*launchscreennam","*storyboard","*vc","+","/","/private/var/mobile/containers/data/application/02cce9fd","/private/var/mobile/containers/data/application/1c4b15fb","/private/var/mobile/containers/data/application/573e7fe9","/private/var/mobile/containers/data/application/e7cb1946","0,","1cb2","1ffd332b","2019","2020","3.1","3.2","3.3","3.4","3.5","4","40c9","42ce","43f4","444f","478b","479cc9cc8bad@3x.ktx","48ff","4d69","4e84","5b3b","5f65","6312","6ae4","8565","88fcf7848323/library/caches/snapshots/baidu.testlaunchscreen","8a15","8eee","9193","93a8","96920d11","96fa","98f7b5b1","9d72","9fc3b84622cd/library/caches/snapshots/baidu.testlaunchscreen1/test.png","=","[[[nsbundl","[baidu.testlaunchscreen]","[uiscreen","[uistoryboard","[vc.view.lay","\\","a.","a562","a5e0ba0c047e/library/splashboard/snapshots/baidu.testlaunchscreen","a834","afbb52dbddb3@3x.ktx","api","api_available(macos(10.5),","api,我们无法得知,并且其生成时机也早于我们应用代码可控制时机,也就意味着我们无法控制系统生成启动图的行为,换句话说就是即使我们的","app","baidu.testlaunchscreen\\","bbdb","bec9aef7c41a@3x.ktx","bundle:nil];","cach","cfdataref)imagedata,","cfrelease(imageref);","cfrelease(source);","cgfloat","cgimagegetheight(imageref);","cgimagegetwidth(imageref);","cgimageref","cgimagesourcecreateimageatindex(source,","cgimagesourcecreatewithdata((__bridg","cgimagesourceref","cgsizemake(width,","creat","d9d48845","data","demo","deny(1)","eba0","ed3de6492ad1@3x.ktx","error:(nserror","execut","f8c4a62eafbc/library/splashboard/snapshots/baidu.testlaunchscreen","file","file:","group}","group}/1ffd332b","group}/96920d11","group}/98f7b5b1","group}/d9d48845","group}/。","group};","height","height);","imageref","info.plist","infodictionary]","interfac","io","ios(2.0),","ios10.0","ios13.0","ios9.x","ios启动图异常修复方案","ipad","iphon","ktx。","landscap","launched】,接着运行工程,在控制台应用中搜索","launchscreen.storyboard","left","library/splashboard/snapshots/","mac","mainbundle]","mainscreen].bounds.size,","mainscreen].scale);","mp.weixin.qq.com","no,","nsstring","null);","objectforkey:@\"uilaunchstoryboardname\"];","orient","png或jpeg。b.","prefer","read","renderincontext:uigraphicsgetcurrentcontext()];","return","right),虽然我们可以通过代码控制页面不跟随设备方向旋转,但是这会导致系统为应用分别生成横屏和竖屏的启动图,从而导致一个问题:","sandbox:","scheme】","simpread","snapshot","sourc","splashboard","splashboard.framework","splashboard,生成新的启动图,并缓存至沙盒目录,而我们在沙盒目录中也找到了新生成的启动图文件。","springboard","storyboard","storyboard.instantiateinitialviewcontroller;","storyboardwithname:launchscreennam","support","testlaunchscreen(403)","testlaunchscreen(630)","topath:(nsstr","tvos(9.0));","uigraphicsbeginimagecontextwithoptions([uiscreen","uigraphicsgetimagefromcurrentimagecontext();","uiimag","uistoryboard","uiviewcontrol","watchos(2.0),","width","write","written","wwdc","{","{default","{default\\","}","“完善”","“无法生成启动图,因为当前应用不支持任何有效的方向”,此种情况下系统生成启动图时机为首次启动应用时,大家可以自行实验下。","……","└──","├──","【``run】","【launch】,将其设置为【wait","一、背景和问题","三、解决方案","上不会跟随设备方向旋转,但","上也有复现);","上删除该缓存目录,发现同样无权限。","上图中大致流程为,检测到无可用缓存启动图,预热","上宣布自","上是需要支持设备方向旋转,所以我们的处理是:","上的方案涉及到图片宽高获取,而相信大家阅读到这里也知道了缓存图格式有ktx,但该图片无法直接使用uiimage接口进行加载,这里我们通过多机型、多系统地查看了ktx图片的元数据,发现总结其中的规则,通过取固定段的字节计算其宽高,或直接使用imageio相关的接口可以获取其宽高,参考:","上,我们通过代码仅生成竖屏启动图,然后直接替换全部的缓存启动图,即启动时不管设备方向如何,展示的始终为竖屏启动图;","上,我们通过代码同时生成竖屏及横屏启动图,接着分别使用这两张图进行替换,同时在替换时进行校验,只有当替换的启动图与缓存启动图宽高一致时才执行,即竖屏只替换竖屏、横屏只替换横屏。","不同系统、不同机型测试,均有复现,排除该问题只发生在特定机型或系统上;","中","中仅添加一张背景图,给其设置约束铺满全屏,竖屏时正常显示,但横屏时就异常了。(ps:大家可以关闭系统旋转锁定,参考横屏冷启淘宝及微信的解决方案)有一种解决方案是","中共生成四张截图,分别为对应着浅色主题下竖屏启动图、浅色主题下横屏启动图、深色主题下竖屏启动图、深色主题下横屏启动图,竖","中所支持的设备方向决定。如果在","中未勾选任何方向,那么系统会输出","二、问题分析定位","从日志中我们了解到,应用安装后,springboard","以下:library/caches/snapshots/${product_bundle_identifier};","以下:png。","以下:无权限。","优化后完整流程图如下:","但系统是如何生成的,调用了什么样的","体会其作用:","作者:shishu","你是否也碰到了启动图不更新、未加载等异常问题,今天就给大家带来一个终极解决方案。","修改图片名,前几次正常,之后依旧偶现;","具体可点击链接查看:https://developer.apple.com/news/?id=03262020b","前面提到替换图片时,需保持缓存目录下文件名不变,所以这里最简单的办法就是遍历缓存目录下的文件名,接着以这些文件名直接写入替换的图片。","即用户安装应用后,系统会自动生成启动图并缓存至沙盒目录,接着用户启动应用时,我们通过代码将沙盒目录下缓存的启动图文件全部替换为我们通过代码生成的启动图。","卸载应用重新安装,大概率恢复正常,仍复现;","原文地址","及以上:ktx","及以上:library/splashboard/snapshots/${product_bundle_identifier}","及以上:有权限;","变相地实现了操作缓存目录,大家可以查看","启动图未渲染成功,表现为每次启动均为白屏,并且线上也有复现,这是我们遇到的主要问题(该问题我们在某些知名","启动图未能更新,启动后仍展示旧启动图,这个问题相信有不少同学遇到。","启动图相信大家都非常熟悉,版本迭代中不免会遇到更换启动图的需求,本以为这是件很简单的事情,但实际操作时却遇到了各种毫无头绪的异常问题,如启动图不更新、启动图未成功渲染等。","呃。。。还是希望苹果爸爸能够","四、总结","图片格式:","在【edit","在初步走通了流程,验证了方案的可行性后,我们开始完善设计整套流程,并且测试其性能消耗。如测试发现从storyboard生成截图较为耗时,为此我们做了一个缓存策略,避免每次都去截图。","在此背景下,百度","地址:https://github.com/iversonxh/dynamiclaunchimag","大部分非游戏类应用,支持的界面方向都只有竖屏(portrait),即应用页面不会跟随设备方向旋转,始终以竖屏方向显示。但实际开发时,由于某些特殊需求,我们可能会勾选上横屏(landscap","如图可知,点击应用图标后,springboard找到了一个可用的启动图,无需预热splashboard,直接使用可用的启动图。","审核:gj,zsb,gbn,zjz","对","将launchscreen.storyboard文件复制到新建的空工程中,仍复现,此时猜测为系统缓存问题;","将图片从assets中迁移至工程根目录下,出现空白启动图概率降低,但仍会偶现;","希望本文能够对碰到此类问题的同学们有所帮助,也欢迎大家对本文指正不足。","年","年以来,苹果也多次发布公告要求更换启动图配置方式:","异步发起截图请求,接着由","引言","我们创建一个空工程,设备方向默认不更改,配置好启动图:","所以接下来我们做了一些尝试来验证是否能够修复我们所遇到的问题:","找到如下信息:","接着我们又做了多次测试,得出了以下结论:","接着我们又测试往缓存目录写入文件,发现也无写入权限:","接着我们想到当启动图出现问题时,系统是否会有一些辅助信息输出呢?果然通过","接着我们点击应用图标启动应用,再次观察控制台应用中输出:","控制台应用,虽然没有找到明显的异常信息输出,但是我们从中发现了关于启动图生成的关键信息(以下测试基于ios13系统,不同系统上表现存在差异)。","效果图:","文件配置无误,但启动图出现异常可能是无法避免的,所以我们的想法是既然无法从根源上避免启动图异常问题,那么我们是否能够提供补救措施,让其自动恢复正常,下次冷启就显示我们期望的启动图,这样不至于一旦出现异常后后续冷启都异常,对于用户来说也可接受。","方案小结","是否可以我们自己生成启动图放至缓存目录,让系统认为存在可用的缓存启动图:a.","替换启动图","替换的图片名需与对应的缓存图完全一致,包括文件扩展名,但实际其内容格式可以为","替换的图片大小需与当前屏幕大小一致(图片宽高等于屏幕宽高或高宽),如果不一致,系统会重新生成缓存启动图。","替换缓存启动图文件,即保证该目录下所有子文件名不变,但文件内容全部替换,验证方案有效:替换后冷启效果:","最后给大家奉上苹果爸爸关于启动图的官方文档,其中一段:","最终我们决定直接摒弃系统缓存的启动图,完全替换为我们自己生成的启动图。","月起,提交审核的应用都必须使用","本文由","本方案主要用于解决启动图无法渲染、不更新等异常问题,能够让应用自动恢复正常的启动图,从用户角度来说最坏的情况是首次启动时展示了异常的启动图,但下次冷启时即可展示正常的启动图了,保证了用户体验。","来配置启动图。而步入","果然,按照控制台中所输出的路径,我们找到了系统生成的启动图文件,其格式为","查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;","根据","根据以上的分析结果,我们知道应用启动时加载启动图的大致流程:","横屏截图是否生成由","横竖屏问题","正如上面所描述,我们的产品页面在","此时看到写入路径正是我们所熟知的沙盒目录,接着我们将应用沙盒目录导出,查看library目录结构如下:","注意","深夜暗坑","清空启动图缓存目录,迫使系统重新生成启动图文件,但仍出现白屏问题,方案无效;","清空缓存目录,直接放入随意命名的图片,验证无效,系统会在应用下次启动时或应用挂起时,根据应用支持的界面方向及设备当前的方向重新生成对应的启动图;b.","清空编译缓存,仍旧复现,故排除编译缓存问题;","然而当我们按照以上方案初步开发完成,进行多系统验证时,遇到了一个棘手的问题,测试发现方案在ios10.0及以上工作正常替换成功,但是在ios9.x及以下系统方案无效。通过断点调试发现调用nsfilemanager接口获取缓存目录下的文件名列表为空,再通过观察控制台应用中的输出,发现根本原因是无读取权限:","理论上在本方案基础之上还可升级添加更多产品策略,但这里也忠告大家请勿滥用,并且未来苹果可能会修改该系统机制。","生成启动图","生成截图,最后写入磁盘。","生成新的启动图,并将其缓存至沙盒目录","由以上分析我们知道系统启动应用时会检查当前是否有可用的启动图,所以我们猜想如果当前没有可用的启动图,那么应该会迫使系统重新生成。为此我们清空了缓存启动图,再次冷启应用,果然验证了我们的猜想:","百度","的初始视图控制器进行截图,参考以下代码:","相信大家也注意到上图红框中的写入路径(路径较长截图中未能完全显示),查看完整输出如下:","简悦","系统缓存图目录读写权限:","细节优化","经历了整个方案从调研到开发完成,以及多机型多系统的测试,我们对缓存启动图在不同系统版本上的表现差异性做了个简单归纳:","经过一系列的测试,我们排除了人为因素、编译问题等可能出现问题的点,最终认定是系统问题导致。","经过深度调研及不断地分析测试,我们终于得出一个可行方案,那就是替换系统生成的缓存启动图。","给imageview添加背景色,启动时正常显示imageview的背景色,但图片内容未显示,故排除了布局问题;","缓存启动图的文件名具有规则,但其规则我们不得而知。","缓存路径:","置空,但这解决不了启动图不更新或无法渲染问题。","而针对","若用户未开启系统旋转锁定,且横置手机启动应用,这会使得应用启动时显示横屏方向的启动图,而部分应用并未考虑适配横屏场景启动图,从而可能导致该场景下启动图拉伸或压缩等显示异常,比如在","苹果曾在","转码,","这个问题。","这里也是经过不断调试,找到了如下","针对","随即开展了相关的更换工作,具体的launchscreen.storyboard配置方式不再赘述,我们直接说配置后出现的问题:","顺带测试了下在","首先我们怀疑是配置方式有误、编译缓存等导致的问题,所以针对这些猜测我们做了以下测试:"],"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":["\"","\"1234\"","\"1234\";","&","(.m/.c/.swift","(__cfstring),以及运行时的元数据:class/protocol/method…","(cstring),object","(metal/opengl","(rhino)","(strip),是因为里面有些信息,如调试符号,是不需要带到线上去的。裁剪有多种级别,一般的配置如下:","(text),常量字符串","(uikit","(void)load","(启动路径上难免会读很多字符串),从而规避这个解密的耗时。抖音的重命名方案:","(如下图)。下图中部分页被标记为","*","+","+load","/","//不会产生静态初始化","//会产生静态初始化","0","0x10","0x1010。运行时类对象的地址已经知道了,bind","0x1010,那么","0x10。但是","0x10,加上","0,这个行为叫做","0,那么这些","1","1.","1234","1234。为了执行函数,首先要访问__text触发一次","12。dyld2","13","13,所以我们重点看下","15%。","16k,6","2.","3","3.","3.1","32byte,里面有两个指针:内部指针,指向__text,__cstring中字符串的位置;外部指针","400m","400ms。","4;","4k,这是","50%+","6","6s","93%",":","=","@\"1234\",编译到最后的二进制的时候是会存储在两个","[3]","__attribute__((constructor))","__data,__cfstring,存储","__mod_init_func,stat","__objc_nlcatlist,实现","__objc_nlclslist,实现","__text,__cstring,存储实际的字符串","anim","app","appl","applifecycl","app。目前我们在上海、北京、杭州、深圳均有招聘需求,内推可以联系邮箱:","app,开始执行","back","base","befor","bind","bind。","bind:修复外部指针。这个比较好理解,因为像","bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。catransact","block","build","c","cach","cache[1],什么是","categori","catransact","char","clang,swift","class","class/method","cocoapod","command","commit","commit(提交),打包","commit,首帧渲染数据打包发给","connect","connect,上传后会对__text段加密,加密会减弱","const","control","core","data","data,数据段,读写,存储","debug","delay","demo{","dependends,依赖动态库列表","dev/2019","didfinishlaunch","didfinishlaunchnotif","didfinishlaunchnotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到","dispatch_async","display],如果","display(绘制),源头是","display,drawrect","drawrect","dyld","dyld2","dyld3","dyld3。","dyld3,dyld3","dyld3,官方数据","dyld。","dyld。dyld","dyld,把入口地址设为_dyld_start","entry,","es)","execv","facebook","fastbot:行进中的智能","featur","fill。","fill,是因为全局变量的初始值往往都是","first","fixup","fixup,包括","fixup:bind","flag","flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的","flags,这些","frame","global","header","http://iphonedevwiki.net/index.php/dyld_shared_cach","http://lists.llvm.org/pipermail/llvm","https://developer.apple.com/support/app","imag","init","initi","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在","initializer,做一些最基本的初始化:","initializer:","inline。","int","in。","in。假如我们把方法","in,runloop","in,从而提升启动速度。链接器","in,其实也比较容易理解,因为启动的会读写二进制中的很多内容。pag","in,影响","in,把对应的文件内容读入物理内存。","io","ios/android","io,把数据读入物理内存","ipa","iphon","ir","ir(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。c","isa","isa,指向类对象的,这就是为什么可以对","itun","january/129268.html","launch","layer","layoutsublayers],这时候","layoutsubview","layout(布局),源头是","layout,viewdidload","lc_load_dylinker,找到","ld","libdispatch","library,是因为链接的过程中只需要符号就可以了,所以","libsystem","libsystem,因为他是所有依赖的源头。","lifecycl","link","linkedit,启动","linkedit,找到","linkmap","linkmap,这样在生成的","llvm","llvm。","load","logger","logger;","mach","mach_msg_trap","magic","main","mainqueue,block。在循环的合适时机,会以","map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:fil","memori","metrickit","metricskit","mmap","mmu","monkey","mp.weixin.qq.com","namespac","non","number,表示这是一个","o","objc","object","observ","oom","optimizeobjc:","optimizeobjc。","order_fil","order_file[2]","order:初始化调用顺序","o。链接的过程并不产生新的代码,只会做一些移动和补丁。","o,而是提供一个只包含符号等信息的","o,虚拟内存,mmap,pag","page","pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了","pass,由于","pc","phase","phase:以","pipelin","pipeline。","pipeline,因为启动优化的重点还在运行时。","prepare(准备),这个过程中会完成图片的解码","prepare,图片解码发生在这一步","printf","printf(\"1234\");","process","rebas","rebase,主要耗时在","rebase:修复内部指针。这是因为","rename_section,__text,__const,__rodata,__const\",","rename_section,__text,__cstring,__rodata,__cstring\",","rename_section,__text,__gcc_except_tab,__rodata,__gcc_except_tab\",","rename_section,__text,__objc_classname,__rodata,__objc_classname\",","rename_section,__text,__objc_methname,__rodata,__objc_methname\",","rename_section,__text,__objc_methtype,__rodata,__objc_methtype\"","rename_section,把","render","renderserv","renderserver,renderserv","renderserver,启动结束","root","runloop","runloop,继续执行这个","runtime,注册","runtime,由于闭包已经初始化了大部分,这里只会注册","section","section,分别存放不同类型的数据。","segment","segment/sect","segment,每个","sel","sel,加载","server","set","settings:配置编译和链接相关的参数。特别要提到的是","share","simpread","slide","slide=0x1000,这时候字符串在运行时的地址就是","slide。","slide,需要把内部的指针指向加上这个","source0","static","std::string","store/","storyboard,asset","stub","suspend","swiftc,二者的后端都是","symbol","symbols,主二进制","symbols,二方静态库","symbols,动态库","target","tbd","tech@bytedance.com","text","text,data,linkedit,也支持自定义:","text,代码段,只读可执行,存储函数的二进制代码","tip","tips:catransact","tips:启动最佳时间是","tmp/com.apple.dyld","tree","ui","uiapplic","uiapplicationdeleg","uiapplication,启动","uikit","uikit。uikit","uiviewcontrol","uuid…","var_1;","var_2","var_3","var_4","view","viewdidapp","viewdidload","while循环。","will/didfinishlaunch,这里主要是业务代码耗时","willfinishlaunch","wl,","write","xcconfig","xcode","xpc","zero","{","}","};","“砸壳”,砸的就是这一层","。","一小段时间再回到主线程上执行,对于性能较差的设备,主线程","一般会用","上传","上对第三方","上的修改打包,一起发给","上的修改,合并成一个事务,通过","下载","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做","不同产品的业务形态不一样,对于抖音来说,首页的数据加载完成就是视频的第一帧播放;对其他首页是静态的","与启动又有什么关系呢?","业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能","两个段存在:__text存函数二进制,cstring存储字符串","中插入脚本,来做一些定制化的构建,比如","中的","中的两个配置项:","中给出了官方计算方式:","中读取,很有可能读取的时候还没有注册。","为了执行这个简单的函数,系统要额外付出两次","为什么二方库在出静态库的时候要选择","为什么闭包能提高启动速度呢?","为例,我们来看下构建流程:","为维度定义了构建的流程。可以在","主二进制,找到","主要会做两个大的初始化:","主要处理几种任务:source0,source1,timer,gcd","主要有两个版本:dyld2","举一个基于链接优化启动速度的例子:","举个例子:一个","举例","之后会进行裁剪","之后对其置为","之后有一个偏移量","之后,首先会执行","之所以花这么大篇幅讲原理,是因为任何优化都一样,只有深入理解系统运作的原理,才能找到性能的瓶颈,下一篇我们会介绍下如何利用这些原理解决实际问题,欢迎关注~","也会编译,编译后加载速度会变快","也是在这一步生效","了。这时候很多动态库还没有加载进来,会首先对这些动态库","二进制重排","产生的条件","什么是","今日头条品质优化","仍然活着,只不过处于","代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用","以下图为例,方法","以内,因为启动动画时长是","以单","以抖音为例,用户感受到的启动时间:","优化了加密过程,不会对包大小和启动耗时有影响)。","会占去启动耗时的很大一部分,我们来看看单个","会合成","会在这个阶段执行。","会在这里调用,autolayout","会对上传","会影响","会成为启动性能的瓶颈。","会把","会把启动流程交给","会有一些逻辑要在启动之后","会被裁剪,去掉一些不必要的信息","会调用","会调用,autolayout","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新","作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,appl","做","做优化,生成机器码","做的组件化,这时候编译选项在对应的.","做的,app","其中解密是大头,io","其他:main","其次。为什么要解密呢?","内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。","再调用渲染框架","冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动","函数。main","函数之前的一些初始化,主要包括","函数多了,page","函数里要做的最重要的事情就是初始化","创建启动闭包","初始化","初始化之后,就进入了我们熟悉的","利用","到内核,内核创建进程。接着会把主二进制","到虚拟内存的时候,起始地址会有一个随机的偏移量","到虚拟内存,找到","前端负责预处理,词法语法分析,生成","前言","加入我们","加载到虚拟内存里。接着会对每个","加载到进程的地址空间里,然后把后续的启动过程交给","动态库一起,链接出最后的","动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是","原文地址","又被划分成很多个","变成","变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接","可以分为三部分:","可以通过","可执行文件的格式,典型的","可能一直处于忙的状态,所以这个","合成一个大的文件,提高加载性能的缓存文件。","后端基于","启动","启动主线程的","启动优化《原理篇》","启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以","启动是","启动有两种定义:","启动流程","启动的定义","启动的时候,mach","启动的种类","启动的路径上会触发很多次","启动速度提升超","启动速度断崖式下降的原因之一。","启用了","呢?","呢?我们先来看一下渲染的大致流程","呢?是因为像","和","和layoutsubview","和之前的设备都是","和方法","和装载","和资源文件一起,打包出最后的.","和静态初始化被调用,除了方法本身耗时,这里还会引起大量","回前台:大多数时候不会被定义为启动,因为此时","回调了,在这些会调里去做一些业务上的初始化:","因为","因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是","图文详情页秒开实践","在","在__cstring的","在启动上主要有几点应用:","基本概念","基础技术","处,所以","大小是","太多会影响这部分时间","如下图,编译的时候,字符串","如果","如果你对技术充满热情,欢迎加入抖音基础技术团队,让我们共建亿级全球化","如果是","姓名","字符串","字符串的元数据,每个元数据占用","字节跳动全链路压测","存储","完全消失第一帧","实现了","寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取","寄存器来完成的。","寄存器设置成_dyld_start,接下来启动流程交给了","寄存器,pc","对.","对三方","对每个二进制做","对解密后的页,进行签名验证","对这个过程进行了优化,page","就是实现了类似的插桩。","就是实现这个功能的。","就是把","就是把一组","就是把指针指向这个地址。","就是把系统库","就是触发一个系统调用,让线程休眠,等待事件到来,唤醒","就是通过","就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在","崩溃率下降","工作年限","广义:点击图标到首页数据加载完毕","开始","开始,像","开始,物理内存的","引入,一直持续到","循环,在图中橙色部分的","性能优化实践:头条抖音如何实现","总结","我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程","或者","打散耗时的启动预热任务","执行","执行完毕之后,dyld","找到一个时机,在启动结束去执行一些预热任务","找到空闲的物理内存页面","把没有加载的动态库","抖音","抖音品质建设","指向实际的内存地址。","排列到一起,那么只需要一次","接下来会进行","提交。","提供的一种事务机制,把一组","提的","插桩来实现。llvm","支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案","数量的是","文件。","文件里。","文件里就可以找到有哪些文件里包含","文件,接着对这个文件进行签名。签名的作用是保证文件内容不多不少,没有被篡改过。接着会把包上传到","文件,除此之外还包含一些","方法名等信息","方法是基于","方法里的内容很简单,会影响启动时间么?比如这样的一个","方法,会在这个阶段调用","方法?","既然","既然要构建,那么必然会有一些地方去定义如何构建,对应","映射到虚拟内存里的","是","是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动","是主二进制和动态库。mach","是从","是单独编译的,输出对应的目标文件(.o)","是启动的时候用到的,为了执行对应的代码,就需要两次","是启动的辅助程序,是","是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~","是基于","是开源的,我们可以添加一个自定义的","显示,过去四年新发布的设备中有","更多分享","更新","最开始讲解","有个参数","有个比较大的优化是","有了闭包之后,就可以用闭包启动","本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍","本文回顾了","本文由","本质上是一个while","来生成","来说,launch","构建","构建的基本流程,以及这个流程里可用于启动优化的点;最后大篇幅讲解","标准的三个","根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。","段中的内容,比如字符串移动到其他的段","段加密。io","段的指针指向","段的指针指向就不对了。rebas","段的页解密很耗时,有没有办法优化呢?","段的页,要进行解密","段进行加密,防止","注册","注意这个过程都是在内核态完成的,这里提到了","注意这里没有初始化","注意,并不是所有的","消失就是首页数据加载完成。由于标准很难对齐,所以我们一般使用狭义的启动定义:即启动终点为启动图完全消失的第一帧。","渲染。","渲染可以分为四个步骤","渲染里。","源文件","点击图标,创建进程","热启动:如果把","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。iphon","状态","狭义:点击图标到","用户点击图标之后,会发送一个系统调用","由于主线程的","的","的主要区别就是没有启动闭包,就导致每次启动都要:","的代价,所以","的代码优化流程是一个一个","的任务并不一定能按时执行。","的元数据","的入口函数_dyld_start,把","的全称是","的前端是","的压缩效果,增加包大小,也会降低启动速度(io","的启动","的启动流程。","的地址","的地址,代码签名,符号表…","的字符串","的字符串字面量发消息的原因。","的实践","的布局信息,比如","的拷贝资源就是通过脚本的方式完成的。","的指针地址,找到","的方式发给","的方式通知外部执行到了哪里。那么,runloop","的时候不需要解密了。","的时候,我们提到","的最开始是","的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。","的构建流程,以及两个典型的利用编译器来优化启动的方案,最后详细的讲解了","的次数,从而优化启动时间:","的渲染是在一个单独的进程","的的路径。然后","的第一次启动才会创建。闭包存储在沙盒的","的第一次启动,会创建启动闭包","的类","的类方法等信息,是因为启动闭包的缓存数据已经包含了","的解析。","的设备是","的路径","的过程就是把指针从","的过程:","的运行时数据(class/method**…)解析非常**慢。","的,即启动的时候会把","的,所以在","目录,清理缓存的时候切记不要清理这个目录。","目标文件和静态库","相关链接","相比","稳定性等方面不断探索,努力为全球数亿用户提供最极致的基础体验。","符号的地址","等)","等元数据,对大型工程来说,这部分耗时会很长","等基础概念,接下来介绍了","等外部函数,只有运行时才知道它的地址是什么,bind","等系统库就不提供完整的","等链接期间的优化是基于符号的,如果把符号裁剪掉,那么这些优化也就不会生效了。","答案是和产品形态有关系,打开频次越高,热启动比例就越高。","签名","签名,防篡改","简悦","精准统计启动时间","线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,runloop","终点:第一个ca::transaction::commit()","经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个","给","给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。","编码打包给","编译","编译器可以分为两大部分:前端和后端,二者以","编译完","编译完了之后,这个函数会在二进制中的","耗时,有没有什么办法优化呢?","虚拟内存","被分割成很多个","裁剪","裁剪完二进制后,会和编译好的资源文件一起打包成.","要特别提一下","解析","解析动态库的依赖关系","触发磁盘","详细回顾下整个启动过程,以及各个阶段耗时的影响因素:","语言家族的前端是","读入物理内存,为了打印字符串,要访问__cstring,还会触发一次","读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少","调用[calay","资源文件如","起点:进程创建的时间","转码,","这是从用户感知维度定义启动,那么代码上如何定义启动呢?appl","进来,动态库的数量会影响这个阶段","进来,读取","进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在","通过","那么如何利用编译优化启动速度呢?","那么,如何找到代码里有哪些","那么,线上用户的冷启动多还是热启动多呢?","部分包含了实际的代码和数据,data","里可以配置","里如果调用了","里对启动终点定义是第一个ca::transaction::commit()。","里的","里,对应会有一些地方读取这些注册的数据,如果在","重启手机","链接","闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:","需要的信息。","需要的信息,如","静态初始化是从哪来的呢?以下几种代码会导致静态初始化","首帧渲染是基于",";邮件标题:"]},"length":73},"tokenStore":{"root":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"2":{"docs":{},"b":{"docs":{},"d":{"8":{"0":{"7":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"3":{"1":{"1":{"3":{"docs":{},"f":{"6":{"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.017191977077363897}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},",":{"docs":{},"则":{"docs":{},"数":{"docs":{},"组":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"任":{"docs":{},"何":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"返":{"docs":{},"回":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}},"1":{"4":{"0":{"1":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"3":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},",":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}},"、":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"2":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.012857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.013740458015267175}},"、":{"docs":{},"算":{"docs":{},"法":{"docs":{},"思":{"docs":{},"想":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"3":{"1":{"3":{"8":{"5":{"8":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"8":{"7":{"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},",":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}},"、":{"docs":{},"算":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"4":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"5":{"docs":{},".":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"6":{"docs":{},".":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.009970089730807577},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.008084074373484237},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.004580152671755725},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"b":{"1":{"1":{"1":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}},"docs":{},"表":{"docs":{},"示":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"占":{"8":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}},"docs":{}},"1":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"2":{"9":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"3":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"8":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"docs":{}},"1":{"0":{"9":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"4":{"9":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"2":{"1":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"5":{"1":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}},"1":{"2":{"docs":{},"c":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"5":{"2":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"9":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{},"a":{"5":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"2":{"0":{"docs":{},"e":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"2":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"4":{"docs":{},"a":{"9":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"6":{"docs":{},"e":{"3":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"7":{"docs":{},"a":{"3":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"docs":{},"a":{"5":{"0":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"docs":{}},"docs":{}},"d":{"5":{"6":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}},"docs":{}},"e":{"7":{"6":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"1":{"0":{"4":{"9":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"9":{"0":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"2":{"9":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"5":{"docs":{},"c":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}},"docs":{},"a":{"docs":{},"d":{"7":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}}},"2":{"docs":{},"d":{"8":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"3":{"docs":{},"e":{"1":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"4":{"1":{"docs":{},"e":{"docs":{},"f":{"7":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}},"docs":{}},"5":{"3":{"docs":{},"a":{"4":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"docs":{},"a":{"docs":{},"f":{"7":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}}},"7":{"1":{"6":{"9":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"1":{"2":{"9":{"2":{"8":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"7":{"docs":{},"e":{"docs":{},"b":{"docs":{},"c":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},",":{"docs":{},"而":{"docs":{},"二":{"docs":{},"者":{"docs":{},"相":{"docs":{},"加":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"正":{"docs":{},"好":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"1":{"0":{"0":{"0":{"0":{"2":{"1":{"docs":{},"b":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996}},",":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"docs":{}}},"2":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"3":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"8":{"0":{"docs":{},"d":{"7":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}},"docs":{}}},"1":{"docs":{},"d":{"4":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"3":{"7":{"docs":{},"a":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"docs":{}},"9":{"docs":{},"e":{"5":{"1":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"e":{"0":{"4":{"0":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}},"docs":{}},"7":{"2":{"4":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"f":{"7":{"6":{"docs":{},"d":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"docs":{}},"docs":{}}},"8":{"0":{"5":{"docs":{},"e":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"6":{"5":{"docs":{},"c":{"2":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"docs":{}},"1":{"6":{"0":{"0":{"0":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"docs":{}},"docs":{}},"docs":{}},"7":{"0":{"0":{"0":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"7":{"4":{"docs":{},"d":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"docs":{},"b":{"docs":{},"f":{"6":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"c":{"0":{"docs":{},"b":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}}},"8":{"9":{"6":{"2":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"docs":{},"c":{"0":{"0":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"1":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"d":{"2":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"e":{"7":{"docs":{},"f":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"8":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"d":{"docs":{},"c":{"9":{"8":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}}},"9":{"0":{"docs":{},"a":{"1":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"c":{"4":{"9":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{},"a":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"6":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{},"b":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"e":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}}},"docs":{}},"docs":{},"a":{"3":{"5":{"docs":{},"e":{"6":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"docs":{}},"4":{"6":{"7":{"6":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{},"a":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"8":{"8":{"8":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"a":{"2":{"4":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"5":{"4":{"7":{"4":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"docs":{},"a":{"4":{"2":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"7":{"1":{"docs":{},"e":{"6":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},"c":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}}}}},"1":{"0":{"docs":{},"。":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"7":{"7":{"1":{"8":{"docs":{},"a":{"3":{"docs":{},",":{"0":{"docs":{},"x":{"1":{"0":{"1":{"7":{"7":{"1":{"8":{"docs":{},"a":{"3":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"1":{"1":{"3":{"docs":{},"f":{"6":{"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}},"docs":{}},"3":{"docs":{},"b":{"docs":{},"b":{"8":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},",":{"docs":{},"加":{"docs":{},"上":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"docs":{}},"7":{"9":{"docs":{},"是":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"i":{"docs":{},"i":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"y":{"docs":{},"字":{"docs":{},"符":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{},"a":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"7":{"9":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"c":{"docs":{},"b":{"4":{"7":{"docs":{},"b":{"8":{"docs":{},"d":{"9":{"8":{"docs":{},"a":{"2":{"docs":{},"f":{"docs":{},"a":{"1":{"5":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"在":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"\\":{"docs":{},"w":{"docs":{},"{":{"9":{"docs":{},"}":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}},"docs":{}}}}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.005089058524173028},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004850444624090542},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"获":{"docs":{},"取":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},".":{"0":{"1":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"docs":{}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"行":{"docs":{},"为":{"docs":{},"叫":{"docs":{},"做":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"s":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"1":{"0":{"0":{"0":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"%":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"3":{"4":{"2":{"7":{"9":{"docs":{},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},".":{"0":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"找":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"3":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"因":{"docs":{},"为":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"都":{"docs":{},"是":{"docs":{},"值":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"是":{"docs":{},"将":{"docs":{},"此":{"docs":{},"时":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"的":{"docs":{},"值":{"1":{"0":{"docs":{},"传":{"docs":{},"给":{"docs":{},"了":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"会":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"成":{"1":{"0":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"⽤":{"docs":{},"到":{"docs":{},"上":{"docs":{},"⾯":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"先":{"docs":{},"将":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"修":{"docs":{},"改":{"docs":{},"成":{"docs":{},"了":{"2":{"0":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"时":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"会":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"结":{"docs":{},"果":{"docs":{},"呢":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.007976071784646061}}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},":":{"1":{"8":{"docs":{},":":{"5":{"4":{"docs":{},".":{"2":{"5":{"2":{"9":{"4":{"9":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"1":{"1":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},".":{"0":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},",":{"docs":{},"即":{"docs":{},"指":{"docs":{},"向":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"2":{"1":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"3":{"4":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"执":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}},".":{"0":{"docs":{},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}}}}},"3":{"5":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"下":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"4":{"4":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"5":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"5":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"%":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"6":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}},"k":{"docs":{},",":{"6":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"7":{"7":{"7":{"docs":{},".":{"6":{"8":{"4":{"8":{"1":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"3":{"docs":{},".":{"5":{"4":{"4":{"9":{"2":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"}":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},":":{"2":{"8":{"docs":{},":":{"0":{"0":{"docs":{},".":{"5":{"1":{"9":{"8":{"6":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"0":{"3":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"7":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"3":{"9":{"docs":{},":":{"1":{"0":{"docs":{},".":{"3":{"5":{"4":{"0":{"5":{"0":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"2":{"3":{"7":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"3":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"7":{"4":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"5":{"7":{"docs":{},":":{"3":{"3":{"docs":{},".":{"3":{"0":{"5":{"6":{"5":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"9":{"5":{"0":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"6":{"4":{"7":{"6":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"8":{"2":{"8":{"docs":{},".":{"9":{"5":{"3":{"8":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"0":{"docs":{},".":{"6":{"1":{"4":{"9":{"9":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"5":{"docs":{},".":{"1":{"4":{"6":{"7":{"2":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"7":{"docs":{},".":{"7":{"2":{"3":{"8":{"7":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},":":{"1":{"7":{"docs":{},":":{"1":{"2":{"docs":{},".":{"0":{"3":{"4":{"3":{"9":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"5":{"5":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"9":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"6":{"2":{"7":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"8":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"9":{"0":{"docs":{},"d":{"docs":{},"e":{"0":{"docs":{},"c":{"docs":{},"a":{"8":{"5":{"docs":{},"c":{"1":{"6":{"docs":{},"a":{"docs":{},"e":{"docs":{},"f":{"7":{"4":{"docs":{},"c":{"4":{"9":{"0":{"1":{"2":{"7":{"docs":{},"b":{"9":{"4":{"docs":{},"f":{"docs":{},"a":{"8":{"docs":{},"f":{"docs":{},"f":{"0":{"4":{"docs":{},"e":{"1":{"6":{"8":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}}}},"3":{"4":{"docs":{},".":{"8":{"7":{"3":{"0":{"4":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"6":{"docs":{},".":{"4":{"5":{"8":{"9":{"8":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"6":{"docs":{},".":{"9":{"6":{"9":{"9":{"7":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},":":{"4":{"4":{"docs":{},":":{"4":{"6":{"docs":{},".":{"0":{"0":{"3":{"3":{"1":{"3":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"4":{"4":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.012987012987012988},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.02745995423340961},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},".":{"0":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.008865248226950355}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"(":{"1":{"9":{"9":{"6":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"2":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"3":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"4":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"5":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{"./":{"ref":"./","tf":0.027777777777777776},"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.02631578947368421},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"+":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"管":{"docs":{},"理":{"docs":{},"之":{"docs":{},"揭":{"docs":{},"秘":{"docs":{},"计":{"docs":{},"数":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}},"特":{"docs":{},"有":{"docs":{},"概":{"docs":{},"念":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"带":{"docs":{},"你":{"docs":{},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"加":{"docs":{},"载":{"docs":{},"某":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"探":{"docs":{},"索":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"存":{"docs":{},"在":{"docs":{},"什":{"docs":{},"么":{"docs":{},"地":{"docs":{},"方":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}},"谜":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"及":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"会":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"前":{"docs":{},"世":{"docs":{},"今":{"docs":{},"生":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"或":{"docs":{},"者":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"也":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"3":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"6":{"0":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"docs":{}},"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"从":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"到":{"docs":{},"完":{"docs":{},"成":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"c":{"docs":{},"p":{"docs":{},"面":{"docs":{},"向":{"docs":{},"连":{"docs":{},"接":{"docs":{},"(":{"docs":{},"如":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"要":{"docs":{},"先":{"docs":{},"拨":{"docs":{},"号":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},")":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"是":{"docs":{},"无":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"之":{"docs":{},"前":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"在":{"docs":{},"于":{"docs":{},"底":{"docs":{},"层":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"张":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"所":{"docs":{},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"、":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"、":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"配":{"docs":{},"置":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"界":{"docs":{},"面":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"的":{"docs":{},"实":{"docs":{},"质":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"a":{"docs":{},"v":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仅":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"要":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"大":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"发":{"docs":{},"送":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},"需":{"docs":{},"要":{"docs":{},"到":{"docs":{},"c":{"docs":{},"a":{"docs":{},"申":{"docs":{},"请":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"免":{"docs":{},"费":{"docs":{},"证":{"docs":{},"书":{"docs":{},"较":{"docs":{},"少":{"docs":{},",":{"docs":{},"因":{"docs":{},"而":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"定":{"docs":{},"费":{"docs":{},"用":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"栈":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"时":{"docs":{},"令":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"等":{"docs":{},"于":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"s":{"1":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{}}}}}}}}}}}},"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"将":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"设":{"docs":{},"置":{"docs":{},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"。":{"docs":{},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"h":{"docs":{},"代":{"docs":{},"表":{"docs":{},"最":{"docs":{},"近":{"docs":{},"一":{"docs":{},"次":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"c":{"docs":{},"代":{"docs":{},"表":{"docs":{},"当":{"docs":{},"前":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"时":{"docs":{},"令":{"docs":{},"h":{"docs":{},"为":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"c":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"栈":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}},"具":{"docs":{},"有":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},"特":{"docs":{},"点":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}},")":{"docs":{},"代":{"docs":{},"理":{"docs":{},"负":{"docs":{},"责":{"docs":{},"生":{"docs":{},"产":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"其":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"优":{"docs":{},"先":{"docs":{},"存":{"docs":{},"在":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"大":{"docs":{},"于":{"5":{"2":{"4":{"2":{"8":{"8":{"docs":{},"便":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"4":{"4":{"3":{"docs":{},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},">":{"0":{"docs":{},"时":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"树":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"叶":{"docs":{},"子":{"docs":{},"只":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"最":{"docs":{},"下":{"docs":{},"一":{"docs":{},"层":{"docs":{},"。":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"其":{"docs":{},"它":{"docs":{},"层":{"docs":{},"就":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"达":{"docs":{},"成":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"点":{"docs":{},"只":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"最":{"docs":{},"下":{"docs":{},"层":{"docs":{},"和":{"docs":{},"次":{"docs":{},"下":{"docs":{},"层":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"第":{"docs":{},"i":{"docs":{},"层":{"docs":{},"上":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"2":{"docs":{},"(":{"docs":{},"i":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"docs":{}}}}}}}}}}}}},"已":{"docs":{},"知":{"docs":{},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"且":{"docs":{},"仅":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"称":{"docs":{},"为":{"docs":{},"根":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"docs":{},"两":{"docs":{},"颗":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"度":{"docs":{},"大":{"docs":{},"于":{"2":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.023255813953488372}},"生":{"docs":{},"成":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"没":{"docs":{},"有":{"docs":{},"“":{"docs":{},"完":{"docs":{},"全":{"docs":{},"替":{"docs":{},"换":{"docs":{},"掉":{"docs":{},"”":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"和":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"都":{"docs":{},"有":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"附":{"docs":{},"加":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"会":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"附":{"docs":{},"加":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"到":{"docs":{},"类":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"会":{"docs":{},"先":{"docs":{},"于":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"类":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"/":{"2":{"docs":{},"加":{"docs":{},"上":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.024793388429752067},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.046511627906976744}}},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},")":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"再":{"docs":{},"加":{"docs":{},"上":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"2":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"进":{"docs":{},"位":{"docs":{},"/":{"docs":{},"借":{"docs":{},"位":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"但":{"docs":{},"是":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"之":{"docs":{},"后":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"为":{"0":{"docs":{},"不":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"进":{"docs":{},"入":{"docs":{},"i":{"docs":{},"=":{"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}}}}}}}},"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"不":{"docs":{},"行":{"docs":{},",":{"docs":{},"给":{"docs":{},"我":{"docs":{},"调":{"docs":{},"整":{"docs":{},"!":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"还":{"docs":{},"算":{"docs":{},"平":{"docs":{},"衡":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.029911075181891674},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},",":{"2":{"docs":{},"s":{"docs":{},",":{"4":{"docs":{},"s":{"docs":{},",":{"8":{"docs":{},"s":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"docs":{}}}},"docs":{}}}},"docs":{}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"去":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},"+":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"、":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{},"(":{"docs":{},"k":{"docs":{},">":{"docs":{},"=":{"1":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}}}}}}}},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},"为":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},",":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{},"…":{"docs":{},"n":{"docs":{},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"后":{"docs":{},"移":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"a":{"docs":{},"[":{"docs":{},"j":{"docs":{},"]":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"−":{"1":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}}}}}}}}}},")":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"折":{"docs":{},"半":{"docs":{},",":{"docs":{},"先":{"docs":{},"跟":{"docs":{},"他":{"docs":{},"们":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"比":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"小":{"docs":{},",":{"docs":{},"则":{"docs":{},"对":{"docs":{},"前":{"docs":{},"半":{"docs":{},"再":{"docs":{},"进":{"docs":{},"行":{"docs":{},"折":{"docs":{},"半":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"对":{"docs":{},"后":{"docs":{},"半":{"docs":{},"进":{"docs":{},"行":{"docs":{},"折":{"docs":{},"半":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"−":{"1":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"docs":{}}},"}":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"\\":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"c":{"docs":{},"b":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"f":{"docs":{},"f":{"docs":{},"d":{"3":{"3":{"2":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}}}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{},"低":{"docs":{},"于":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"5":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"7":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"docs":{}},"1":{"0":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"1":{"0":{"3":{"docs":{},"l":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}},"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}}},"4":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"6":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"7":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"8":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"9":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.012857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.013740458015267175},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"2":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"5":{"0":{"docs":{},".":{"6":{"5":{"5":{"7":{"6":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"7":{"docs":{},".":{"8":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}},"7":{"5":{"docs":{},".":{"9":{"7":{"8":{"0":{"2":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}},"1":{"4":{"7":{"4":{"8":{"3":{"6":{"4":{"7":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"最":{"docs":{},"低":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"其":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"子":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"创":{"docs":{},"建":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"前":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"5":{"docs":{},".":{"6":{"0":{"1":{"0":{"7":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"8":{"docs":{},".":{"3":{"2":{"4":{"9":{"5":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"8":{"docs":{},".":{"9":{"1":{"5":{"0":{"3":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"2":{"1":{"8":{"docs":{},".":{"1":{"4":{"1":{"1":{"1":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"3":{"7":{"docs":{},".":{"2":{"5":{"8":{"0":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"3":{"docs":{},".":{"8":{"3":{"7":{"1":{"5":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"1":{"docs":{},".":{"4":{"4":{"7":{"9":{"9":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},".":{"0":{"3":{"3":{"9":{"3":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"4":{"docs":{},".":{"2":{"0":{"6":{"0":{"5":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"3":{"0":{"2":{"docs":{},".":{"8":{"4":{"3":{"7":{"5":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},".":{"2":{"7":{"0":{"2":{"6":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"2":{"2":{"docs":{},".":{"4":{"6":{"5":{"0":{"8":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"3":{"3":{"docs":{},".":{"1":{"0":{"5":{"9":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"0":{"docs":{},".":{"7":{"4":{"2":{"9":{"2":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"2":{"docs":{},".":{"5":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}}},"7":{"docs":{},".":{"5":{"0":{"8":{"7":{"8":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},".":{"9":{"3":{"3":{"3":{"5":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"7":{"1":{"docs":{},".":{"0":{"4":{"9":{"8":{"0":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"7":{"docs":{},".":{"9":{"0":{"6":{"2":{"5":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"2":{"docs":{},".":{"4":{"1":{"2":{"8":{"4":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},".":{"4":{"2":{"2":{"8":{"5":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},".":{"6":{"9":{"5":{"0":{"6":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"4":{"2":{"4":{"docs":{},".":{"2":{"1":{"3":{"1":{"3":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"5":{"docs":{},".":{"0":{"0":{"7":{"8":{"1":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.015772870662460567}}},"5":{"3":{"8":{"docs":{},".":{"3":{"8":{"1":{"8":{"3":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"2":{"docs":{},".":{"8":{"2":{"9":{"8":{"3":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},"6":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"6":{"3":{"9":{"docs":{},".":{"9":{"3":{"3":{"1":{"0":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"5":{"9":{"docs":{},".":{"6":{"4":{"0":{"6":{"2":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},".":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"7":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.012857142857142857},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.013740458015267175}}},"8":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"变":{"docs":{},"成":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}}},"9":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},".":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"“":{"docs":{},"一":{"docs":{},"些":{"docs":{},"”":{"docs":{},"对":{"docs":{},"象":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"空":{"docs":{},"间":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"它":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"》":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},",":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"(":{"2":{"0":{"0":{"4":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"1":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},".":{"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"2":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},".":{"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"2":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"3":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"4":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"5":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{}}},"3":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"4":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"5":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"6":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992}}}},"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"3":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"4":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"5":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"6":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"7":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"原":{"docs":{},"理":{"docs":{},"总":{"docs":{},"结":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"o":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"基":{"docs":{},"础":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"回":{"docs":{},"调":{"docs":{},"又":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"将":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"封":{"docs":{},"装":{"docs":{},"成":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"将":{"docs":{},"正":{"docs":{},"式":{"docs":{},"开":{"docs":{},"始":{"docs":{},"对":{"docs":{},"于":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"创":{"docs":{},"建":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}},"分":{"docs":{},"类":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"绑":{"docs":{},"定":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"只":{"docs":{},"存":{"docs":{},"在":{"docs":{},"父":{"docs":{},"类":{"docs":{},"么":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"子":{"docs":{},"类":{"docs":{},"也":{"docs":{},"会":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"同":{"docs":{},"步":{"docs":{},"和":{"docs":{},"异":{"docs":{},"步":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"检":{"docs":{},"测":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"在":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},":":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"总":{"docs":{},"结":{"docs":{},"就":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"都":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"回":{"docs":{},"调":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"当":{"docs":{},"前":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"x":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"在":{"docs":{},"适":{"docs":{},"配":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"有":{"docs":{},"些":{"docs":{},"现":{"docs":{},"存":{"docs":{},"接":{"docs":{},"口":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"降":{"docs":{},"级":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"将":{"docs":{},"会":{"docs":{},"特":{"docs":{},"别":{"docs":{},"慢":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"针":{"docs":{},"对":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"c":{"docs":{},"p":{"docs":{},"提":{"docs":{},"供":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"传":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"无":{"docs":{},"差":{"docs":{},"错":{"docs":{},",":{"docs":{},"不":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"不":{"docs":{},"重":{"docs":{},"复":{"docs":{},",":{"docs":{},"且":{"docs":{},"按":{"docs":{},"序":{"docs":{},"到":{"docs":{},"达":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"尽":{"docs":{},"最":{"docs":{},"大":{"docs":{},"努":{"docs":{},"力":{"docs":{},"交":{"docs":{},"付":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"保":{"docs":{},"证":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"交":{"docs":{},"付":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},":":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"、":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"docs":{}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"时":{"docs":{},"机":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"作":{"docs":{},"为":{"docs":{},"中":{"docs":{},"间":{"docs":{},"者":{"docs":{},",":{"docs":{},"代":{"docs":{},"替":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"再":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"待":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"大":{"docs":{},"于":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"最":{"docs":{},"大":{"docs":{},"报":{"docs":{},"文":{"docs":{},"长":{"docs":{},"度":{"docs":{},")":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"前":{"docs":{},"将":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"是":{"docs":{},"超":{"docs":{},"文":{"docs":{},"本":{"docs":{},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"明":{"docs":{},"文":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"则":{"docs":{},"是":{"docs":{},"具":{"docs":{},"有":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"记":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"先":{"docs":{},"把":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"先":{"docs":{},"把":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"压":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"以":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"为":{"docs":{},"头":{"docs":{},"的":{"docs":{},"整":{"docs":{},"棵":{"docs":{},"子":{"docs":{},"树":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"把":{"docs":{},"整":{"docs":{},"棵":{"docs":{},"树":{"docs":{},"的":{"docs":{},"左":{"docs":{},"边":{"docs":{},"界":{"docs":{},"压":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"中":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"断":{"docs":{},"令":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"令":{"docs":{},"c":{"docs":{},"等":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"分":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"至":{"docs":{},"多":{"docs":{},"等":{"docs":{},"于":{"1":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"的":{"docs":{},";":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}},")":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"把":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"有":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"公":{"docs":{},"钥":{"docs":{},",":{"docs":{},"网":{"docs":{},"站":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"机":{"docs":{},"构":{"docs":{},",":{"docs":{},"失":{"docs":{},"效":{"docs":{},"日":{"docs":{},"期":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"由":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"持":{"docs":{},"有":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},">":{"0":{"docs":{},"时":{"docs":{},",":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{},"没":{"docs":{},"有":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"们":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"交":{"docs":{},"的":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"如":{"docs":{},"果":{"docs":{},"深":{"docs":{},"度":{"docs":{},"为":{"docs":{},"k":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"2":{"docs":{},"(":{"docs":{},"k":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}}}}}}}}}}}}}}}},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"是":{"docs":{},"有":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"次":{"docs":{},"序":{"docs":{},"不":{"docs":{},"能":{"docs":{},"任":{"docs":{},"意":{"docs":{},"颠":{"docs":{},"倒":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"知":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"n":{"docs":{},">":{"1":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"余":{"docs":{},"结":{"docs":{},"点":{"docs":{},"可":{"docs":{},"分":{"docs":{},"为":{"docs":{},"m":{"docs":{},"(":{"docs":{},"m":{"docs":{},">":{"0":{"docs":{},")":{"docs":{},"个":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"交":{"docs":{},"的":{"docs":{},"有":{"docs":{},"限":{"docs":{},"集":{"docs":{},"t":{"1":{"docs":{},"、":{"docs":{},"t":{"2":{"docs":{},"、":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"、":{"docs":{},"t":{"docs":{},"n":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"合":{"docs":{},"本":{"docs":{},"身":{"docs":{},"又":{"docs":{},"是":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"树":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"称":{"docs":{},"为":{"docs":{},"根":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"docs":{}}}},"最":{"docs":{},"下":{"docs":{},"层":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"集":{"docs":{},"中":{"docs":{},"在":{"docs":{},"树":{"docs":{},"的":{"docs":{},"左":{"docs":{},"部":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"非":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"度":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"2":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"绑":{"docs":{},"定":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"而":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"后":{"docs":{},"面":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"平":{"docs":{},"常":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"“":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"”":{"docs":{},"掉":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"要":{"docs":{},"一":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"罢":{"docs":{},"休":{"docs":{},",":{"docs":{},"殊":{"docs":{},"不":{"docs":{},"知":{"docs":{},"后":{"docs":{},"面":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"样":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"父":{"docs":{},"类":{"docs":{},"先":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"子":{"docs":{},"类":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"分":{"docs":{},"类":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"先":{"docs":{},"类":{"docs":{},",":{"docs":{},"后":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"编":{"docs":{},"译":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"么":{"docs":{},"些":{"docs":{},"个":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"咋":{"docs":{},"样":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728}}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"版":{"docs":{},"本":{"docs":{},"低":{"docs":{},"于":{"1":{"0":{"docs":{},".":{"1":{"1":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"若":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"、":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"i":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"+":{"1":{"docs":{},">":{"docs":{},"n":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"无":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},">":{"docs":{},"n":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"无":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"\\":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"3":{"0":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"m":{"docs":{},"s":{"docs":{},",":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"是":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"、":{"4":{"0":{"0":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"1":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"2":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},":":{"docs":{},"内":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"中":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},";":{"docs":{},"外":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}}},"3":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"4":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"5":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"7":{"9":{"docs":{},".":{"5":{"0":{"2":{"9":{"3":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}},"8":{"2":{"docs":{},".":{"0":{"0":{"0":{"2":{"4":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{},".":{"8":{"9":{"7":{"9":{"4":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"9":{"docs":{},".":{"6":{"6":{"9":{"9":{"2":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.024822695035460994},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},".":{"0":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.01950354609929078}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"1":{"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}},"2":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},",":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"4":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"5":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"6":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"7":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},".":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"8":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},".":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"4":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"5":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"6":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"内":{"docs":{},"联":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"与":{"docs":{},"宏":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"回":{"docs":{},"调":{"docs":{},"内":{"docs":{},"部":{"docs":{},"将":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"。":{"docs":{},"事":{"docs":{},"件":{"docs":{},"出":{"docs":{},"队":{"docs":{},"后":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"开":{"docs":{},"始":{"docs":{},"一":{"docs":{},"个":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"又":{"docs":{},"称":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"i":{"docs":{},"o":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}},"将":{"docs":{},"合":{"docs":{},"并":{"docs":{},"后":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"类":{"docs":{},"原":{"docs":{},"来":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"与":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"和":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"锁":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"就":{"docs":{},"算":{"docs":{},"插":{"docs":{},"入":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"也":{"docs":{},"没":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"面":{"docs":{},"会":{"docs":{},"清":{"docs":{},"空":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"切":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"错":{"docs":{},"误":{"docs":{},"请":{"docs":{},"求":{"docs":{},"从":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"下":{"docs":{},"载":{"docs":{},"好":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"周":{"docs":{},"期":{"docs":{},"会":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"c":{"docs":{},"p":{"docs":{},"面":{"docs":{},"向":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"把":{"docs":{},"数":{"docs":{},"据":{"docs":{},"看":{"docs":{},"成":{"docs":{},"一":{"docs":{},"连":{"docs":{},"串":{"docs":{},"无":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"是":{"docs":{},"面":{"docs":{},"向":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"函":{"docs":{},"数":{"docs":{},"根":{"docs":{},"据":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"获":{"docs":{},"取":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"这":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"把":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"从":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"清":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"加":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"综":{"docs":{},"合":{"docs":{},"存":{"docs":{},"储":{"docs":{},"图":{"docs":{},"片":{"docs":{},"并":{"docs":{},"且":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"期":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"过":{"docs":{},"程":{"docs":{},"停":{"docs":{},"止":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"不":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"要":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"小":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"发":{"docs":{},"送":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"将":{"docs":{},"多":{"docs":{},"次":{"docs":{},"写":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"一":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"出":{"docs":{},"去":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"用":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"也":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"是":{"8":{"0":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"是":{"4":{"4":{"3":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"断":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"发":{"docs":{},"现":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{},"打":{"docs":{},"印":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"让":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"继":{"docs":{},"续":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"从":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"放":{"docs":{},"进":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"s":{"2":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"打":{"docs":{},"印":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"先":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"是":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"的":{"docs":{},"空":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"读":{"docs":{},"取":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"含":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"段":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"、":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},")":{"docs":{},"验":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"n":{"0":{"docs":{},"=":{"docs":{},"n":{"2":{"docs":{},"+":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"docs":{}}}},"docs":{}},"倒":{"docs":{},"数":{"docs":{},"第":{"docs":{},"二":{"docs":{},"层":{"docs":{},"若":{"docs":{},"存":{"docs":{},"在":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"在":{"docs":{},"右":{"docs":{},"部":{"docs":{},"连":{"docs":{},"续":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"使":{"docs":{},"树":{"docs":{},"中":{"docs":{},"某":{"docs":{},"结":{"docs":{},"点":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"也":{"docs":{},"要":{"docs":{},"区":{"docs":{},"分":{"docs":{},"它":{"docs":{},"是":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"还":{"docs":{},"是":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"同":{"docs":{},"样":{"docs":{},"深":{"docs":{},"度":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"个":{"docs":{},"数":{"docs":{},"最":{"docs":{},"多":{"docs":{},",":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"数":{"docs":{},"最":{"docs":{},"多":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}},",":{"docs":{},"最":{"docs":{},"终":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"?":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"理":{"docs":{},"由":{"docs":{},"有":{"docs":{},"三":{"docs":{},"点":{"docs":{},":":{"docs":{},"性":{"docs":{},"能":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"和":{"docs":{},"可":{"docs":{},"测":{"docs":{},"试":{"docs":{},"性":{"docs":{},"。":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"4":{"0":{"0":{"docs":{},"m":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"7":{"docs":{},".":{"4":{"3":{"6":{"0":{"3":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"9":{"5":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},"6":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"资":{"docs":{},"源":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"不":{"docs":{},"要":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"尺":{"docs":{},"寸":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},".":{"0":{"4":{"2":{"9":{"6":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"2":{"0":{"0":{"9":{"2":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"c":{"9":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}},"1":{"9":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"关":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"docs":{}},"2":{"1":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},".":{"7":{"8":{"0":{"7":{"6":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{},".":{"4":{"0":{"8":{"6":{"9":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"c":{"docs":{},"e":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}},"3":{"5":{"docs":{},".":{"4":{"7":{"6":{"3":{"1":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"9":{"docs":{},".":{"6":{"6":{"6":{"0":{"1":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"f":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"4":{"0":{"docs":{},".":{"3":{"3":{"0":{"8":{"1":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"1":{"docs":{},".":{"0":{"5":{"3":{"9":{"5":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"3":{"docs":{},".":{"1":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"9":{"0":{"1":{"8":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},"f":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"5":{"3":{"docs":{},".":{"9":{"2":{"4":{"0":{"7":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"7":{"8":{"docs":{},".":{"4":{"4":{"7":{"9":{"9":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}},"9":{"docs":{},"c":{"docs":{},"c":{"9":{"docs":{},"c":{"docs":{},"c":{"8":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}}}}},"docs":{}}}},"docs":{}}}},"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"]":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}}}},"8":{"docs":{},".":{"4":{"2":{"5":{"0":{"4":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"4":{"0":{"6":{"2":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"f":{"docs":{},"f":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"9":{"0":{"docs":{},".":{"6":{"1":{"4":{"0":{"1":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},".":{"1":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"4":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"5":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"4":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"5":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"单":{"docs":{},"链":{"docs":{},"表":{"docs":{},"与":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"结":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}},"寻":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"后":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"便":{"docs":{},"是":{"docs":{},"事":{"docs":{},"件":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"及":{"docs":{},"响":{"docs":{},"应":{"docs":{},"了":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"详":{"docs":{},"见":{"docs":{},"[":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"及":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"]":{"docs":{},"一":{"docs":{},"节":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"除":{"docs":{},"了":{"docs":{},"被":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"消":{"docs":{},"耗":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"被":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"或":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"进":{"docs":{},"程":{"docs":{},"与":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"图":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"锁":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"=":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"从":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"过":{"docs":{},"程":{"docs":{},"详":{"docs":{},"解":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"启":{"docs":{},"用":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"或":{"docs":{},"者":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},")":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"节":{"docs":{},"省":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"通":{"docs":{},"常":{"docs":{},"直":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"去":{"docs":{},"解":{"docs":{},"码":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"你":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"、":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"这":{"docs":{},"样":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"结":{"docs":{},"束":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"多":{"docs":{},"核":{"docs":{},"设":{"docs":{},"备":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"图":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{},"端":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"没":{"docs":{},"有":{"docs":{},"及":{"docs":{},"时":{"docs":{},"读":{"docs":{},"取":{"docs":{},"接":{"docs":{},"收":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"将":{"docs":{},"发":{"docs":{},"生":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"是":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},";":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},"是":{"docs":{},"由":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"+":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"可":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"输":{"docs":{},"、":{"docs":{},"身":{"docs":{},"份":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"比":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"条":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"只":{"docs":{},"能":{"docs":{},"是":{"docs":{},"点":{"docs":{},"到":{"docs":{},"点":{"docs":{},"的":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"和":{"docs":{},"多":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"断":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"和":{"docs":{},"步":{"docs":{},"骤":{"3":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"1":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"过":{"docs":{},"程":{"docs":{},"停":{"docs":{},"止":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"docs":{}}}}}},"docs":{}}}}},"3":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"全":{"docs":{},"部":{"docs":{},"过":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"为":{"docs":{},"空":{"docs":{},"时":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"不":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"红":{"docs":{},"色":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"被":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"节":{"docs":{},"点":{"docs":{},"隔":{"docs":{},"开":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"=":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"到":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"中":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"、":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"k":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},")":{"docs":{},"生":{"docs":{},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"密":{"docs":{},"码":{"docs":{},"(":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"在":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"具":{"docs":{},"有":{"docs":{},"n":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"深":{"docs":{},"度":{"docs":{},"为":{"docs":{},"[":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},"]":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"[":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},"]":{"docs":{},"是":{"docs":{},"向":{"docs":{},"下":{"docs":{},"取":{"docs":{},"整":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"结":{"docs":{},"点":{"docs":{},"度":{"docs":{},"为":{"1":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"只":{"docs":{},"有":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"即":{"docs":{},"没":{"docs":{},"有":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"~":{"4":{"7":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"docs":{}},"docs":{}},"d":{"6":{"9":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{}},"e":{"8":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}},"docs":{}}},"5":{"0":{"8":{"docs":{},".":{"4":{"9":{"9":{"0":{"2":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"4":{"0":{"3":{"3":{"2":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"%":{"docs":{},"+":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"1":{"5":{"docs":{},".":{"5":{"1":{"3":{"9":{"1":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"2":{"7":{"0":{"0":{"2":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"6":{"3":{"7":{"7":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"2":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"3":{"docs":{},".":{"3":{"1":{"3":{"9":{"6":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},".":{"6":{"3":{"5":{"0":{"1":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"8":{"3":{"7":{"8":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},".":{"7":{"4":{"9":{"7":{"5":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},".":{"1":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}}},"7":{"0":{"4":{"2":{"5":{"3":{"4":{"4":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"6":{"3":{"7":{"2":{"0":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},".":{"9":{"1":{"3":{"8":{"1":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"9":{"8":{"docs":{},".":{"5":{"7":{"1":{"7":{"7":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"4":{"8":{"4":{"8":{"6":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"docs":{},")":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"历":{"docs":{},"经":{"docs":{},"坎":{"docs":{},"坷":{"docs":{},"后":{"docs":{},"要":{"docs":{},"么":{"docs":{},"被":{"docs":{},"某":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"对":{"docs":{},"象":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"后":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"致":{"docs":{},"死":{"docs":{},"也":{"docs":{},"没":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"至":{"docs":{},"此":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"使":{"docs":{},"命":{"docs":{},"就":{"docs":{},"算":{"docs":{},"终":{"docs":{},"结":{"docs":{},"了":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"若":{"docs":{},"没":{"docs":{},"有":{"docs":{},"其":{"docs":{},"他":{"docs":{},"事":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"也":{"docs":{},"将":{"docs":{},"重":{"docs":{},"归":{"docs":{},"于":{"docs":{},"眠":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"新":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"后":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"设":{"docs":{},"置":{"docs":{},"指":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.01131770412287793},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},":":{"docs":{},"某":{"docs":{},"些":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"、":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"首":{"docs":{},"部":{"docs":{},"开":{"docs":{},"销":{"2":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"的":{"docs":{},"首":{"docs":{},"部":{"docs":{},"开":{"docs":{},"销":{"docs":{},"小":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"8":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"从":{"docs":{},"s":{"2":{"docs":{},"中":{"docs":{},"依":{"docs":{},"次":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"节":{"docs":{},"点":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"就":{"docs":{},"是":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"了":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"从":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"到":{"docs":{},"达":{"docs":{},"其":{"docs":{},"可":{"docs":{},"达":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"都":{"docs":{},"包":{"docs":{},"含":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"目":{"docs":{},"的":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"c":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},")":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"同":{"docs":{},"样":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"目":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"深":{"docs":{},"度":{"docs":{},"最":{"docs":{},"小":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"对":{"docs":{},"含":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"d":{"0":{"5":{"6":{"0":{"9":{"docs":{},"b":{"3":{"8":{"3":{"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},"c":{"5":{"docs":{},"f":{"9":{"docs":{},"f":{"3":{"6":{"docs":{},"f":{"6":{"5":{"docs":{},"d":{"docs":{},"e":{"0":{"docs":{},"d":{"7":{"docs":{},"d":{"7":{"docs":{},"d":{"3":{"docs":{},"d":{"docs":{},"f":{"9":{"1":{"docs":{},"c":{"docs":{},"e":{"6":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"b":{"3":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}},"docs":{}},"f":{"6":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}}},"6":{"0":{"0":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}}}},"3":{"1":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{},"之":{"docs":{},"间":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"取":{"docs":{},"到":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"1":{"5":{"2":{"8":{"3":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"9":{"7":{"8":{"5":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},".":{"1":{"5":{"0":{"1":{"4":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"2":{"docs":{},"b":{"docs":{},"a":{"docs":{},"f":{"1":{"8":{"6":{"0":{"1":{"docs":{},"e":{"docs":{},"e":{"docs":{},"c":{"docs":{},"f":{"4":{"2":{"5":{"2":{"1":{"docs":{},"a":{"1":{"3":{"6":{"1":{"docs":{},"a":{"8":{"8":{"1":{"5":{"5":{"7":{"6":{"docs":{},"b":{"docs":{},"c":{"8":{"docs":{},"e":{"docs":{},"b":{"5":{"5":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"docs":{}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},".":{"8":{"3":{"5":{"9":{"3":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"队":{"docs":{},"列":{"docs":{},"和":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"绘":{"docs":{},"图":{"docs":{},"(":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.007275666936135812},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},":":{"docs":{},"父":{"docs":{},"类":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"、":{"docs":{},"后":{"docs":{},"台":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"压":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"通":{"docs":{},"信":{"docs":{},"信":{"docs":{},"道":{"docs":{},"是":{"docs":{},"全":{"docs":{},"双":{"docs":{},"工":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"信":{"docs":{},"道":{"docs":{},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"则":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"信":{"docs":{},"道":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"还":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"可":{"docs":{},"变":{"docs":{},"字":{"docs":{},"典":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"s":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}},"a":{"docs":{},"e":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}}},"7":{"2":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}}}},"5":{"0":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"7":{"9":{"docs":{},".":{"0":{"2":{"8":{"8":{"0":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"8":{"docs":{},".":{"2":{"6":{"2":{"2":{"0":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},".":{"1":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"2":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"3":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"4":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"线":{"docs":{},"程":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"和":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"带":{"docs":{},"着":{"docs":{},"问":{"docs":{},"题":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},")":{"docs":{},"删":{"docs":{},"除":{"docs":{},"除":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"或":{"docs":{},"者":{"0":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}}},"、":{"docs":{},"确":{"docs":{},"保":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"不":{"docs":{},"会":{"docs":{},"下":{"docs":{},"载":{"docs":{},"多":{"docs":{},"次":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"8":{"5":{"6":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{}},"8":{"docs":{},"f":{"docs":{},"c":{"docs":{},"f":{"7":{"8":{"4":{"8":{"3":{"2":{"3":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},".":{"0":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}},"影":{"docs":{},"响":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"因":{"docs":{},"素":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"、":{"docs":{},"确":{"docs":{},"保":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"不":{"docs":{},"会":{"docs":{},"重":{"docs":{},"复":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"关":{"docs":{},"闭":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"a":{"1":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}},"docs":{}},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}},"9":{"0":{"docs":{},"%":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"1":{"9":{"3":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"3":{"docs":{},"%":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}},"a":{"8":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}},"4":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"6":{"9":{"2":{"0":{"docs":{},"d":{"1":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"a":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"8":{"docs":{},"f":{"7":{"docs":{},"b":{"5":{"docs":{},"b":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},".":{"0":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},".":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"比":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},")":{"docs":{},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"⼤":{"docs":{},"于":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"、":{"docs":{},"确":{"docs":{},"保":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"d":{"7":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"f":{"docs":{},"c":{"3":{"docs":{},"b":{"8":{"4":{"6":{"2":{"2":{"docs":{},"c":{"docs":{},"d":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"1":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{},"&":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.005952380952380952}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"&":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.009345794392523364},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.007543103448275862},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":2.0047846889952154},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":3.333333333333333},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"[":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},")":{"docs":{},"]":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"算":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"下":{"docs":{},"标":{"docs":{},",":{"docs":{},"再":{"docs":{},"返":{"docs":{},"回":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"v":{"docs":{},"[":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"c":{"docs":{},"+":{"1":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"docs":{}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"=":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"2":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"docs":{}}}}}},"c":{"1":{"docs":{},".":{"0":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"中":{"docs":{},"的":{"docs":{},"新":{"docs":{},"语":{"docs":{},"法":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"。":{"docs":{},"它":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.02066115702479339},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.02044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.00933609958506224},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.5089153046062407},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.027842227378190254},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.007936507936507936}},"作":{"docs":{},"为":{"docs":{},"m":{"docs":{},"和":{"docs":{},"v":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}},"则":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"及":{"docs":{},"时":{"docs":{},"提":{"docs":{},"交":{"docs":{},"相":{"docs":{},"应":{"docs":{},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"界":{"docs":{},"面":{"docs":{},"展":{"docs":{},"示":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"o":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"x":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}},":":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.006640106241699867}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"总":{"docs":{},"结":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},"是":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"(":{"docs":{},"字":{"docs":{},"典":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"[":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01929260450160772},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005387931034482759},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.008091706001348618},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.004830917874396135},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01188707280832095},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"s":{"docs":{},"”":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"标":{"docs":{},"记":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"i":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}},"r":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"v":{"7":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},",":{"docs":{},"上":{"docs":{},"传":{"docs":{},"后":{"docs":{},"会":{"docs":{},"对":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"段":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"加":{"docs":{},"密":{"docs":{},"会":{"docs":{},"减":{"docs":{},"弱":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"]":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"s":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.004830917874396135},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.014314928425357873},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"接":{"docs":{},"受":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"+":{"docs":{},"b":{"docs":{},")":{"docs":{},",":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"过":{"docs":{},"程":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.018306636155606407},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"提":{"docs":{},"交":{"docs":{},"位":{"docs":{},"图":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},")":{"docs":{},",":{"docs":{},"打":{"docs":{},"包":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"首":{"docs":{},"帧":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"数":{"docs":{},"据":{"docs":{},"打":{"docs":{},"包":{"docs":{},"发":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.011661807580174927}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"不":{"docs":{},"是":{"docs":{},"实":{"docs":{},"际":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"的":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},",":{"docs":{},"和":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"简":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"放":{"docs":{},"置":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"用":{"docs":{},"业":{"docs":{},"务":{"docs":{},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"合":{"docs":{},"并":{"1":{"docs":{},"、":{"2":{"docs":{},"的":{"docs":{},"纹":{"docs":{},"理":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"docs":{}}},"docs":{}}}}}}}},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}},"^":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"^":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"s":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"t":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"1":{"docs":{},"_":{"0":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.019230769230769232},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.011111111111111112},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"提":{"docs":{},"交":{"docs":{},"会":{"docs":{},"话":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"自":{"docs":{},"己":{"docs":{},"和":{"docs":{},"子":{"docs":{},"树":{"docs":{},"(":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"数":{"docs":{},"据":{"docs":{},"同":{"docs":{},"步":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.009259259259259259}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"s":{"docs":{},"+":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"如":{"docs":{},"同":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"得":{"docs":{},"已":{"docs":{},"只":{"docs":{},"能":{"docs":{},"另":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"是":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"地":{"docs":{},"控":{"docs":{},"制":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"和":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"巧":{"docs":{},"妙":{"docs":{},"避":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"如":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"边":{"docs":{},"框":{"docs":{},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"只":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"裁":{"docs":{},"掉":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"也":{"docs":{},"是":{"docs":{},"剪":{"docs":{},"切":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"纯":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"算":{"docs":{},"法":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"另":{"docs":{},"开":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"场":{"docs":{},"景":{"docs":{},"不":{"docs":{},"同":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"可":{"docs":{},"供":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"阅":{"docs":{},"读":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"、":{"docs":{},"对":{"docs":{},"象":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}}},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"堆":{"docs":{},"上":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"d":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"—":{"docs":{},"—":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"技":{"docs":{},"术":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"v":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.016355140186915886},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.012396694214876033},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":4.043062200956938},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.08444444444444445},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.016233766233766232},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.02526002971768202},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.013921113689095127},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"入":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},")":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"修":{"docs":{},"改":{"docs":{},"在":{"docs":{},"该":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"中":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"说":{"docs":{},",":{"docs":{},"图":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.028938906752411574},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}}}}}}}}}}}},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.041666666666666664},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.06109324758842444},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01634472511144131}},"*":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"中":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"是":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"是":{"docs":{},"可":{"docs":{},"读":{"docs":{},"可":{"docs":{},"写":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"类":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"内":{"docs":{},"容":{"docs":{},"以":{"docs":{},"及":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.028938906752411574},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832}},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"即":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"为":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"则":{"docs":{},"由":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"所":{"docs":{},"有":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"和":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}},"所":{"docs":{},"以":{"docs":{},"和":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"r":{"docs":{},"w":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":10}}}}},"'":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},"下":{"docs":{},"文":{"docs":{},"会":{"docs":{},"对":{"docs":{},"此":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"类":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"+":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"回":{"docs":{},"动":{"docs":{},"态":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}},"]":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223}},"]":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.017777777777777778}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"还":{"docs":{},"是":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}},"不":{"docs":{},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}},"h":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"能":{"docs":{},"大":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"即":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},"。":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"父":{"docs":{},"类":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.011410788381742738}},",":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"(":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"是":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"命":{"docs":{},"令":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"&":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"s":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789}}}}}}},"o":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},")":{"docs":{},"”":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},":":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.012987012987012988}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},")":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"的":{"docs":{},"半":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"一":{"docs":{},"端":{"docs":{},"在":{"docs":{},"结":{"docs":{},"束":{"docs":{},"它":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"后":{"docs":{},"还":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"来":{"docs":{},"自":{"docs":{},"另":{"docs":{},"一":{"docs":{},"端":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.015952143569292122}}}}}}}}},"a":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/CA.html":{"ref":"Network/CA.html","tf":10.11111111111111}},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},":":{"docs":{},"以":{"docs":{},"后":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"执":{"docs":{},"行":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.013986013986013986},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"e":{"docs":{},"r":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"专":{"docs":{},"门":{"docs":{},"负":{"docs":{},"责":{"docs":{},"处":{"docs":{},"理":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"等":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"参":{"docs":{},"与":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"代":{"docs":{},"理":{"docs":{},"没":{"docs":{},"有":{"docs":{},"响":{"docs":{},"应":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"流":{"docs":{},"程":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"代":{"docs":{},"理":{"docs":{},"响":{"docs":{},"应":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"与":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"动":{"docs":{},"画":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},",":{"docs":{},"对":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"开":{"docs":{},"闭":{"docs":{},"是":{"docs":{},"否":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"[":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"会":{"docs":{},"先":{"docs":{},"处":{"docs":{},"理":{"docs":{},"几":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"以":{"docs":{},"前":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"回":{"docs":{},"退":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},".":{"docs":{},"r":{"docs":{},"b":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":10.01},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":3.350127226463104},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},",":{"docs":{},"并":{"docs":{},"将":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"t":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"被":{"docs":{},"附":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"上":{"docs":{},"面":{"docs":{},"是":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"2":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"能":{"docs":{},"够":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"造":{"docs":{},"一":{"docs":{},"个":{"docs":{},"层":{"docs":{},"级":{"docs":{},"的":{"3":{"docs":{},"d":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"r":{"docs":{},"e":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"c":{"docs":{},"h":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.007633587786259542},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.009589041095890411},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"用":{"docs":{},"来":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"当":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"被":{"docs":{},"清":{"docs":{},"理":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"1":{"docs":{},"]":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"docs":{}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"'":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"这":{"docs":{},"里":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"。":{"docs":{},"其":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"由":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"错":{"docs":{},"误":{"docs":{},"并":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"s":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.01272264631043257}},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"docs":{}}}}}}}},")":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"公":{"docs":{},"开":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"握":{"docs":{},"手":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"协":{"docs":{},"商":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"。":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"该":{"docs":{},"证":{"docs":{},"书":{"docs":{},"所":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"域":{"docs":{},"名":{"docs":{},"范":{"docs":{},"围":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"签":{"docs":{},"发":{"docs":{},"机":{"docs":{},"构":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}},"认":{"docs":{},"证":{"docs":{},"链":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}},"证":{"docs":{},"书":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}},"详":{"docs":{},"解":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"位":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.03225806451612903}}},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"p":{"docs":{},"u":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.014218009478672985},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.040740740740740744},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"通":{"docs":{},"过":{"docs":{},"总":{"docs":{},"线":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"中":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"的":{"docs":{},"往":{"docs":{},"往":{"docs":{},"是":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"总":{"docs":{},"线":{"docs":{},"由":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"位":{"docs":{},"图":{"docs":{},"后":{"docs":{},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"视":{"docs":{},"频":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"根":{"docs":{},"据":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"之":{"docs":{},"前":{"docs":{},"去":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"提":{"docs":{},"取":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"作":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"会":{"docs":{},"将":{"docs":{},"处":{"docs":{},"理":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"层":{"docs":{},"级":{"docs":{},"关":{"docs":{},"系":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"(":{"docs":{},"内":{"docs":{},"部":{"docs":{},"处":{"docs":{},"理":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{},"通":{"docs":{},"道":{"docs":{},"提":{"docs":{},"交":{"docs":{},"给":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"由":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}},"主":{"docs":{},"要":{"docs":{},"体":{"docs":{},"现":{"docs":{},"在":{"docs":{},"以":{"docs":{},"下":{"5":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"docs":{}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"p":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.018367346938775512},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"f":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"—":{"docs":{},"—":{"docs":{},"分":{"docs":{},"为":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}},":":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"模":{"docs":{},"型":{"docs":{},"图":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"/":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"获":{"docs":{},"得":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"获":{"docs":{},"得":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"—":{"docs":{},"—":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"四":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"放":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"、":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"以":{"docs":{},"及":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"模":{"docs":{},"式":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"—":{"docs":{},"—":{"docs":{},"监":{"docs":{},"听":{"docs":{},"者":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"更":{"docs":{},"的":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"监":{"docs":{},"听":{"docs":{},"者":{"docs":{},"进":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"监":{"docs":{},"听":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"监":{"docs":{},"听":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.009333333333333334},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"—":{"docs":{},"—":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"都":{"docs":{},"代":{"docs":{},"表":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"的":{"docs":{},"一":{"docs":{},"层":{"docs":{},"o":{"docs":{},"c":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"是":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"—":{"docs":{},"—":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"我":{"docs":{},"们":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"模":{"docs":{},"型":{"docs":{},"图":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"源":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"层":{"docs":{},"层":{"docs":{},"给":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}},"派":{"docs":{},"发":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"交":{"docs":{},"给":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},"或":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.008915304606240713},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"'":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.005394470667565745}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.011441647597254004}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"就":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},",":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"里":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"_":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{},"过":{"docs":{},"度":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"被":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"正":{"docs":{},"在":{"docs":{},"析":{"docs":{},"构":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"再":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"应":{"docs":{},"该":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},",":{"docs":{},"结":{"docs":{},"合":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"这":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"标":{"docs":{},"志":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},";":{"docs":{},"而":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},".":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"本":{"docs":{},"质":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},"+":{"docs":{},"+":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.008865248226950355}},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"r":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.016233766233766232}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333}},"获":{"docs":{},"得":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.018593371059013743}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"由":{"docs":{},"多":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"共":{"docs":{},"同":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"依":{"docs":{},"次":{"docs":{},"寻":{"docs":{},"找":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"原":{"docs":{},"始":{"docs":{},"方":{"docs":{},"法":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"被":{"docs":{},"找":{"docs":{},"到":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"存":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"就":{"docs":{},"没":{"docs":{},"法":{"docs":{},"保":{"docs":{},"证":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"是":{"docs":{},"有":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},";":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"l":{"docs":{},"l":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"领":{"docs":{},"取":{"docs":{},"津":{"docs":{},"贴":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"验":{"docs":{},"证":{"docs":{},"身":{"docs":{},"份":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},".":{"2":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}},"i":{"docs":{},"(":{"docs":{},"持":{"docs":{},"续":{"docs":{},"集":{"docs":{},"成":{"docs":{},")":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"十":{"docs":{},"分":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"原":{"docs":{},"理":{"docs":{},"上":{"docs":{},"大":{"docs":{},"同":{"docs":{},"小":{"docs":{},"异":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"h":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}},"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.041666666666666664},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Network/Https.html":{"ref":"Network/Https.html","tf":10.070866141732283},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"5":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"docs":{}}}}}}}}}}}}}}}},"j":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"p":{"docs":{},"/":{"0":{"docs":{},"a":{"4":{"docs":{},"e":{"5":{"docs":{},"b":{"9":{"4":{"4":{"docs":{},"d":{"7":{"docs":{},"d":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"6":{"8":{"4":{"4":{"9":{"0":{"4":{"0":{"7":{"9":{"9":{"5":{"7":{"6":{"8":{"8":{"3":{"2":{"8":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"5":{"docs":{},"a":{"3":{"docs":{},"b":{"1":{"4":{"docs":{},"f":{"3":{"6":{"docs":{},"f":{"docs":{},"b":{"9":{"docs":{},"a":{"0":{"4":{"5":{"1":{"0":{"4":{"docs":{},"a":{"docs":{},"a":{"6":{"docs":{},"c":{"8":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"c":{"8":{"7":{"docs":{},"a":{"2":{"1":{"8":{"docs":{},"f":{"2":{"6":{"5":{"docs":{},"d":{"docs":{},"a":{"2":{"docs":{},"d":{"docs":{},"d":{"8":{"6":{"8":{"docs":{},"c":{"docs":{},"f":{"docs":{},"c":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"d":{"4":{"1":{"3":{"6":{"2":{"9":{"5":{"1":{"8":{"8":{"2":{"5":{"5":{"docs":{},"d":{"5":{"8":{"6":{"1":{"docs":{},"d":{"0":{"docs":{},"e":{"4":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"d":{"2":{"4":{"docs":{},"e":{"3":{"docs":{},"f":{"docs":{},"f":{"2":{"6":{"5":{"docs":{},"d":{"docs":{},"a":{"0":{"docs":{},"b":{"docs":{},"b":{"docs":{},"c":{"3":{"0":{"6":{"7":{"docs":{},"a":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"4":{"2":{"6":{"7":{"7":{"5":{"3":{"4":{"docs":{},"/":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"@":{"docs":{},"j":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"y":{"docs":{},"u":{"docs":{},"h":{"docs":{},"/":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"5":{"docs":{},"%":{"docs":{},"b":{"3":{"docs":{},"%":{"docs":{},"e":{"4":{"docs":{},"%":{"docs":{},"b":{"docs":{},"a":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"docs":{},"a":{"6":{"docs":{},"%":{"docs":{},"b":{"docs":{},"b":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"b":{"1":{"docs":{},"%":{"8":{"docs":{},"f":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"docs":{},"b":{"8":{"docs":{},"%":{"docs":{},"b":{"2":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"9":{"docs":{},"f":{"docs":{},"%":{"9":{"3":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"9":{"docs":{},"a":{"docs":{},"%":{"8":{"4":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"docs":{},"b":{"7":{"docs":{},"%":{"docs":{},"b":{"1":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"5":{"docs":{},"%":{"docs":{},"a":{"5":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"docs":{},"a":{"0":{"docs":{},"%":{"9":{"4":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"docs":{},"a":{"9":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}}}}},"docs":{}}},"docs":{}}}},"docs":{}}}}}}},"docs":{}}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"/":{"3":{"2":{"docs":{},"w":{"4":{"docs":{},"o":{"docs":{},"r":{"docs":{},"j":{"docs":{},"w":{"docs":{},"v":{"docs":{},"r":{"docs":{},"k":{"docs":{},"k":{"docs":{},"x":{"docs":{},"w":{"docs":{},"s":{"docs":{},"c":{"docs":{},"z":{"docs":{},"j":{"docs":{},"k":{"docs":{},"x":{"docs":{},"g":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},":":{"docs":{},"点":{"docs":{},"外":{"docs":{},"卖":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"原":{"docs":{},"来":{"docs":{},"这":{"docs":{},"么":{"docs":{},"复":{"docs":{},"杂":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"主":{"docs":{},"要":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"流":{"docs":{},"程":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"运":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"加":{"docs":{},"密":{"docs":{},"手":{"docs":{},"段":{"docs":{},"?":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"都":{"docs":{},"是":{"docs":{},"未":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"明":{"docs":{},"文":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"隐":{"docs":{},"私":{"docs":{},"信":{"docs":{},"息":{"docs":{},"非":{"docs":{},"常":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"这":{"docs":{},"些":{"docs":{},"隐":{"docs":{},"私":{"docs":{},"数":{"docs":{},"据":{"docs":{},"能":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"网":{"docs":{},"景":{"docs":{},"公":{"docs":{},"司":{"docs":{},"设":{"docs":{},"计":{"docs":{},"了":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"n":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":10.055555555555555}},"s":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"域":{"docs":{},"名":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"代":{"docs":{},"替":{"docs":{},"现":{"docs":{},"有":{"docs":{},"基":{"docs":{},"于":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"的":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"域":{"docs":{},"名":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"云":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"款":{"docs":{},"递":{"docs":{},"归":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"与":{"docs":{},"权":{"docs":{},"威":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"并":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"决":{"docs":{},"定":{"docs":{},"解":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"解":{"docs":{},"析":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"a":{"docs":{},"记":{"docs":{},"录":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"向":{"docs":{},"本":{"docs":{},"地":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"询":{"docs":{},"问":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"解":{"docs":{},"析":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"从":{"docs":{},"根":{"docs":{},"本":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"i":{"docs":{},"p":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"省":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"解":{"docs":{},"析":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"降":{"docs":{},"低":{"docs":{},"平":{"docs":{},"均":{"docs":{},"访":{"docs":{},"问":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"。":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"与":{"docs":{},":":{"docs":{},"前":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"域":{"docs":{},"名":{"docs":{},"解":{"docs":{},"析":{"docs":{},";":{"docs":{},"后":{"docs":{},"者":{"docs":{},"协":{"docs":{},"议":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"5":{"3":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"度":{"docs":{},"解":{"docs":{},"析":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"e":{"docs":{},"i":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"2":{"0":{"1":{"9":{"docs":{},"/":{"0":{"5":{"docs":{},"/":{"0":{"2":{"docs":{},"/":{"docs":{},"%":{"docs":{},"e":{"4":{"docs":{},"%":{"docs":{},"b":{"docs":{},"a":{"docs":{},"%":{"8":{"docs":{},"c":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"docs":{},"f":{"docs":{},"%":{"8":{"9":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"docs":{},"a":{"0":{"docs":{},"%":{"9":{"1":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"9":{"docs":{},"a":{"docs":{},"%":{"8":{"4":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"9":{"docs":{},"%":{"8":{"docs":{},"d":{"docs":{},"%":{"docs":{},"e":{"4":{"docs":{},"%":{"docs":{},"b":{"8":{"docs":{},"%":{"docs":{},"a":{"docs":{},"d":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"9":{"0":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"b":{"docs":{},"a":{"docs":{},"%":{"8":{"docs":{},"f":{"docs":{},"%":{"docs":{},"e":{"9":{"docs":{},"%":{"8":{"1":{"docs":{},"%":{"8":{"docs":{},"d":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"8":{"6":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"9":{"docs":{},"a":{"docs":{},"%":{"8":{"4":{"docs":{},"%":{"docs":{},"e":{"9":{"docs":{},"%":{"9":{"docs":{},"d":{"docs":{},"%":{"9":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"9":{"docs":{},"%":{"8":{"0":{"docs":{},"%":{"9":{"2":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"b":{"docs":{},"d":{"docs":{},"%":{"9":{"2":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"a":{"docs":{},"e":{"docs":{},"%":{"9":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"docs":{},"b":{"0":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"/":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"docs":{}}}}},"docs":{}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}},"docs":{}},"docs":{}}}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}}},"docs":{}}}},"docs":{}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"2":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{},"/":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"j":{"docs":{},"e":{"docs":{},"b":{"docs":{},"f":{"docs":{},"g":{"docs":{},"c":{"docs":{},"a":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.03363914373088685}},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.03333333333333333}},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"出":{"docs":{},"操":{"docs":{},"作":{"docs":{},"初":{"docs":{},"始":{"docs":{},"点":{"docs":{},"所":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"查":{"docs":{},"找":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},",":{"docs":{},"是":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"o":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"点":{"docs":{},"在":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"之":{"docs":{},"内":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},">":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},")":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"等":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"g":{"docs":{},"h":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.010638297872340425},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"将":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"算":{"docs":{},"法":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},",":{"0":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"1":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"_":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},":":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},":":{"docs":{},"当":{"docs":{},"对":{"docs":{},"象":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"技":{"docs":{},"术":{"docs":{},"⼤":{"docs":{},"于":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"之":{"docs":{},"前":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0058309037900874635}},"e":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"或":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"均":{"docs":{},"可":{"docs":{},"主":{"docs":{},"动":{"docs":{},"发":{"docs":{},"起":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"动":{"docs":{},"作":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"建":{"docs":{},"立":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"总":{"docs":{},"共":{"docs":{},"发":{"docs":{},"送":{"3":{"docs":{},"个":{"docs":{},"包":{"docs":{},"。":{"docs":{},"进":{"docs":{},"行":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"确":{"docs":{},"认":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"和":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"、":{"docs":{},"指":{"docs":{},"定":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"为":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"传":{"docs":{},"送":{"docs":{},"做":{"docs":{},"准":{"docs":{},"备":{"docs":{},"。":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"指":{"docs":{},"定":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"建":{"docs":{},"立":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"并":{"docs":{},"同":{"docs":{},"步":{"docs":{},"连":{"docs":{},"接":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"和":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},",":{"docs":{},"交":{"docs":{},"换":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"大":{"docs":{},"小":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"t":{"docs":{},"e":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"值":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"外":{"docs":{},"部":{"docs":{},"重":{"docs":{},"新":{"docs":{},"为":{"docs":{},"其":{"docs":{},"赋":{"docs":{},"的":{"2":{"0":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},".":{"docs":{},".":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"a":{"docs":{},"d":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"s":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"分":{"docs":{},"析":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.00646551724137931}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"、":{"docs":{},"e":{"docs":{},"c":{"docs":{},"c":{"docs":{},"等":{"docs":{},"。":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"相":{"docs":{},"互":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"用":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"c":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"至":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"h":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"h":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"t":{"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"docs":{}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.028913260219341975},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0053435114503816794},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"0":{"3":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"docs":{}},"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"(":{"docs":{},"^":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}},"o":{"docs":{},")":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"[":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"{":{"2":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"自":{"docs":{},"动":{"docs":{},"设":{"docs":{},"置":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"认":{"docs":{},"为":{"docs":{},"这":{"docs":{},"些":{"docs":{},"约":{"docs":{},"束":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},";":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"但":{"docs":{},"通":{"docs":{},"常":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.007543103448275862}},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"1":{"docs":{},"]":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"。":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"那":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.022857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.030534351145038167},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.013921113689095127},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.007936507936507936}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},",":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"o":{"docs":{},"r":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"先":{"docs":{},"让":{"docs":{},"父":{"docs":{},"类":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"r":{"docs":{},".":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"。":{"docs":{},"这":{"docs":{},"两":{"docs":{},"类":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"函":{"docs":{},"数":{"docs":{},"都":{"docs":{},"有":{"docs":{},"个":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"链":{"docs":{},"接":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{},"坑":{"docs":{},":":{"docs":{},"有":{"docs":{},"些":{"docs":{},"注":{"docs":{},"册":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"最":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"s":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"实":{"docs":{},"例":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"]":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"c":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"e":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"父":{"docs":{},"类":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},":":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.013921113689095127}}}}}}}},"'":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"?":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"[":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"必":{"docs":{},"然":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"由":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"所":{"docs":{},"有":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"等":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"某":{"docs":{},"个":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"做":{"docs":{},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"o":{"docs":{},"c":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{},"被":{"docs":{},"触":{"docs":{},"发":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"只":{"docs":{},"有":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"段":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"q":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"p":{"docs":{},"k":{"docs":{},"i":{"docs":{},")":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"签":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"认":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"管":{"docs":{},"理":{"docs":{},"已":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"机":{"docs":{},"关":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"也":{"docs":{},"比":{"docs":{},"较":{"docs":{},"容":{"docs":{},"易":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"会":{"docs":{},"读":{"docs":{},"写":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"把":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"读":{"docs":{},"入":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"t":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.05555555555555555},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01529051987767584},"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":5.021739130434782},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":5.006122448979592},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.01048951048951049},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":5.016129032258065},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.008454106280193236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":5.010416666666667},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.009259259259259259},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":5.0062240663900415},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":3.334305150631681},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":3.3495746326372773},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":3.333333333333333},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":3.341269841269841}},"s":{"1":{"0":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},".":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}},"docs":{}}},"2":{"docs":{},"之":{"docs":{},"前":{"docs":{},"打":{"docs":{},"印":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"能":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"看":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"2":{"docs":{},"之":{"docs":{},"后":{"docs":{},"系":{"docs":{},"统":{"docs":{},"则":{"docs":{},"打":{"docs":{},"印":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"看":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"了":{"docs":{},",":{"docs":{},"看":{"docs":{},"了":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"发":{"docs":{},"现":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"混":{"docs":{},"淆":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"得":{"docs":{},"到":{"docs":{},"值":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"避":{"docs":{},"免":{"docs":{},"我":{"docs":{},"们":{"docs":{},"去":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"就":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"3":{"docs":{},".":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}},"docs":{}},"7":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"7":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"docs":{}}}}}},"9":{"docs":{},"后":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},".":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{},"技":{"docs":{},"术":{"docs":{},"总":{"docs":{},"结":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":10.090909090909092}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"看":{"docs":{},"我":{"docs":{},"就":{"docs":{},"够":{"docs":{},"了":{"docs":{},"~":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":10}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"中":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"全":{"docs":{},"家":{"docs":{},"桶":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"只":{"docs":{},"会":{"docs":{},"当":{"docs":{},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"对":{"docs":{},"内":{"docs":{},"存":{"docs":{},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"很":{"docs":{},"有":{"docs":{},"好":{"docs":{},"处":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"按":{"docs":{},"下":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"许":{"docs":{},"多":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"会":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"及":{"docs":{},"时":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"从":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"视":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"极":{"docs":{},"限":{"docs":{},"优":{"docs":{},"化":{"docs":{},"—":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"程":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":10.001748251748252}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"分":{"docs":{},"为":{"docs":{},"自":{"docs":{},"动":{"docs":{},"监":{"docs":{},"听":{"docs":{},"和":{"docs":{},"手":{"docs":{},"动":{"docs":{},"触":{"docs":{},"发":{"docs":{},"两":{"docs":{},"种":{"docs":{},"形":{"docs":{},"式":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"探":{"docs":{},"索":{"docs":{},":":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"结":{"docs":{},"构":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":10.007462686567164}}}}}}}}},"探":{"docs":{},"索":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"系":{"docs":{},"统":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"几":{"docs":{},"钟":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"技":{"docs":{},"术":{"docs":{},"各":{"docs":{},"自":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"3":{"docs":{},"种":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"&":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"《":{"docs":{},"原":{"docs":{},"理":{"docs":{},"篇":{"docs":{},"》":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"图":{"docs":{},"异":{"docs":{},"常":{"docs":{},"修":{"docs":{},"复":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":5}}}}}}}}}}},":":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"1":{"8":{"1":{"6":{"5":{"docs":{},":":{"5":{"9":{"6":{"7":{"5":{"7":{"5":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"4":{"4":{"3":{"1":{"docs":{},":":{"7":{"2":{"3":{"4":{"1":{"8":{"2":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"系":{"docs":{},"列":{"docs":{},"篇":{"docs":{},"之":{"docs":{},"“":{"docs":{},"列":{"docs":{},"表":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},"优":{"docs":{},"化":{"docs":{},"”":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"/":{"docs":{},"r":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"v":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}}}}}}}}},"(":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}},"docs":{}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"将":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"封":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},",":{"docs":{},"把":{"docs":{},"数":{"docs":{},"据":{"docs":{},"读":{"docs":{},"入":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"e":{"docs":{},":":{"0":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"1":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505}}},"docs":{},"%":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":10.037190082644628},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.031203566121842496},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"_":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.012396694214876033},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},"、":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"保":{"docs":{},"存":{"docs":{},"着":{"docs":{},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"全":{"docs":{},"局":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"询":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},".":{"docs":{},"h":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}},"。":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"那":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"联":{"docs":{},"合":{"docs":{},"体":{"docs":{},"位":{"docs":{},"域":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":3.342222222222222}},":":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":3.342222222222222}},":":{"docs":{},"[":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"判":{"docs":{},"断":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"=":{"docs":{},"y":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.017316017316017316}},"(":{"docs":{},"c":{"docs":{},")":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"s":{"docs":{},")":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"会":{"docs":{},"把":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"创":{"docs":{},"建":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"内":{"docs":{},"存":{"docs":{},"映":{"docs":{},"射":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"图":{"docs":{},"像":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"解":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.010114632501685773},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"e":{"docs":{},";":{"docs":{},")":{"docs":{},",":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"变":{"docs":{},"成":{"docs":{},"r":{"docs":{},"g":{"docs":{},"b":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"]":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"@":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},":":{"docs":{},":":{"docs":{},"k":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},":":{"docs":{},":":{"docs":{},"d":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},":":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"等":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.03225806451612903}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"代":{"docs":{},"表":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"当":{"docs":{},"找":{"docs":{},"到":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"对":{"docs":{},"函":{"docs":{},"数":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"一":{"docs":{},"直":{"docs":{},"往":{"docs":{},"上":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}}}}}}}},"p":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.05555555555555555}},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"内":{"docs":{},"部":{"docs":{},"通":{"docs":{},"信":{"docs":{},"(":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}},"通":{"docs":{},"信":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"4":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"docs":{},"时":{"docs":{},"这":{"docs":{},"个":{"docs":{},"值":{"docs":{},"为":{"8":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}}}}}},"o":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"s":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"1":{"0":{"docs":{},".":{"1":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"docs":{}}},"docs":{}},"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},",":{"docs":{},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}},"列":{"docs":{},"表":{"docs":{},"更":{"docs":{},"换":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}},"直":{"docs":{},"连":{"docs":{},"方":{"docs":{},"案":{"docs":{},"有":{"docs":{},"下":{"docs":{},"面":{"docs":{},"几":{"docs":{},"大":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178}}}}}}},"先":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"准":{"docs":{},"备":{"docs":{},"好":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"进":{"docs":{},"行":{"docs":{},"数":{"docs":{},"据":{"docs":{},"填":{"docs":{},"充":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.011702127659574468},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.02040816326530612},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.016163793103448277},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.008632138114209827},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"+":{"docs":{},"+":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"=":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"f":{"docs":{},"(":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"t":{"docs":{},"=":{"docs":{},"=":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"v":{"docs":{},"c":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}},"=":{"0":{"docs":{},"时":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"先":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"先":{"docs":{},"发":{"docs":{},"出":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"1":{"docs":{},"时":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"先":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"先":{"docs":{},"发":{"docs":{},"出":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"是":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},",":{"docs":{},"无":{"docs":{},"双":{"docs":{},"亲":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"docs":{}},"+":{"docs":{},"+":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"r":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"(":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"媒":{"docs":{},"介":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"前":{"docs":{},"后":{"docs":{},"端":{"docs":{},"分":{"docs":{},"离":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"前":{"docs":{},"后":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"互":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"、":{"docs":{},"优":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"优":{"docs":{},"化":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"后":{"docs":{},"端":{"docs":{},"(":{"docs":{},"生":{"docs":{},"成":{"docs":{},"汇":{"docs":{},"编":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},",":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},":":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"为":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"d":{"docs":{},",":{"docs":{},"d":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"已":{"docs":{},"经":{"docs":{},"访":{"docs":{},"问":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"b":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"到":{"docs":{},"b":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"e":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"e":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":3.396946564885496}},",":{"docs":{},"交":{"docs":{},"易":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"验":{"docs":{},"证":{"docs":{},"交":{"docs":{},"易":{"docs":{},"这":{"docs":{},"一":{"docs":{},"环":{"docs":{},"需":{"docs":{},"要":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"来":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"坑":{"docs":{},",":{"docs":{},"先":{"docs":{},"记":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"点":{"docs":{},",":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"比":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"支":{"docs":{},"付":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"引":{"docs":{},"出":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"和":{"docs":{},"你":{"docs":{},"商":{"docs":{},"量":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"强":{"docs":{},"制":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"爸":{"docs":{},"爸":{"docs":{},"说":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},",":{"docs":{},"就":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"这":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"解":{"docs":{},"决":{"docs":{},"不":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"也":{"docs":{},"只":{"docs":{},"是":{"docs":{},"说":{"docs":{},"说":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"说":{"docs":{},"了":{"docs":{},"微":{"docs":{},"信":{"docs":{},"公":{"docs":{},"众":{"docs":{},"号":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"它":{"docs":{},"不":{"docs":{},"是":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"i":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"i":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"v":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"因":{"docs":{},"其":{"docs":{},"复":{"docs":{},"用":{"docs":{},"性":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}},"最":{"docs":{},"早":{"docs":{},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}},"v":{"docs":{},"m":{"docs":{},"、":{"docs":{},"m":{"docs":{},"v":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"业":{"docs":{},"务":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},"a":{"docs":{},"c":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.008091706001348618},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.016908212560386472},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":5.032719836400818},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.012411347517730497},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.015873015873015872}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}},"e":{"docs":{},"r":{"docs":{},"_":{"6":{"4":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}}},"docs":{}},"docs":{}}}}}}}}},"内":{"docs":{},"核":{"docs":{},"编":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004045853000674309}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.014184397163120567}}}},"k":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.006666666666666667},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.023622047244094488},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"每":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{},"会":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"又":{"docs":{},"包":{"docs":{},"括":{"docs":{},"多":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"等":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"画":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"获":{"docs":{},"得":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425}},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"准":{"docs":{},"备":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"这":{"docs":{},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"在":{"docs":{},"负":{"docs":{},"责":{"docs":{},",":{"docs":{},"核":{"docs":{},"心":{"docs":{},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"内":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"到":{"docs":{},"的":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"指":{"docs":{},"针":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"}":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.029911075181891674}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{},"在":{"docs":{},"循":{"docs":{},"环":{"docs":{},"的":{"docs":{},"合":{"docs":{},"适":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"会":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},",":{"docs":{},"去":{"docs":{},"对":{"docs":{},"比":{"docs":{},"表":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},":":{"docs":{},"计":{"docs":{},"数":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"量":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},":":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},":":{"docs":{},"⽤":{"docs":{},"于":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"真":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"还":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"n":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"检":{"docs":{},"查":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"k":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"r":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.007633587786259542}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}}}}},"p":{"2":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"内":{"docs":{},"存":{"docs":{},"映":{"docs":{},"射":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"文":{"docs":{},"件":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"里":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"内":{"docs":{},"存":{"docs":{},"那":{"docs":{},"样":{"docs":{},"来":{"docs":{},"读":{"docs":{},"写":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"读":{"docs":{},"取":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.04},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01634472511144131}},"l":{"docs":{},"入":{"docs":{},"门":{"docs":{},"教":{"docs":{},"程":{"docs":{},"总":{"docs":{},"结":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"八":{"docs":{},")":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"与":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"早":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},")":{"docs":{},",":{"docs":{},"显":{"docs":{},"然":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"是":{"docs":{},"单":{"docs":{},"一":{"docs":{},"职":{"docs":{},"责":{"docs":{},"和":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"1":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"2":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"3":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":10.007575757575758},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"、":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"配":{"docs":{},"套":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"为":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"携":{"docs":{},"带":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"构":{"docs":{},"建":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{},"名":{"docs":{},"称":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"与":{"docs":{},"函":{"docs":{},"数":{"docs":{},"体":{"docs":{},"(":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"三":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"依":{"docs":{},"次":{"docs":{},"来":{"docs":{},"看":{"docs":{},"三":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"什":{"docs":{},"么":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"里":{"docs":{},"面":{"docs":{},"最":{"docs":{},"终":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"b":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"会":{"docs":{},"将":{"docs":{},"它":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"成":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"e":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":10}}}}}}}}},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"=":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}},"m":{"docs":{},"c":{"docs":{},"p":{"docs":{},"y":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"i":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},")":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":5}}}},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"r":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.010912698412698412}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.04838709677419355}}}}}},"u":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"b":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},",":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"考":{"docs":{},"虑":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}}}},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"_":{"docs":{},"t":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"即":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"是":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":10}}}}}}}}}}}},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},";":{"docs":{},"那":{"docs":{},"么":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"写":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"[":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.02366412213740458}},"+":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0053435114503816794}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"d":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.013333333333333334}},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"就":{"docs":{},"不":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"际":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"用":{"docs":{},"于":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"通":{"docs":{},"常":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"用":{"docs":{},"不":{"docs":{},"到":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"那":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"结":{"docs":{},"束":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0058309037900874635}},"e":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}},"e":{"docs":{},".":{"docs":{},"h":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"。":{"docs":{},"将":{"docs":{},"对":{"docs":{},"其":{"docs":{},"它":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"反":{"docs":{},"射":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"放":{"docs":{},"入":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"v":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"i":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"n":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"d":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.023255813953488372}}},"x":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"h":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"g":{"docs":{},"j":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"r":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"p":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"p":{"1":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"t":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"i":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.03363914373088685}},"e":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.03333333333333333}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"该":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"返":{"docs":{},"回":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":5.022082018927445},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915}},"s":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"'":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"[":{"1":{"2":{"docs":{},":":{"1":{"6":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"4":{"docs":{},":":{"8":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"[":{"1":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"3":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"值":{"docs":{},"作":{"docs":{},"为":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"那":{"docs":{},"程":{"docs":{},"序":{"docs":{},"就":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"的":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"对":{"docs":{},"象":{"docs":{},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}},"话":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"本":{"docs":{},"身":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}},"值":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"1":{"2":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"打":{"docs":{},"印":{"docs":{},"就":{"docs":{},"发":{"docs":{},"现":{"docs":{},"完":{"docs":{},"全":{"docs":{},"看":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"类":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"等":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"且":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"先":{"docs":{},"从":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"中":{"docs":{},"去":{"docs":{},"取":{"docs":{},"(":{"docs":{},"这":{"docs":{},"里":{"docs":{},"将":{"docs":{},"取":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"+":{"1":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"说":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"值":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"针":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"其":{"docs":{},"指":{"docs":{},"针":{"docs":{},"值":{"docs":{},"作":{"docs":{},"为":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"就":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}},"么":{"docs":{},"会":{"docs":{},"对":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"成":{"docs":{},"员":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"会":{"docs":{},"对":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"探":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"对":{"docs":{},"象":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"不":{"docs":{},"再":{"docs":{},"是":{"docs":{},"地":{"docs":{},"址":{"docs":{},"了":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"不":{"docs":{},"再":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"了":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"披":{"docs":{},"着":{"docs":{},"对":{"docs":{},"象":{"docs":{},"皮":{"docs":{},"的":{"docs":{},"普":{"docs":{},"通":{"docs":{},"变":{"docs":{},"量":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"不":{"docs":{},"指":{"docs":{},"向":{"docs":{},"任":{"docs":{},"何":{"docs":{},"实":{"docs":{},"质":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"在":{"6":{"4":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"设":{"docs":{},"备":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"存":{"docs":{},"储":{"docs":{},"小":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"优":{"docs":{},"化":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"等":{"docs":{},"小":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"储":{"docs":{},"存":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"有":{"docs":{},"长":{"docs":{},"度":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"过":{"docs":{},"长":{"docs":{},"会":{"docs":{},"依":{"docs":{},"然":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"保":{"docs":{},"存":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"成":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"普":{"docs":{},"通":{"docs":{},"变":{"docs":{},"量":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"需":{"docs":{},"要":{"docs":{},"留":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"不":{"docs":{},"太":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"是":{"docs":{},"用":{"docs":{},"最":{"docs":{},"低":{"docs":{},"位":{"docs":{},"、":{"docs":{},"有":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"高":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"且":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"了":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"有":{"docs":{},"这":{"docs":{},"么":{"docs":{},"几":{"docs":{},"个":{"docs":{},"判":{"docs":{},"断":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"源":{"docs":{},"码":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"进":{"docs":{},"行":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"这":{"docs":{},"个":{"docs":{},"后":{"docs":{},"面":{"docs":{},"也":{"docs":{},"会":{"docs":{},"提":{"docs":{},"到":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"满":{"docs":{},"足":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"才":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"池":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}},"来":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"接":{"docs":{},"受":{"docs":{},"到":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"进":{"docs":{},"程":{"docs":{},"传":{"docs":{},"递":{"docs":{},"来":{"docs":{},"的":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}},"”":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"都":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"端":{"docs":{},"口":{"docs":{},")":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"(":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}},"发":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"将":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"这":{"docs":{},"个":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521}},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},":":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"1":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"2":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"3":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.010775862068965518}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"(":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"临":{"docs":{},"时":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"得":{"docs":{},"到":{"docs":{},"释":{"docs":{},"放":{"docs":{},"(":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"即":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"延":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"决":{"docs":{},"定":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"1":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"2":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"3":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"docs":{}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"n":{"docs":{},"o":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},",":{"docs":{},"后":{"docs":{},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}},"(":{"docs":{},"准":{"docs":{},"备":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"完":{"docs":{},"成":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"解":{"docs":{},"码":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"v":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":10}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"t":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},",":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"]":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}},"会":{"docs":{},"做":{"docs":{},"如":{"docs":{},"下":{"docs":{},"事":{"docs":{},"情":{"docs":{},":":{"docs":{},"分":{"docs":{},"析":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"进":{"docs":{},"程":{"docs":{},"内":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"被":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{},"才":{"docs":{},"能":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"3":{"docs":{},"则":{"docs":{},"是":{"docs":{},"部":{"docs":{},"分":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}},")":{"docs":{},":":{"docs":{},"宏":{"docs":{},"替":{"docs":{},"换":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"注":{"docs":{},"释":{"docs":{},"、":{"docs":{},"展":{"docs":{},"开":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"[":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"t":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":10}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"中":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"加":{"docs":{},"号":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.006802721088435374}},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},",":{"docs":{},"不":{"docs":{},"符":{"docs":{},"合":{"docs":{},"我":{"docs":{},"们":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"但":{"docs":{},"既":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669}}},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"u":{"docs":{},"d":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"f":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.012411347517730497},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"%":{"docs":{},"c":{"docs":{},"\"":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"1":{"docs":{},":":{"docs":{},"重":{"docs":{},"复":{"docs":{},"次":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"2":{"docs":{},":":{"docs":{},"追":{"docs":{},"加":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"3":{"docs":{},":":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"接":{"docs":{},"受":{"docs":{},"分":{"docs":{},"块":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"参":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"@":{"docs":{},"[":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.00646551724137931}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"i":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}},"t":{"docs":{},"h":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"了":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"重":{"docs":{},"用":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"模":{"docs":{},"型":{"docs":{},"类":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.036637931034482756},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.020531400966183576},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.09090909090909091},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.017857142857142856}},"\"":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"没":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"池":{"docs":{},"子":{"docs":{},"被":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"池":{"docs":{},"子":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"1":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"2":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"头":{"docs":{},"部":{"docs":{},"插":{"docs":{},"入":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"记":{"docs":{},"录":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"统":{"docs":{},"计":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"上":{"docs":{},"传":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"用":{"docs":{},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"t":{"docs":{},",":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"或":{"docs":{},"者":{"docs":{},"j":{"docs":{},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"比":{"docs":{},"同":{"docs":{},"质":{"docs":{},"量":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"小":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"把":{"docs":{},"它":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"成":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"未":{"docs":{},"解":{"docs":{},"压":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},"。":{"docs":{},"b":{"docs":{},".":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"1":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"2":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"docs":{}}}}}}}},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"本":{"docs":{},"身":{"docs":{},"—":{"docs":{},"—":{"docs":{},"当":{"docs":{},"锁":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"申":{"docs":{},"请":{"docs":{},"锁":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"忙":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},"并":{"docs":{},"睡":{"docs":{},"眠":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"r":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"r":{"docs":{},"y":{"docs":{},"r":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}}}}}}},"d":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"都":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"即":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"为":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"v":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}},"l":{"docs":{},"u":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"e":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},".":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"“":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}},"(":{"docs":{},"_":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},".":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},",":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"关":{"docs":{},"于":{"docs":{},"多":{"docs":{},"核":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"分":{"docs":{},"析":{"docs":{},"源":{"docs":{},"码":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"到":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"e":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"重":{"docs":{},"点":{"docs":{},"还":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"h":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},":":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"s":{"docs":{},"、":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"从":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"到":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"编":{"docs":{},"译":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"o":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"o":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.02922077922077922},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.025974025974025976},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"docs":{}}}}}}}}}}}},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.01948051948051948},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.03636363636363636}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"复":{"docs":{},"用":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"始":{"docs":{},"终":{"docs":{},"有":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"及":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"则":{"docs":{},"新":{"docs":{},"增":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"放":{"docs":{},"在":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.025974025974025976},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"f":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.013513513513513514},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776},"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},":":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":10}}}}}}}}},"t":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"1":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"2":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"3":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"4":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"e":{"docs":{},"(":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},")":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"接":{"docs":{},"受":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"开":{"docs":{},"端":{"docs":{},"。":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"发":{"docs":{},"的":{"docs":{},"使":{"docs":{},"命":{"docs":{},"都":{"docs":{},"是":{"docs":{},"找":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}},"\\":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},")":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},"临":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"对":{"docs":{},"应":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"保":{"docs":{},"存":{"docs":{},"到":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}},"或":{"docs":{},"者":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"述":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"外":{"docs":{},"界":{"docs":{},"看":{"docs":{},"来":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}},")":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"即":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"来":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.008905852417302799},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0136986301369863},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.009589041095890411}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"[":{"0":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"辛":{"docs":{},"苦":{"docs":{},"处":{"docs":{},"理":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"就":{"docs":{},"失":{"docs":{},"效":{"docs":{},"了":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"件":{"docs":{},"事":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"又":{"docs":{},"回":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"和":{"docs":{},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.019762845849802372},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.009574468085106383},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.05841121495327103},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.010967098703888335},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.01272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.02693965517241379},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.010958904109589041},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01649175412293853},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.015197568389057751},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.017777777777777778},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.025974025974025976},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.025974025974025976},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0111731843575419},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0058309037900874635},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.01818181818181818},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.02005730659025788},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"质":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"h":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.028985507246376812},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.012962962962962963},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"片":{"docs":{},"元":{"docs":{},"着":{"docs":{},"色":{"docs":{},"器":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"像":{"docs":{},"素":{"docs":{},"渲":{"docs":{},"染":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"u":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},")":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"人":{"docs":{},"都":{"docs":{},"能":{"docs":{},"答":{"docs":{},"出":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"docs":{},"r":{"docs":{},"解":{"docs":{},"析":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"把":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"(":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"i":{"docs":{},"z":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"e":{"docs":{},"s":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"\\":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"现":{"docs":{},"错":{"docs":{},"误":{"docs":{},"或":{"docs":{},"者":{"docs":{},"警":{"docs":{},"告":{"docs":{},"会":{"docs":{},"标":{"docs":{},"注":{"docs":{},"出":{"docs":{},"来":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"一":{"docs":{},"行":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.038834951456310676},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"入":{"docs":{},"参":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"#":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篡":{"docs":{},"改":{"docs":{},"入":{"docs":{},"参":{"docs":{},"、":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}},"那":{"docs":{},"还":{"docs":{},"不":{"docs":{},"如":{"docs":{},"把":{"docs":{},"转":{"docs":{},"发":{"docs":{},"操":{"docs":{},"作":{"docs":{},"提":{"docs":{},"前":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"只":{"docs":{},"是":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"调":{"docs":{},"用":{"docs":{},"目":{"docs":{},"标":{"docs":{},",":{"docs":{},"这":{"docs":{},"项":{"docs":{},"改":{"docs":{},"动":{"docs":{},"放":{"docs":{},"在":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"会":{"docs":{},"更":{"docs":{},"为":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"还":{"docs":{},"得":{"docs":{},"创":{"docs":{},"建":{"docs":{},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"g":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"e":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},":":{"docs":{},"修":{"docs":{},"复":{"docs":{},"内":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"d":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"*":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}},"w":{"docs":{},"{":{"1":{"6":{"docs":{},"}":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}},"docs":{}}}}},"'":{"docs":{},"(":{"docs":{},"\\":{"docs":{},"w":{"docs":{},"{":{"1":{"6":{"docs":{},"}":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.009333333333333334},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.006993006993006993},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":10.032},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.028409090909090908},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.009478672985781991},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.010912698412698412}},"、":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"核":{"docs":{},"心":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"4":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"用":{"docs":{},"来":{"docs":{},"装":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"该":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"所":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"“":{"docs":{},"运":{"docs":{},"行":{"docs":{},"”":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"只":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"_":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"所":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"所":{"docs":{},"包":{"docs":{},"括":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"、":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"与":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"刷":{"docs":{},"新":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"说":{"docs":{},"是":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"字":{"docs":{},"典":{"docs":{},"内":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"只":{"docs":{},"能":{"docs":{},"选":{"docs":{},"择":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"在":{"docs":{},"主":{"docs":{},"界":{"docs":{},"面":{"docs":{},"即":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"前":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"启":{"docs":{},"动":{"docs":{},"(":{"docs":{},"主":{"docs":{},"界":{"docs":{},"面":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"就":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"在":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},"会":{"docs":{},"不":{"docs":{},"断":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"某":{"docs":{},"种":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"下":{"docs":{},",":{"docs":{},"意":{"docs":{},"思":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},"大":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"把":{"docs":{},"来":{"docs":{},"自":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"事":{"docs":{},"件":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"循":{"docs":{},"环":{"docs":{},"地":{"docs":{},"从":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"事":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"被":{"docs":{},"新":{"docs":{},"到":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},",":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"开":{"docs":{},"启":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"任":{"docs":{},"务":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"有":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"开":{"docs":{},"启":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"任":{"docs":{},"务":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"有":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"部":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"循":{"docs":{},"环":{"docs":{},"来":{"docs":{},"对":{"docs":{},"事":{"docs":{},"件":{"docs":{},"/":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"总":{"docs":{},"共":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"结":{"docs":{},"构":{"docs":{},"与":{"docs":{},"运":{"docs":{},"行":{"docs":{},"原":{"docs":{},"理":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"相":{"docs":{},"关":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"顾":{"docs":{},"名":{"docs":{},"思":{"docs":{},"义":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"循":{"docs":{},"环":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"它":{"docs":{},"根":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"重":{"docs":{},"要":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"(":{"docs":{},"即":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"详":{"docs":{},"解":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"迭":{"docs":{},"代":{"docs":{},".":{"docs":{},"新":{"docs":{},"的":{"docs":{},"一":{"docs":{},"轮":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"进":{"docs":{},"行":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"何":{"docs":{},"为":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}},"并":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":10.0625},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.50148588410104},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}},"称":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"最":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},",":{"docs":{},"注":{"docs":{},"册":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"由":{"docs":{},"于":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"已":{"docs":{},"经":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"只":{"docs":{},"会":{"docs":{},"注":{"docs":{},"册":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},".":{"docs":{},"h":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"学":{"docs":{},"习":{"docs":{},":":{"docs":{},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{},"狙":{"docs":{},"击":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"会":{"docs":{},"将":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"l":{"docs":{},"e":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"s":{"docs":{},":":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"特":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"添":{"docs":{},"加":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"添":{"docs":{},"加":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"~":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"c":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"a":{"docs":{},"w":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523}}},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"c":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"和":{"docs":{},"边":{"docs":{},"界":{"docs":{},"检":{"docs":{},"查":{"docs":{},";":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"w":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"|":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"记":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"类":{"docs":{},"是":{"docs":{},"有":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"给":{"docs":{},"该":{"docs":{},"类":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"该":{"docs":{},"类":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"当":{"docs":{},"类":{"docs":{},"收":{"docs":{},"到":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"时":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"[":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"s":{"docs":{},"a":{"docs":{},"密":{"docs":{},"码":{"docs":{},"体":{"docs":{},"制":{"docs":{},"就":{"docs":{},"是":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"密":{"docs":{},"码":{"docs":{},"体":{"docs":{},"制":{"docs":{},",":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"的":{"docs":{},"一":{"docs":{},"对":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"和":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},")":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"控":{"docs":{},"制":{"docs":{},"页":{"docs":{},"面":{"docs":{},"不":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"系":{"docs":{},"统":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"分":{"docs":{},"别":{"docs":{},"生":{"docs":{},"成":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"和":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.027777777777777776},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"s":{"docs":{},":":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"是":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"更":{"docs":{},"为":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"非":{"docs":{},"常":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"。":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"端":{"docs":{},"口":{"docs":{},"和":{"docs":{},"套":{"docs":{},"接":{"docs":{},"字":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"与":{"docs":{},"外":{"docs":{},"部":{"docs":{},"实":{"docs":{},"体":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.008},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.017045454545454544},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"0":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"主":{"docs":{},"动":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"来":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"让":{"docs":{},"其":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"1":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.006666666666666667}},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}},"包":{"docs":{},"括":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},"和":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},"?":{"docs":{},"又":{"docs":{},"如":{"docs":{},"何":{"docs":{},"理":{"docs":{},"解":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"手":{"docs":{},"指":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"来":{"docs":{},"接":{"docs":{},"受":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"分":{"docs":{},"发":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"接":{"docs":{},"受":{"docs":{},"到":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}},"能":{"docs":{},"主":{"docs":{},"动":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"它":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"内":{"docs":{},"核":{"docs":{},"向":{"docs":{},"线":{"docs":{},"程":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"收":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"用":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}},"docs":{},"s":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"(":{"docs":{},"定":{"docs":{},"时":{"docs":{},"源":{"docs":{},")":{"docs":{},"两":{"docs":{},"种":{"docs":{},"来":{"docs":{},"源":{"docs":{},"等":{"docs":{},"待":{"docs":{},"接":{"docs":{},"受":{"docs":{},"事":{"docs":{},"件":{"docs":{},";":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"接":{"docs":{},"受":{"docs":{},"到":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"线":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"休":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},")":{"docs":{},"和":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"在":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"设":{"docs":{},"置":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"周":{"docs":{},"期":{"docs":{},"性":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"或":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"端":{"docs":{},"口":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{},"信":{"docs":{},"号":{"docs":{},"发":{"docs":{},"生":{"docs":{},"时":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"或":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"当":{"docs":{},"文":{"docs":{},"件":{"docs":{},"或":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"进":{"docs":{},"程":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"与":{"docs":{},"进":{"docs":{},"程":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}},"n":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933}}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"快":{"docs":{},"排":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"排":{"docs":{},"序":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"早":{"docs":{},"由":{"docs":{},"东":{"docs":{},"尼":{"docs":{},"·":{"docs":{},"霍":{"docs":{},"尔":{"docs":{},"提":{"docs":{},"出":{"docs":{},"。":{"docs":{},"在":{"docs":{},"平":{"docs":{},"均":{"docs":{},"状":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"进":{"docs":{},"程":{"docs":{},"因":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"&":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"(":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},")":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"i":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"至":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"也":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.012121212121212121}}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"s":{"docs":{},")":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},",":{"docs":{},"一":{"docs":{},"层":{"docs":{},"一":{"docs":{},"层":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"修":{"docs":{},"改":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"不":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"[":{"0":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":2.014354066985646},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5027932960893855}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},".":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"[":{"0":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"为":{"docs":{},"指":{"docs":{},"向":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}},":":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}}}}}}}}}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.030303030303030304}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"p":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"】":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}}}},"e":{"docs":{},"l":{"1":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"docs":{}}}}}},"2":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.006983240223463687},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":2.0239234449760763},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"a":{"docs":{},"l":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"g":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"m":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"o":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"[":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.01160092807424594}}}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.013677811550151976},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.010638297872340425}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"docs":{}}}}}}}}}}}}},"仅":{"docs":{},"仅":{"docs":{},"代":{"docs":{},"表":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"中":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"表":{"docs":{},"方":{"docs":{},"法":{"docs":{},"\\":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"跟":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"得":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.03398058252427184},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"。":{"docs":{},"在":{"docs":{},"继":{"docs":{},"续":{"docs":{},"往":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"转":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"本":{"docs":{},"类":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"新":{"docs":{},"增":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"此":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"新":{"docs":{},"增":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"该":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"从":{"docs":{},"而":{"docs":{},"影":{"docs":{},"响":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"的":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"上":{"docs":{},"述":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{},"关":{"docs":{},"联":{"docs":{},"到":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},":":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"(":{"docs":{},"未":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0111731843575419}}},",":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"去":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"将":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"体":{"docs":{},",":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"协":{"docs":{},"议":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.00816326530612245}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"给":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"打":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"脏":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"即":{"docs":{},"将":{"docs":{},"结":{"docs":{},"束":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836}}}},"]":{"docs":{},"/":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"]":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"向":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"观":{"docs":{},"察":{"docs":{},"键":{"docs":{},"值":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"g":{"docs":{},"s":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"链":{"docs":{},"接":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"特":{"docs":{},"别":{"docs":{},"要":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"一":{"docs":{},"栏":{"docs":{},"下":{"docs":{},"是":{"docs":{},"对":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"进":{"docs":{},"行":{"docs":{},"设":{"docs":{},"定":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"g":{"docs":{},"e":{"docs":{},":":{"1":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"证":{"docs":{},"明":{"docs":{},"了":{"docs":{},",":{"docs":{},"给":{"docs":{},"分":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"属":{"docs":{},"性":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"添":{"docs":{},"加":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"与":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"v":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"^":{"docs":{},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"4":{"1":{"9":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"docs":{}},"docs":{}},"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"存":{"docs":{},"放":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"u":{"docs":{},"r":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"m":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}},"v":{"docs":{},".":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},",":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"都":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{},"保":{"docs":{},"存":{"docs":{},"本":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{},"的":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"去":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"将":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"位":{"docs":{},"图":{"docs":{},")":{"docs":{},"传":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"当":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"进":{"docs":{},"行":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"最":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"点":{"docs":{},"(":{"docs":{},"源":{"docs":{},"码":{"docs":{},"太":{"docs":{},"长":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"不":{"docs":{},"贴":{"docs":{},"了":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"一":{"docs":{},"块":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"称":{"docs":{},"为":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"、":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"转":{"docs":{},"换":{"docs":{},"后":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"、":{"docs":{},"原":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{},"、":{"docs":{},"等":{"docs":{},"待":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.013001083423618635},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"需":{"docs":{},"要":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{},"为":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"“":{"docs":{},"s":{"docs":{},"b":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.029850746268656716},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.016891891891891893},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.01652892561983471},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.014285714285714285},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.014955134596211365},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.004452926208651399},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.022288261515601784},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}},"的":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},"—":{"docs":{},"—":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"中":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.01160092807424594}}},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315}},"&":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"[":{"docs":{},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}},"e":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0057251908396946565},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.008620689655172414},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.014218009478672985},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.016908212560386472},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.013888888888888888}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}},"e":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"g":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"u":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"c":{"docs":{},"k":{"1":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"2":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.012987012987012988},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0065005417118093175}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}},"后":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"外":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"里":{"docs":{},"不":{"docs":{},"能":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"e":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"b":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"h":{"docs":{},"a":{"1":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.029748283752860413}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}}}}}},",":{"docs":{},"其":{"docs":{},"原":{"docs":{},"因":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"触":{"docs":{},"发":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"弄":{"docs":{},"巧":{"docs":{},"成":{"docs":{},"拙":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}},"w":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"s":{"docs":{},":":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"e":{"docs":{},"(":{"4":{"docs":{},",":{"docs":{},"位":{"docs":{},"计":{"docs":{},"算":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"docs":{}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"(":{"docs":{},"将":{"docs":{},"向":{"docs":{},"右":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"操":{"docs":{},"作":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.019762845849802372},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":10.030405405405405},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.011702127659574468}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"&":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"3":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896}}}}}}}}}}}},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"里":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"有":{"docs":{},"改":{"docs":{},"动":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"做":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"操":{"docs":{},"作":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"别":{"docs":{},"的":{"docs":{},"类":{"docs":{},"会":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"住":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"操":{"docs":{},"作":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"查":{"docs":{},"询":{"docs":{},"效":{"docs":{},"率":{"docs":{},"都":{"docs":{},"很":{"docs":{},"低":{"docs":{},"。":{"docs":{},"而":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"单":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"分":{"docs":{},"离":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"z":{"docs":{},"e":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"_":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"*":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"docs":{}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"操":{"docs":{},"作":{"docs":{},"是":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"一":{"docs":{},"个":{"docs":{},"正":{"docs":{},"在":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"w":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}},"2":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}},"docs":{}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}},"o":{"docs":{},"f":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"0":{"docs":{},"x":{"1":{"0":{"0":{"0":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"把":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"加":{"docs":{},"上":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.037122969837587005},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"c":{"docs":{},",":{"docs":{},"二":{"docs":{},"者":{"docs":{},"的":{"docs":{},"后":{"docs":{},"端":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"。":{"docs":{},"二":{"docs":{},"者":{"docs":{},"都":{"docs":{},"是":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"换":{"docs":{},"句":{"docs":{},"话":{"docs":{},"说":{"docs":{},"都":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},"才":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"二":{"docs":{},"者":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"都":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},",":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},"技":{"docs":{},"术":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}},"s":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},",":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"版":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"[":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"取":{"docs":{},"消":{"docs":{},"上":{"docs":{},"一":{"docs":{},"次":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"没":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"正":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"下":{"docs":{},"载":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"通":{"docs":{},"过":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"关":{"docs":{},"联":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"请":{"docs":{},"求":{"docs":{},"链":{"docs":{},"接":{"docs":{},"接":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"操":{"docs":{},"作":{"docs":{},"类":{"docs":{},"型":{"docs":{},"如":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},":":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}},"y":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"。":{"docs":{},"它":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"当":{"docs":{},"前":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":10.00199203187251}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.006640106241699867}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"开":{"docs":{},"启":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"。":{"docs":{},"则":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"源":{"docs":{},"码":{"docs":{},"学":{"docs":{},"习":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"f":{"docs":{},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"l":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"形":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"本":{"docs":{},"阶":{"docs":{},"段":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.04}}}},"n":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}}},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.05194805194805195}},"c":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"用":{"docs":{},"来":{"docs":{},"记":{"docs":{},"录":{"docs":{},"某":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"被":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"持":{"docs":{},"有":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"记":{"docs":{},"录":{"docs":{},"某":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"以":{"docs":{},"及":{"docs":{},"已":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.021917808219178082}},"*":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"就":{"docs":{},"是":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"v":{"docs":{},"d":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}},"e":{"docs":{},"c":{"docs":{},"v":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"攻":{"docs":{},"击":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},",":{"docs":{},"起":{"docs":{},"始":{"docs":{},"地":{"docs":{},"址":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"主":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"二":{"docs":{},"方":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"[":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"=":{"docs":{},"$":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},")":{"docs":{},",":{"docs":{},"演":{"docs":{},"化":{"docs":{},"至":{"docs":{},"今":{"docs":{},"已":{"docs":{},"经":{"docs":{},"成":{"docs":{},"为":{"docs":{},"了":{"docs":{},"最":{"docs":{},"流":{"docs":{},"行":{"docs":{},"和":{"docs":{},"最":{"docs":{},"先":{"docs":{},"进":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"公":{"docs":{},"司":{"docs":{},"和":{"docs":{},"团":{"docs":{},"队":{"docs":{},"还":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}},"docs":{}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"w":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.013054830287206266}}}}}}}}},"s":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"/":{"docs":{},"t":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"。":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"如":{"docs":{},"何":{"docs":{},"保":{"docs":{},"证":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"就":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"手":{"docs":{},"段":{"docs":{},":":{"docs":{},"身":{"docs":{},"份":{"docs":{},"认":{"docs":{},"证":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{},"身":{"docs":{},"份":{"docs":{},"认":{"docs":{},"证":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"机":{"docs":{},"制":{"docs":{},":":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"中":{"docs":{},"都":{"docs":{},"是":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"送":{"docs":{},"的":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},":":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"就":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"双":{"docs":{},"发":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"3":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"a":{"docs":{},"e":{"docs":{},"s":{"docs":{},"等":{"docs":{},"。":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"双":{"docs":{},"方":{"docs":{},"各":{"docs":{},"自":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"对":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"私":{"docs":{},"钥":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"是":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},",":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"是":{"docs":{},"保":{"docs":{},"密":{"docs":{},"的":{"docs":{},"。":{"docs":{},"当":{"docs":{},"发":{"docs":{},"送":{"docs":{},"方":{"docs":{},"向":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"方":{"docs":{},"利":{"docs":{},"用":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"明":{"docs":{},"文":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"、":{"docs":{},"e":{"docs":{},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"、":{"docs":{},"e":{"docs":{},"c":{"docs":{},"c":{"docs":{},"等":{"docs":{},"。":{"docs":{},"此":{"docs":{},"处":{"docs":{},"只":{"docs":{},"是":{"docs":{},"简":{"docs":{},"单":{"docs":{},"了":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"加":{"docs":{},"密":{"docs":{},"机":{"docs":{},"制":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"若":{"docs":{},"要":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"、":{"docs":{},"过":{"docs":{},"程":{"docs":{},"请":{"docs":{},"网":{"docs":{},"上":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"资":{"docs":{},"料":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.02745995423340961}}}}},"t":{"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}},"c":{"docs":{},"p":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.25675675675675674},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516}},"/":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"区":{"docs":{},"别":{"docs":{},"以":{"docs":{},"及":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"粘":{"docs":{},"包":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":10}},",":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"及":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"丢":{"docs":{},"包":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"及":{"docs":{},"解":{"docs":{},"决":{"docs":{},"办":{"docs":{},"法":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":10}}}}}}}}}},"&":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":10}}}}}},"(":{"docs":{},"传":{"docs":{},"输":{"docs":{},"控":{"docs":{},"制":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}},"一":{"docs":{},"样":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"前":{"docs":{},"进":{"docs":{},"行":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},",":{"docs":{},"想":{"docs":{},"发":{"docs":{},"数":{"docs":{},"据":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"开":{"docs":{},"始":{"docs":{},"发":{"docs":{},"送":{"docs":{},"了":{"docs":{},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"只":{"docs":{},"是":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{},"搬":{"docs":{},"运":{"docs":{},"工":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"文":{"docs":{},"进":{"docs":{},"行":{"docs":{},"任":{"docs":{},"何":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"和":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"像":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"一":{"docs":{},"样":{"docs":{},"那":{"docs":{},"样":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"独":{"docs":{},"立":{"docs":{},"地":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"保":{"docs":{},"留":{"docs":{},"报":{"docs":{},"文":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"以":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"区":{"docs":{},"别":{"docs":{},"总":{"docs":{},"结":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"靠":{"docs":{},"停":{"docs":{},"止":{"docs":{},"等":{"docs":{},"待":{"docs":{},"协":{"docs":{},"议":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"通":{"docs":{},"信":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"候":{"docs":{},"都":{"docs":{},"能":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"两":{"docs":{},"端":{"docs":{},"都":{"docs":{},"设":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"临":{"docs":{},"时":{"docs":{},"存":{"docs":{},"放":{"docs":{},"双":{"docs":{},"向":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"可":{"docs":{},"以":{"docs":{},"立":{"docs":{},"即":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"以":{"docs":{},"便":{"docs":{},"一":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"(":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"大":{"docs":{},"小":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"和":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"是":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},"的":{"docs":{},"运":{"docs":{},"输":{"docs":{},"层":{"docs":{},"中":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"提":{"docs":{},"供":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"则":{"docs":{},"常":{"docs":{},"被":{"docs":{},"用":{"docs":{},"于":{"docs":{},"让":{"docs":{},"广":{"docs":{},"播":{"docs":{},"和":{"docs":{},"细":{"docs":{},"节":{"docs":{},"控":{"docs":{},"制":{"docs":{},"交":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"全":{"docs":{},"双":{"docs":{},"工":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334}},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"视":{"docs":{},"图":{"docs":{},"栈":{"docs":{},"里":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"为":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"次":{"docs":{},"的":{"docs":{},"逆":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"2":{"3":{"7":{"3":{"8":{"docs":{},":":{"8":{"8":{"8":{"8":{"8":{"2":{"5":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"4":{"0":{"3":{"docs":{},")":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"6":{"3":{"0":{"docs":{},")":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},";":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.006944444444444444}},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"支":{"docs":{},"持":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},",":{"docs":{},"只":{"docs":{},"读":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"常":{"docs":{},"量":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"(":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"c":{"docs":{},"h":{"docs":{},"n":{"docs":{},"i":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"》":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"@":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},")":{"docs":{},"、":{"docs":{},"远":{"docs":{},"程":{"docs":{},"控":{"docs":{},"制":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"运":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"d":{"docs":{},"o":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"o":{"docs":{},"l":{"docs":{},"]":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"^":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"是":{"docs":{},"个":{"docs":{},"不":{"docs":{},"小":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"挑":{"docs":{},"战":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}}}}}}}}}}}}},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"而":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},",":{"docs":{},"也":{"docs":{},"叫":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"关":{"docs":{},"键":{"docs":{},"码":{"docs":{},"值":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.03557312252964427},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":5.025236593059937},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"e":{"docs":{},"r":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"左":{"docs":{},"移":{"docs":{},"右":{"docs":{},"移":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"修":{"docs":{},"饰":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"会":{"docs":{},"截":{"docs":{},"获":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"的":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}},",":{"docs":{},"将":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"选":{"docs":{},"择":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},";":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"直":{"docs":{},"接":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"太":{"docs":{},"能":{"docs":{},"整":{"docs":{},"出":{"docs":{},"花":{"docs":{},"样":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"(":{"docs":{},"右":{"docs":{},"键":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"k":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"k":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"着":{"docs":{},"色":{"docs":{},"器":{"docs":{},",":{"docs":{},"把":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"块":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},",":{"docs":{},"即":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"语":{"docs":{},"境":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"面":{"docs":{},"就":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},"要":{"docs":{},"分":{"docs":{},"清":{"docs":{},":":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"跟":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.017333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},")":{"docs":{},"、":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"g":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"会":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"=":{"4":{"9":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}},"docs":{}},":":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"即":{"docs":{},"等":{"docs":{},"多":{"docs":{},"久":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},")":{"docs":{},"时":{"docs":{},"间":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"状":{"docs":{},"态":{"docs":{},"也":{"docs":{},"成":{"docs":{},"为":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"实":{"docs":{},"现":{"docs":{},"必":{"docs":{},"须":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"最":{"docs":{},"大":{"docs":{},"生":{"docs":{},"存":{"docs":{},"时":{"docs":{},"间":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"没":{"docs":{},"有":{"docs":{},"字":{"docs":{},"节":{"docs":{},"对":{"docs":{},"齐":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"默":{"docs":{},"认":{"docs":{},"添":{"docs":{},"加":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"定":{"docs":{},"为":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},")":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},"e":{"docs":{},"(":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{},"i":{"docs":{},"]":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},",":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}},"u":{"docs":{},"e":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}},"s":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"编":{"docs":{},"码":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"和":{"docs":{},"参":{"docs":{},"数":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"来":{"docs":{},"代":{"docs":{},"表":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"及":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"&":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":5.005263157894737},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.004452926208651399},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"表":{"docs":{},"示":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"n":{"docs":{},"g":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"l":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Network/Https.html":{"ref":"Network/Https.html","tf":0.03937007874015748}},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"在":{"docs":{},"加":{"docs":{},"密":{"docs":{},"信":{"docs":{},"道":{"docs":{},"进":{"docs":{},"行":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}},"b":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}},"m":{"docs":{},"p":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},".":{"docs":{},"a":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}},"t":{"docs":{},"l":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}},"n":{"docs":{},"q":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"v":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"9":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"docs":{}}},"docs":{}}}}}},"v":{"1":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},".":{"0":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{}}},"2":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},".":{"0":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{}}},"3":{"docs":{},".":{"0":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{}}},"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"是":{"docs":{},"指":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.027522935779816515},"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.03469387755102041},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.005555555555555556},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.010834236186348862}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"视":{"docs":{},"图":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"奔":{"docs":{},"溃":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"额":{"docs":{},"外":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0065005417118093175}},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"析":{"docs":{},"解":{"docs":{},"释":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"会":{"docs":{},"有":{"docs":{},"提":{"docs":{},"速":{"docs":{},",":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"特":{"docs":{},"别":{"docs":{},"留":{"docs":{},"意":{"docs":{},"什":{"docs":{},"么":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"掉":{"docs":{},"入":{"docs":{},"误":{"docs":{},"区":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}},"内":{"docs":{},"部":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"严":{"docs":{},"选":{"docs":{},"首":{"docs":{},"页":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"保":{"docs":{},"持":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"表":{"docs":{},"现":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"目":{"docs":{},"前":{"docs":{},"业":{"docs":{},"界":{"docs":{},"对":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},";":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"之":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"预":{"docs":{},"热":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"易":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"引":{"docs":{},"起":{"docs":{},"内":{"docs":{},"存":{"docs":{},"紧":{"docs":{},"张":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"如":{"docs":{},"果":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"池":{"docs":{},"子":{"docs":{},",":{"docs":{},"在":{"docs":{},"必":{"docs":{},"要":{"docs":{},"时":{"docs":{},"候":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"真":{"docs":{},"实":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"需":{"docs":{},"要":{"docs":{},"划":{"docs":{},"分":{"docs":{},"职":{"docs":{},"责":{"docs":{},",":{"docs":{},"在":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"里":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"如":{"docs":{},"本":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},")":{"docs":{},"到":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"与":{"docs":{},"约":{"docs":{},"束":{"docs":{},"时":{"docs":{},"机":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"机":{"docs":{},"制":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"什":{"docs":{},"么":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"会":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"替":{"docs":{},"换":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"右":{"docs":{},"边":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},"启":{"docs":{},"动":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"上":{"docs":{},",":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"段":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"提":{"docs":{},"交":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"上":{"docs":{},"面":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"同":{"docs":{},"步":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"要":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"也":{"docs":{},"是":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"面":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"任":{"docs":{},"务":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"等":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"控":{"docs":{},"件":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"a":{"docs":{},"l":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.025974025974025976}},"i":{"docs":{},"d":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},",":{"docs":{},"一":{"docs":{},"般":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"u":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.03},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"着":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"因":{"docs":{},"为":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"把":{"docs":{},"关":{"docs":{},"键":{"docs":{},"码":{"docs":{},"值":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"表":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"记":{"docs":{},"录":{"docs":{},",":{"docs":{},"以":{"docs":{},"加":{"docs":{},"快":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"映":{"docs":{},"射":{"docs":{},"函":{"docs":{},"数":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"散":{"docs":{},"列":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"存":{"docs":{},"放":{"docs":{},"记":{"docs":{},"录":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521}}},":":{"docs":{},"被":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"到":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"—":{"docs":{},"—":{"1":{"0":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}},"docs":{}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0057251908396946565},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.01160092807424594}},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"_":{"1":{"docs":{},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"3":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"4":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.011428571428571429},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.028169014084507043},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.01296111665004985},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.007543103448275862},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0071090047393364926},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0053435114503816794},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"(":{"docs":{},"^":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}},"/":{"docs":{},"/":{"docs":{},"➕":{"docs":{},"➕":{"docs":{},"➕":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},")":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},",":{"docs":{},"加":{"docs":{},"速":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"i":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"@":{"docs":{},":":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"发":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"↓":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}},"《":{"docs":{},"图":{"docs":{},"解":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"》":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"摘":{"docs":{},"录":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"一":{"docs":{},"些":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"阅":{"docs":{},"读":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"可":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"不":{"docs":{},"计":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"会":{"docs":{},"引":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"列":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"次":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"经":{"docs":{},"历":{"docs":{},"的":{"7":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"docs":{}}}}}}}}}}}}}},"性":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"(":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"是":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"当":{"docs":{},"其":{"docs":{},"被":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"后":{"docs":{},"事":{"docs":{},"件":{"docs":{},"被":{"docs":{},"交":{"docs":{},"由":{"docs":{},"它":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"像":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"一":{"docs":{},"样":{"docs":{},"来":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"造":{"docs":{},"成":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"担":{"docs":{},"过":{"docs":{},"重":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"docs":{},"过":{"docs":{},"长":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"因":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"现":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"做":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"、":{"docs":{},"类":{"docs":{},"别":{"docs":{},"等":{"docs":{},"方":{"docs":{},"式":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"类":{"docs":{},"别":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"现":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"增":{"docs":{},"加":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},";":{"docs":{},"类":{"docs":{},"别":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"对":{"docs":{},"被":{"docs":{},"截":{"docs":{},"获":{"docs":{},"变":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"单":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"会":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"它":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"文":{"docs":{},"本":{"docs":{},"、":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"手":{"docs":{},"机":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"请":{"docs":{},"简":{"docs":{},"述":{"docs":{},"其":{"docs":{},"流":{"docs":{},"程":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},")":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"位":{"docs":{},"于":{"docs":{},"函":{"docs":{},"数":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"销":{"docs":{},"毁":{"docs":{},",":{"docs":{},"而":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"机":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"定":{"docs":{},"义":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"里":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"他":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"合":{"docs":{},"容":{"docs":{},"器":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"来":{"docs":{},"装":{"docs":{},"这":{"docs":{},"些":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"(":{"docs":{},"程":{"docs":{},"序":{"docs":{},")":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"至":{"docs":{},"少":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"(":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{},"。":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"调":{"docs":{},"度":{"docs":{},"(":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"单":{"docs":{},"位":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"质":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"崩":{"docs":{},"溃":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"保":{"docs":{},"护":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"整":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"都":{"docs":{},"死":{"docs":{},"掉":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"多":{"docs":{},"进":{"docs":{},"程":{"docs":{},"要":{"docs":{},"比":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"健":{"docs":{},"壮":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"的":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},":":{"docs":{},"它":{"docs":{},"所":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"切":{"docs":{},"是":{"docs":{},"验":{"docs":{},"证":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"将":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"映":{"docs":{},"射":{"docs":{},"出":{"docs":{},"去":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"属":{"docs":{},"于":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"处":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"类":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"库":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"含":{"docs":{},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"\"":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"加":{"docs":{},"密":{"docs":{},"密":{"docs":{},"文":{"docs":{},"\"":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"会":{"docs":{},"被":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"机":{"docs":{},"构":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"比":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"也":{"docs":{},"没":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"有":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"道":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"题":{"docs":{},"目":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"套":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}},"目":{"docs":{},"了":{"docs":{},"然":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"别":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"便":{"docs":{},"知":{"docs":{},",":{"docs":{},"该":{"docs":{},"类":{"docs":{},"扮":{"docs":{},"演":{"docs":{},"的":{"docs":{},"是":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}},"旦":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"就":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"一":{"docs":{},"直":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"类":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"超":{"docs":{},"过":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"起":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"小":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"再":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"差":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"张":{"docs":{},"包":{"docs":{},"含":{"docs":{},"很":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"带":{"docs":{},"你":{"docs":{},"揭":{"docs":{},"开":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"面":{"docs":{},"纱":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"看":{"docs":{},"懂":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"、":{"docs":{},"证":{"docs":{},"书":{"docs":{},"机":{"docs":{},"构":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},")":{"docs":{},"、":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},"、":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"、":{"docs":{},"公":{"docs":{},"钥":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"棵":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"定":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"系":{"docs":{},"列":{"docs":{},"以":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"、":{"docs":{},"背":{"docs":{},"景":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"和":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"如":{"docs":{},"何":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"广":{"docs":{},"播":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"就":{"docs":{},"会":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"协":{"docs":{},"议":{"docs":{},"?":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"解":{"docs":{},"决":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"协":{"docs":{},"议":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"v":{"docs":{},"c":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"?":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"卡":{"docs":{},"顿":{"docs":{},"?":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"元":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"联":{"docs":{},"合":{"docs":{},"体":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"传":{"docs":{},"送":{"docs":{},"门":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}},"来":{"docs":{},"自":{"docs":{},"其":{"docs":{},"他":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},"/":{"docs":{},"消":{"docs":{},"息":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"时":{"docs":{},"或":{"docs":{},"重":{"docs":{},"复":{"docs":{},"发":{"docs":{},"送":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"链":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},":":{"docs":{},"有":{"docs":{},"系":{"docs":{},"统":{"docs":{},"向":{"docs":{},"最":{"docs":{},"上":{"docs":{},"层":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"设":{"docs":{},"备":{"docs":{},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{},"当":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"抹":{"docs":{},"除":{"docs":{},"这":{"docs":{},"个":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"重":{"docs":{},"新":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"过":{"docs":{},"程":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}},"统":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"操":{"docs":{},"作":{"docs":{},"为":{"docs":{},"标":{"docs":{},"准":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},",":{"docs":{},"即":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"模":{"docs":{},"型":{"docs":{},"下":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"先":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"减":{"docs":{},"少":{"docs":{},"了":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"多":{"docs":{},"次":{"docs":{},"数":{"docs":{},"据":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"及":{"docs":{},"内":{"docs":{},"存":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"多":{"docs":{},"处":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},"队":{"docs":{},"列":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},"传":{"docs":{},"入":{"docs":{},"和":{"docs":{},"传":{"docs":{},"出":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"消":{"docs":{},"息":{"docs":{},"队":{"docs":{},"列":{"docs":{},"既":{"docs":{},"简":{"docs":{},"单":{"docs":{},"又":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"们":{"docs":{},"不":{"docs":{},"如":{"docs":{},"其":{"docs":{},"他":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"信":{"docs":{},"技":{"docs":{},"术":{"docs":{},"高":{"docs":{},"效":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"存":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"、":{"docs":{},"平":{"docs":{},"均":{"docs":{},"访":{"docs":{},"问":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"较":{"docs":{},"高":{"docs":{},"、":{"docs":{},"用":{"docs":{},"户":{"docs":{},"连":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"率":{"docs":{},"较":{"docs":{},"高":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"是":{"docs":{},"交":{"docs":{},"给":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"来":{"docs":{},"做":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"解":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},"被":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"插":{"docs":{},"入":{"docs":{},"广":{"docs":{},"告":{"docs":{},",":{"docs":{},"解":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},"不":{"docs":{},"按":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"值":{"docs":{},"为":{"2":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"三":{"docs":{},"次":{"docs":{},"才":{"docs":{},"堵":{"docs":{},"塞":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"docs":{}}}},"输":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"网":{"docs":{},"络":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"给":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"于":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"域":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"会":{"docs":{},"是":{"docs":{},"非":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},",":{"docs":{},"向":{"docs":{},"上":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"另":{"docs":{},"外":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}},"比":{"docs":{},"较":{"docs":{},"适":{"docs":{},"合":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"也":{"docs":{},"有":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"账":{"docs":{},"号":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"可":{"docs":{},"能":{"docs":{},"要":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"对":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"单":{"docs":{},"独":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"由":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"苹":{"docs":{},"果":{"docs":{},"还":{"docs":{},"建":{"docs":{},"议":{"docs":{},"更":{"docs":{},"多":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"和":{"docs":{"./":{"ref":"./","tf":0.027777777777777776},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.012962962962962963},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.009750812567713976},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.011441647597254004},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.010912698412698412}},"它":{"docs":{},"的":{"docs":{},"父":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"前":{"docs":{},"面":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"中":{"docs":{},"对":{"docs":{},"应":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"。":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"和":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"共":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"端":{"docs":{},"口":{"docs":{},"“":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"。":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"当":{"docs":{},"代":{"docs":{},"码":{"docs":{},"离":{"docs":{},"开":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"被":{"docs":{},"加":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"他":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"一":{"docs":{},"样":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"关":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"检":{"docs":{},"查":{"docs":{},"也":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"也":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"元":{"docs":{},"素":{"docs":{},"都":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"将":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"装":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"打":{"docs":{},"包":{"docs":{},"出":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"方":{"docs":{},"法":{"docs":{},"本":{"docs":{},"身":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"还":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"大":{"docs":{},"量":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"学":{"docs":{},"等":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"践":{"docs":{},"中":{"docs":{},"也":{"docs":{},"非":{"docs":{},"常":{"docs":{},"考":{"docs":{},"验":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"排":{"docs":{},"查":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"功":{"docs":{},"、":{"docs":{},"经":{"docs":{},"验":{"docs":{},"和":{"docs":{},"判":{"docs":{},"断":{"docs":{},"能":{"docs":{},"力":{"docs":{},"—":{"docs":{},"—":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"不":{"docs":{},"恰":{"docs":{},"当":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"打":{"docs":{},"开":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"生":{"docs":{},"成":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"联":{"docs":{},"调":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{},"后":{"docs":{},"期":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"来":{"docs":{},"保":{"docs":{},"障":{"docs":{},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"称":{"docs":{},"这":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"不":{"docs":{},"符":{"docs":{},",":{"docs":{},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"阿":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},";":{"docs":{},"它":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"m":{"docs":{},"和":{"docs":{},"v":{"docs":{},"之":{"docs":{},"间":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}},"父":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"容":{"docs":{},"器":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"也":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"时":{"docs":{},"它":{"docs":{},"们":{"docs":{},"还":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"排":{"docs":{},"队":{"docs":{},",":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"被":{"docs":{},"组":{"docs":{},"合":{"docs":{},"到":{"docs":{},"一":{"docs":{},"块":{"docs":{},"画":{"docs":{},"布":{"docs":{},"上":{"docs":{},",":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"无":{"docs":{},"法":{"docs":{},"统":{"docs":{},"一":{"docs":{},"裁":{"docs":{},"剪":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"会":{"docs":{},"主":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"延":{"docs":{},"时":{"0":{"docs":{},"s":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"相":{"docs":{},"应":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"上":{"docs":{},"面":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},".":{"docs":{},"(":{"docs":{},"创":{"docs":{},"建":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"后":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"读":{"docs":{},"取":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"许":{"docs":{},"多":{"docs":{},"临":{"docs":{},"时":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"内":{"docs":{},"存":{"docs":{},"过":{"docs":{},"高":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"把":{"docs":{},"信":{"docs":{},"息":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"就":{"docs":{},"能":{"docs":{},"避":{"docs":{},"免":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"储":{"docs":{},"存":{"docs":{},"多":{"docs":{},"种":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"通":{"docs":{},"用":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"通":{"docs":{},"常":{"docs":{},"比":{"docs":{},"单":{"docs":{},"一":{"docs":{},"平":{"docs":{},"台":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},"要":{"docs":{},"大":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"后":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"应":{"docs":{},"答":{"docs":{},"的":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},"时":{"docs":{},",":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"能":{"docs":{},"先":{"docs":{},"回":{"docs":{},"复":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"\"":{"docs":{},"你":{"docs":{},"发":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},"我":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"等":{"docs":{},"到":{"docs":{},"我":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"都":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"才":{"docs":{},"能":{"docs":{},"发":{"docs":{},"送":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"不":{"docs":{},"能":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"送":{"docs":{},"。":{"docs":{},"故":{"docs":{},"需":{"docs":{},"要":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"会":{"docs":{},"以":{"docs":{},"恒":{"docs":{},"定":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"即":{"docs":{},"使":{"docs":{},"网":{"docs":{},"络":{"docs":{},"条":{"docs":{},"件":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"发":{"docs":{},"送":{"docs":{},"速":{"docs":{},"率":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"弊":{"docs":{},"端":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"条":{"docs":{},"件":{"docs":{},"不":{"docs":{},"好":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"丢":{"docs":{},"包":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"优":{"docs":{},"点":{"docs":{},"也":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"要":{"docs":{},"求":{"docs":{},"高":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"电":{"docs":{},"话":{"docs":{},"会":{"docs":{},"议":{"docs":{},")":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"加":{"docs":{},"到":{"docs":{},"了":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"就":{"docs":{},"要":{"docs":{},"想":{"docs":{},"办":{"docs":{},"法":{"docs":{},"给":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"加":{"docs":{},"点":{"docs":{},"料":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"需":{"docs":{},"要":{"docs":{},"逆":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"将":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"当":{"docs":{},"类":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"了":{"docs":{},"接":{"docs":{},"口":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"种":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"是":{"docs":{},"马":{"docs":{},"上":{"docs":{},"更":{"docs":{},"新":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"先":{"docs":{},"完":{"docs":{},"成":{"docs":{},"手":{"docs":{},"头":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"将":{"docs":{},"来":{"docs":{},"再":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"都":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"外":{"docs":{},"观":{"docs":{},"模":{"docs":{},"式":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"每":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"此":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"内":{"docs":{},"完":{"docs":{},"不":{"docs":{},"成":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"做":{"docs":{},"了":{"docs":{},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"层":{"docs":{},"次":{"docs":{},"过":{"docs":{},"于":{"docs":{},"多":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"过":{"docs":{},"于":{"docs":{},"大":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"压":{"docs":{},"力":{"docs":{},"太":{"docs":{},"大":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"“":{"docs":{},"卡":{"docs":{},"”":{"docs":{},"的":{"docs":{},"现":{"docs":{},"象":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"丢":{"docs":{},"帧":{"docs":{},".":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"外":{"docs":{},"部":{"docs":{},"修":{"docs":{},"改":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"才":{"docs":{},"能":{"docs":{},"确":{"docs":{},"认":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"与":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"共":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"⼀":{"docs":{},"种":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},"。":{"docs":{},"⼀":{"docs":{},"旦":{"docs":{},"获":{"docs":{},"取":{"docs":{},"了":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"⼀":{"docs":{},"直":{"docs":{},"保":{"docs":{},"持":{"docs":{},"该":{"docs":{},"锁":{"docs":{},",":{"docs":{},"直":{"docs":{},"⾄":{"docs":{},"显":{"docs":{},"式":{"docs":{},"释":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"话":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.009153318077803204},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.03248259860788863},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0070921985815602835},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"上":{"docs":{},"述":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"下":{"docs":{},"文":{"docs":{},"中":{"docs":{},"做":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"面":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"示":{"docs":{},"意":{"docs":{},"图":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"有":{"docs":{},"所":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"工":{"docs":{},"作":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"总":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"超":{"docs":{},"出":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"(":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"u":{"docs":{},"i":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"或":{"docs":{},"者":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"东":{"docs":{},"西":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"回":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"代":{"docs":{},"理":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"给":{"docs":{},"与":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"调":{"docs":{},"一":{"docs":{},"个":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"把":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"规":{"docs":{},"定":{"docs":{},"的":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"内":{"docs":{},",":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"到":{"docs":{},"来":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"共":{"docs":{},"同":{"docs":{},"完":{"docs":{},"成":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"合":{"docs":{},"成":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"、":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"表":{"docs":{},"内":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"上":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"解":{"docs":{},"决":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"都":{"docs":{},"是":{"docs":{},"等":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"其":{"docs":{},"他":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"之":{"docs":{},"间":{"docs":{},"可":{"docs":{},"以":{"docs":{},"互":{"docs":{},"相":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"边":{"docs":{},"界":{"docs":{},"条":{"docs":{},"件":{"docs":{},"下":{"docs":{},",":{"docs":{},"某":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"在":{"docs":{},"今":{"docs":{},"天":{"docs":{},"看":{"docs":{},"来":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"收":{"docs":{},"集":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"案":{"docs":{},"例":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"运":{"docs":{},"行":{"docs":{},"循":{"docs":{},"环":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"某":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"队":{"docs":{},"列":{"docs":{},"上":{"docs":{},"提":{"docs":{},"交":{"docs":{},"了":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"会":{"docs":{},"注":{"docs":{},"册":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"上":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"几":{"docs":{},"点":{"docs":{},"应":{"docs":{},"用":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"期":{"docs":{},"间":{"docs":{},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"中":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"收":{"docs":{},"端":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"处":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"背":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"百":{"docs":{},"度":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"研":{"docs":{},"究":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"有":{"docs":{},"想":{"docs":{},"过":{"docs":{},"去":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"试":{"docs":{},"着":{"docs":{},"去":{"docs":{},"理":{"docs":{},"解":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"完":{"docs":{},"全":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"惜":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"开":{"docs":{},"源":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"章":{"docs":{},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"运":{"docs":{},"作":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"是":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"、":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"、":{"docs":{},"父":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"方":{"docs":{},"法":{"docs":{},"决":{"docs":{},"议":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"同":{"docs":{},"时":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"y":{"docs":{},"大":{"docs":{},"的":{"docs":{},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"推":{"docs":{},"荐":{"docs":{},"大":{"docs":{},"家":{"docs":{},"去":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"落":{"docs":{},"影":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"阅":{"docs":{},"读":{"docs":{},"郭":{"docs":{},"曜":{"docs":{},"源":{"docs":{},"前":{"docs":{},"辈":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"和":{"docs":{},"析":{"docs":{},"构":{"docs":{},"的":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"或":{"docs":{},"者":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},".":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"或":{"docs":{},"者":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},".":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"相":{"docs":{},"关":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"几":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"里":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"被":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"了":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"样":{"docs":{},"的":{"docs":{},"继":{"docs":{},"承":{"docs":{},"体":{"docs":{},"系":{"docs":{},"下":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"、":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"元":{"docs":{},"类":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"2":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"印":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"定":{"docs":{},"时":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"但":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"在":{"docs":{},"一":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"当":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"就":{"docs":{},"挂":{"docs":{},"机":{"docs":{},"了":{"docs":{},";":{"docs":{},"又":{"docs":{},"如":{"docs":{},"果":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"在":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"就":{"docs":{},"会":{"docs":{},"推":{"docs":{},"迟":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"周":{"docs":{},"期":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"计":{"docs":{},"时":{"docs":{},"上":{"docs":{},"会":{"docs":{},"有":{"docs":{},"误":{"docs":{},"差":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"特":{"docs":{},"别":{"docs":{},"精":{"docs":{},"确":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"计":{"docs":{},"时":{"docs":{},"精":{"docs":{},"度":{"docs":{},"要":{"docs":{},"高":{"docs":{},"很":{"docs":{},"多":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"种":{"docs":{},"类":{"docs":{},"只":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},":":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"比":{"docs":{},"如":{"docs":{},"条":{"docs":{},"件":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"都":{"docs":{},"是":{"docs":{},"上":{"docs":{},"层":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"探":{"docs":{},"索":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"键":{"docs":{},"值":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"入":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}},"取":{"docs":{},"出":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"类":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"区":{"docs":{},"分":{"docs":{},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"和":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"若":{"docs":{},"引":{"docs":{},"用":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"元":{"docs":{},"类":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"类":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"里":{"docs":{},"就":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"份":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"都":{"docs":{},"保":{"docs":{},"存":{"docs":{},"一":{"docs":{},"份":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"接":{"docs":{},"收":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"之":{"docs":{},"后":{"docs":{},"修":{"docs":{},"改":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"紧":{"docs":{},"跟":{"docs":{},"在":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"给":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"只":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"证":{"docs":{},"书":{"docs":{},"验":{"docs":{},"证":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}},",":{"docs":{},"以":{"docs":{},"上":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"被":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"只":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"两":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"_":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"依":{"docs":{},"然":{"docs":{},"为":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"情":{"docs":{},"况":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"上":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},"的":{"docs":{},"研":{"docs":{},"究":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"两":{"docs":{},"个":{"docs":{},"队":{"docs":{},"列":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"释":{"docs":{},"放":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"m":{"docs":{},"r":{"docs":{},"c":{"docs":{},"中":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"创":{"docs":{},"造":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"之":{"docs":{},"前":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"防":{"docs":{},"止":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"提":{"docs":{},"前":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"当":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"就":{"docs":{},"会":{"docs":{},"释":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"直":{"docs":{},"进":{"docs":{},"行":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"原":{"docs":{},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"野":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"了":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"外":{"docs":{},"部":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"入":{"docs":{},"口":{"docs":{},"静":{"docs":{},"态":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"下":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"还":{"docs":{},"是":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"底":{"docs":{},"部":{"docs":{},"去":{"docs":{},"看":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"在":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"前":{"docs":{},"后":{"docs":{},"分":{"docs":{},"别":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"编":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"方":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"操":{"docs":{},"作":{"docs":{},"即":{"docs":{},"可":{"docs":{},"产":{"docs":{},"生":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"触":{"docs":{},"发":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"注":{"docs":{},"册":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"修":{"docs":{},"改":{"docs":{},"观":{"docs":{},"察":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"中":{"docs":{},"间":{"docs":{},"类":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"真":{"docs":{},"实":{"docs":{},"类":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"反":{"docs":{},"映":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"刚":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"监":{"docs":{},"听":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"掉":{"docs":{},"不":{"docs":{},"关":{"docs":{},"心":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"只":{"docs":{},"专":{"docs":{},"注":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"共":{"docs":{},"享":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"共":{"docs":{},"享":{"docs":{},"内":{"docs":{},"存":{"docs":{},"块":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"共":{"docs":{},"享":{"docs":{},"变":{"docs":{},"量":{"docs":{},"既":{"docs":{},"快":{"docs":{},"速":{"docs":{},"又":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"们":{"docs":{},"比":{"docs":{},"直":{"docs":{},"接":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"更":{"docs":{},"脆":{"docs":{},"弱":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},"锁":{"docs":{},"或":{"docs":{},"其":{"docs":{},"他":{"docs":{},"同":{"docs":{},"步":{"docs":{},"机":{"docs":{},"制":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"保":{"docs":{},"护":{"docs":{},"共":{"docs":{},"享":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"正":{"docs":{},"确":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"时":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"被":{"docs":{},"销":{"docs":{},"毁":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"都":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"均":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"其":{"docs":{},"专":{"docs":{},"用":{"docs":{},"且":{"docs":{},"受":{"docs":{},"保":{"docs":{},"护":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"内":{"docs":{},"。":{"docs":{},"进":{"docs":{},"程":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"分":{"docs":{},"配":{"docs":{},"资":{"docs":{},"源":{"docs":{},"和":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"单":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"银":{"docs":{},"行":{"docs":{},"(":{"docs":{},"进":{"docs":{},"程":{"docs":{},")":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"4":{"docs":{},"个":{"docs":{},"工":{"docs":{},"作":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"(":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"队":{"docs":{},"伍":{"docs":{},"(":{"docs":{},"队":{"docs":{},"列":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"取":{"docs":{},"消":{"docs":{},"已":{"docs":{},"经":{"docs":{},"设":{"docs":{},"定":{"docs":{},"要":{"docs":{},"准":{"docs":{},"备":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"了":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"没":{"docs":{},"法":{"docs":{},"停":{"docs":{},"止":{"docs":{},"已":{"docs":{},"经":{"docs":{},"加":{"docs":{},"入":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"有":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"需":{"docs":{},"要":{"docs":{},"许":{"docs":{},"多":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{},"篇":{"docs":{},"章":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"过":{"docs":{},"讲":{"docs":{},"解":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"该":{"docs":{},"页":{"docs":{},"面":{"docs":{},"标":{"docs":{},"记":{"docs":{},"成":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"动":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"手":{"docs":{},"加":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"给":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"(":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"东":{"docs":{},"西":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"实":{"docs":{},"例":{"docs":{},"开":{"docs":{},"始":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"际":{"docs":{},"分":{"docs":{},"析":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"被":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},",":{"docs":{},"父":{"docs":{},"类":{"docs":{},"未":{"docs":{},"被":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"父":{"docs":{},"类":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},"这":{"docs":{},"个":{"docs":{},"段":{"docs":{},"里":{"docs":{},",":{"docs":{},"在":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"父":{"docs":{},"类":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"出":{"docs":{},"去":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"中":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"续":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"工":{"docs":{},"程":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"重":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"传":{"docs":{},"递":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"出":{"docs":{},"现":{"docs":{},"前":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"指":{"docs":{},"令":{"docs":{},"必":{"docs":{},"须":{"docs":{},"都":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"内":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"能":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"十":{"docs":{},"分":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"发":{"docs":{},"生":{"docs":{},"越":{"docs":{},"界":{"docs":{},"访":{"docs":{},"问":{"docs":{},"等":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"当":{"docs":{},"进":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"个":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"缺":{"docs":{},"页":{"docs":{},"中":{"docs":{},"断":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"中":{"docs":{},",":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"长":{"docs":{},"度":{"docs":{},"或":{"docs":{},"者":{"docs":{},"基":{"docs":{},"于":{"docs":{},"终":{"docs":{},"结":{"docs":{},"符":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"中":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"x":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"y":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"端":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"如":{"docs":{},"何":{"docs":{},"获":{"docs":{},"得":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"当":{"docs":{},"时":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"分":{"docs":{},"发":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"劫":{"docs":{},"持":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"自":{"docs":{},"己":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"一":{"docs":{},"对":{"docs":{},"密":{"docs":{},"钥":{"docs":{},",":{"docs":{},"将":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"将":{"docs":{},"信":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"劫":{"docs":{},"持":{"docs":{},",":{"docs":{},"用":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"密":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"而":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"反":{"docs":{},"过":{"docs":{},"来":{"docs":{},"亦":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"是":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"信":{"docs":{},"息":{"docs":{},"泄":{"docs":{},"露":{"docs":{},"却":{"docs":{},"不":{"docs":{},"得":{"docs":{},"而":{"docs":{},"知":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"修":{"docs":{},"改":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"对":{"docs":{},"于":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{},"是":{"docs":{},"可":{"docs":{},"见":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"对":{"docs":{},"象":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"包":{"docs":{},"含":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"平":{"docs":{},"时":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"而":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"早":{"docs":{},"年":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"分":{"docs":{},"类":{"docs":{},"中":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"已":{"docs":{},"经":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"处":{"docs":{},"打":{"docs":{},"个":{"docs":{},"断":{"docs":{},"点":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"严":{"docs":{},"选":{"docs":{},"里":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"被":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},",":{"docs":{},"比":{"docs":{},"方":{"docs":{},"说":{"docs":{},"从":{"docs":{},"后":{"docs":{},"台":{"docs":{},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"中":{"docs":{},",":{"docs":{},"得":{"docs":{},"知":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"和":{"docs":{},"同":{"docs":{},"事":{"docs":{},"解":{"docs":{},"决":{"docs":{},"严":{"docs":{},"选":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"弹":{"docs":{},"窗":{"docs":{},"出":{"docs":{},"现":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}}}}}}}}}}}}}},"整":{"docs":{},"理":{"docs":{},"出":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"论":{"docs":{},"后":{"docs":{},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"了":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"不":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"上":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"苹":{"docs":{},"果":{"docs":{},"推":{"docs":{},"广":{"docs":{},"时":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"提":{"docs":{},"到":{"docs":{},"它":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"起":{"docs":{},"重":{"docs":{},"视":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"性":{"docs":{},"能":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"作":{"docs":{},"为":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"衡":{"docs":{},"量":{"docs":{},"指":{"docs":{},"标":{"docs":{},",":{"docs":{},"将":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"成":{"docs":{},"本":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"以":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"明":{"docs":{},"显":{"docs":{},"差":{"docs":{},"异":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"都":{"docs":{},"能":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"合":{"docs":{},"作":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"加":{"docs":{},"高":{"docs":{},"效":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"上":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"和":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"改":{"docs":{},"变":{"docs":{},"它":{"docs":{},"?":{"docs":{},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"的":{"docs":{},"话":{"docs":{},"又":{"docs":{},"如":{"docs":{},"何":{"docs":{},"改":{"docs":{},"变":{"docs":{},"它":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"决":{"docs":{},"策":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"回":{"docs":{},"到":{"docs":{},"今":{"docs":{},"天":{"docs":{},"要":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"『":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"避":{"docs":{},"免":{"docs":{},"很":{"docs":{},"多":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"子":{"docs":{},"类":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"创":{"docs":{},"建":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"且":{"docs":{},"在":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"里":{"docs":{},"面":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"给":{"docs":{},"每":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"为":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"走":{"docs":{},"通":{"docs":{},"了":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"验":{"docs":{},"证":{"docs":{},"了":{"docs":{},"方":{"docs":{},"案":{"docs":{},"的":{"docs":{},"可":{"docs":{},"行":{"docs":{},"性":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"始":{"docs":{},"完":{"docs":{},"善":{"docs":{},"设":{"docs":{},"计":{"docs":{},"整":{"docs":{},"套":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"测":{"docs":{},"试":{"docs":{},"其":{"docs":{},"性":{"docs":{},"能":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{},"如":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"生":{"docs":{},"成":{"docs":{},"截":{"docs":{},"图":{"docs":{},"较":{"docs":{},"为":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"去":{"docs":{},"截":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"性":{"docs":{},"能":{"docs":{},"有":{"docs":{},"了":{"docs":{},"显":{"docs":{},"著":{"docs":{},"提":{"docs":{},"升":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"本":{"docs":{},"次":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"面":{"docs":{},"对":{"docs":{},"一":{"docs":{},"些":{"docs":{},"大":{"docs":{},"型":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"找":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"且":{"docs":{},"最":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"不":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},",":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"这":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"及":{"docs":{},"其":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"其":{"docs":{},"他":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"向":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"查":{"docs":{},"找":{"docs":{},"手":{"docs":{},"势":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"系":{"docs":{},"列":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"会":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"和":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"能":{"docs":{},"够":{"docs":{},"继":{"docs":{},"续":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"表":{"docs":{},"示":{"docs":{},"事":{"docs":{},"件":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"打":{"docs":{},"断":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"级":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"响":{"docs":{},"应":{"docs":{},"环":{"docs":{},"节":{"docs":{},"的":{"docs":{},"上":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"开":{"docs":{},"始":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"上":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"离":{"docs":{},"自":{"docs":{},"己":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"时":{"docs":{},"会":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"学":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"来":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"显":{"docs":{},"示":{"docs":{},"范":{"docs":{},"围":{"docs":{},"超":{"docs":{},"出":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"写":{"docs":{},"该":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"视":{"docs":{},"图":{"docs":{},"是":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"等":{"docs":{},"于":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"【":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"复":{"docs":{},"用":{"docs":{},"已":{"docs":{},"有":{"docs":{},"的":{"docs":{},"m":{"docs":{},"和":{"docs":{},"v":{"docs":{},"便":{"docs":{},"可":{"docs":{},"快":{"docs":{},"速":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"展":{"docs":{},"示":{"docs":{},"错":{"docs":{},"乱":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},",":{"docs":{},"分":{"docs":{},"用":{"docs":{},",":{"docs":{},"差":{"docs":{},"错":{"docs":{},"检":{"docs":{},"测":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0183206106870229},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.01675977653631285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.014577259475218658},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.016241299303944315},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.024242424242424242},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.025787965616045846}}}},"并":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"杂":{"docs":{},"度":{"docs":{},"分":{"docs":{},"析":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"对":{"docs":{},"象":{"docs":{},"传":{"docs":{},"输":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"优":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"也":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"比":{"docs":{},"较":{"docs":{},"丑":{"docs":{},"陋":{"docs":{},",":{"docs":{},"重":{"docs":{},"复":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"的":{"docs":{},"增":{"docs":{},"加":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"参":{"docs":{},"数":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"任":{"docs":{},"何":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"场":{"docs":{},"景":{"docs":{},"都":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"外":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"游":{"docs":{},"戏":{"docs":{},"类":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"方":{"docs":{},"向":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"即":{"docs":{},"应":{"docs":{},"用":{"docs":{},"页":{"docs":{},"面":{"docs":{},"不":{"docs":{},"会":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"始":{"docs":{},"终":{"docs":{},"以":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"方":{"docs":{},"向":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"勾":{"docs":{},"选":{"docs":{},"上":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"家":{"docs":{},"应":{"docs":{},"该":{"docs":{},"都":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{},"玩":{"docs":{},"一":{"docs":{},"玩":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"小":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"体":{"docs":{},"分":{"docs":{},"为":{"docs":{},"如":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"右":{"docs":{},"边":{"docs":{},"序":{"docs":{},"列":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}},"法":{"docs":{},"好":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"概":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"收":{"docs":{},"获":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"用":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"确":{"docs":{},"保":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"不":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"去":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"没":{"docs":{},"办":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},"必":{"docs":{},"须":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"里":{"docs":{},"预":{"docs":{},"先":{"docs":{},"设":{"docs":{},"置":{"docs":{},"将":{"docs":{},"来":{"docs":{},"真":{"docs":{},"正":{"docs":{},"展":{"docs":{},"示":{"docs":{},"时":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"函":{"docs":{},"数":{"docs":{},"默":{"docs":{},"认":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"也":{"docs":{},"是":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"总":{"docs":{},"结":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"是":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"解":{"docs":{},"释":{"docs":{},"通":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"笔":{"docs":{},"者":{"docs":{},"认":{"docs":{},"为":{"docs":{},":":{"docs":{},"超":{"docs":{},"过":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"核":{"docs":{},"心":{"docs":{},"数":{"docs":{},"量":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"速":{"docs":{},"度":{"docs":{},"上":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"业":{"docs":{},"务":{"docs":{},"上":{"docs":{},"便":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"能":{"docs":{},"最":{"docs":{},"大":{"docs":{},"化":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"排":{"docs":{},"序":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{},"x":{"docs":{},"=":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},",":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"不":{"docs":{},"大":{"docs":{},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"。":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"折":{"docs":{},"中":{"docs":{},"发":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"在":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"都":{"docs":{},"是":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"了":{"docs":{},"吧":{"docs":{},"。":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"是":{"docs":{},":":{"docs":{},"从":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"开":{"docs":{},"始":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"会":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"修":{"docs":{},"复":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"释":{"docs":{},"放":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"元":{"docs":{},"类":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"(":{"docs":{},"继":{"docs":{},"承":{"docs":{},"体":{"docs":{},"系":{"docs":{},"中":{"docs":{},"处":{"docs":{},"于":{"docs":{},"顶":{"docs":{},"端":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"所":{"docs":{},"有":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"(":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"类":{"docs":{},")":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"都":{"docs":{},"会":{"docs":{},"以":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"作":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"类":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"规":{"docs":{},"则":{"docs":{},"都":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"两":{"docs":{},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},"而":{"docs":{},"展":{"docs":{},"开":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"容":{"docs":{},"器":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"设":{"docs":{},"置":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},"挪":{"docs":{},"入":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"调":{"docs":{},"用":{"docs":{},"均":{"docs":{},"通":{"docs":{},"过":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"来":{"docs":{},"做":{"docs":{},"(":{"docs":{},"图":{"docs":{},"二":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"架":{"docs":{},"构":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"会":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"需":{"docs":{},"要":{"docs":{},"反":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"这":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"从":{"docs":{},"根":{"docs":{},"本":{"docs":{},"上":{"docs":{},"解":{"docs":{},"除":{"docs":{},"循":{"docs":{},"坏":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"时":{"docs":{},"不":{"docs":{},"时":{"docs":{},"发":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"改":{"docs":{},"动":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"受":{"docs":{},"影":{"docs":{},"响":{"docs":{},"编":{"docs":{},"译":{"docs":{},"不":{"docs":{},"过":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"技":{"docs":{},"术":{"docs":{},"手":{"docs":{},"段":{"docs":{},",":{"docs":{},"消":{"docs":{},"除":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"对":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"即":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"(":{"docs":{},"图":{"docs":{},"三":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"持":{"docs":{},"有":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"“":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"”":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"中":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"堆":{"docs":{},"中":{"docs":{},"。":{"docs":{},"进":{"docs":{},"而":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"到":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"只":{"docs":{},"要":{"docs":{},"观":{"docs":{},"察":{"docs":{},"到":{"docs":{},"该":{"docs":{},"变":{"docs":{},"量":{"docs":{},"被":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}},"属":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"上":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"等":{"docs":{},"全":{"docs":{},"部":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"谓":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"你":{"docs":{},"定":{"docs":{},"义":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"条":{"docs":{},"件":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}},"示":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"做":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"适":{"docs":{},"配":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"最":{"docs":{},"少":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"有":{"docs":{},"更":{"docs":{},"激":{"docs":{},"进":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{},"么":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"让":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"多":{"docs":{},"博":{"docs":{},"文":{"docs":{},"可":{"docs":{},"看":{"docs":{},"传":{"docs":{},"送":{"docs":{},"门":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"分":{"docs":{},"享":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"好":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"析":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}},"新":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"是":{"docs":{},"你":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"那":{"docs":{},"样":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"某":{"docs":{},"些":{"docs":{},"计":{"docs":{},"算":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"当":{"docs":{},"下":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"改":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"以":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"新":{"docs":{},"值":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"以":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"重":{"docs":{},"要":{"docs":{},"些":{"docs":{},"。":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"没":{"docs":{},"想":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"链":{"docs":{},"接":{"docs":{},"语":{"docs":{},"法":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"便":{"docs":{},"于":{"docs":{},"测":{"docs":{},"试":{"docs":{},"么":{"docs":{},"?":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"一":{"docs":{},"直":{"docs":{},"在":{"docs":{},"思":{"docs":{},"考":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"什":{"docs":{},"么":{"docs":{},"关":{"docs":{},"系":{"docs":{},"和":{"docs":{},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"作":{"docs":{},"用":{"docs":{},"?":{"docs":{},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"测":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"优":{"docs":{},"点":{"docs":{},"吗":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"许":{"docs":{},"多":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"给":{"docs":{},"视":{"docs":{},"图":{"docs":{},"打":{"docs":{},"上":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"如":{"docs":{},"果":{"docs":{},"支":{"docs":{},"持":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}},"防":{"docs":{},"护":{"docs":{},"操":{"docs":{},"作":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},"来":{"docs":{},"做":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"必":{"docs":{},"不":{"docs":{},"可":{"docs":{},"少":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"比":{"docs":{},"较":{"docs":{},"小":{"docs":{},"则":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"套":{"docs":{},"很":{"docs":{},"智":{"docs":{},"能":{"docs":{},"的":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"策":{"docs":{},"略":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"两":{"docs":{},"种":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"点":{"docs":{},"特":{"docs":{},"殊":{"docs":{},",":{"docs":{},"替":{"docs":{},"换":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"比":{"docs":{},"较":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"防":{"docs":{},"护":{"docs":{},"手":{"docs":{},"段":{"docs":{},"就":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"了":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"a":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"3":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"、":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"、":{"docs":{},"r":{"docs":{},"c":{"4":{"docs":{},"、":{"docs":{},"r":{"docs":{},"c":{"5":{"docs":{},"、":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"等":{"docs":{},"。":{"docs":{},"加":{"docs":{},"密":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"和":{"docs":{},"解":{"docs":{},"密":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"是":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},",":{"docs":{},"若":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},",":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"不":{"docs":{},"能":{"docs":{},"对":{"docs":{},"外":{"docs":{},"公":{"docs":{},"开":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"消":{"docs":{},"息":{"docs":{},"体":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"m":{"docs":{},"d":{"5":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"1":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"2":{"5":{"6":{"docs":{},"。":{"docs":{},"用":{"docs":{},"来":{"docs":{},"确":{"docs":{},"认":{"docs":{},"信":{"docs":{},"息":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"篡":{"docs":{},"改":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"是":{"docs":{},"加":{"docs":{},"在":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"证":{"docs":{},"明":{"docs":{},"信":{"docs":{},"息":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"过":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"对":{"docs":{},"信":{"docs":{},"息":{"docs":{},"先":{"docs":{},"做":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"计":{"docs":{},"算":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"加":{"docs":{},"密":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"签":{"docs":{},"名":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"送":{"docs":{},"。":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"收":{"docs":{},"到":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"且":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"所":{"docs":{},"附":{"docs":{},"带":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"样":{"docs":{},"则":{"docs":{},"认":{"docs":{},"为":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"认":{"docs":{},"为":{"docs":{},"修":{"docs":{},"改":{"docs":{},"过":{"docs":{},",":{"docs":{},"不":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"黑":{"docs":{},"客":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"信":{"docs":{},"息":{"docs":{},"并":{"docs":{},"把":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"也":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"让":{"docs":{},"他":{"docs":{},"们":{"docs":{},"相":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"(":{"docs":{},"生":{"docs":{},"成":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{},"再":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}}}}}},"docs":{}}},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"、":{"docs":{},"d":{"docs":{},"s":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{},"e":{"docs":{},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"、":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"、":{"docs":{},"d":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"播":{"docs":{},",":{"docs":{},"多":{"docs":{},"播":{"docs":{},",":{"docs":{},"广":{"docs":{},"播":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}},"序":{"docs":{},"接":{"docs":{},"受":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"人":{"docs":{},"反":{"docs":{},"馈":{"docs":{},",":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"能":{"docs":{},"达":{"docs":{},"到":{"docs":{},"预":{"docs":{},"热":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"传":{"docs":{},"递":{"docs":{},"模":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"里":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"类":{"docs":{},"文":{"docs":{},"件":{"docs":{},"放":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"。":{"docs":{},"最":{"docs":{},"容":{"docs":{},"易":{"docs":{},"想":{"docs":{},"到":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{},"沉":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绝":{"docs":{},"对":{"docs":{},"的":{"docs":{},"避":{"docs":{},"免":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"方":{"docs":{},"式":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"使":{"docs":{},"用":{"docs":{},"『":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},"』":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"从":{"docs":{},"而":{"docs":{},"保":{"docs":{},"证":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":3.333333333333333}},"自":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"时":{"docs":{},"候":{"docs":{},"想":{"docs":{},"让":{"docs":{},"指":{"docs":{},"定":{"docs":{},"视":{"docs":{},"图":{"docs":{},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"向":{"docs":{},"其":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"继":{"docs":{},"续":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"该":{"docs":{},"视":{"docs":{},"图":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"继":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"终":{"docs":{},"端":{"docs":{},"就":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"杂":{"docs":{},"乱":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"架":{"docs":{},"构":{"docs":{},"方":{"docs":{},"面":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}},"中":{"docs":{},"有":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"上":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"为":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"关":{"docs":{},"系":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"设":{"docs":{},"计":{"docs":{},"更":{"docs":{},"多":{"docs":{},"强":{"docs":{},"调":{"docs":{},"的":{"docs":{},"是":{"docs":{},"分":{"docs":{},"层":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{},"六":{"docs":{},"大":{"docs":{},"原":{"docs":{},"则":{"docs":{},"之":{"docs":{},"一":{"docs":{},"的":{"docs":{},"单":{"docs":{},"一":{"docs":{},"职":{"docs":{},"责":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"将":{"docs":{},"系":{"docs":{},"统":{"docs":{},"划":{"docs":{},"分":{"docs":{},"为":{"docs":{},"基":{"docs":{},"础":{"docs":{},"层":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"与":{"docs":{},"转":{"docs":{},"发":{"docs":{},"详":{"docs":{},"解":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"中":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"指":{"docs":{},"针":{"docs":{},"包":{"docs":{},"含":{"docs":{},"任":{"docs":{},"意":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"将":{"docs":{},"在":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},"通":{"docs":{},"知":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"回":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},";":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"并":{"docs":{},"完":{"docs":{},"全":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"键":{"docs":{},"路":{"docs":{},"径":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"更":{"docs":{},"改":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"来":{"docs":{},"源":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"而":{"docs":{},"观":{"docs":{},"察":{"docs":{},"到":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"键":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{},"一":{"docs":{},"种":{"docs":{},"更":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"更":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"确":{"docs":{},"保":{"docs":{},"您":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"是":{"docs":{},"发":{"docs":{},"给":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"超":{"docs":{},"类":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"协":{"docs":{},"商":{"docs":{},"好":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}},"传":{"docs":{},"递":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"边":{"docs":{},"界":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"中":{"docs":{},"同":{"docs":{},"时":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"它":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"这":{"docs":{},"次":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"和":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5013966480446927}}}}},"转":{"docs":{},"发":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"测":{"docs":{},"试":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"失":{"docs":{},"就":{"docs":{},"是":{"docs":{},"首":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"标":{"docs":{},"准":{"docs":{},"很":{"docs":{},"难":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{},"狭":{"docs":{},"义":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"终":{"docs":{},"点":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"完":{"docs":{},"全":{"docs":{},"消":{"docs":{},"失":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"处":{"docs":{},"理":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"做":{"docs":{},"相":{"docs":{},"应":{"docs":{},"展":{"docs":{},"示":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"分":{"docs":{},"发":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"原":{"docs":{},"系":{"docs":{},"统":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"真":{"docs":{},"实":{"docs":{},"地":{"docs":{},"址":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"上":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},"进":{"docs":{},"行":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"讲":{"docs":{},"一":{"docs":{},"讲":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"环":{"docs":{},"境":{"docs":{},"插":{"docs":{},"件":{"docs":{},"如":{"docs":{},"何":{"docs":{},"防":{"docs":{},"护":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"交":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"把":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"加":{"docs":{},"载":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"跳":{"docs":{},"转":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"开":{"docs":{},"始":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"后":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"还":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"取":{"docs":{},"消":{"docs":{},"的":{"docs":{},"话":{"docs":{},"就":{"docs":{},"从":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"也":{"docs":{},"不":{"docs":{},"做":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"下":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"并":{"docs":{},"把":{"docs":{},"我":{"docs":{},"们":{"docs":{},"读":{"docs":{},"取":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"入":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拖":{"docs":{},"动":{"docs":{},"这":{"docs":{},"个":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"这":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"配":{"docs":{},"合":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"重":{"docs":{},"启":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"由":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"判":{"docs":{},"断":{"docs":{},"得":{"docs":{},"知":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"轮":{"docs":{},"到":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"对":{"docs":{},"其":{"docs":{},"加":{"docs":{},"一":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"写":{"docs":{},"入":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"把":{"docs":{},"这":{"docs":{},"段":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"进":{"docs":{},"去":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"勾":{"docs":{},"选":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"各":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"而":{"docs":{},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"那":{"docs":{},"么":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"『":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"』":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"于":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"说":{"docs":{},"才":{"docs":{},"更":{"docs":{},"加":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"目":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"合":{"docs":{},"并":{"docs":{},"回":{"docs":{},"主":{"docs":{},"干":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"差":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"合":{"docs":{},"并":{"docs":{},"可":{"docs":{},"能":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"几":{"docs":{},"十":{"docs":{},"秒":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"几":{"docs":{},"分":{"docs":{},"钟":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"种":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"就":{"docs":{},"会":{"docs":{},"使":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"谨":{"docs":{},"慎":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{},"分":{"docs":{},"支":{"docs":{},"合":{"docs":{},"并":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"因":{"docs":{},"为":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"和":{"docs":{},"困":{"docs":{},"难":{"docs":{},"选":{"docs":{},"择":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"主":{"docs":{},"干":{"docs":{},"分":{"docs":{},"支":{"docs":{},"上":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"认":{"docs":{},"为":{"docs":{},"只":{"docs":{},"改":{"docs":{},"一":{"docs":{},"两":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"上":{"docs":{},"事":{"docs":{},"故":{"docs":{},"!":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"真":{"docs":{},"正":{"docs":{},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"控":{"docs":{},"制":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"都":{"docs":{},"非":{"docs":{},"常":{"docs":{},"少":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"公":{"docs":{},"司":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"代":{"docs":{},"码":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"秘":{"docs":{},"密":{"docs":{},"等":{"docs":{},"级":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{},"非":{"docs":{},"常":{"docs":{},"差":{"docs":{},"、":{"docs":{},"而":{"docs":{},"且":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"脱":{"docs":{},"离":{"docs":{},"了":{"docs":{},"公":{"docs":{},"司":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"公":{"docs":{},"司":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"按":{"docs":{},"照":{"docs":{},"以":{"docs":{},"上":{"docs":{},"方":{"docs":{},"案":{"docs":{},"初":{"docs":{},"步":{"docs":{},"开":{"docs":{},"发":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"验":{"docs":{},"证":{"docs":{},"时":{"docs":{},",":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"棘":{"docs":{},"手":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"方":{"docs":{},"案":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"0":{"docs":{},".":{"0":{"docs":{},"及":{"docs":{},"以":{"docs":{},"上":{"docs":{},"工":{"docs":{},"作":{"docs":{},"正":{"docs":{},"常":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"9":{"docs":{},".":{"docs":{},"x":{"docs":{},"及":{"docs":{},"以":{"docs":{},"下":{"docs":{},"系":{"docs":{},"统":{"docs":{},"方":{"docs":{},"案":{"docs":{},"无":{"docs":{},"效":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"断":{"docs":{},"点":{"docs":{},"调":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},"获":{"docs":{},"取":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"列":{"docs":{},"表":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"观":{"docs":{},"察":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"根":{"docs":{},"本":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"无":{"docs":{},"读":{"docs":{},"取":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"已":{"docs":{},"被":{"docs":{},"广":{"docs":{},"泛":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"各":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}},"简":{"docs":{},"述":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"过":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"讲":{"docs":{},",":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"面":{"docs":{},"向":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"就":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"静":{"docs":{},"止":{"docs":{},"着":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"用":{"docs":{},"手":{"docs":{},"指":{"docs":{},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"易":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"图":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"映":{"docs":{},"射":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"解":{"docs":{},"析":{"docs":{},"和":{"docs":{},"验":{"docs":{},"证":{"docs":{},"都":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"经":{"docs":{},"过":{"docs":{},"了":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"介":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"化":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"书":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}},"悦":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"网":{"docs":{},"络":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"都":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"1":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"docs":{}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"模":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}},"上":{"docs":{},"的":{"docs":{},"坑":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"置":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"是":{"docs":{},"移":{"docs":{},"除":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"则":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"当":{"docs":{},"前":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"docs":{},"直":{"docs":{},"接":{"docs":{},"判":{"docs":{},"定":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"是":{"docs":{},"否":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"源":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"成":{"docs":{},"功":{"docs":{},"为":{"0":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"docs":{}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"记":{"docs":{},"录":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"方":{"docs":{},"便":{"docs":{},"我":{"docs":{},"们":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"好":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"备":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"都":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"是":{"docs":{},"双":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"+":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},")":{"docs":{},";":{"docs":{},"在":{"docs":{},"读":{"docs":{},"取":{"docs":{},"经":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"每":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"完":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"画":{"docs":{},"面":{"docs":{},",":{"docs":{},"复":{"docs":{},"位":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{},"为":{"docs":{},"a":{"docs":{},"[":{"0":{"docs":{},"…":{"docs":{},"n":{"docs":{},"]":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}},"docs":{}}}}}}},"负":{"docs":{},"责":{"docs":{},"获":{"docs":{},"取":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"调":{"docs":{},"度":{"docs":{},"可":{"docs":{},"调":{"docs":{},"度":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"中":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"状":{"docs":{},"态":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"在":{"docs":{},"就":{"docs":{},"绪":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"间":{"docs":{},"来":{"docs":{},"回":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"就":{"docs":{},"绪":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"由":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"责":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"不":{"docs":{},"能":{"docs":{},"干":{"docs":{},"预":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"将":{"docs":{},"语":{"docs":{},"法":{"docs":{},"树":{"docs":{},"自":{"docs":{},"顶":{"docs":{},"向":{"docs":{},"下":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"成":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"每":{"docs":{},"次":{"docs":{},"切":{"docs":{},"换":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"都":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},"代":{"docs":{},"码":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"替":{"docs":{},"换":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"c":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"只":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"解":{"docs":{},"码":{"docs":{},"和":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"当":{"docs":{},"项":{"docs":{},"目":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"引":{"docs":{},"入":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"很":{"docs":{},"慢":{"docs":{},"。":{"docs":{},"在":{"docs":{},"了":{"docs":{},"解":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"是":{"docs":{},"纯":{"docs":{},"c":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"并":{"docs":{},"未":{"docs":{},"提":{"docs":{},"供":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"功":{"docs":{},"能":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"知":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"退":{"docs":{},"出":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"将":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"交":{"docs":{},"易":{"docs":{},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"去":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"里":{"docs":{},"取":{"docs":{},"收":{"docs":{},"据":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"出":{"docs":{},"现":{"docs":{},"通":{"docs":{},"知":{"docs":{},"交":{"docs":{},"易":{"docs":{},"成":{"docs":{},"功":{"docs":{},"那":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"写":{"docs":{},"入":{"docs":{},"到":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"数":{"docs":{},"据":{"docs":{},"中":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"我":{"docs":{},"们":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"去":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"支":{"docs":{},"付":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"去":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"广":{"docs":{},"播":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"视":{"docs":{},"图":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"提":{"docs":{},"交":{"docs":{},"(":{"docs":{},"打":{"docs":{},"包":{"docs":{},"好":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},"树":{"docs":{},"以":{"docs":{},"及":{"docs":{},"动":{"docs":{},"画":{"docs":{},"属":{"docs":{},"性":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"到":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"其":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"获":{"docs":{},"取":{"docs":{},"标":{"docs":{},"识":{"docs":{},"位":{"docs":{},"的":{"docs":{},"值":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{},"来":{"docs":{},"建":{"docs":{},"立":{"docs":{},"索":{"docs":{},"引":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"桶":{"docs":{},"重":{"docs":{},"复":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"解":{"docs":{},"除":{"docs":{},"引":{"docs":{},"用":{"docs":{},"关":{"docs":{},"联":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"也":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"有":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"和":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"是":{"docs":{},"存":{"docs":{},"在":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"线":{"docs":{},"程":{"docs":{},"私":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"自":{"docs":{},"然":{"docs":{},"连":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"在":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"的":{"docs":{},"下":{"docs":{},"面":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"是":{"docs":{},"在":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"和":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"两":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"经":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"层":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"当":{"docs":{},"前":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"主":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"上":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"指":{"docs":{},"向":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"并":{"docs":{},"获":{"docs":{},"取":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"来":{"docs":{},"展":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"由":{"docs":{},"某":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"指":{"docs":{},"定":{"docs":{},"在":{"docs":{},"另":{"docs":{},"外":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"是":{"docs":{},"目":{"docs":{},"标":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"将":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"的":{"docs":{},"被":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"汇":{"docs":{},"编":{"docs":{},"能":{"docs":{},"发":{"docs":{},"现":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"就":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"号":{"docs":{},"断":{"docs":{},"点":{"docs":{},"能":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},"解":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"查":{"docs":{},"看":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"这":{"docs":{},"个":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"从":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"有":{"docs":{},"加":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"应":{"docs":{},"该":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"和":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"可":{"docs":{},"以":{"docs":{},"达":{"docs":{},"到":{"docs":{},"明":{"docs":{},"确":{"docs":{},"模":{"docs":{},"块":{"docs":{},"职":{"docs":{},"责":{"docs":{},"及":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"提":{"docs":{},"升":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"优":{"docs":{},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"提":{"docs":{},"升":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"等":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"文":{"docs":{},"章":{"docs":{},"都":{"docs":{},"有":{"docs":{},"相":{"docs":{},"关":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"累":{"docs":{},"述":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}},"用":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"通":{"docs":{},"常":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"所":{"docs":{},"用":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"将":{"docs":{},"相":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{},"整":{"docs":{},"理":{"docs":{},"为":{"docs":{},"功":{"docs":{},"能":{"docs":{},"组":{"docs":{},"件":{"docs":{},"后":{"docs":{},"一":{"docs":{},"起":{"docs":{},"放":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{"./":{"ref":"./","tf":0.041666666666666664},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"器":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"库":{"docs":{},"。":{"docs":{},"如":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},")":{"docs":{},":":{"docs":{},"对":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"j":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"6":{"8":{"4":{"4":{"9":{"0":{"3":{"9":{"5":{"8":{"6":{"2":{"4":{"8":{"7":{"8":{"6":{"0":{"6":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"a":{"5":{"6":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}},"docs":{},"e":{"0":{"docs":{},"b":{"docs":{},"a":{"0":{"docs":{},"c":{"0":{"4":{"7":{"docs":{},"e":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"8":{"3":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{}},"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":10.005387931034482}},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.021551724137931036}},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"为":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"如":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"(":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},")":{"docs":{},"是":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"内":{"docs":{},"存":{"docs":{},"自":{"docs":{},"动":{"docs":{},"回":{"docs":{},"收":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"加":{"docs":{},"入":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"中":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"会":{"docs":{},"从":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"开":{"docs":{},"始":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"整":{"docs":{},"个":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"满":{"docs":{},"了":{"docs":{},",":{"docs":{},"就":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"未":{"docs":{},"满":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"此":{"docs":{},"时":{"docs":{},"跳":{"docs":{},"出":{"docs":{},"了":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"循":{"docs":{},"环":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"它":{"docs":{},"能":{"docs":{},"够":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},"都":{"docs":{},"加":{"docs":{},"入":{"docs":{},"了":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"比":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"更":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"资":{"docs":{},"源":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"&":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"为":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"时":{"docs":{},"注":{"docs":{},"册":{"docs":{},"观":{"docs":{},"察":{"docs":{},"属":{"docs":{},"性":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"动":{"docs":{},"态":{"docs":{},"子":{"docs":{},"类":{"docs":{},"n":{"docs":{},"s":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"缩":{"docs":{},"写":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},")":{"docs":{},"机":{"docs":{},"构":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"进":{"docs":{},"行":{"docs":{},"颁":{"docs":{},"发":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"机":{"docs":{},"构":{"docs":{},"通":{"docs":{},"过":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"持":{"docs":{},"有":{"docs":{},"人":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},",":{"docs":{},"签":{"docs":{},"署":{"docs":{},"者":{"docs":{},"签":{"docs":{},"名":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{},"等":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"在":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"模":{"docs":{},"式":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},"并":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"对":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"@":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"v":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"d":{"docs":{},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.04329004329004329}},"包":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"包":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"首":{"docs":{},"次":{"docs":{},"重":{"docs":{},"传":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"仍":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"包":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"重":{"docs":{},"传":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"传":{"docs":{},"次":{"docs":{},"数":{"docs":{},"超":{"docs":{},"过":{"docs":{},"系":{"docs":{},"统":{"docs":{},"规":{"docs":{},"定":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"重":{"docs":{},"传":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"将":{"docs":{},"该":{"docs":{},"连":{"docs":{},"接":{"docs":{},"信":{"docs":{},"息":{"docs":{},"从":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"b":{"docs":{},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"对":{"docs":{},"已":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"超":{"docs":{},"时":{"docs":{},"重":{"docs":{},"传":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"而":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"能":{"docs":{},"在":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"收":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"重":{"docs":{},"传":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"重":{"docs":{},"传":{"docs":{},"一":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"都":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"若":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"在":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"对":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"超":{"docs":{},"时":{"docs":{},"重":{"docs":{},"传":{"docs":{},"这":{"docs":{},"个":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"再":{"docs":{},"重":{"docs":{},"传":{"docs":{},"一":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},"待":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"都":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{},"假":{"docs":{},"设":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"之":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"一":{"docs":{},"但":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"进":{"docs":{},"入":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"和":{"docs":{},"底":{"docs":{},"下":{"docs":{},"其":{"docs":{},"他":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"。":{"docs":{},"当":{"docs":{},"再":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"时":{"docs":{},"候":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"为":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":10}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}},"w":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"s":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.01570048309178744},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.017811704834605598},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.01749271137026239},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":5.0620567375886525},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.016865079365079364}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"e":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"'":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"响":{"docs":{},"应":{"docs":{},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"从":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"硬":{"docs":{},"件":{"docs":{},")":{"docs":{},"到":{"docs":{},"完":{"docs":{},"全":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{},"越":{"docs":{},"详":{"docs":{},"细":{"docs":{},"越":{"docs":{},"好":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"(":{"docs":{},"w":{"docs":{},"w":{"docs":{},"d":{"docs":{},"c":{"1":{"4":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}},"docs":{}}}}}}},"启":{"docs":{},"动":{"docs":{},"详":{"docs":{},"细":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":10}}}},"和":{"docs":{},"内":{"docs":{},"存":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"没":{"docs":{},"法":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},"发":{"docs":{},"货":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"会":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"由":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"通":{"docs":{},"知":{"docs":{},"购":{"docs":{},"买":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"收":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"到":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"一":{"docs":{},"个":{"docs":{},"月":{"docs":{},"没":{"docs":{},"法":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},"发":{"docs":{},"货":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"其":{"docs":{},"实":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"来":{"docs":{},"完":{"docs":{},"全":{"docs":{},"取":{"docs":{},"代":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"进":{"docs":{},"程":{"docs":{},"内":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"会":{"docs":{},"在":{"docs":{},"首":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.010178117048346057}},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"工":{"docs":{},"作":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"搬":{"docs":{},"到":{"docs":{},"进":{"docs":{},"程":{"docs":{},"外":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"搬":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"上":{"docs":{},"海":{"docs":{},"、":{"docs":{},"北":{"docs":{},"京":{"docs":{},"、":{"docs":{},"杭":{"docs":{},"州":{"docs":{},"、":{"docs":{},"深":{"docs":{},"圳":{"docs":{},"均":{"docs":{},"有":{"docs":{},"招":{"docs":{},"聘":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"内":{"docs":{},"推":{"docs":{},"可":{"docs":{},"以":{"docs":{},"联":{"docs":{},"系":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"中":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"里":{"docs":{},"面":{"docs":{},"含":{"docs":{},"有":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"被":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"按":{"docs":{},"压":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"3":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"docs":{}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"法":{"docs":{},"得":{"docs":{},"知":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"其":{"docs":{},"生":{"docs":{},"成":{"docs":{},"时":{"docs":{},"机":{"docs":{},"也":{"docs":{},"早":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"控":{"docs":{},"制":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"换":{"docs":{},"句":{"docs":{},"话":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},"即":{"docs":{},"使":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"5":{"docs":{},")":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.013986013986013986},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.009259259259259259},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"分":{"docs":{},"配":{"docs":{},"一":{"docs":{},"个":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"确":{"docs":{},"保":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},",":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"字":{"docs":{},"节":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"使":{"docs":{},"用":{"docs":{},"未":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"来":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"图":{"docs":{},"层":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"并":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"字":{"docs":{},"面":{"docs":{},"意":{"docs":{},"思":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"整":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"核":{"docs":{},"心":{"docs":{},"都":{"docs":{},"是":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"等":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"种":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"可":{"docs":{},"见":{"docs":{},"图":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"循":{"docs":{},"环":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"事":{"docs":{},"务":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"创":{"docs":{},"建":{"docs":{},"已":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"层":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"副":{"docs":{},"本":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"图":{"docs":{},"像":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"的":{"docs":{},"合":{"docs":{},"成":{"docs":{},"器":{"docs":{},"会":{"docs":{},"联":{"docs":{},"合":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"、":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"n":{"docs":{},"o":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"y":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"语":{"docs":{},"法":{"docs":{},"树":{"docs":{},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"校":{"docs":{},"验":{"docs":{},"语":{"docs":{},"法":{"docs":{},"是":{"docs":{},"否":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"p":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"选":{"docs":{},"择":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"!":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":10},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"]":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771}},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"它":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"方":{"docs":{},"法":{"docs":{},"判":{"docs":{},"断":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"依":{"docs":{},"然":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"d":{"docs":{},"o":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"异":{"docs":{},"常":{"docs":{},";":{"docs":{},"若":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"l":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"⾥":{"docs":{},"存":{"docs":{},"有":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},")":{"docs":{},"]":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"_":{"docs":{},"t":{"docs":{},":":{"docs":{},":":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},"[":{"docs":{},"j":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"]":{"docs":{},";":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"一":{"docs":{},"句":{"docs":{},"想":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"理":{"docs":{},"解":{"docs":{},"k":{"docs":{},"v":{"docs":{},"c":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"键":{"docs":{},"值":{"docs":{},"观":{"docs":{},"察":{"docs":{},"是":{"docs":{},"建":{"docs":{},"立":{"docs":{},"在":{"docs":{},"键":{"docs":{},"值":{"docs":{},"编":{"docs":{},"码":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.0081799591002045},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}},"v":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"环":{"docs":{},"境":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"m":{"6":{"4":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},".":{"docs":{},"s":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"不":{"docs":{},"熟":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"能":{"docs":{},"连":{"docs":{},"看":{"docs":{},"带":{"docs":{},"猜":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"主":{"docs":{},"要":{"docs":{},"看":{"docs":{},"在":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{},"即":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"7":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}}}}},"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"_":{"docs":{},"v":{"7":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}}},"v":{"7":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}},".":{"docs":{},"s":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"’":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"g":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"v":{"docs":{},"[":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"s":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"]":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{},"@":{"docs":{},"[":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"@":{"1":{"2":{"3":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"docs":{}},"docs":{}},"docs":{}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"s":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02}}}}}},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"[":{"docs":{},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},"i":{"docs":{},"c":{"docs":{},"保":{"docs":{},"证":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"获":{"docs":{},"取":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"是":{"docs":{},"对":{"docs":{},"成":{"docs":{},"员":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"直":{"docs":{},"接":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"代":{"docs":{},"表":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"访":{"docs":{},"问":{"docs":{},"安":{"docs":{},"全":{"docs":{},".":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"取":{"docs":{},"值":{"docs":{},"和":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"时":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"是":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"即":{"docs":{},"当":{"docs":{},"上":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"没":{"docs":{},"有":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"(":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"住":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"等":{"docs":{},"待":{"docs":{},"(":{"docs":{},"不":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"上":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"立":{"docs":{},"即":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"他":{"docs":{},"区":{"docs":{},"别":{"docs":{},"于":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},",":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"安":{"docs":{},"全":{"docs":{},"吗":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"只":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"数":{"docs":{},"据":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"来":{"docs":{},"修":{"docs":{},"饰":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},":":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{},"所":{"docs":{},"以":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"查":{"docs":{},"找":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"*":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"e":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"t":{"docs":{},"u":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"直":{"docs":{},"接":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"异":{"docs":{},"常":{"docs":{},"来":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"系":{"docs":{},"统":{"docs":{},"正":{"docs":{},"常":{"docs":{},"运":{"docs":{},"行":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"d":{"docs":{},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"j":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"i":{"docs":{},".":{"docs":{},"h":{"docs":{},"中":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"单":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.006979062811565304},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"时":{"docs":{},"将":{"docs":{},"参":{"docs":{},"数":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"自":{"docs":{},"动":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.018561484918793503}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},".":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"!":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},"!":{"docs":{},"连":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"f":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},",":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"f":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"docs":{},":":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"]":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"b":{"5":{"2":{"docs":{},"d":{"docs":{},"b":{"docs":{},"d":{"docs":{},"d":{"docs":{},"b":{"3":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}},"docs":{}}}}}}},"docs":{}},"docs":{}}}},".":{"5":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"、":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"执":{"docs":{},"行":{"3":{"docs":{},"次":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},"docs":{}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.01675977653631285}}}}}}}}},"u":{"docs":{},"i":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"视":{"docs":{},"图":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"往":{"docs":{},"下":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"到":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},",":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.012232415902140673},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.018367346938775512},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.008741258741258742},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"与":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":5.002040816326531}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"也":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"其":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"动":{"docs":{},"画":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":5.028169014084507},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"和":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"不":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"需":{"docs":{},"要":{"docs":{},"可":{"docs":{},"以":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"编":{"docs":{},"写":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"查":{"docs":{},"找":{"docs":{},"响":{"docs":{},"应":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"再":{"docs":{},"交":{"docs":{},"给":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}},"上":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"+":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"另":{"docs":{},"外":{"docs":{},"实":{"docs":{},"现":{"docs":{},"模":{"docs":{},"糊":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"c":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"手":{"docs":{},"动":{"docs":{},"管":{"docs":{},"理":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.005417118093174431}},"?":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"与":{"docs":{},"事":{"docs":{},"件":{"docs":{},"响":{"docs":{},"应":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":10}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"处":{"docs":{},"理":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"/":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"其":{"docs":{},"原":{"docs":{},"理":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.03225806451612903}},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"持":{"docs":{},"有":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"未":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"能":{"docs":{},"节":{"docs":{},"省":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"加":{"docs":{},"快":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"内":{"docs":{},"存":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"完":{"docs":{},"及":{"docs":{},"时":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"导":{"docs":{},"致":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"1":{"6":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}},"docs":{}},"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01929260450160772},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.012269938650306749},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475}}}}},"docs":{}},"6":{"4":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"docs":{}},"8":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}},"*":{"docs":{},")":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.02364864864864865},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.04132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.005417118093174431}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"等":{"docs":{},"于":{"docs":{},"说":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"是":{"docs":{},"具":{"docs":{},"有":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"标":{"docs":{},"记":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"都":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"进":{"docs":{},"了":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"会":{"docs":{},"被":{"docs":{},"放":{"docs":{},"入":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"这":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"里":{"docs":{},"。":{"docs":{},"只":{"docs":{},"要":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"所":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"下":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"所":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"自":{"docs":{},"己":{"docs":{},"本":{"docs":{},"身":{"docs":{},"所":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"也":{"docs":{},"是":{"docs":{},"会":{"docs":{},"被":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"刷":{"docs":{},"新":{"docs":{},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"推":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.02848575712143928}},"(":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}},"、":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"转":{"docs":{},"场":{"docs":{},"等":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"将":{"docs":{},"动":{"docs":{},"态":{"docs":{},"部":{"docs":{},"分":{"docs":{},"(":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},")":{"docs":{},"的":{"docs":{},"发":{"docs":{},"起":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"写":{"docs":{},"在":{"docs":{},"转":{"docs":{},"场":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":5.000808407437348},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521}}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0163265306122449},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356}}}},"t":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"x":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.02912621359223301}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.004452926208651399},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0182370820668693}}}}}}}},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.01749271137026239}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"[":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},";":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"…":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.08064516129032258}},"(":{"docs":{},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"是":{"docs":{},"面":{"docs":{},"向":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"没":{"docs":{},"有":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"网":{"docs":{},"络":{"docs":{},"出":{"docs":{},"现":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"不":{"docs":{},"会":{"docs":{},"使":{"docs":{},"源":{"docs":{},"主":{"docs":{},"机":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"速":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},"(":{"docs":{},"对":{"docs":{},"实":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"很":{"docs":{},"有":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"i":{"docs":{},"p":{"docs":{},"电":{"docs":{},"话":{"docs":{},",":{"docs":{},"实":{"docs":{},"时":{"docs":{},"视":{"docs":{},"频":{"docs":{},"会":{"docs":{},"议":{"docs":{},"等":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"f":{"docs":{},"x":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.005952380952380952}},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"\"":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"\"":{"docs":{},";":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"读":{"docs":{},"完":{"docs":{},",":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"保":{"docs":{},"存":{"docs":{},"两":{"docs":{},"种":{"docs":{},"数":{"docs":{},"据":{"docs":{},"来":{"docs":{},"源":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"从":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"里":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"句":{"docs":{},"柄":{"docs":{},",":{"docs":{},"读":{"docs":{},"和":{"docs":{},"写":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"写":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"了":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"回":{"docs":{},"调":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"最":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"获":{"docs":{},"取":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"\"":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"\"":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.01948051948051948}}}},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"}":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"u":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"z":{"docs":{},"s":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"前":{"docs":{},"线":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"旺":{"docs":{},"财":{"docs":{},"\"":{"docs":{},")":{"docs":{},"!":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"(":{"0":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"1":{"0":{"4":{"6":{"4":{"7":{"9":{"docs":{},"/":{"1":{"0":{"4":{"6":{"4":{"7":{"9":{"docs":{},")":{"docs":{},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"借":{"docs":{},"用":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"流":{"docs":{},"程":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"此":{"docs":{},"时":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"2":{"5":{"6":{"docs":{},"/":{"2":{"5":{"6":{"docs":{},")":{"docs":{},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"定":{"docs":{},"义":{"docs":{},"以":{"docs":{},"及":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"5":{"docs":{},".":{"0":{"docs":{},".":{"6":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"docs":{}}},"docs":{}},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"6":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.016183412002697236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.010224948875255624}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"*":{"docs":{},")":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}}}}}},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"docs":{}},"6":{"4":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"docs":{}},"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},")":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.012934518997574777},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"e":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}}}}}}}}}}}}},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.021052631578947368}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"b":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"{":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}},"b":{"docs":{},"u":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},")":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"1":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"s":{"docs":{},"b":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"j":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"注":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"基":{"docs":{},"于":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"8":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}},"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"_":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"*":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"docs":{}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.008084074373484237},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},")":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},")":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"1":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523}}}},"docs":{}}}}}}},"o":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"_":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"*":{"docs":{},")":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}},"f":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"o":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"注":{"docs":{},"册":{"docs":{},"监":{"docs":{},"听":{"docs":{},"了":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"*":{"docs":{},")":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.008995502248875561},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"*":{"docs":{},")":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}}}},")":{"docs":{},"}":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.029911075181891674}}}}}}},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},"并":{"docs":{},"不":{"docs":{},"执":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"程":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"*":{"docs":{},")":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"s":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"@":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"s":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"常":{"docs":{},"量":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}},"d":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"r":{"docs":{},"j":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}}}}}}},")":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"g":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"!":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"%":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"*":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},")":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}},"m":{"docs":{},"_":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}},"a":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"h":{"5":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}},")":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"f":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"l":{"docs":{},"f":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},")":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"!":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},"调":{"docs":{},"试":{"docs":{},"符":{"docs":{},"号":{"docs":{},",":{"docs":{},"是":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"带":{"docs":{},"到":{"docs":{},"线":{"docs":{},"上":{"docs":{},"去":{"docs":{},"的":{"docs":{},"。":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"级":{"docs":{},"别":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"x":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"docs":{}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"…":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"!":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"h":{"docs":{},"i":{"docs":{},"h":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"h":{"docs":{},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"f":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"1":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.007543103448275862}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"n":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"分":{"docs":{},"类":{"1":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"docs":{}}},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"大":{"docs":{},"方":{"docs":{},"法":{"docs":{},"数":{"docs":{},"组":{"docs":{},"最":{"docs":{},"前":{"docs":{},"面":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"宿":{"docs":{},"主":{"docs":{},"类":{"1":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"2":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"docs":{}}}},"^":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},")":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"两":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"要":{"docs":{},"配":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},".":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}},"/":{"docs":{},".":{"docs":{},"c":{"docs":{},"/":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"s":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"*":{"docs":{},")":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"*":{"docs":{},")":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"多":{"docs":{},"边":{"docs":{},"形":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"文":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渐":{"docs":{},"变":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"硬":{"docs":{},"件":{"docs":{},"层":{"docs":{},"面":{"docs":{},")":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"层":{"docs":{},"面":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"重":{"docs":{},"签":{"docs":{},"微":{"docs":{},"信":{"docs":{},"应":{"docs":{},"用":{"docs":{},"实":{"docs":{},"战":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"一":{"docs":{},")":{"docs":{},"概":{"docs":{},"念":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}},"三":{"docs":{},")":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}},"二":{"docs":{},")":{"docs":{},"算":{"docs":{},"法":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"对":{"docs":{},"象":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"效":{"docs":{},"果":{"docs":{},"上":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"像":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"当":{"docs":{},"然":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"起":{"docs":{},"个":{"docs":{},"别":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},")":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"接":{"docs":{},"口":{"docs":{},"还":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"不":{"docs":{},"到":{"docs":{},",":{"docs":{},"会":{"docs":{},"形":{"docs":{},"成":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{},"原":{"docs":{},"因":{"docs":{},"三":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"最":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"雷":{"docs":{},"神":{"docs":{},"里":{"docs":{},"的":{"docs":{},"彩":{"docs":{},"虹":{"docs":{},"桥":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"。":{"docs":{},"在":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"深":{"docs":{},"刻":{"docs":{},"体":{"docs":{},"会":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"路":{"docs":{},"径":{"docs":{},"上":{"docs":{},"难":{"docs":{},"免":{"docs":{},"会":{"docs":{},"读":{"docs":{},"很":{"docs":{},"多":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"规":{"docs":{},"避":{"docs":{},"这":{"docs":{},"个":{"docs":{},"解":{"docs":{},"密":{"docs":{},"的":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"。":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"的":{"docs":{},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"图":{"docs":{},"中":{"docs":{},"部":{"docs":{},"分":{"docs":{},"页":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"*":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.03536977491961415},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.013958125623130608},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.00646551724137931},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.009296148738379814},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.024464831804281346},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.012232415902140673}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"+":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"*":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.01272264631043257}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"s":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},";":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}},"{":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"&":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"7":{"docs":{},"_":{"docs":{},"_":{"docs":{},"p":{"1":{"9":{"docs":{},"y":{"docs":{},"p":{"8":{"2":{"docs":{},"j":{"0":{"docs":{},"x":{"docs":{},"d":{"2":{"docs":{},"m":{"docs":{},"_":{"1":{"docs":{},"k":{"8":{"docs":{},"f":{"docs":{},"p":{"docs":{},"r":{"7":{"7":{"docs":{},"z":{"4":{"0":{"0":{"0":{"0":{"docs":{},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"2":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"5":{"8":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"docs":{}}}}}},"docs":{}},"docs":{}}}}},"docs":{}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}},"8":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"g":{"docs":{},"m":{"2":{"8":{"docs":{},"r":{"0":{"docs":{},"d":{"0":{"docs":{},"b":{"docs":{},"z":{"9":{"4":{"docs":{},"x":{"docs":{},"n":{"docs":{},"n":{"docs":{},"r":{"docs":{},"r":{"6":{"0":{"6":{"docs":{},"r":{"docs":{},"f":{"4":{"0":{"0":{"0":{"0":{"docs":{},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"3":{"docs":{},"f":{"2":{"0":{"6":{"9":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}},"1":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"a":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"{":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"[":{"docs":{},"[":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"m":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"d":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"y":{"docs":{},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"m":{"docs":{},"p":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"看":{"docs":{},"做":{"docs":{},"是":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"/":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.006666666666666667},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.012269938650306749},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},")":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"p":{"1":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"x":{"docs":{},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"终":{"docs":{},"端":{"docs":{},"命":{"docs":{},"令":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"】":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"影":{"docs":{},"响":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"所":{"docs":{},"指":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"出":{"docs":{},"了":{"docs":{},"临":{"docs":{},"时":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"的":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"地":{"docs":{},"表":{"docs":{},"示":{"docs":{},"为":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"*":{"docs":{},">":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"w":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"左":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"指":{"docs":{},"针":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}}}}}}}}},"*":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"将":{"docs":{},"被":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},".":{"docs":{},"m":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}},"o":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"t":{"docs":{},"x":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"t":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"s":{"docs":{},"a":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"v":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"c":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},")":{"docs":{},")":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"这":{"docs":{},"里":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"该":{"docs":{},"地":{"docs":{},"址":{"docs":{},"应":{"docs":{},"该":{"docs":{},"就":{"docs":{},"是":{"docs":{},"外":{"docs":{},"部":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},";":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"面":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}},"类":{"docs":{},"似":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"函":{"docs":{},"数":{"docs":{},"太":{"docs":{},"长":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.08698583951449763},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.07157464212678936},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"继":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"重":{"docs":{},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}},"新":{"docs":{},"赋":{"docs":{},"值":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"值":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},".":{"0":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.05866486850977748},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.02044989775051125}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},".":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005387931034482759},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.013605442176870748},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},".":{"docs":{},".":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"乱":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}},"按":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}},"是":{"docs":{},"否":{"docs":{},"按":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{},"与":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"还":{"docs":{},"是":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"有":{"docs":{},"关":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"掉":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},")":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"文":{"docs":{},"件":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}}}}},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"文":{"docs":{},"件":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"当":{"docs":{},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"放":{"docs":{},"弃":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"做":{"docs":{},"返":{"docs":{},"回":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}},"o":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"这":{"docs":{},"里":{"docs":{},"加":{"docs":{},"载":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"有":{"docs":{},"几":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"a":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"d":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"i":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}},"s":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"*":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"/":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.006944444444444444}},"/":{"1":{"2":{"3":{"4":{"5":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"docs":{}},"docs":{}},"docs":{}},"3":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"docs":{},".":{"docs":{},"创":{"docs":{},"建":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"2":{"docs":{},".":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"3":{"docs":{},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"首":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"精":{"docs":{},"确":{"docs":{},"度":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"5":{"docs":{},".":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.019762845849802372},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.03785488958990536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.07553191489361702},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.04906542056074766},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.02},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.03169014084507042},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.041666666666666664},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.03866666666666667},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.038803556992724336},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.02989821882951654},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.020474137931034482},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0136986301369863},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.019490254872563718},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.013280212483399735},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.010114632501685773},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.017857142857142856},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.027989821882951654},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.009923664122137405},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.04888268156424581},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.024918743228602384},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.037122969837587005}},"判":{"docs":{},"断":{"docs":{},"点":{"docs":{},"击":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"想":{"docs":{},"要":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"扩":{"docs":{},"大":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"最":{"docs":{},"终":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},".":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"m":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"数":{"docs":{},"组":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"在":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"针":{"docs":{},"获":{"docs":{},"取":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"新":{"docs":{},"值":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}},"获":{"docs":{},"得":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"否":{"docs":{},"则":{"docs":{},"为":{"6":{"4":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}},"docs":{}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"算":{"docs":{},"法":{"docs":{},"了":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"里":{"docs":{},"是":{"docs":{},"做":{"docs":{},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"换":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},"也":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}},"安":{"docs":{},"全":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"!":{"docs":{},"!":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"挪":{"docs":{},"动":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"统":{"docs":{},"一":{"docs":{},"封":{"docs":{},"装":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"按":{"docs":{},"照":{"docs":{},"编":{"docs":{},"译":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"名":{"docs":{},"称":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"最":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{},",":{"docs":{},"最":{"docs":{},"先":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"分":{"docs":{},"类":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"队":{"docs":{},"列":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"如":{"docs":{},"果":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"传":{"docs":{},"值":{"docs":{},"是":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"给":{"docs":{},"出":{"docs":{},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"更":{"docs":{},"改":{"docs":{},"值":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"放":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"公":{"docs":{},"共":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"见":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"送":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"写":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"同":{"docs":{},"步":{"docs":{},"读":{"docs":{},"取":{"docs":{},"指":{"docs":{},"定":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"调":{"docs":{},"用":{"docs":{},"设":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"没":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"有":{"docs":{},"池":{"docs":{},"子":{"docs":{},"被":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"死":{"docs":{},"锁":{"docs":{},",":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"被":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"条":{"docs":{},"目":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"已":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"入":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"\"":{"docs":{},"n":{"docs":{},"o":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"2":{"4":{"9":{"5":{"2":{"5":{"4":{"9":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"池":{"docs":{},"子":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"全":{"docs":{},"局":{"docs":{},"控":{"docs":{},"制":{"docs":{},"当":{"docs":{},"前":{"docs":{},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"在":{"docs":{},"图":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"图":{"docs":{},"像":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"变":{"docs":{},"换":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"关":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"首":{"docs":{},"次":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"最":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"在":{"docs":{},"非":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"模":{"docs":{},"块":{"docs":{},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"封":{"docs":{},"装":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"实":{"docs":{},"现":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"外":{"docs":{},"服":{"docs":{},"务":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"中":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"区":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},"存":{"docs":{},"储":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"要":{"docs":{},"点":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},"队":{"docs":{},"列":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"/":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"标":{"docs":{},"识":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"是":{"docs":{},"把":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"交":{"docs":{},"互":{"docs":{},"位":{"docs":{},"置":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}},"o":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"中":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"这":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"/":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"和":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"相":{"docs":{},"反":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"带":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"弃":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"常":{"docs":{},"量":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"弃":{"docs":{},"用":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"用":{"docs":{},"作":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"生":{"docs":{},"产":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"相":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"/":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"直":{"docs":{},"接":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"为":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"中":{"docs":{},"的":{"docs":{},"某":{"docs":{},"各":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"z":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"内":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"传":{"docs":{},"统":{"docs":{},"方":{"docs":{},"式":{"docs":{},"只":{"docs":{},"能":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"次":{"docs":{},"强":{"docs":{},"转":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"并":{"docs":{},"在":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"注":{"docs":{},"册":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},"页":{"docs":{},"面":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"*":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.016359918200409},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"*":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"递":{"docs":{},"归":{"docs":{},"算":{"docs":{},"法":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"递":{"docs":{},"归":{"docs":{},"算":{"docs":{},"法":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"递":{"docs":{},"归":{"docs":{},"算":{"docs":{},"法":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"先":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"再":{"docs":{},"先":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"后":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"改":{"docs":{},"为":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"结":{"docs":{},"点":{"docs":{},"操":{"docs":{},"作":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"先":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"子":{"docs":{},"类":{"1":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"2":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"docs":{}}},"父":{"docs":{},"类":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"0":{"2":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"9":{"docs":{},"f":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}}}},"docs":{}},"1":{"docs":{},"c":{"4":{"docs":{},"b":{"1":{"5":{"docs":{},"f":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}},"docs":{}}},"docs":{}}},"5":{"7":{"3":{"docs":{},"e":{"7":{"docs":{},"f":{"docs":{},"e":{"9":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"e":{"7":{"docs":{},"c":{"docs":{},"b":{"1":{"9":{"4":{"6":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.06719367588932806},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.08201892744479496},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.016891891891891893},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.035106382978723406},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.03271028037383177},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.03857142857142857},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0528169014084507},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.047856430707876374},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.018666666666666668},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.14874696847210994},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.04770992366412214},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.02586206896551724},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.035545023696682464},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.022488755622188907},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.05927051671732523},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.017928286852589643},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.022252191503708697},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.02666666666666667},"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.06976744186046512},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.11038961038961038},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.05357142857142857},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.020356234096692113},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.025954198473282442},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.013966480446927373},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.018418201516793065},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.021379980563654033},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.025522041763341066},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.01818181818181818},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.09169054441260745},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.020887728459530026},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"=":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.007633587786259542},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.01293103448275862},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},">":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"−":{"1":{"docs":{},"]":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"docs":{}}}}}}}}}}}},">":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.045871559633027525},"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.028985507246376812},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.18181818181818182},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.010114632501685773},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.008298755186721992},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.1},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"—":{"docs":{},"—":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"】":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}},"呈":{"docs":{},"现":{"docs":{},"树":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},">":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"r":{"docs":{},"o":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"l":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"=":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"/":{"docs":{},"/":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},",":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"总":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005387931034482759}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},")":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"[":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"i":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"[":{"0":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}},"docs":{}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"对":{"docs":{},"锁":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"过":{"docs":{},"程":{"docs":{},"前":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"擦":{"docs":{},"除":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"说":{"docs":{},"白":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"a":{"docs":{},")":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"堆":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"\"":{"docs":{},">":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"\"":{"docs":{},">":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"以":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"]":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207}}}}}}}}},"右":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"中":{"docs":{},"序":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"后":{"docs":{},"序":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}},"左":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"子":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}},"根":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}},"[":{"0":{"docs":{},",":{"0":{"docs":{},",":{"1":{"docs":{},",":{"1":{"docs":{},",":{"1":{"docs":{},",":{"2":{"docs":{},",":{"2":{"docs":{},",":{"3":{"docs":{},",":{"3":{"docs":{},",":{"4":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"docs":{},",":{"2":{"docs":{},",":{"3":{"docs":{},",":{"4":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"1":{"1":{"7":{"5":{"docs":{},"]":{"docs":{},"/":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"_":{"4":{"docs":{},".":{"4":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"_":{"4":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"a":{"docs":{},"(":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}},"8":{"8":{"docs":{},"]":{"docs":{},"/":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"1":{"0":{"docs":{},".":{"1":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"/":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{},",":{"1":{"docs":{},",":{"2":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}},"2":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"d":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"_":{"docs":{},"h":{"docs":{},"w":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"5":{"0":{"0":{"3":{"6":{"3":{"2":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"d":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"_":{"docs":{},"h":{"docs":{},"w":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"4":{"6":{"4":{"2":{"5":{"5":{"0":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},",":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}}},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},"]":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"=":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"6":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"7":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"8":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.015789473684210527},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.031914893617021274},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.013280212483399735},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.015267175572519083},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"o":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}}}}}},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0057251908396946565}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"l":{"docs":{},"w":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"原":{"docs":{},"理":{"docs":{},"]":{"docs":{},"当":{"docs":{},"你":{"docs":{},"被":{"docs":{},"问":{"docs":{},"到":{"docs":{},"下":{"docs":{},"面":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"你":{"docs":{},"能":{"docs":{},"够":{"docs":{},"回":{"docs":{},"答":{"docs":{},"出":{"docs":{},"来":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}},"译":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"e":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.008}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.018593371059013743}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"e":{"docs":{},"w":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.010178117048346057}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.022727272727272728}}},"a":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"v":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"/":{"2":{"docs":{},"]":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}},"f":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}}}}}}}},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"0":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"1":{"0":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"7":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}},"docs":{}}},"b":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.02336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005387931034482759},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.017777777777777778},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"(":{"docs":{},"^":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.009776536312849162}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.036231884057971016},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.014814814814814815}},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406}}},")":{"docs":{},"在":{"docs":{},"内":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"当":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"的":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"会":{"docs":{},"互":{"docs":{},"换":{"docs":{},"。":{"docs":{},"(":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"操":{"docs":{},"作":{"docs":{},"由":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"所":{"docs":{},"有":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"再":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"只":{"docs":{},"能":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"先":{"docs":{},"放":{"docs":{},"在":{"docs":{},"另":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"之":{"docs":{},"中":{"docs":{},",":{"docs":{},"说":{"docs":{},"起":{"docs":{},"来":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"一":{"docs":{},"层":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"前":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"结":{"docs":{},"果":{"docs":{},"(":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"与":{"docs":{},"一":{"docs":{},"般":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"架":{"docs":{},"构":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"把":{"docs":{},"内":{"docs":{},"容":{"docs":{},"画":{"docs":{},"上":{"docs":{},"去":{"docs":{},"(":{"docs":{},"这":{"docs":{},"只":{"docs":{},"是":{"docs":{},"我":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"测":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"可":{"docs":{},"能":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},")":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"够":{"docs":{},"预":{"docs":{},"先":{"docs":{},"告":{"docs":{},"诉":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"是":{"docs":{},"先":{"docs":{},"暂":{"docs":{},"存":{"docs":{},"在":{"docs":{},"另":{"docs":{},"外":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"写":{"docs":{},"入":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"被":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576}},"是":{"docs":{},"以":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.004830917874396135},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.041666666666666664},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.014522821576763486},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"$":{"docs":{},"(":{"docs":{},"(":{"docs":{},"$":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"机":{"docs":{},"制":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"它":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.021212121212121213}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"e":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"资":{"docs":{},"源":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"获":{"docs":{},"取":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"心":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"d":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}},"d":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"n":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\\":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"准":{"docs":{},"备":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}}},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"e":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}}}}}},"s":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"c":{"9":{"docs":{},"a":{"docs":{},"e":{"docs":{},"f":{"7":{"docs":{},"c":{"4":{"1":{"docs":{},"a":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}}},"i":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.025236593059936908},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"也":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"放":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"里":{"docs":{},",":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"根":{"docs":{},"据":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"信":{"docs":{},"号":{"docs":{},"读":{"docs":{},"取":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"它":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"会":{"docs":{},"做":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"若":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"后":{"docs":{},"端":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"这":{"docs":{},"份":{"docs":{},"优":{"docs":{},"化":{"docs":{},"过":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"e":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"{":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},":":{"docs":{},"修":{"docs":{},"复":{"docs":{},"外":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"像":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"类":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},",":{"docs":{},"把":{"docs":{},"上":{"docs":{},"述":{"docs":{},"结":{"docs":{},"果":{"docs":{},"写":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"加":{"docs":{},"快":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},",":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"y":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{},"令":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":10.008973080757727},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"!":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}},"(":{"1":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}},"docs":{}},"5":{"0":{"docs":{},",":{"1":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}},"c":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"docs":{}}}},"[":{"1":{"3":{"9":{"9":{"7":{"docs":{},":":{"1":{"2":{"6":{"3":{"4":{"0":{"6":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"0":{"6":{"4":{"docs":{},":":{"3":{"7":{"5":{"5":{"2":{"8":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"7":{"2":{"5":{"docs":{},":":{"4":{"7":{"6":{"5":{"3":{"0":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"名":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"函":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"内":{"docs":{},"部":{"docs":{},"为":{"docs":{},"其":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"读":{"docs":{},"(":{"docs":{},"三":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"地":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"当":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"看":{"docs":{},"待":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"这":{"3":{"docs":{},"种":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"为":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"捕":{"docs":{},"获":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"局":{"docs":{},"部":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"是":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"以":{"docs":{},"及":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"有":{"3":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}},"本":{"docs":{},"质":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"上":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"有":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"面":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"要":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"变":{"docs":{},"量":{"docs":{},"名":{"docs":{},"访":{"docs":{},"问":{"docs":{},"就":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{},"跨":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"深":{"docs":{},"入":{"docs":{},"分":{"docs":{},"析":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"即":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"任":{"docs":{},"务":{"docs":{},"中":{"docs":{},"哪":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"要":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},".":{"docs":{},"先":{"docs":{},"分":{"docs":{},"派":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"队":{"docs":{},"列":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"结":{"docs":{},"束":{"docs":{},"又":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"又":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"等":{"docs":{},"事":{"docs":{},"件":{"docs":{},".":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"解":{"docs":{},"释":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"处":{"docs":{},"于":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"b":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}},",":{"docs":{},"b":{"docs":{},"⾥":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.01272264631043257}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"会":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"所":{"docs":{},"有":{"docs":{},"正":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"组":{"docs":{},"织":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"里":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},".":{"2":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"q":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"l":{"docs":{},"e":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"存":{"docs":{},"放":{"docs":{},"为":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"即":{"docs":{},"常":{"docs":{},"说":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}},"f":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"b":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"d":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}},"d":{"0":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"9":{"docs":{},"d":{"4":{"8":{"8":{"4":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.021739130434782608},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.008298755186721992},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"创":{"docs":{},"建":{"docs":{},"动":{"docs":{},"画":{"docs":{},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}}}},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}},"a":{"docs":{},"y":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"f":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.022727272727272728},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915}},"i":{"docs":{},"n":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"首":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"3":{"docs":{},"个":{"docs":{},"分":{"docs":{},"页":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"docs":{}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.010178117048346057}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"标":{"docs":{},"志":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"在":{"docs":{},"释":{"docs":{},"放":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{},"元":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"子":{"docs":{},"类":{"docs":{},"不":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"对":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"过":{"docs":{},"来":{"docs":{},"就":{"docs":{},"是":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"s":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"m":{"docs":{},"o":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}},"[":{"9":{"1":{"1":{"0":{"7":{"docs":{},":":{"2":{"2":{"8":{"1":{"5":{"7":{"5":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"3":{"0":{"8":{"docs":{},":":{"2":{"3":{"0":{"3":{"0":{"3":{"0":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.004580152671755725}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"6":{"6":{"1":{"docs":{},":":{"2":{"3":{"3":{"1":{"2":{"9":{"6":{"docs":{},"]":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"6":{"4":{"docs":{},":":{"2":{"3":{"7":{"0":{"4":{"9":{"6":{"docs":{},"]":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.004580152671755725}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"{":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"s":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}},")":{"docs":{},"是":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"关":{"docs":{},"于":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"领":{"docs":{},"域":{"docs":{},"中":{"docs":{},"程":{"docs":{},"序":{"docs":{},"设":{"docs":{},"计":{"docs":{},"决":{"docs":{},"策":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"系":{"docs":{},"列":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"并":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"这":{"docs":{},"种":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"优":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"、":{"docs":{},"对":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"有":{"docs":{},"想":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"文":{"docs":{},"章":{"docs":{},"下":{"docs":{},"面":{"docs":{},"留":{"docs":{},"言":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"/":{"2":{"0":{"1":{"9":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"n":{"docs":{},"y":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}},"docs":{}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885}},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}},"创":{"docs":{},"建":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.007275666936135812}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.014551333872271624},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"创":{"docs":{},"建":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"}":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"y":{"docs":{},"(":{"1":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"docs":{}},"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"前":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"后":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"将":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"追":{"docs":{},"加":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"重":{"docs":{},"复":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"并":{"docs":{},"等":{"docs":{},"到":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"&":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"/":{"docs":{},"/":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"才":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},":":{"docs":{},"作":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"会":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}},"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"/":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}}}}}}}}}},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"成":{"docs":{},"对":{"docs":{},"出":{"docs":{},"现":{"docs":{},",":{"docs":{},"使":{"docs":{},"进":{"docs":{},"出":{"docs":{},"组":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"更":{"docs":{},"加":{"docs":{},"清":{"docs":{},"晰":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"受":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}},":":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"组":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"能":{"docs":{},"监":{"docs":{},"听":{"docs":{},"任":{"docs":{},"务":{"docs":{},"组":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"平":{"docs":{},"衡":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"e":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"docs":{},")":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{},"释":{"docs":{},"放":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},",":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"加":{"1":{"docs":{},"。":{"docs":{},"当":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},">":{"docs":{},"=":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{},"等":{"docs":{},"待":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},",":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"减":{"1":{"docs":{},"。":{"docs":{},"当":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"时":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},"间":{"docs":{},"决":{"docs":{},"定":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"—":{"docs":{},"—":{"docs":{},"如":{"docs":{},"果":{"docs":{},"永":{"docs":{},"久":{"docs":{},"等":{"docs":{},"待":{"docs":{},"将":{"docs":{},"等":{"docs":{},"到":{"docs":{},"信":{"docs":{},"号":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},"才":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"去":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"一":{"docs":{},"些":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"继":{"docs":{},"续":{"docs":{},"走":{"docs":{},"下":{"docs":{},"去":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"(":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"纯":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"]":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"他":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"若":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"则":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"走":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"就":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"看":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"(":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},")":{"docs":{},",":{"docs":{},"源":{"docs":{},"头":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},",":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"直":{"docs":{},"接":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"丢":{"docs":{},"掉":{"docs":{},"等":{"docs":{},"待":{"docs":{},"最":{"docs":{},"久":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"3":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996}}}}}}}},"d":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"大":{"docs":{},"家":{"docs":{},"在":{"docs":{},"埋":{"docs":{},"点":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"还":{"docs":{},"有":{"docs":{},"这":{"docs":{},"个":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"把":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"时":{"docs":{},"间":{"docs":{},"算":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"e":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"为":{"docs":{},"何":{"docs":{},"第":{"docs":{},"一":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"总":{"docs":{},"要":{"docs":{},"获":{"docs":{},"取":{"docs":{},"图":{"docs":{},"形":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},":":{"docs":{},"]":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"配":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"与":{"docs":{},"此":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"中":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},"放":{"docs":{},"入":{"docs":{},"到":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},":":{"docs":{},"]":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"调":{"docs":{},"用":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0121580547112462},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.013054830287206266},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}},"/":{"docs":{},"/":{"docs":{},"数":{"docs":{},"据":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},",":{"docs":{},"读":{"docs":{},"写":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}}}}}}}}}},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"属":{"docs":{},"性":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"了":{"docs":{},"。":{"docs":{},"总":{"docs":{},"之":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"情":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}},"o":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"e":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"n":{"docs":{},"’":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"'":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"e":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"分":{"docs":{},"析":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},".":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}}}}},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"w":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},".":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"事":{"docs":{},"件":{"docs":{},"也":{"docs":{},"提":{"docs":{},"前":{"docs":{},",":{"2":{"3":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"即":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.05555555555555555}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"按":{"docs":{},"需":{"docs":{},"加":{"docs":{},"载":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364}}}},")":{"docs":{},",":{"docs":{},"单":{"docs":{},"独":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"m":{"docs":{},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.010494752623688156}}},"y":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},")":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"y":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"由":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}},"?":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{},"加":{"docs":{},"载":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},")":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"3":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}}},"官":{"docs":{},"方":{"docs":{},"数":{"docs":{},"据":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"[":{"3":{"docs":{},"]":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"过":{"docs":{},"去":{"docs":{},"四":{"docs":{},"年":{"docs":{},"新":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"中":{"docs":{},"有":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"的":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},".":{"0":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"动":{"docs":{},"态":{"docs":{},"连":{"docs":{},"接":{"docs":{},"器":{"docs":{},")":{"docs":{},"的":{"docs":{},"更":{"docs":{},"新":{"docs":{},"对":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":10.012137559002023},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.047244094488188976},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.10283687943262411},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.011904761904761904}},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"f":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"1":{"docs":{},"/":{"docs":{},"*":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"docs":{}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"进":{"docs":{},"程":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},",":{"docs":{},"把":{"docs":{},"入":{"docs":{},"口":{"docs":{},"地":{"docs":{},"址":{"docs":{},"设":{"docs":{},"为":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"即":{"docs":{},"处":{"docs":{},"理":{"docs":{},"由":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"i":{"docs":{},"b":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0070921985815602835}},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"防":{"docs":{},"止":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493}}}}},"n":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}},"s":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"域":{"docs":{},"名":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"问":{"docs":{},"题":{"docs":{},"和":{"docs":{},"调":{"docs":{},"度":{"docs":{},"不":{"docs":{},"精":{"docs":{},"准":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"避":{"docs":{},"免":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}},".":{"5":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"=":{"1":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}}}}}}},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"宏":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"宏":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"条":{"docs":{},"件":{"docs":{},"编":{"docs":{},"译":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.008865248226950355}},"、":{"docs":{},"d":{"docs":{},"l":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{},"、":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"、":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"s":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"能":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"真":{"docs":{},"的":{"docs":{},"关":{"docs":{},"闭":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}}}}}}}}},"e":{"7":{"7":{"6":{"docs":{},"f":{"5":{"6":{"docs":{},"b":{"3":{"docs":{},"e":{"6":{"0":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"3":{"0":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"2":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}},"c":{"docs":{},"e":{"docs":{},"c":{"8":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"r":{"docs":{},"a":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356}},":":{"docs":{},"当":{"docs":{},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"值":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"值":{"docs":{},"减":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"扩":{"docs":{},"展":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"决":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"是":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"和":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"的":{"docs":{},"@":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"以":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"的":{"docs":{},"@":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"起":{"docs":{},"形":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"伴":{"docs":{},"随":{"docs":{},"类":{"docs":{},"的":{"docs":{},"产":{"docs":{},"生":{"docs":{},"而":{"docs":{},"产":{"docs":{},"生":{"docs":{},",":{"docs":{},"亦":{"docs":{},"随":{"docs":{},"之":{"docs":{},"一":{"docs":{},"起":{"docs":{},"消":{"docs":{},"亡":{"docs":{},"。":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"一":{"docs":{},"般":{"docs":{},"用":{"docs":{},"来":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"类":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"你":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"才":{"docs":{},"能":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"无":{"docs":{},"法":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"类":{"docs":{},"比":{"docs":{},"如":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"添":{"docs":{},"加":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"n":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"\\":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"缩":{"docs":{},"写":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{},"防":{"docs":{},"止":{"docs":{},"两":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"公":{"docs":{},"共":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"读":{"docs":{},"写":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{},"当":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"锁":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.010224948875255624},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"v":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"o":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}},"s":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.013986013986013986}},"交":{"docs":{},"互":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"做":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"做":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"本":{"docs":{},"文":{"docs":{},"中":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},"都":{"docs":{},"是":{"docs":{},"将":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"与":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"分":{"docs":{},"开":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"坐":{"docs":{},"标":{"docs":{},"是":{"docs":{},"以":{"docs":{},"浮":{"docs":{},"点":{"docs":{},"数":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"是":{"docs":{},"其":{"docs":{},"他":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"转":{"docs":{},"化":{"docs":{},"成":{"docs":{},"浮":{"docs":{},"点":{"docs":{},"型":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"指":{"docs":{},"令":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"层":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"层":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"层":{"docs":{},"等":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"混":{"docs":{},"合":{"docs":{},"产":{"docs":{},"生":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"并":{"docs":{},"切":{"docs":{},"换":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"实":{"docs":{},"践":{"docs":{},"指":{"docs":{},"南":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"卷":{"docs":{},"》":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"过":{"docs":{},"长":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"图":{"docs":{},"层":{"docs":{},"进":{"docs":{},"行":{"docs":{},"取":{"docs":{},"色":{"docs":{},",":{"docs":{},"采":{"docs":{},"样":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"图":{"docs":{},"层":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"被":{"docs":{},"上":{"docs":{},"传":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"中":{"docs":{},"。":{"docs":{},"当":{"docs":{},"你":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"生":{"docs":{},"成":{"docs":{},"和":{"docs":{},"着":{"docs":{},"色":{"docs":{},"。":{"docs":{},"生":{"docs":{},"成":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"显":{"docs":{},"示":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"的":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"频":{"docs":{},"率":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"以":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"为":{"docs":{},"标":{"docs":{},"准":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.017316017316017316}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"转":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"随":{"docs":{},"后":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"其":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},")":{"docs":{},"并":{"docs":{},"在":{"docs":{},"此":{"docs":{},"前":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"先":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}},"}":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"^":{"docs":{},"(":{"docs":{},"y":{"docs":{},"y":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"h":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"其":{"docs":{},"回":{"docs":{},"调":{"docs":{},"内":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"—":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"\"":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}},"d":{"3":{"docs":{},"d":{"docs":{},"e":{"6":{"4":{"9":{"2":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"l":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{},"目":{"docs":{},"录":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"docs":{}}}}}}}},"z":{"docs":{},"n":{"docs":{},"m":{"docs":{},"x":{"docs":{},"z":{"docs":{},"a":{"docs":{},"w":{"docs":{},"t":{"docs":{},"l":{"docs":{},"h":{"docs":{},"p":{"docs":{},"m":{"docs":{},"a":{"docs":{},"d":{"docs":{},"n":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"p":{"docs":{},"q":{"docs":{},"p":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}}},"f":{"8":{"docs":{},"c":{"4":{"docs":{},"a":{"6":{"2":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"b":{"docs":{},"c":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}},"x":{"docs":{},"m":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},":":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.017316017316017316}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},":":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"。":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"1":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{}}}}}}},"l":{"docs":{},"e":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.011441647597254004},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"(":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"写":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"窥":{"docs":{},"探":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}},"l":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{},"往":{"docs":{},"往":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.036231884057971016},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.025925925925925925},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},"等":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"运":{"docs":{},"行":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"来":{"docs":{},"链":{"docs":{},"接":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"资":{"docs":{},"源":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"读":{"docs":{},"取":{"docs":{},"方":{"docs":{},"式":{"docs":{},"无":{"docs":{},"法":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"新":{"docs":{},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"下":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{},"不":{"docs":{},"走":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"那":{"docs":{},"一":{"docs":{},"套":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"减":{"docs":{},"小":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"1":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"协":{"docs":{},"议":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"将":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{},"完":{"docs":{},"成":{"docs":{},"更":{"docs":{},"省":{"docs":{},"事":{"docs":{},"儿":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"高":{"docs":{},"阶":{"docs":{},"的":{"docs":{},"玩":{"docs":{},"法":{"docs":{},",":{"docs":{},"或":{"docs":{},"许":{"docs":{},"真":{"docs":{},"的":{"docs":{},"只":{"docs":{},"有":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"出":{"docs":{},"多":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"就":{"docs":{},"不":{"docs":{},"同":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"它":{"docs":{},"身":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"的":{"docs":{},"手":{"docs":{},"脚":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"不":{"docs":{},"光":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"此":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"还":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"入":{"docs":{},"参":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"要":{"docs":{},"和":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"简":{"docs":{},"单":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"用":{"docs":{},"于":{"docs":{},"复":{"docs":{},"合":{"docs":{},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},".":{"docs":{},"e":{"docs":{},"g":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"1":{"0":{"0":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"*":{"docs":{},")":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"”":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"循":{"docs":{},"环":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"多":{"docs":{},"次":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"身":{"docs":{},"上":{"docs":{},"挂":{"docs":{},"着":{"docs":{},"n":{"docs":{},"把":{"docs":{},"锁":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"无":{"docs":{},"法":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"—":{"docs":{},"—":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"出":{"docs":{},"口":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"符":{"docs":{},"合":{"docs":{},"的":{"docs":{},"就":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"才":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"休":{"docs":{},"眠":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"说":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"前":{"docs":{},"才":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"文":{"docs":{},"中":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"内":{"docs":{},"存":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},"内":{"docs":{},"存":{"docs":{},"暴":{"docs":{},"涨":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},",":{"docs":{},"手":{"docs":{},"动":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"?":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}},"框":{"docs":{},"架":{"docs":{},"下":{"docs":{},"关":{"docs":{},"于":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"5":{"docs":{},"个":{"docs":{},"类":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"源":{"docs":{},"码":{"docs":{},"来":{"docs":{},"一":{"docs":{},"探":{"docs":{},"究":{"docs":{},"竟":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"…":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},".":{"docs":{},"f":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"/":{"docs":{},"*":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}},"_":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},":":{"docs":{},"行":{"docs":{},"进":{"docs":{},"中":{"docs":{},"的":{"docs":{},"智":{"docs":{},"能":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"a":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.056818181818181816}},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}},"造":{"docs":{},"成":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"损":{"docs":{},"耗":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},")":{"docs":{},",":{"docs":{},"分":{"docs":{},"配":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"话":{"docs":{},"会":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},"因":{"docs":{},"此":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"数":{"docs":{},"据":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"影":{"docs":{},"响":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"将":{"docs":{},"指":{"docs":{},"令":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"验":{"docs":{},"签":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},".":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"=":{"0":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"项":{"docs":{},"目":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":10.010494752623687}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.008905852417302799},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"l":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}},"c":{"docs":{},"k":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},".":{"docs":{},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"采":{"docs":{},"用":{"docs":{},"非":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"编":{"docs":{},"程":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"\"":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"+":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"0":{"docs":{},"表":{"docs":{},"示":{"docs":{},"度":{"docs":{},"数":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"数":{"docs":{},",":{"docs":{},"n":{"2":{"docs":{},"表":{"docs":{},"示":{"docs":{},"度":{"docs":{},"数":{"docs":{},"为":{"2":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"数":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0071090047393364926},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.023809523809523808},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.009574468085106383},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.010638297872340425},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"因":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"无":{"docs":{},"需":{"docs":{},"取":{"docs":{},"消":{"docs":{},"注":{"docs":{},"册":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"会":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"类":{"docs":{},"名":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"强":{"docs":{},"制":{"docs":{},"要":{"docs":{},"求":{"docs":{},"额":{"docs":{},"外":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"缺":{"docs":{},"少":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"都":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"。":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"在":{"docs":{},"激":{"docs":{},"活":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"释":{"docs":{},"放":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"o":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0065005417118093175}},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"禁":{"docs":{},"止":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},".":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"和":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"对":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907}}}}}}},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"/":{"docs":{},"/":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"/":{"docs":{},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"/":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}},"w":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}},",":{"docs":{},"则":{"docs":{},"结":{"docs":{},"束":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"和":{"docs":{},"在":{"docs":{},"不":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"要":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"响":{"docs":{},"应":{"docs":{},"交":{"docs":{},"互":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"将":{"docs":{},"属":{"docs":{},"性":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}},"d":{"docs":{},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.005394470667565745}},"(":{"docs":{},"@":{"docs":{},"\"":{"0":{"docs":{},"x":{"docs":{},"%":{"6":{"docs":{},"l":{"docs":{},"x":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"docs":{}}}},"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}},"2":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}},"3":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}},"4":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"5":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.010967098703888335},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"%":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}},"离":{"docs":{},"开":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"进":{"docs":{},"入":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"%":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"p":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},",":{"docs":{},"%":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}},"@":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"b":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"i":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}},"o":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"前":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"后":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"%":{"docs":{},"z":{"docs":{},"u":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"docs":{},"%":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885}}}}},"刷":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}},"延":{"docs":{},"迟":{"1":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}},"docs":{}}}}}},"2":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}},"docs":{}}}}}},"docs":{}}},"开":{"docs":{},"始":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}},"按":{"docs":{},"时":{"docs":{},"完":{"docs":{},"成":{"docs":{},"任":{"docs":{},"务":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}},"二":{"docs":{},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"一":{"docs":{},"完":{"docs":{},"成":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}},"二":{"docs":{},"完":{"docs":{},"成":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}},"超":{"docs":{},"时":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"2":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"3":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"docs":{}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}}}}}}}}}},"加":{"docs":{},"锁":{"docs":{},"前":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"后":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"没":{"docs":{},"有":{"docs":{},"收":{"docs":{},"据":{"docs":{},",":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"正":{"docs":{},"在":{"docs":{},"出":{"docs":{},"售":{"docs":{},"的":{"docs":{},"商":{"docs":{},"品":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"付":{"docs":{},"费":{"docs":{},"购":{"docs":{},"买":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"底":{"docs":{},"层":{"docs":{},"都":{"docs":{},"是":{"docs":{},"对":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"a":{"docs":{},"f":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"中":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}}},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.044444444444444446},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0111731843575419},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},".":{"docs":{},"m":{"docs":{},"m":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"若":{"docs":{},"仍":{"docs":{},"未":{"docs":{},"找":{"docs":{},"着":{"docs":{},",":{"docs":{},"就":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"支":{"docs":{},"持":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}},"c":{"docs":{},"_":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"锁":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"只":{"docs":{},"是":{"docs":{},"无":{"docs":{},"脑":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"信":{"docs":{},"号":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"加":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"条":{"docs":{},"件":{"docs":{},"锁":{"docs":{},",":{"docs":{},"当":{"docs":{},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"和":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"类":{"docs":{},"似":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"锁":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"平":{"docs":{},"时":{"docs":{},"用":{"docs":{},"的":{"docs":{},"不":{"docs":{},"多":{"docs":{},",":{"docs":{},"但":{"docs":{},"与":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"相":{"docs":{},"似":{"docs":{},":":{"docs":{},"线":{"docs":{},"程":{"1":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"到":{"docs":{},"条":{"docs":{},"件":{"1":{"docs":{},"满":{"docs":{},"足":{"docs":{},"才":{"docs":{},"会":{"docs":{},"往":{"docs":{},"下":{"docs":{},"走":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"直":{"docs":{},"至":{"docs":{},"条":{"docs":{},"件":{"docs":{},"满":{"docs":{},"足":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"封":{"docs":{},"装":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"访":{"docs":{},"问":{"docs":{},"和":{"docs":{},"操":{"docs":{},"作":{"docs":{},"特":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},">":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"对":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},">":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"y":{"docs":{},"*":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075}}},"y":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"而":{"docs":{},"生":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"超":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"充":{"docs":{},"当":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"替":{"docs":{},"身":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"会":{"docs":{},"被":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"实":{"docs":{},"际":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"或":{"docs":{},"使":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},")":{"docs":{},"实":{"docs":{},"际":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"开":{"docs":{},"销":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"惰":{"docs":{},"性":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},",":{"docs":{},"类":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"两":{"docs":{},"种":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"主":{"docs":{},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"不":{"docs":{},"同":{"docs":{},"颜":{"docs":{},"色":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"到":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"a":{"docs":{},"。":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},"类":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"将":{"docs":{},"a":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"f":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"e":{"docs":{},"s":{"docs":{},"其":{"docs":{},"实":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"被":{"docs":{},"打":{"docs":{},"上":{"docs":{},"这":{"docs":{},"种":{"docs":{},"标":{"docs":{},"签":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"会":{"docs":{},"被":{"docs":{},"放":{"docs":{},"入":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"成":{"docs":{},"员":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"f":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"内":{"docs":{},"部":{"docs":{},"装":{"docs":{},"着":{"docs":{},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"c":{"docs":{},"\u0010":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"能":{"docs":{},"解":{"docs":{},"决":{"docs":{},"上":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"y":{"docs":{},"y":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"中":{"docs":{},"y":{"docs":{},"y":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"中":{"docs":{},"有":{"docs":{},"用":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.009296148738379814},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"要":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"回":{"docs":{},"调":{"docs":{},"回":{"docs":{},"来":{"docs":{},"线":{"docs":{},"程":{"docs":{},"已":{"docs":{},"经":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"无":{"docs":{},"法":{"docs":{},"做":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"能":{"docs":{},"指":{"docs":{},"定":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"_":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{},"e":{"docs":{},"的":{"docs":{},"个":{"docs":{},"人":{"docs":{},"博":{"docs":{},"客":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}},"w":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"docs":{}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}},":":{"docs":{},"所":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"即":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}}}}}}}}},".":{"docs":{},"m":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"3":{"docs":{},"。":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"]":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005387931034482759},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"链":{"docs":{},"表":{"docs":{},"中":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"(":{"docs":{},"*":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.012987012987012988}}},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"i":{"docs":{},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}},"m":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.05982215036378335},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}},"@":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},",":{"docs":{},"简":{"docs":{},"称":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},")":{"docs":{},"!":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.02702702702702703}}}},"v":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"i":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.005417118093174431}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"4":{"4":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.03571428571428571}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"s":{"docs":{},"、":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"引":{"docs":{},"用":{"docs":{},"数":{"docs":{},"值":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"记":{"docs":{},"录":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"有":{"docs":{},"效":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},")":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"让":{"docs":{},"对":{"docs":{},"方":{"docs":{},"知":{"docs":{},"道":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"如":{"docs":{},"何":{"docs":{},"按":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"组":{"docs":{},"装":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"s":{"docs":{},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}},"l":{"docs":{},"l":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"创":{"docs":{},"建":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"底":{"docs":{},"层":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"到":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"n":{"docs":{},"。":{"docs":{},"将":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},"/":{"docs":{},"a":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"命":{"docs":{},"令":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{},"名":{"docs":{},"字":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"预":{"docs":{},"热":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0672782874617737}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505}}}}},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01529051987767584},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.012121212121212121}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},"耗":{"docs":{},"时":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"w":{"docs":{},"d":{"docs":{},"c":{"1":{"8":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}},"2":{"0":{"1":{"4":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.014814814814814815},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"a":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"\"":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00851063829787234},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213}}},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.02027027027027027},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00851063829787234}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"其":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255}},"e":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.016891891891891893},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"(":{"docs":{},"&":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":10}},"e":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"以":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"总":{"docs":{},"结":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}},"置":{"docs":{},"空":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"修":{"docs":{},"饰":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"会":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},"(":{"docs":{},"也":{"docs":{},"称":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"值":{"docs":{},"是":{"docs":{},"所":{"docs":{},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},")":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{},"(":{"docs":{},"备":{"docs":{},"注":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"l":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"指":{"docs":{},"向":{"docs":{},"或":{"docs":{},"者":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"指":{"docs":{},"向":{"docs":{},"⼀":{"docs":{},"个":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"对":{"docs":{},"外":{"docs":{},"界":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"或":{"docs":{},"者":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},")":{"docs":{},"又":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"一":{"docs":{},"份":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"b":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}}},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"*":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"循":{"docs":{},"环":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"y":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"'":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"操":{"docs":{},"作":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"使":{"docs":{},"其":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"直":{"docs":{},"至":{"docs":{},"超":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},"立":{"docs":{},"即":{"docs":{},"释":{"docs":{},"放":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"法":{"docs":{},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"重":{"docs":{},"传":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"则":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"法":{"docs":{},"正":{"docs":{},"常":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"自":{"docs":{},"行":{"docs":{},"修":{"docs":{},"正":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}},"docs":{}}}}}}}},"n":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"警":{"docs":{},"告":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"制":{"docs":{},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"选":{"docs":{},"项":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"l":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.005952380952380952}}}}},"y":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"s":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},".":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"存":{"docs":{},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"新":{"docs":{},"建":{"docs":{},"下":{"docs":{},"载":{"docs":{},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},":":{"docs":{},"先":{"docs":{},"确":{"docs":{},"认":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"原":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"编":{"docs":{},"译":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}},"t":{"docs":{},".":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"a":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":10.007109004739336}},"e":{"docs":{},"r":{"docs":{},"基":{"docs":{},"于":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},".":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"是":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"管":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"回":{"docs":{},"调":{"docs":{},"将":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"里":{"docs":{},"面":{"docs":{},"写":{"docs":{},"业":{"docs":{},"务":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"何":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"也":{"docs":{},"先":{"docs":{},"不":{"docs":{},"用":{"docs":{},"管":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"判":{"docs":{},"断":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"提":{"docs":{},"前":{"docs":{},"结":{"docs":{},"束":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}},".":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.011848341232227487}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},".":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"将":{"docs":{},"其":{"docs":{},"强":{"docs":{},"转":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}},"{":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.03162055335968379},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.01892744479495268},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.04391891891891892},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.04042553191489362},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.024793388429752067},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01929260450160772},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.0514018691588785},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.018571428571428572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.031904287138584245},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.04924242424242424},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.025333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.015359741309620048},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.05597964376590331},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.04849137931034483},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.052054794520547946},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.024881516587677725},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.053973013493253376},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.05319148936170213},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.025896414342629483},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.012137559002022926},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.023923444976076555},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.046511627906976744},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.04580152671755725},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.016793893129770993},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.034916201117318434},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.012633624878522837},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.05336426914153132},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.021212121212121213},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"/":{"docs":{},"倒":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"最":{"docs":{},"先":{"docs":{},"访":{"docs":{},"问":{"docs":{},"最":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"传":{"docs":{},"值":{"docs":{},"不":{"docs":{},"是":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"开":{"docs":{},"始":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"池":{"docs":{},"子":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.021018593371059015}}}}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"}":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"中":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.015665796344647518}},"\\":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"}":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.03162055335968379},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.015772870662460567},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.035106382978723406},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.05841121495327103},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.017142857142857144},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.03873239436619718},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.03090727816550349},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.026515151515151516},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.03},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.02266666666666667},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.03684210526315789},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.05725190839694656},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.04956896551724138},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.04657534246575343},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.02014218009478673},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.050974512743628186},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.05319148936170213},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.023240371845949535},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.014160485502360081},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.012618296529968454},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.06976744186046512},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.04580152671755725},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.022137404580152672},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0335195530726257},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.010689990281827016},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.05336426914153132},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.024242424242424242},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"2":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"3":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"docs":{}}}}}}},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.02027027027027027},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.01652892561983471},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.01296111665004985},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"/":{"docs":{},"/":{"docs":{},"临":{"docs":{},"时":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"结":{"docs":{},"束":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"{":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0137429264349232},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.042105263157894736},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.008293838862559242},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"它":{"docs":{},"会":{"docs":{},"给":{"docs":{},"有":{"docs":{},"内":{"docs":{},"容":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"之":{"docs":{},"前":{"docs":{},"就":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"保":{"docs":{},"存":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"节":{"docs":{},"省":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"编":{"docs":{},"码":{"docs":{},"(":{"docs":{},"压":{"docs":{},"缩":{"docs":{},")":{"docs":{},"后":{"docs":{},"再":{"docs":{},"进":{"docs":{},"行":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"为":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"成":{"docs":{},"位":{"docs":{},"图":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"它":{"docs":{},"与":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"堆":{"docs":{},"是":{"docs":{},"两":{"docs":{},"回":{"docs":{},"事":{"docs":{},",":{"docs":{},"分":{"docs":{},"配":{"docs":{},"方":{"docs":{},"式":{"docs":{},"倒":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"链":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"编":{"docs":{},"号":{"docs":{},"和":{"docs":{},"上":{"docs":{},"文":{"docs":{},"的":{"docs":{},"编":{"docs":{},"号":{"docs":{},"对":{"docs":{},"应":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"[":{"docs":{},"注":{"docs":{},"意":{"docs":{},"是":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"中":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"也":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},")":{"docs":{},"]":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"选":{"docs":{},"择":{"docs":{},"序":{"docs":{},"号":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"在":{"docs":{},"于":{"docs":{},"防":{"docs":{},"止":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"中":{"docs":{},"被":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"的":{"docs":{},"分":{"docs":{},"组":{"docs":{},"在":{"docs":{},"以":{"docs":{},"后":{"docs":{},"又":{"docs":{},"被":{"docs":{},"传":{"docs":{},"送":{"docs":{},",":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"某":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"一":{"docs":{},"方":{"docs":{},"对":{"docs":{},"它":{"docs":{},"做":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},">":{"docs":{},"=":{"1":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}}}},"即":{"docs":{},"o":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"超":{"docs":{},"出":{"docs":{},"新":{"docs":{},"长":{"docs":{},"度":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{},"触":{"docs":{},"点":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"峰":{"docs":{},"值":{"docs":{},"时":{"docs":{},"候":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"被":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"设":{"docs":{},"置":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"同":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"上":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"中":{"docs":{},"相":{"docs":{},"同":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"扩":{"docs":{},"展":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"、":{"docs":{},"不":{"docs":{},"同":{"docs":{},"机":{"docs":{},"型":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"均":{"docs":{},"有":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"排":{"docs":{},"除":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{},"只":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"机":{"docs":{},"型":{"docs":{},"或":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"产":{"docs":{},"品":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"形":{"docs":{},"态":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"首":{"docs":{},"页":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"就":{"docs":{},"是":{"docs":{},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"播":{"docs":{},"放":{"docs":{},";":{"docs":{},"对":{"docs":{},"其":{"docs":{},"他":{"docs":{},"首":{"docs":{},"页":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"该":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"暂":{"docs":{},"停":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"提":{"docs":{},"交":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"哲":{"docs":{},"学":{"docs":{},"就":{"docs":{},"与":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"配":{"docs":{},"新":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"分":{"docs":{},"配":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"可":{"docs":{},"变":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"流":{"docs":{},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{},"和":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}},"性":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"用":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"可":{"docs":{},"见":{"docs":{},"没":{"docs":{},"关":{"docs":{},"系":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"改":{"docs":{},"变":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}},"管":{"docs":{},"是":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"还":{"docs":{},"是":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"、":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"重":{"docs":{},"新":{"docs":{},"分":{"docs":{},"配":{"docs":{},"、":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"扩":{"docs":{},"展":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"非":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"条":{"docs":{},"件":{"docs":{},"—":{"docs":{},"—":{"docs":{},"i":{"docs":{},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},"接":{"docs":{},"收":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"i":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"给":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"论":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"内":{"docs":{},"存":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"顺":{"docs":{},"利":{"docs":{},"访":{"docs":{},"问":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"变":{"docs":{},"量":{"docs":{},".":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"做":{"docs":{},"成":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"呢":{"docs":{},",":{"docs":{},"做":{"docs":{},"成":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"还":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"多":{"docs":{},"费":{"docs":{},"事":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"多":{"docs":{},"继":{"docs":{},"承":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"观":{"docs":{},"察":{"docs":{},"值":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}},"会":{"docs":{},"启":{"docs":{},"动":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"等":{"docs":{},"待":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"与":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"发":{"docs":{},"生":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"保":{"docs":{},"证":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"上":{"docs":{},"有":{"docs":{},"且":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"用":{"docs":{},"等":{"docs":{},"待":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"句":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"语":{"docs":{},"句":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"我":{"docs":{},"从":{"docs":{},"来":{"docs":{},"不":{"docs":{},"会":{"docs":{},"只":{"docs":{},"讲":{"docs":{},"原":{"docs":{},"理":{"docs":{},"不":{"docs":{},"留":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"已":{"docs":{},"经":{"docs":{},"将":{"docs":{},"我":{"docs":{},"司":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"整":{"docs":{},"理":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"拽":{"docs":{},"到":{"docs":{},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"开":{"docs":{},"始":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"满":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"过":{"docs":{},"是":{"docs":{},"初":{"docs":{},"始":{"docs":{},"配":{"docs":{},"置":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"装":{"docs":{},"入":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},",":{"docs":{},"与":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"在":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"像":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"那":{"docs":{},"样":{"docs":{},",":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"着":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"着":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"使":{"docs":{},"用":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"要":{"docs":{},"说":{"docs":{},",":{"docs":{},"单":{"docs":{},"单":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"面":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"比":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"快":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"着":{"docs":{},"急":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"指":{"docs":{},"向":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"四":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"退":{"docs":{},"出":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"三":{"docs":{},"行":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}},"等":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"止":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"你":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}},"对":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"接":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"擅":{"docs":{},"长":{"docs":{},"做":{"docs":{},"这":{"docs":{},"件":{"docs":{},"事":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"它":{"docs":{},",":{"docs":{},"就":{"docs":{},"误":{"docs":{},"以":{"docs":{},"为":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"的":{"docs":{},"说":{"docs":{},"法":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"宜":{"docs":{},"占":{"docs":{},"用":{"docs":{},"太":{"docs":{},"多":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"界":{"docs":{},"面":{"docs":{},"打":{"docs":{},"开":{"docs":{},"产":{"docs":{},"生":{"docs":{},"负":{"docs":{},"面":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"断":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"平":{"docs":{},"台":{"docs":{},"和":{"docs":{},"架":{"docs":{},"构":{"docs":{},":":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}}}}}}}}}}}}}}},"只":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"直":{"docs":{},"接":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"着":{"docs":{},"重":{"docs":{},"于":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"大":{"docs":{},"致":{"docs":{},"为":{"docs":{},"以":{"docs":{},"下":{"docs":{},"职":{"docs":{},"能":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"又":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"关":{"docs":{},"系":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"等":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}},"其":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"结":{"docs":{},"构":{"docs":{},"组":{"docs":{},"合":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"。":{"docs":{},"更":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"他":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"对":{"docs":{},"比":{"docs":{},"文":{"docs":{},"章":{"docs":{},"和":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"着":{"docs":{},"相":{"docs":{},"当":{"docs":{},"久":{"docs":{},"的":{"docs":{},"年":{"docs":{},"头":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"目":{"docs":{},"前":{"docs":{},"面":{"docs":{},"对":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"场":{"docs":{},"景":{"docs":{},"与":{"docs":{},"几":{"docs":{},"年":{"docs":{},"前":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"也":{"docs":{},"各":{"docs":{},"自":{"docs":{},"演":{"docs":{},"化":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"作":{"docs":{},"者":{"docs":{},"始":{"docs":{},"终":{"docs":{},"认":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"离":{"docs":{},"屏":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"页":{"docs":{},"面":{"docs":{},"绑":{"docs":{},"定":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"中":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01607717041800643},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},",":{"docs":{},"属":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"均":{"docs":{},"为":{"docs":{},"空":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"式":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"更":{"docs":{},"新":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"调":{"docs":{},"整":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"、":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},"多":{"docs":{},"张":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"缓":{"docs":{},"存":{"docs":{},"判":{"docs":{},"断":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"判":{"docs":{},"断":{"docs":{},"了":{"docs":{},"其":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{},",":{"docs":{},"无":{"docs":{},"效":{"docs":{},"直":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"往":{"docs":{},"深":{"docs":{},"层":{"docs":{},"调":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"元":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"间":{"docs":{},"就":{"docs":{},"不":{"docs":{},"能":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},",":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"两":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"?":{"docs":{},"以":{"docs":{},"及":{"docs":{},"出":{"docs":{},"现":{"docs":{},"继":{"docs":{},"承":{"docs":{},"时":{"docs":{},"他":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"个":{"docs":{},"段":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"二":{"docs":{},"级":{"docs":{},"划":{"docs":{},"分":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"仅":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"我":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"画":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"强":{"docs":{},"转":{"docs":{},"风":{"docs":{},"险":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"那":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"继":{"docs":{},"承":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"被":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"修":{"docs":{},"饰":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"为":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"指":{"docs":{},"针":{"docs":{},"中":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"规":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"被":{"docs":{},"抛":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"好":{"docs":{},"处":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"万":{"docs":{},"一":{"docs":{},"发":{"docs":{},"版":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"可":{"docs":{},"以":{"docs":{},"及":{"docs":{},"时":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"避":{"docs":{},"免":{"docs":{},"或":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"试":{"docs":{},"这":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"展":{"docs":{},"示":{"docs":{},"出":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"就":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{},"视":{"docs":{},"图":{"docs":{},"们":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"有":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"设":{"docs":{},"置":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"读":{"docs":{},"取":{"docs":{},"生":{"docs":{},"成":{"docs":{},"好":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},",":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"已":{"docs":{},"标":{"docs":{},"标":{"docs":{},"记":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"些":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"其":{"docs":{},"成":{"docs":{},"员":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"自":{"docs":{},"己":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"对":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"有":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"直":{"docs":{},"等":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},"前":{"docs":{},"面":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"它":{"docs":{},"真":{"docs":{},"正":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"甚":{"docs":{},"至":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"滚":{"docs":{},"动":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"变":{"docs":{},"化":{"docs":{},"都":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"每":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"主":{"docs":{},"存":{"docs":{},"和":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"搜":{"docs":{},"索":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"选":{"docs":{},"择":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"采":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"类":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"默":{"docs":{},"认":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"是":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"曾":{"docs":{},"发":{"docs":{},"生":{"docs":{},"过":{"docs":{},"好":{"docs":{},"几":{"docs":{},"次":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"改":{"docs":{},"别":{"docs":{},"人":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"改":{"docs":{},"出":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"(":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"严":{"docs":{},"格":{"docs":{},"且":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"代":{"docs":{},"码":{"docs":{},"更":{"docs":{},"加":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"符":{"docs":{},"合":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"常":{"docs":{},"常":{"docs":{},"会":{"docs":{},"让":{"docs":{},"刚":{"docs":{},"接":{"docs":{},"手":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"都":{"docs":{},"有":{"docs":{},"值":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"值":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"子":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"该":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"也":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"用":{"docs":{},"额":{"docs":{},"外":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"没":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"父":{"docs":{},"类":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"重":{"docs":{},"写":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"子":{"docs":{},"类":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"重":{"docs":{},"写":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"多":{"docs":{},"个":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"多":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"源":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"最":{"docs":{},"好":{"docs":{},"只":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"缺":{"docs":{},"失":{"docs":{},"符":{"docs":{},"号":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"从":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"给":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"首":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"符":{"docs":{},"号":{"docs":{},"时":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}},"两":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"并":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"声":{"docs":{},"明":{"docs":{},"其":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"接":{"docs":{},"触":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},"口":{"docs":{},"改":{"docs":{},"变":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"成":{"docs":{},"本":{"docs":{},"很":{"docs":{},"低":{"docs":{},",":{"docs":{},"改":{"docs":{},"起":{"docs":{},"来":{"docs":{},"很":{"docs":{},"快":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"始":{"docs":{},"思":{"docs":{},"考":{"docs":{},"之":{"docs":{},"前":{"docs":{},"追":{"docs":{},"求":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"是":{"docs":{},"否":{"docs":{},"适":{"docs":{},"合":{"docs":{},"当":{"docs":{},"前":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"实":{"docs":{},"际":{"docs":{},"价":{"docs":{},"值":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"类":{"docs":{},"结":{"docs":{},"构":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"以":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"层":{"docs":{},"面":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"这":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"字":{"docs":{},"段":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"对":{"docs":{},"于":{"docs":{},"基":{"docs":{},"类":{"docs":{},"则":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"(":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},"省":{"docs":{},"略":{"docs":{},")":{"docs":{},":":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"了":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}},"更":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}},"说":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"添":{"docs":{},"加":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"利":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"取":{"docs":{},"出":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"同":{"docs":{},"步":{"docs":{},"或":{"docs":{},"者":{"docs":{},"异":{"docs":{},"步":{"docs":{},"地":{"docs":{},"执":{"docs":{},"行":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"先":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"取":{"docs":{},"不":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"了":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"s":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"就":{"docs":{},"算":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"野":{"docs":{},"指":{"docs":{},"针":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"出":{"docs":{},"的":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"库":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"由":{"docs":{},"调":{"docs":{},"整":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}},"看":{"docs":{},"到":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"来":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"定":{"docs":{},"制":{"docs":{},"化":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"出":{"docs":{},"了":{"docs":{},"官":{"docs":{},"方":{"docs":{},"计":{"docs":{},"算":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"叫":{"docs":{},"做":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"继":{"docs":{},"续":{"docs":{},"添":{"docs":{},"加":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"预":{"docs":{},"设":{"docs":{},"一":{"docs":{},"些":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"当":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"向":{"docs":{},"左":{"docs":{},"在":{"docs":{},"向":{"docs":{},"右":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"对":{"docs":{},"于":{"docs":{},"如":{"docs":{},"何":{"docs":{},"选":{"docs":{},"择":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"策":{"docs":{},"略":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"实":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"改":{"docs":{},"进":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"导":{"docs":{},"致":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"到":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},")":{"docs":{},"中":{"docs":{},"有":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"自":{"docs":{},"动":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"根":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"发":{"docs":{},"版":{"docs":{},"节":{"docs":{},"奏":{"docs":{},"也":{"docs":{},"基":{"docs":{},"本":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"多":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"。":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"对":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"将":{"docs":{},"会":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"新":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"链":{"docs":{},"接":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"数":{"docs":{},"量":{"docs":{},"不":{"docs":{},"会":{"docs":{},"很":{"docs":{},"多":{"docs":{},"(":{"docs":{},"我":{"docs":{},"们":{"docs":{},"几":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"多":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"修":{"docs":{},"改":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"要":{"docs":{},"多":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},"、":{"docs":{},"打":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"以":{"docs":{},"及":{"docs":{},"集":{"docs":{},"成":{"docs":{},"测":{"docs":{},"试":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"很":{"docs":{},"不":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"放":{"docs":{},"入":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"将":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"叫":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"层":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"危":{"docs":{},"险":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"存":{"docs":{},"在":{"docs":{},"某":{"docs":{},"几":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"特":{"docs":{},"别":{"docs":{},"地":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"宽":{"docs":{},"松":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"按":{"docs":{},"照":{"docs":{},"规":{"docs":{},"则":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"但":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"隐":{"docs":{},"患":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"些":{"docs":{},"行":{"docs":{},"为":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"和":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"能":{"docs":{},"被":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"能":{"docs":{},"提":{"docs":{},"升":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"链":{"docs":{},"接":{"docs":{},":":{"docs":{},"x":{"docs":{},"u":{"docs":{},"e":{"docs":{},"z":{"docs":{},"h":{"docs":{},"u":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"勾":{"docs":{},"选":{"docs":{},"任":{"docs":{},"何":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"仅":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"张":{"docs":{},"背":{"docs":{},"景":{"docs":{},"图":{"docs":{},",":{"docs":{},"给":{"docs":{},"其":{"docs":{},"设":{"docs":{},"置":{"docs":{},"约":{"docs":{},"束":{"docs":{},"铺":{"docs":{},"满":{"docs":{},"全":{"docs":{},"屏":{"docs":{},",":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"时":{"docs":{},"正":{"docs":{},"常":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"但":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"时":{"docs":{},"就":{"docs":{},"异":{"docs":{},"常":{"docs":{},"了":{"docs":{},"。":{"docs":{},"(":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"系":{"docs":{},"统":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"锁":{"docs":{},"定":{"docs":{},",":{"docs":{},"参":{"docs":{},"考":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"淘":{"docs":{},"宝":{"docs":{},"及":{"docs":{},"微":{"docs":{},"信":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},")":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"生":{"docs":{},"成":{"docs":{},"四":{"docs":{},"张":{"docs":{},"截":{"docs":{},"图":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"、":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"、":{"docs":{},"深":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"、":{"docs":{},"深":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"竖":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"决":{"docs":{},"定":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"响":{"docs":{},"应":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"链":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"机":{"docs":{},"制":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"由":{"docs":{},":":{"docs":{},"响":{"docs":{},"应":{"docs":{},"连":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"长":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"处":{"docs":{},"理":{"docs":{},"机":{"docs":{},"制":{"docs":{},"与":{"docs":{},"图":{"docs":{},"像":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}},"并":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"循":{"docs":{},"环":{"docs":{},"指":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"消":{"docs":{},"息":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"资":{"docs":{},"源":{"docs":{},"占":{"docs":{},"用":{"docs":{},",":{"docs":{},"有":{"docs":{},"消":{"docs":{},"息":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},",":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"退":{"docs":{},"出":{"docs":{},"一":{"docs":{},"直":{"docs":{},"保":{"docs":{},"活":{"docs":{},"。":{"docs":{},"直":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"到":{"docs":{},"来":{"docs":{},"后":{"docs":{},"先":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"过":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"后":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"向":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"整":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"能":{"docs":{},"够":{"docs":{},"处":{"docs":{},"理":{"docs":{},"当":{"docs":{},"前":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"取":{"docs":{},"消":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"控":{"docs":{},"制":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"转":{"docs":{},"发":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"逐":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"在":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"会":{"docs":{},"分":{"docs":{},"配":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"着":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"也":{"docs":{},"会":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"当":{"docs":{},"事":{"docs":{},"件":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"则":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"3":{"2":{"docs":{},"位":{"docs":{},"迁":{"docs":{},"移":{"docs":{},"到":{"6":{"4":{"docs":{},"位":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"上":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"所":{"docs":{},"占":{"docs":{},"有":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"却":{"docs":{},"会":{"docs":{},"翻":{"docs":{},"倍":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"以":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"看":{"docs":{},"出":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"底":{"docs":{},"到":{"docs":{},"高":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"倒":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"上":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"探":{"docs":{},"测":{"docs":{},"链":{"docs":{},"是":{"docs":{},"最":{"docs":{},"先":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"后":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"i":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"比":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"正":{"docs":{},"常":{"docs":{},"操":{"docs":{},"作":{"docs":{},"慢":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"广":{"docs":{},"阔":{"docs":{},"的":{"docs":{},"视":{"docs":{},"角":{"docs":{},"看":{"docs":{},",":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"也":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"而":{"docs":{},"能":{"docs":{},"否":{"docs":{},"保":{"docs":{},"证":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"既":{"docs":{},"然":{"docs":{},"当":{"docs":{},"前":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"就":{"docs":{},"要":{"docs":{},"从":{"docs":{},"头":{"docs":{},"开":{"docs":{},"始":{"docs":{},"构":{"docs":{},"建":{"docs":{},"这":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"新":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"回":{"docs":{},"调":{"docs":{},"出":{"docs":{},"去":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{},"就":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"操":{"docs":{},"作":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"回":{"docs":{},"来":{"docs":{},"后":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"t":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"即":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"是":{"docs":{},"在":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"只":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"已":{"docs":{},"经":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"质":{"docs":{},"还":{"docs":{},"是":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"和":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"合":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"述":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"知":{"docs":{},"道":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"都":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"看":{"docs":{},"出":{"docs":{},"整":{"docs":{},"体":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"表":{"docs":{},"外":{"docs":{},"层":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"数":{"docs":{},"组":{"docs":{},"里":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"精":{"docs":{},"简":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"方":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"给":{"docs":{},"出":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"俩":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"看":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"而":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"图":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"注":{"docs":{},"册":{"docs":{},"前":{"docs":{},"后":{"docs":{},"f":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"没":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"低":{"docs":{},"姿":{"docs":{},"态":{"docs":{},"”":{"docs":{},"侵":{"docs":{},"入":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"又":{"docs":{},"走":{"docs":{},"到":{"docs":{},"了":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"去":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"根":{"docs":{},"据":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"获":{"docs":{},"取":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"别":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{},"面":{"docs":{},"拿":{"docs":{},",":{"docs":{},"将":{"docs":{},"线":{"docs":{},"程":{"docs":{},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"从":{"docs":{},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{},"获":{"docs":{},"取":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"中":{"docs":{},"醒":{"docs":{},"来":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"事":{"docs":{},"务":{"docs":{},"性":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"行":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"写":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"已":{"docs":{},"经":{"docs":{},"内":{"docs":{},"建":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"支":{"docs":{},"持":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"来":{"docs":{},"看":{"docs":{},"就":{"docs":{},"是":{"docs":{},"对":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"封":{"docs":{},"装":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"注":{"docs":{},"释":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"指":{"docs":{},"针":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"个":{"docs":{},"向":{"docs":{},"前":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"时":{"docs":{},"压":{"docs":{},"入":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"为":{"docs":{},"止":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"字":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"从":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"提":{"docs":{},"供":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"读":{"docs":{},"取":{"docs":{},"之":{"docs":{},"后":{"docs":{},"提":{"docs":{},"供":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"是":{"docs":{},"从":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{},"梳":{"docs":{},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"定":{"docs":{},"义":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"知":{"docs":{},":":{"docs":{},"当":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"整":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"则":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"a":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"a":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"左":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"结":{"docs":{},"点":{"docs":{},"b":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"b":{"docs":{},";":{"docs":{},"继":{"docs":{},"续":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"a":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},"是":{"docs":{},"在":{"docs":{},"原":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"上":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"移":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"(":{"docs":{},"称":{"docs":{},"“":{"docs":{},"就":{"docs":{},"地":{"docs":{},"排":{"docs":{},"序":{"docs":{},"”":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"需":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"的":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"空":{"docs":{},"间":{"docs":{},"跟":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"规":{"docs":{},"模":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"空":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"为":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"即":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"算":{"docs":{},"法":{"docs":{},"在":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"要":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"索":{"docs":{},"引":{"docs":{},"j":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"排":{"docs":{},"序":{"docs":{},"结":{"docs":{},"束":{"docs":{},"了":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"这":{"docs":{},"个":{"docs":{},"算":{"docs":{},"法":{"docs":{},"已":{"docs":{},"经":{"docs":{},"满":{"docs":{},"足":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"也":{"docs":{},"已":{"docs":{},"经":{"docs":{},"加":{"docs":{},"上":{"docs":{},"了":{"docs":{},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"我":{"docs":{},"想":{"docs":{},"大":{"docs":{},"家":{"docs":{},"应":{"docs":{},"该":{"docs":{},"都":{"docs":{},"能":{"docs":{},"看":{"docs":{},"懂":{"docs":{},"。":{"docs":{},"只":{"docs":{},"要":{"docs":{},"记":{"docs":{},"住":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"点":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"在":{"docs":{},"重":{"docs":{},"复":{"docs":{},"说":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"查":{"docs":{},"询":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"购":{"docs":{},"买":{"docs":{},"的":{"docs":{},"产":{"docs":{},"品":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"有":{"docs":{},"两":{"docs":{},"处":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"数":{"docs":{},"据":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"显":{"docs":{},"著":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"从":{"docs":{},"点":{"docs":{},"击":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"大":{"docs":{},"概":{"docs":{},"节":{"docs":{},"省":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"今":{"docs":{},"年":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"角":{"docs":{},"度":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"配":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"向":{"docs":{},"前":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"中":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"后":{"docs":{},",":{"docs":{},"并":{"docs":{},"继":{"docs":{},"续":{"docs":{},"调":{"docs":{},"用":{"docs":{},"返":{"docs":{},"回":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"不":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"或":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"视":{"docs":{},"图":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"了":{"docs":{},"解":{"docs":{},"到":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"后":{"docs":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"下":{"docs":{},"的":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"更":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"(":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"会":{"docs":{},"强":{"docs":{},"行":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},"串":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"结":{"docs":{},"果":{"docs":{},"?":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"啥":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"阅":{"docs":{},"读":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"因":{"docs":{},"素":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"速":{"docs":{},"度":{"docs":{},"造":{"docs":{},"成":{"docs":{},"影":{"docs":{},"响":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"无":{"docs":{},"权":{"docs":{},"限":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"及":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"他":{"docs":{},"的":{"docs":{},"子":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"们":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"剖":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"并":{"docs":{},"更":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"为":{"docs":{},"例":{"docs":{},"。":{"docs":{},"当":{"docs":{},"其":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"查":{"docs":{},"找":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"。":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"对":{"docs":{},"该":{"docs":{},"题":{"docs":{},"简":{"docs":{},"单":{"docs":{},"回":{"docs":{},"答":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"以":{"docs":{},"及":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"和":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"均":{"docs":{},"无":{"docs":{},"法":{"docs":{},"挽":{"docs":{},"救":{"docs":{},"就":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"并":{"docs":{},"报":{"docs":{},"错":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"三":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"是":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"非":{"docs":{},"常":{"docs":{},"影":{"docs":{},"响":{"docs":{},"它":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"体":{"docs":{},"验":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"型":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"三":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},"两":{"docs":{},"点":{"docs":{},"思":{"docs":{},"路":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{},".":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"docs":{}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"在":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"会":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"事":{"docs":{},"件":{"docs":{},"丢":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"给":{"docs":{},"查":{"docs":{},"号":{"docs":{},"台":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}},"其":{"docs":{},"使":{"docs":{},"用":{"docs":{},"成":{"docs":{},"本":{"docs":{},"成":{"docs":{},"为":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},"却":{"docs":{},"一":{"docs":{},"直":{"docs":{},"成":{"docs":{},"为":{"docs":{},"他":{"docs":{},"人":{"docs":{},"的":{"docs":{},"诟":{"docs":{},"病":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"代":{"docs":{},"码":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"明":{"docs":{},"文":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"写":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"很":{"docs":{},"危":{"docs":{},"险":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"长":{"docs":{},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"抖":{"docs":{},"音":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"感":{"docs":{},"受":{"docs":{},"到":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"倒":{"docs":{},"序":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"如":{"docs":{},"此":{"docs":{},"反":{"docs":{},"复":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"接":{"docs":{},"受":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"有":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"就":{"docs":{},"是":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"常":{"docs":{},"量":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"身":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"在":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},";":{"docs":{},"而":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"等":{"docs":{},"待":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"再":{"docs":{},"也":{"docs":{},"等":{"docs":{},"待":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"两":{"docs":{},"个":{"docs":{},"宏":{"docs":{},"定":{"docs":{},"义":{"docs":{},"去":{"docs":{},"取":{"docs":{},"得":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"—":{"docs":{},"—":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"密":{"docs":{},"是":{"docs":{},"大":{"docs":{},"头":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"浅":{"docs":{},"色":{"docs":{},"结":{"docs":{},"点":{"docs":{},"表":{"docs":{},"示":{"docs":{},"结":{"docs":{},"点":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"图":{"3":{"docs":{},".":{"8":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"9":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},",":{"docs":{},"∧":{"docs":{},"表":{"docs":{},"示":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"此":{"docs":{},"位":{"docs":{},"置":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"空":{"docs":{},"间":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},":":{"docs":{},"[":{"docs":{},"c":{"docs":{},"p":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"平":{"docs":{},"台":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{},"的":{"docs":{},"重":{"docs":{},"点":{"docs":{},"主":{"docs":{},"要":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"、":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"层":{"docs":{},"次":{"docs":{},"依":{"docs":{},"次":{"docs":{},"为":{"docs":{},":":{"docs":{},"图":{"docs":{},"层":{"docs":{},"树":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"还":{"docs":{},"是":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"值":{"docs":{},"、":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"替":{"docs":{},"换":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"库":{"docs":{},"链":{"docs":{},"接":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},":":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"实":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"对":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"删":{"docs":{},"除":{"docs":{},"后":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"的":{"docs":{},"添":{"docs":{},"加":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"i":{"docs":{},"f":{"docs":{},"条":{"docs":{},"件":{"docs":{},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"是":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"事":{"docs":{},"件":{"docs":{},"还":{"docs":{},"是":{"docs":{},"小":{"docs":{},"概":{"docs":{},"率":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"让":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"上":{"docs":{},",":{"docs":{},"自":{"docs":{},"己":{"docs":{},"都":{"docs":{},"随":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"能":{"docs":{},"保":{"docs":{},"住":{"docs":{},"别":{"docs":{},"人":{"docs":{},"的":{"docs":{},"命":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"我":{"docs":{},"门":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"局":{"docs":{},"部":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"也":{"docs":{},"叫":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"里":{"docs":{},"面":{"docs":{},"还":{"docs":{},"有":{"docs":{},"局":{"docs":{},"部":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"看":{"docs":{},"看":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"几":{"docs":{},"种":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"做":{"docs":{},"了":{"docs":{},"如":{"docs":{},"何":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"有":{"docs":{},"关":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"真":{"docs":{},"正":{"docs":{},"开":{"docs":{},"始":{"docs":{},"读":{"docs":{},"取":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"也":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"、":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"除":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"多":{"docs":{},"次":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"从":{"docs":{},"功":{"docs":{},"能":{"docs":{},"角":{"docs":{},"度":{"docs":{},",":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"取":{"docs":{},"代":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"性":{"docs":{},"体":{"docs":{},"现":{"docs":{},"在":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}},"本":{"docs":{},"质":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},",":{"docs":{},"外":{"docs":{},"层":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"数":{"docs":{},"组":{"docs":{},"里":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"头":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},",":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"容":{"docs":{},"器":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"要":{"docs":{},"解":{"docs":{},"密":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"设":{"docs":{},"置":{"docs":{},"成":{"docs":{},"符":{"docs":{},"号":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"它":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"优":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"质":{"docs":{},"量":{"docs":{},"和":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"难":{"docs":{},"以":{"docs":{},"保":{"docs":{},"障":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"我":{"docs":{},"们":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"从":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"子":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"因":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},",":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"理":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"分":{"docs":{},"析":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"引":{"docs":{},"用":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"地":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}},"文":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"链":{"docs":{},"接":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}},"后":{"docs":{},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},",":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"首":{"docs":{},"先":{"docs":{},"将":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"本":{"docs":{},"类":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"和":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"否":{"docs":{},"相":{"docs":{},"等":{"docs":{},"?":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"绘":{"docs":{},"图":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"复":{"docs":{},"制":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"和":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"为":{"docs":{},"自":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"时":{"docs":{},"的":{"docs":{},"添":{"docs":{},"加":{"docs":{},"方":{"docs":{},"式":{"docs":{},"又":{"docs":{},"是":{"docs":{},"插":{"docs":{},"入":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"即":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"参":{"docs":{},"与":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"果":{"docs":{},"仍":{"docs":{},"旧":{"docs":{},"命":{"docs":{},"中":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"续":{"docs":{},"更":{"docs":{},"新":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"篇":{"docs":{},"章":{"docs":{},"攻":{"docs":{},"防":{"docs":{},"会":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"和":{"docs":{},"演":{"docs":{},"示":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"逆":{"docs":{},"向":{"docs":{},"文":{"docs":{},"章":{"docs":{},"会":{"docs":{},"带":{"docs":{},"着":{"docs":{},"大":{"docs":{},"家":{"docs":{},"自":{"docs":{},"己":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"插":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"越":{"docs":{},"狱":{"docs":{},"篇":{"docs":{},"里":{"docs":{},"会":{"docs":{},"实":{"docs":{},"际":{"docs":{},"操":{"docs":{},"作":{"docs":{},"演":{"docs":{},"练":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"通":{"docs":{},"讯":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"用":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}},"端":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},":":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"中":{"docs":{},"最":{"docs":{},"后":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"按":{"docs":{},"照":{"docs":{},"上":{"docs":{},"述":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"后":{"docs":{},"分":{"docs":{},"成":{"docs":{},"两":{"docs":{},"棵":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"继":{"docs":{},"续":{"docs":{},"找":{"docs":{},"到":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"确":{"docs":{},"定":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"形":{"docs":{},"态":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"当":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"向":{"docs":{},"左":{"docs":{},"在":{"docs":{},"向":{"docs":{},"右":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"对":{"docs":{},"象":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"将":{"docs":{},"依":{"docs":{},"次":{"docs":{},"获":{"docs":{},"得":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"机":{"docs":{},"会":{"docs":{},"。":{"docs":{},"当":{"docs":{},"发":{"docs":{},"生":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"首":{"docs":{},"先":{"docs":{},"将":{"docs":{},"被":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"基":{"docs":{},"本":{"docs":{},"是":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"。":{"docs":{},"事":{"docs":{},"件":{"docs":{},"将":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"被":{"docs":{},"接":{"docs":{},"受":{"docs":{},"并":{"docs":{},"作":{"docs":{},"出":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},":":{"docs":{},"由":{"docs":{},"最":{"docs":{},"基":{"docs":{},"础":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"向":{"docs":{},"系":{"docs":{},"统":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"停":{"docs":{},"止":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"过":{"docs":{},"程":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"系":{"docs":{},"统":{"docs":{},"开":{"docs":{},"的":{"docs":{},"口":{"docs":{},"子":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"便":{"docs":{},"被":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},"。":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"也":{"docs":{},"被":{"docs":{},"完":{"docs":{},"全":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"核":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"或":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"主":{"docs":{},"动":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"里":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"不":{"docs":{},"主":{"docs":{},"动":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"大":{"docs":{},"家":{"docs":{},"就":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"相":{"docs":{},"互":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"就":{"docs":{},"好":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"通":{"docs":{},"信":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"、":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"示":{"docs":{},"大":{"docs":{},"致":{"docs":{},"理":{"docs":{},"解":{"docs":{},"即":{"docs":{},"可":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"(":{"docs":{},"a":{"docs":{},"线":{"docs":{},"程":{"docs":{},"通":{"docs":{},"过":{"docs":{},"端":{"docs":{},"口":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"到":{"docs":{},"b":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"的":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"(":{"docs":{},"底":{"docs":{},"层":{"docs":{},"是":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},",":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"消":{"docs":{},"息":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"等":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"都":{"docs":{},"是":{"docs":{},"流":{"docs":{},"式":{"docs":{},"的":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"自":{"docs":{},"己":{"docs":{},"设":{"docs":{},"计":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"即":{"docs":{},"消":{"docs":{},"息":{"docs":{},"帧":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"某":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"采":{"docs":{},"取":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"找":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{},"n":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"多":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"大":{"docs":{},"概":{"docs":{},"花":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"反":{"docs":{},"射":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"封":{"docs":{},"装":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"封":{"docs":{},"装":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"广":{"docs":{},"播":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"思":{"docs":{},"路":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"向":{"docs":{},"协":{"docs":{},"议":{"docs":{},"思":{"docs":{},"想":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"础":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"技":{"docs":{},"术":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"如":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"上":{"docs":{},"图":{"docs":{},",":{"docs":{},"最":{"docs":{},"底":{"docs":{},"层":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"关":{"docs":{},"系":{"docs":{},"也":{"docs":{},"如":{"docs":{},"旧":{"docs":{},"版":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"被":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"变":{"docs":{},"量":{"docs":{},"分":{"docs":{},"别":{"docs":{},"在":{"docs":{},"两":{"docs":{},"次":{"docs":{},"并":{"docs":{},"发":{"docs":{},"异":{"docs":{},"步":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"1":{"0":{"0":{"0":{"0":{"docs":{},"次":{"docs":{},"后":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"并":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"2":{"0":{"0":{"0":{"0":{"docs":{},"。":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"果":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"在":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"就":{"docs":{},"拿":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"获":{"docs":{},"取":{"docs":{},"、":{"docs":{},"释":{"docs":{},"放":{"docs":{},"、":{"docs":{},"查":{"docs":{},"看":{"docs":{},")":{"docs":{},"对":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"分":{"docs":{},"别":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"具":{"docs":{},"体":{"docs":{},"如":{"docs":{},"何":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"看":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"讲":{"docs":{},"的":{"docs":{},",":{"docs":{},"你":{"docs":{},"都":{"docs":{},"懂":{"docs":{},",":{"docs":{},"都":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"面":{"docs":{},"试":{"docs":{},"中":{"docs":{},"说":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"足":{"docs":{},"够":{"docs":{},"的":{"docs":{},"了":{"docs":{},"。":{"docs":{},"我":{"docs":{},"当":{"docs":{},"时":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"么":{"docs":{},"回":{"docs":{},"答":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"做":{"docs":{},"了":{"docs":{},"几":{"docs":{},"年":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"相":{"docs":{},"比":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"道":{"docs":{},"题":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"很":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"过":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"当":{"docs":{},"视":{"docs":{},"图":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"或":{"docs":{},"者":{"docs":{},"修":{"docs":{},"改":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"计":{"docs":{},"算":{"docs":{},"图":{"docs":{},"层":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"就":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"6":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{},"机":{"docs":{},"制":{"docs":{},"尤":{"docs":{},"为":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"它":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"比":{"docs":{},"老":{"docs":{},"版":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"整":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"加":{"docs":{},"强":{"docs":{},"了":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"对":{"docs":{},"技":{"docs":{},"术":{"docs":{},"充":{"docs":{},"满":{"docs":{},"热":{"docs":{},"情":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"加":{"docs":{},"入":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"基":{"docs":{},"础":{"docs":{},"技":{"docs":{},"术":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"共":{"docs":{},"建":{"docs":{},"亿":{"docs":{},"级":{"docs":{},"全":{"docs":{},"球":{"docs":{},"化":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"为":{"docs":{},"未":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"j":{"docs":{},"p":{"docs":{},"g":{"docs":{},",":{"docs":{},"解":{"docs":{},"码":{"docs":{},"为":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"树":{"docs":{},"太":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"影":{"docs":{},"响":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"类":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"视":{"docs":{},"图":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"或":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"或":{"docs":{},"者":{"docs":{},"想":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"更":{"docs":{},"多":{"docs":{},"软":{"docs":{},"件":{"docs":{},"工":{"docs":{},"程":{"docs":{},"上":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"计":{"docs":{},"决":{"docs":{},"策":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"博":{"docs":{},"客":{"docs":{},"下":{"docs":{},"面":{"docs":{},"留":{"docs":{},"言":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"会":{"docs":{},"及":{"docs":{},"时":{"docs":{},"回":{"docs":{},"复":{"docs":{},"本":{"docs":{},"文":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"并":{"docs":{},"选":{"docs":{},"择":{"docs":{},"其":{"docs":{},"中":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"作":{"docs":{},"为":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"超":{"docs":{},"出":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"2":{"0":{"4":{"8":{"docs":{},"x":{"2":{"0":{"4":{"8":{"docs":{},"或":{"docs":{},"者":{"4":{"0":{"9":{"6":{"docs":{},"x":{"4":{"0":{"9":{"6":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"是":{"6":{"4":{"docs":{},"位":{"docs":{},"环":{"docs":{},"境":{"docs":{},"并":{"docs":{},"且":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"视":{"docs":{},"图":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"其":{"docs":{},"兄":{"docs":{},"弟":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"其":{"docs":{},"兄":{"docs":{},"弟":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"其":{"docs":{},"都":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"时":{"docs":{},"传":{"docs":{},"入":{"docs":{},"值":{"docs":{},"为":{"1":{"docs":{},"又":{"docs":{},"会":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"docs":{}}}}}}}}}}}},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"已":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"就":{"docs":{},"采":{"docs":{},"用":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"没":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"采":{"docs":{},"用":{"docs":{},"一":{"docs":{},"般":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"直":{"docs":{},"接":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"生":{"docs":{},"命":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"话":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"执":{"docs":{},"行":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"后":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"向":{"docs":{},"后":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"有":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"手":{"docs":{},"势":{"docs":{},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"类":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"启":{"docs":{},"用":{"docs":{},"了":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"并":{"docs":{},"插":{"docs":{},"入":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"存":{"docs":{},"在":{"docs":{},"就":{"docs":{},"将":{"docs":{},"指":{"docs":{},"向":{"docs":{},"被":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"过":{"docs":{},"函":{"docs":{},"数":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"引":{"docs":{},"用":{"docs":{},"数":{"docs":{},"组":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"没":{"docs":{},"有":{"docs":{},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"则":{"docs":{},"根":{"docs":{},"据":{"docs":{},"条":{"docs":{},"件":{"docs":{},"调":{"docs":{},"整":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},".":{"docs":{},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"写":{"docs":{},"了":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"想":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"它":{"docs":{},"只":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"增":{"docs":{},"加":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"类":{"docs":{},"别":{"docs":{},"中":{"docs":{},"增":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"就":{"docs":{},"不":{"docs":{},"适":{"docs":{},"用":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"级":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"每":{"docs":{},"级":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"实":{"docs":{},"现":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"事":{"docs":{},"件":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"从":{"docs":{},"堆":{"docs":{},"上":{"docs":{},"移":{"docs":{},"除":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"是":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"上":{"docs":{},",":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"产":{"docs":{},"生":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"/":{"docs":{},"访":{"docs":{},"问":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"/":{"docs":{},"访":{"docs":{},"问":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"很":{"docs":{},"多":{"docs":{},"次":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"每":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"多":{"docs":{},"次":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"能":{"docs":{},"够":{"docs":{},"快":{"docs":{},"速":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"设":{"docs":{},"计":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"新":{"docs":{},"增":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"完":{"docs":{},"成":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"篡":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"会":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"那":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"与":{"docs":{},"之":{"docs":{},"相":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"获":{"docs":{},"取":{"docs":{},"其":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"想":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"不":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"回":{"docs":{},"调":{"docs":{},"对":{"docs":{},"象":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"者":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"性":{"docs":{},"能":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"必":{"docs":{},"须":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"长":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"出":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"视":{"docs":{},"图":{"docs":{},"有":{"docs":{},"附":{"docs":{},"加":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"优":{"docs":{},"先":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"视":{"docs":{},"图":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"视":{"docs":{},"图":{"docs":{},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"后":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"开":{"docs":{},"启":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"降":{"docs":{},"低":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"被":{"docs":{},"交":{"docs":{},"互":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"更":{"docs":{},"好":{"docs":{},";":{"docs":{},"底":{"docs":{},"层":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},"之":{"docs":{},"间":{"docs":{},"不":{"docs":{},"太":{"docs":{},"互":{"docs":{},"相":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"而":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"高":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"则":{"docs":{},"更":{"docs":{},"有":{"docs":{},"优":{"docs":{},"势":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"重":{"docs":{},"写":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"控":{"docs":{},"制":{"docs":{},"变":{"docs":{},"更":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"退":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"自":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"状":{"docs":{},"态":{"docs":{},"等":{"docs":{},"等":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"=":{"docs":{},"i":{"docs":{},"是":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"中":{"docs":{},"有":{"docs":{},"发":{"docs":{},"现":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"将":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"1":{"docs":{},"且":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"找":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"当":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"写":{"docs":{},"者":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"写":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"⽴":{"docs":{},"刻":{"docs":{},"获":{"docs":{},"得":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"它":{"docs":{},"必":{"docs":{},"须":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"在":{"docs":{},"那":{"docs":{},"⾥":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"写":{"docs":{},"者":{"docs":{},"或":{"docs":{},"读":{"docs":{},"者":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"没":{"docs":{},"有":{"docs":{},"写":{"docs":{},"者":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"⽴":{"docs":{},"即":{"docs":{},"获":{"docs":{},"得":{"docs":{},"该":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"读":{"docs":{},"者":{"docs":{},"必":{"docs":{},"须":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"在":{"docs":{},"那":{"docs":{},"⾥":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"写":{"docs":{},"者":{"docs":{},"释":{"docs":{},"放":{"docs":{},"该":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},"分":{"docs":{},"别":{"docs":{},"会":{"docs":{},"走":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"源":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"解":{"docs":{},"决":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"支":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"b":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"说":{"docs":{},"明":{"docs":{},"为":{"docs":{},"空":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},"说":{"docs":{},"明":{"docs":{},"满":{"docs":{},"了":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"或":{"docs":{},"用":{"docs":{},"户":{"docs":{},"接":{"docs":{},"受":{"docs":{},"了":{"docs":{},"不":{"docs":{},"受":{"docs":{},"信":{"docs":{},"任":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"用":{"docs":{},"户":{"docs":{},"后":{"docs":{},"买":{"docs":{},"成":{"docs":{},"功":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"就":{"docs":{},"不":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"交":{"docs":{},"易":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"得":{"docs":{},"到":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"就":{"docs":{},"把":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"要":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"屏":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"至":{"docs":{},"少":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"块":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"一":{"docs":{},"样":{"docs":{},"大":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"并":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"以":{"docs":{},"外":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"我":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"想":{"docs":{},"是":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"者":{"docs":{},"中":{"docs":{},"有":{"docs":{},"图":{"docs":{},"形":{"docs":{},"学":{"docs":{},"专":{"docs":{},"家":{"docs":{},"希":{"docs":{},"望":{"docs":{},"能":{"docs":{},"指":{"docs":{},"正":{"docs":{},")":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"请":{"docs":{},"让":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"知":{"docs":{},"道":{"docs":{},"你":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"下":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"其":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"台":{"docs":{},"没":{"docs":{},"有":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"则":{"docs":{},"表":{"docs":{},"明":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"的":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"交":{"docs":{},"给":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"后":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"这":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"后":{"docs":{},"其":{"docs":{},"会":{"docs":{},"成":{"docs":{},"为":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"外":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"事":{"docs":{},"件":{"docs":{},"并":{"docs":{},"成":{"docs":{},"为":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"其":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"掉":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"图":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"何":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"从":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"里":{"docs":{},"找":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"呢":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"散":{"docs":{},"列":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"指":{"docs":{},"向":{"docs":{},"堆":{"docs":{},",":{"docs":{},"并":{"docs":{},"建":{"docs":{},"立":{"docs":{},"联":{"docs":{},"系":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"各":{"docs":{},"端":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"向":{"docs":{},"后":{"docs":{},"端":{"docs":{},"接":{"docs":{},"口":{"docs":{},"发":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"想":{"docs":{},"到":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},",":{"docs":{},"将":{"docs":{},"这":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"间":{"docs":{},"多":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"同":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"多":{"docs":{},"次":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"其":{"docs":{},"真":{"docs":{},"实":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"地":{"docs":{},"址":{"docs":{},"呢":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"调":{"docs":{},"试":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"统":{"docs":{},"计":{"docs":{},"到":{"docs":{},"的":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"报":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"减":{"docs":{},"少":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"还":{"docs":{},"是":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"少":{"docs":{},"做":{"docs":{},"事":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"入":{"docs":{},"更":{"docs":{},"少":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},";":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},"引":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"少":{"docs":{},"定":{"docs":{},"义":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},"执":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"为":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"但":{"docs":{},"因":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"而":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"再":{"docs":{},"重":{"docs":{},"传":{"docs":{},"一":{"docs":{},"次":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"后":{"docs":{},"来":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"共":{"docs":{},"发":{"docs":{},"出":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"到":{"docs":{},"达":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"网":{"docs":{},"络":{"docs":{},"结":{"docs":{},"点":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"滞":{"docs":{},"留":{"docs":{},"了":{"docs":{},",":{"docs":{},"延":{"docs":{},"误":{"docs":{},"到":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"以":{"docs":{},"后":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"才":{"docs":{},"到":{"docs":{},"达":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"误":{"docs":{},"认":{"docs":{},"为":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"又":{"docs":{},"发":{"docs":{},"出":{"docs":{},"一":{"docs":{},"次":{"docs":{},"新":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"就":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"同":{"docs":{},"意":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"不":{"docs":{},"采":{"docs":{},"用":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"就":{"docs":{},"建":{"docs":{},"立":{"docs":{},"新":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"来":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"则":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"一":{"docs":{},"致":{"docs":{},"等":{"docs":{},"待":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"3":{"docs":{},".":{"1":{"4":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"应":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"后":{"docs":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"预":{"docs":{},"热":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"象":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"响":{"docs":{},"应":{"docs":{},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"到":{"docs":{},"程":{"docs":{},"序":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"和":{"docs":{},"接":{"docs":{},"受":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},",":{"docs":{},"并":{"docs":{},"放":{"docs":{},"入":{"docs":{},"当":{"docs":{},"前":{"docs":{},"活":{"docs":{},"动":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"去":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"开":{"docs":{},"始":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"往":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"主":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"按":{"docs":{},"照":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"层":{"docs":{},"级":{"docs":{},"结":{"docs":{},"构":{"docs":{},"一":{"docs":{},"层":{"docs":{},"层":{"docs":{},"往":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"发":{"docs":{},"生":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"查":{"docs":{},"找":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"两":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"且":{"docs":{},"其":{"docs":{},"中":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"改":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"其":{"docs":{},"实":{"docs":{},"没":{"docs":{},"有":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"会":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"所":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"调":{"docs":{},"整":{"docs":{},"、":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"去":{"docs":{},"做":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"区":{"docs":{},"域":{"docs":{},"中":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"以":{"docs":{},"及":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"寻":{"docs":{},"址":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"回":{"docs":{},"收":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"类":{"docs":{},"型":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"指":{"docs":{},"针":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"与":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},"信":{"docs":{},"息":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},":":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"过":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"给":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"内":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"对":{"docs":{},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"内":{"docs":{},"部":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"也":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"令":{"docs":{},"其":{"docs":{},"为":{"docs":{},"单":{"docs":{},"例":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"都":{"docs":{},"服":{"docs":{},"从":{"docs":{},"这":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"与":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"查":{"docs":{},"询":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"决":{"docs":{},"定":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"无":{"docs":{},"任":{"docs":{},"何":{"docs":{},"二":{"docs":{},"义":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"选":{"docs":{},"择":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"式":{"docs":{},"处":{"docs":{},"理":{"docs":{},"它":{"docs":{},"们":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"用":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"确":{"docs":{},"保":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"不":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"启":{"docs":{},"动":{"docs":{},"就":{"docs":{},"默":{"docs":{},"认":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"了":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"丢":{"docs":{},"包":{"docs":{},",":{"docs":{},"误":{"docs":{},"码":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"是":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"段":{"docs":{},"编":{"docs":{},"号":{"docs":{},"以":{"docs":{},"及":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"。":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"报":{"docs":{},"文":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"就":{"docs":{},"给":{"docs":{},"每":{"docs":{},"个":{"docs":{},"包":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"号":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"序":{"docs":{},"号":{"docs":{},"也":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"传":{"docs":{},"送":{"docs":{},"到":{"docs":{},"接":{"docs":{},"收":{"docs":{},"端":{"docs":{},"实":{"docs":{},"体":{"docs":{},"的":{"docs":{},"包":{"docs":{},"的":{"docs":{},"按":{"docs":{},"序":{"docs":{},"接":{"docs":{},"收":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"接":{"docs":{},"收":{"docs":{},"端":{"docs":{},"实":{"docs":{},"体":{"docs":{},"对":{"docs":{},"已":{"docs":{},"成":{"docs":{},"功":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"发":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"送":{"docs":{},"端":{"docs":{},"实":{"docs":{},"体":{"docs":{},"在":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"往":{"docs":{},"返":{"docs":{},"时":{"docs":{},"延":{"docs":{},"(":{"docs":{},"r":{"docs":{},"t":{"docs":{},"t":{"docs":{},")":{"docs":{},"内":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"假":{"docs":{},"设":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"了":{"docs":{},")":{"docs":{},"将":{"docs":{},"会":{"docs":{},"被":{"docs":{},"重":{"docs":{},"传":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"有":{"docs":{},"一":{"docs":{},"类":{"docs":{},"典":{"docs":{},"型":{"docs":{},"题":{"docs":{},"型":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"图":{"docs":{},"二":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"节":{"docs":{},"点":{"9":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"2":{"docs":{},",":{"docs":{},"而":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"0":{"docs":{},"。":{"docs":{},"他":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"差":{"docs":{},"值":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"了":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}},"片":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"统":{"docs":{},"一":{"docs":{},"采":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"模":{"docs":{},"糊":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"不":{"docs":{},"采":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"形":{"docs":{},"状":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"实":{"docs":{},"时":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"非":{"docs":{},"常":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"四":{"docs":{},"个":{"docs":{},"白":{"docs":{},"色":{"docs":{},"弧":{"docs":{},"形":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"想":{"docs":{},"看":{"docs":{},"我":{"docs":{},"啰":{"docs":{},"里":{"docs":{},"八":{"docs":{},"嗦":{"docs":{},"讲":{"docs":{},"一":{"docs":{},"大":{"docs":{},"堆":{"docs":{},"原":{"docs":{},"理":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"本":{"docs":{},"文":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"章":{"docs":{},"节":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"功":{"docs":{},"能":{"docs":{},"也":{"docs":{},"能":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"全":{"docs":{},"照":{"docs":{},"抄":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"生":{"docs":{},"产":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"难":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{},"骨":{"docs":{},"干":{"docs":{},"网":{"docs":{},"等":{"docs":{},"高":{"docs":{},"速":{"docs":{},"网":{"docs":{},"络":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"使":{"docs":{},"它":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"变":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"找":{"docs":{},"到":{"docs":{},"分":{"docs":{},"类":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"主":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"永":{"docs":{},"远":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"到":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"转":{"docs":{},"变":{"docs":{},"成":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"区":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"后":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"都":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}},"个":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"做":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"又":{"docs":{},"一":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"断":{"docs":{},"言":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"同":{"docs":{},"步":{"docs":{},"锁":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"太":{"docs":{},"臃":{"docs":{},"肿":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"原":{"docs":{},"子":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"不":{"docs":{},"负":{"docs":{},"责":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"而":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"再":{"docs":{},"取":{"docs":{},"出":{"docs":{},"时":{"docs":{},"类":{"docs":{},"型":{"docs":{},"却":{"docs":{},"变":{"docs":{},"成":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"所":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"值":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"是":{"docs":{},":":{"docs":{},"当":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"并":{"docs":{},"发":{"docs":{},"回":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"该":{"docs":{},"连":{"docs":{},"接":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"停":{"docs":{},"留":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"为":{"2":{"docs":{},"倍":{"docs":{},"的":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"让":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"再":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"以":{"docs":{},"防":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"(":{"docs":{},"另":{"docs":{},"一":{"docs":{},"端":{"docs":{},"超":{"docs":{},"时":{"docs":{},"并":{"docs":{},"重":{"docs":{},"发":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"这":{"docs":{},"类":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"替":{"docs":{},"换":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"强":{"docs":{},"制":{"docs":{},"解":{"docs":{},"码":{"docs":{},"并":{"docs":{},"将":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}},"三":{"docs":{},"方":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},"的":{"docs":{},"页":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"签":{"docs":{},"名":{"docs":{},"验":{"docs":{},"证":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}},"比":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"和":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},"进":{"docs":{},"行":{"docs":{},"打":{"docs":{},"包":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},".":{"docs":{},"a":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"环":{"docs":{},"境":{"docs":{},"进":{"docs":{},"行":{"docs":{},"压":{"docs":{},"栈":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"环":{"docs":{},"境":{"docs":{},"进":{"docs":{},"行":{"docs":{},"出":{"docs":{},"栈":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"中":{"docs":{},"心":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"和":{"docs":{},"改":{"docs":{},"动":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"对":{"docs":{},"于":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"见":{"docs":{},"的":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"进":{"docs":{},"行":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"部":{"docs":{},"分":{"docs":{},"公":{"docs":{},"司":{"docs":{},"确":{"docs":{},"实":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"来":{"docs":{},"维":{"docs":{},"持":{"docs":{},"现":{"docs":{},"状":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"从":{"docs":{},"上":{"docs":{},"向":{"docs":{},"下":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}},"像":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"加":{"docs":{},"载":{"docs":{},"这":{"docs":{},"个":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"均":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"计":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"这":{"docs":{},"样":{"docs":{},"几":{"docs":{},"个":{"docs":{},"术":{"docs":{},"语":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"首":{"docs":{},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"。":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"直":{"docs":{},"接":{"docs":{},"影":{"docs":{},"响":{"docs":{},"着":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"辟":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"启":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"了":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"占":{"docs":{},"用":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"都":{"docs":{},"占":{"5":{"1":{"2":{"docs":{},"k":{"docs":{},"b":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"大":{"docs":{},"约":{"docs":{},"需":{"docs":{},"要":{"9":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"关":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"片":{"docs":{},"区":{"docs":{},"域":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"黄":{"docs":{},"色":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},")":{"docs":{},",":{"docs":{},"关":{"docs":{},"注":{"docs":{},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"及":{"docs":{},"时":{"docs":{},"获":{"docs":{},"取":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{},"必":{"docs":{},"备":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"是":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"的":{"docs":{},"常":{"docs":{},"用":{"docs":{},"语":{"docs":{},"言":{"docs":{},"是":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"可":{"docs":{},"需":{"docs":{},"要":{"docs":{},"持":{"docs":{},"续":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"了":{"docs":{},"与":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"叫":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"源":{"docs":{},"库":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"美":{"docs":{},"团":{"docs":{},"都":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"类":{"docs":{},"似":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"放":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"当":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"知":{"docs":{},"道":{"docs":{},"有":{"docs":{},"谁":{"docs":{},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"由":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"来":{"docs":{},"对":{"docs":{},"事":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"从":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"开":{"docs":{},"始":{"docs":{},"向":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"其":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"还":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"其":{"docs":{},"派":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"再":{"docs":{},"向":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"派":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},"候":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"要":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"打":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"将":{"docs":{},"要":{"docs":{},"结":{"docs":{},"束":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"当":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"型":{"docs":{},"时":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"提":{"docs":{},"交":{"docs":{},"代":{"docs":{},"码":{"docs":{},"还":{"docs":{},"是":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"实":{"docs":{},"验":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"其":{"docs":{},"实":{"docs":{},"都":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"所":{"docs":{},"有":{"docs":{},"人":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"库":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"如":{"docs":{},"果":{"docs":{},"某":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"实":{"docs":{},"验":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"库":{"docs":{},"也":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"大":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"测":{"docs":{},"试":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},",":{"docs":{},"键":{"docs":{},"入":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"想":{"docs":{},"探":{"docs":{},"究":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"部":{"docs":{},"分":{"docs":{},"来":{"docs":{},"探":{"docs":{},"究":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"操":{"docs":{},"作":{"docs":{},"u":{"docs":{},"i":{"docs":{},"时":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"改":{"docs":{},"变":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"还":{"docs":{},"未":{"docs":{},"分":{"docs":{},"配":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"谈":{"docs":{},"论":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"触":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"指":{"docs":{},"尖":{"docs":{},"触":{"docs":{},"碰":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"那":{"docs":{},"一":{"docs":{},"刻":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"。":{"docs":{},"经":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"最":{"docs":{},"终":{"docs":{},"被":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"了":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"历":{"docs":{},"经":{"docs":{},"峰":{"docs":{},"回":{"docs":{},"路":{"docs":{},"转":{"docs":{},"的":{"docs":{},"奇":{"docs":{},"幻":{"docs":{},"之":{"docs":{},"旅":{"docs":{},"后":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"大":{"docs":{},"致":{"docs":{},"经":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"某":{"docs":{},"些":{"docs":{},"u":{"docs":{},"i":{"docs":{},"图":{"docs":{},"层":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"docs":{},"被":{"docs":{},"未":{"docs":{},"预":{"docs":{},"合":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"对":{"docs":{},"外":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"栈":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"时":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"被":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"(":{"docs":{},"从":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"时":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"时":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"被":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"2":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"3":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"4":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"5":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"6":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"7":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"8":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"9":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"前":{"docs":{},"更":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"前":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"应":{"docs":{},"用":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"对":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"先":{"docs":{},"循":{"docs":{},"环":{"docs":{},"调":{"docs":{},"用":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"或":{"docs":{},"者":{"docs":{},"父":{"docs":{},"类":{"docs":{},"含":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"已":{"docs":{},"满":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"提":{"docs":{},"交":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"他":{"docs":{},"们":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"开":{"docs":{},"发":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"树":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}},"在":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"对":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"与":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"层":{"docs":{},"次":{"docs":{},"调":{"docs":{},"整":{"docs":{},"时":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"硬":{"docs":{},"件":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"/":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"/":{"docs":{},"摇":{"docs":{},"晃":{"docs":{},"等":{"docs":{},")":{"docs":{},"发":{"docs":{},"生":{"docs":{},"后":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"能":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},",":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{},"而":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"该":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"得":{"docs":{},"不":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"为":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"而":{"docs":{},"发":{"docs":{},"送":{"docs":{},"它":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"为":{"docs":{},"连":{"docs":{},"接":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"始":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"随":{"docs":{},"时":{"docs":{},"间":{"docs":{},"而":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"每":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"都":{"docs":{},"将":{"docs":{},"具":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"作":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"3":{"2":{"docs":{},"比":{"docs":{},"特":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"每":{"4":{"docs":{},"m":{"docs":{},"s":{"docs":{},"加":{"1":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{}}}}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"现":{"docs":{},"在":{"docs":{},"再":{"docs":{},"去":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"去":{"docs":{},"替":{"docs":{},"代":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"操":{"docs":{},"作":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"超":{"docs":{},"过":{"1":{"6":{"docs":{},".":{"6":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},",":{"docs":{},"丢":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"给":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"在":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"在":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"辟":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"了":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"核":{"docs":{},"心":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"某":{"docs":{},"些":{"docs":{},"并":{"docs":{},"行":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"也":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"图":{"docs":{},"层":{"docs":{},"被":{"docs":{},"成":{"docs":{},"功":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"要":{"docs":{},"做":{"docs":{},"如":{"docs":{},"下":{"docs":{},"工":{"docs":{},"作":{"docs":{},":":{"docs":{},"为":{"docs":{},"了":{"docs":{},"显":{"docs":{},"示":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"不":{"docs":{},"止":{"docs":{},"做":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"编":{"docs":{},"码":{"docs":{},"器":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"等":{"docs":{},"多":{"docs":{},"种":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"还":{"docs":{},"写":{"docs":{},"了":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"对":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"会":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"前":{"docs":{},"文":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{},"变":{"docs":{},"量":{"docs":{},"同":{"docs":{},"样":{"docs":{},"会":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"被":{"docs":{},"转":{"docs":{},"化":{"docs":{},"成":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"选":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"类":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"增":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"么":{"docs":{},"说":{"docs":{},"并":{"docs":{},"不":{"docs":{},"严":{"docs":{},"谨":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"加":{"docs":{},"放":{"docs":{},"心":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"建":{"docs":{},"立":{"docs":{},"起":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"就":{"docs":{},"会":{"docs":{},"放":{"docs":{},"在":{"docs":{},"全":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"队":{"docs":{},"列":{"docs":{},"满":{"docs":{},"了":{"docs":{},"就":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"丢":{"docs":{},"包":{"docs":{},"现":{"docs":{},"象":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"会":{"docs":{},"比":{"docs":{},"这":{"docs":{},"个":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"有":{"docs":{},"些":{"docs":{},"页":{"docs":{},"面":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"多":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"对":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"收":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"次":{"docs":{},"操":{"docs":{},"作":{"docs":{},"封":{"docs":{},"装":{"docs":{},"为":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"减":{"docs":{},"为":{"0":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"多":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"内":{"docs":{},"存":{"docs":{},"或":{"docs":{},"者":{"docs":{},"多":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"每":{"docs":{},"次":{"docs":{},"只":{"docs":{},"取":{"docs":{},"其":{"docs":{},"一":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{},"联":{"docs":{},"合":{"docs":{},"体":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"存":{"docs":{},"储":{"docs":{},"不":{"docs":{},"同":{"docs":{},"型":{"docs":{},"别":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"节":{"docs":{},"省":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"己":{"docs":{},"持":{"docs":{},"有":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"外":{"docs":{},"界":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"类":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"象":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"动":{"docs":{},"态":{"docs":{},"地":{"docs":{},"创":{"docs":{},"建":{"docs":{},"该":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},"中":{"docs":{},"重":{"docs":{},"写":{"docs":{},"基":{"docs":{},"类":{"docs":{},"中":{"docs":{},"任":{"docs":{},"何":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"定":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"存":{"docs":{},"储":{"docs":{},"器":{"docs":{},"中":{"docs":{},"所":{"docs":{},"能":{"docs":{},"够":{"docs":{},"使":{"docs":{},"用":{"docs":{},"与":{"docs":{},"控":{"docs":{},"制":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"随":{"docs":{},"机":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"配":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"超":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"与":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"之":{"docs":{},"和":{"docs":{},"时":{"docs":{},",":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"后":{"docs":{},"面":{"docs":{},"加":{"docs":{},"上":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"主":{"docs":{},"动":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"没":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"失":{"docs":{},"败":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"未":{"docs":{},"命":{"docs":{},"中":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"满":{"docs":{},"足":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"出":{"docs":{},"现":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"能":{"docs":{},"够":{"docs":{},"减":{"docs":{},"小":{"docs":{},"向":{"docs":{},"网":{"docs":{},"络":{"docs":{},"注":{"docs":{},"入":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"速":{"docs":{},"率":{"docs":{},"和":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"缓":{"docs":{},"解":{"docs":{},"拥":{"docs":{},"塞":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"将":{"docs":{},"该":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"机":{"docs":{},"构":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"加":{"docs":{},"密":{"docs":{},"密":{"docs":{},"文":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"获":{"docs":{},"得":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{},"(":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"得":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{},",":{"docs":{},"比":{"docs":{},"对":{"docs":{},"两":{"docs":{},"个":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"两":{"docs":{},"者":{"docs":{},"相":{"docs":{},"等":{"docs":{},"则":{"docs":{},"说":{"docs":{},"明":{"docs":{},"证":{"docs":{},"书":{"docs":{},"没":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"达":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"h":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"已":{"docs":{},"经":{"docs":{},"是":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"在":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"向":{"docs":{},"d":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"d":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"访":{"docs":{},"问":{"docs":{},"至":{"docs":{},"i":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"i":{"docs":{},",":{"docs":{},"则":{"docs":{},"输":{"docs":{},"出":{"docs":{},"i":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"验":{"docs":{},"证":{"docs":{},"交":{"docs":{},"易":{"docs":{},"成":{"docs":{},"功":{"docs":{},"以":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"去":{"docs":{},"取":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"它":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"活":{"docs":{},"动":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"编":{"docs":{},"译":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"将":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"法":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"时":{"docs":{},"最":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"的":{"docs":{},"点":{"docs":{},"就":{"docs":{},"是":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"几":{"docs":{},"十":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"传":{"docs":{},"字":{"docs":{},"典":{"docs":{},"或":{"docs":{},"传":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"和":{"docs":{},"手":{"docs":{},"势":{"docs":{},"同":{"docs":{},"时":{"docs":{},"出":{"docs":{},"现":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"既":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"又":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"时":{"docs":{},"会":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"高":{"docs":{},"于":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"指":{"docs":{},"触":{"docs":{},"碰":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"感":{"docs":{},"应":{"docs":{},"到":{"docs":{},"触":{"docs":{},"碰":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"由":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}},"触":{"docs":{},"发":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"文":{"docs":{},"参":{"docs":{},"考":{"2":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"知":{"docs":{},"这":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"会":{"docs":{},"清":{"docs":{},"理":{"docs":{},"掉":{"docs":{},"一":{"docs":{},"次":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"完":{"docs":{},"全":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}},"照":{"docs":{},"编":{"docs":{},"译":{"docs":{},"先":{"docs":{},"后":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"先":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"对":{"docs":{},"a":{"docs":{},"的":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"进":{"docs":{},"行":{"docs":{},"划":{"docs":{},"分":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"得":{"docs":{},"出":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"形":{"docs":{},"态":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"5":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"输":{"docs":{},"出":{"docs":{},"c":{"docs":{},"、":{"docs":{},"f":{"docs":{},"、":{"docs":{},"g":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"j":{"docs":{},"、":{"docs":{},"e":{"docs":{},"、":{"docs":{},"a":{"docs":{},"、":{"docs":{},"f":{"docs":{},"、":{"docs":{},"c":{"docs":{},"、":{"docs":{},"g":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"b":{"docs":{},"、":{"docs":{},"f":{"docs":{},"、":{"docs":{},"g":{"docs":{},"、":{"docs":{},"c":{"docs":{},",":{"docs":{},"a":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}}}}}}},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"沿":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"树":{"docs":{},"从":{"docs":{},"底":{"docs":{},"向":{"docs":{},"上":{"docs":{},"(":{"docs":{},"从":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{},"从":{"docs":{},"后":{"docs":{},"向":{"docs":{},"前":{"docs":{},"(":{"docs":{},"从":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"上":{"docs":{},"更":{"docs":{},"靠":{"docs":{},"近":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"适":{"docs":{},"合":{"docs":{},"响":{"docs":{},"应":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"代":{"docs":{},"表":{"docs":{},"向":{"docs":{},"系":{"docs":{},"统":{"docs":{},"表":{"docs":{},"示":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"。":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},"在":{"docs":{},"被":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"未":{"docs":{},"找":{"docs":{},"着":{"docs":{},",":{"docs":{},"则":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"中":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"实":{"docs":{},"现":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}},",":{"docs":{},"取":{"docs":{},"出":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"移":{"docs":{},"除":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"将":{"docs":{},"自":{"docs":{},"身":{"docs":{},"注":{"docs":{},"册":{"docs":{},"给":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"会":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"执":{"docs":{},"行":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"返":{"docs":{},"回":{"docs":{},"前":{"docs":{},"不":{"docs":{},"会":{"docs":{},"真":{"docs":{},"正":{"docs":{},"更":{"docs":{},"新":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"视":{"docs":{},"图":{"docs":{},"会":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"将":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"并":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"或":{"docs":{},"者":{"docs":{},"显":{"docs":{},"示":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"机":{"docs":{},"制":{"docs":{},"类":{"docs":{},"似":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"马":{"docs":{},"发":{"docs":{},"送":{"docs":{},"对":{"docs":{},"应":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"会":{"docs":{},"查":{"docs":{},"询":{"docs":{},"到":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"取":{"docs":{},"消":{"docs":{},"掉":{"docs":{},"这":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"注":{"docs":{},"释":{"docs":{},"为":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"栈":{"docs":{},"。":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"视":{"docs":{},"图":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},"当":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"一":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"何":{"docs":{},"东":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"在":{"6":{"4":{"docs":{},"位":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"默":{"docs":{},"认":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{},"与":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"会":{"docs":{},"随":{"docs":{},"着":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"而":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"掉":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"结":{"docs":{},"果":{"docs":{},"从":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"无":{"docs":{},"需":{"docs":{},"导":{"docs":{},"入":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"在":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"使":{"docs":{},"原":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"一":{"docs":{},"直":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}},"就":{"docs":{},"算":{"docs":{},"它":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"体":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"际":{"docs":{},"没":{"docs":{},"有":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"也":{"docs":{},"会":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"同":{"docs":{},"理":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"查":{"docs":{},"询":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"多":{"docs":{},"次":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}},"是":{"docs":{},"最":{"docs":{},"理":{"docs":{},"想":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"基":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"不":{"docs":{},"走":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"类":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"父":{"docs":{},"类":{"docs":{},")":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"含":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"通":{"docs":{},"过":{"docs":{},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"计":{"docs":{},"算":{"docs":{},"下":{"docs":{},"标":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}},"知":{"docs":{},"购":{"docs":{},"买":{"docs":{},"进":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"后":{"docs":{},"的":{"docs":{},"类":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}},"来":{"docs":{},"将":{"docs":{},"类":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"分":{"docs":{},"类":{"docs":{},")":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"自":{"docs":{},"增":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"相":{"docs":{},"对":{"docs":{},"用":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"与":{"docs":{},"之":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"存":{"docs":{},"入":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"。":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"会":{"docs":{},"被":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"将":{"docs":{},"对":{"docs":{},"象":{"docs":{},"添":{"docs":{},"加":{"docs":{},"至":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"前":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"在":{"docs":{},"此":{"docs":{},"处":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"断":{"docs":{},"点":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"么":{"docs":{},"?":{"docs":{},"比":{"docs":{},"如":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"名":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"称":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"好":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"答":{"docs":{},"案":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}},"一":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"两":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"二":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"刷":{"docs":{},"新":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"后":{"docs":{},"台":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"购":{"docs":{},"买":{"docs":{},"产":{"docs":{},"品":{"docs":{},",":{"docs":{},"购":{"docs":{},"买":{"docs":{},"成":{"docs":{},"功":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"列":{"docs":{},"表":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"找":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{},"m":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"、":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},";":{"docs":{},"反":{"docs":{},"之":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"+":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},";":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"签":{"docs":{},"名":{"docs":{},"测":{"docs":{},"试":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"引":{"docs":{},"起":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"影":{"docs":{},"响":{"docs":{},"都":{"docs":{},"微":{"docs":{},"乎":{"docs":{},"其":{"docs":{},"微":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"主":{"docs":{},"要":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"附":{"docs":{},"带":{"docs":{},"参":{"docs":{},"数":{"docs":{},"数":{"docs":{},"量":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"更":{"docs":{},"适":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"非":{"docs":{},"常":{"docs":{},"期":{"docs":{},"望":{"docs":{},"保":{"docs":{},"留":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"当":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"结":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.007429420505200594},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"一":{"docs":{},"个":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"系":{"docs":{},"统":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"分":{"docs":{},"发":{"docs":{},"系":{"docs":{},"统":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"其":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}},"模":{"docs":{},"板":{"docs":{},"类":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},")":{"docs":{},".":{"docs":{},"至":{"docs":{},"于":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{},"而":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"高":{"docs":{},"级":{"docs":{},"的":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"指":{"docs":{},"定":{"docs":{},"更":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"检":{"docs":{},"查":{"docs":{},"和":{"docs":{},"一":{"docs":{},"些":{"docs":{},"高":{"docs":{},"级":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"新":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{},"它":{"docs":{},"即":{"docs":{},"将":{"docs":{},"成":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"门":{"docs":{},"动":{"docs":{},"态":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"不":{"docs":{},"能":{"docs":{},"知":{"docs":{},"道":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"面":{"docs":{},"对":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{},"(":{"docs":{},"不":{"docs":{},"重":{"docs":{},"写":{"docs":{},"特":{"docs":{},"定":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"等":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},"关":{"docs":{},"于":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"单":{"docs":{},"层":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},")":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"和":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"是":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"会":{"docs":{},"让":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"否":{"docs":{},"知":{"docs":{},"道":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"?":{"docs":{},"如":{"docs":{},"何":{"docs":{},"进":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"放":{"docs":{},"至":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"让":{"docs":{},"系":{"docs":{},"统":{"docs":{},"认":{"docs":{},"为":{"docs":{},"存":{"docs":{},"在":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},":":{"docs":{},"a":{"docs":{},".":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"靠":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"有":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"被":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"需":{"docs":{},"要":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{},"还":{"docs":{},"是":{"docs":{},"从":{"docs":{},"那":{"docs":{},"张":{"docs":{},"图":{"docs":{},"上":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"讲":{"docs":{},"到":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"你":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"代":{"docs":{},"码":{"docs":{},"后":{"docs":{},"控":{"docs":{},"制":{"docs":{},"流":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},":":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"二":{"docs":{},"维":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"对":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"类":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"漏":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"从":{"docs":{},"注":{"docs":{},"释":{"docs":{},"中":{"docs":{},"写":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"而":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"研":{"docs":{},"究":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"指":{"docs":{},"由":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"内":{"docs":{},"购":{"docs":{},"购":{"docs":{},"买":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"性":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"类":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"只":{"docs":{},"会":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"一":{"docs":{},"次":{"docs":{},"(":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"多":{"docs":{},"次":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"放":{"docs":{},"我":{"docs":{},"们":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"管":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"释":{"docs":{},"放":{"docs":{},"【":{"docs":{},"m":{"docs":{},"r":{"docs":{},"c":{"docs":{},"下":{"docs":{},"】":{"docs":{},",":{"docs":{},"c":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"去":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"将":{"docs":{},"函":{"docs":{},"数":{"docs":{},"及":{"docs":{},"其":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"自":{"docs":{},"己":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"自":{"docs":{},"动":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"之":{"docs":{},"外":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{},"无":{"docs":{},"事":{"docs":{},"可":{"docs":{},"做":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"技":{"docs":{},"术":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"。":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"些":{"docs":{},"的":{"docs":{},"那":{"docs":{},"些":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"图":{"docs":{},"示":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"公":{"docs":{},"司":{"docs":{},"为":{"docs":{},"多":{"docs":{},"核":{"docs":{},"的":{"docs":{},"并":{"docs":{},"行":{"docs":{},"运":{"docs":{},"算":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"连":{"docs":{},"接":{"docs":{},"起":{"docs":{},"来":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}},"“":{"docs":{},"引":{"docs":{},"用":{"docs":{},"”":{"docs":{},"方":{"docs":{},"式":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"不":{"docs":{},"对":{"docs":{},"实":{"docs":{},"参":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"拷":{"docs":{},"贝":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"最":{"docs":{},"差":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"因":{"docs":{},"为":{"docs":{},"其":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"极":{"docs":{},"为":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"常":{"docs":{},"规":{"docs":{},"的":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"以":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"寻":{"docs":{},"址":{"docs":{},",":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"获":{"docs":{},"取":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"少":{"docs":{},"数":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"整":{"docs":{},"个":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"都":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"组":{"docs":{},"装":{"docs":{},"、":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"和":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"从":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"两":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"辅":{"docs":{},"助":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"必":{"docs":{},"须":{"docs":{},"执":{"docs":{},"行":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"就":{"docs":{},"不":{"docs":{},"知":{"docs":{},"道":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"了":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"~":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"改":{"docs":{},"所":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"被":{"docs":{},"压":{"docs":{},"入":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"紧":{"docs":{},"跟":{"docs":{},"在":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},"最":{"docs":{},"先":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"前":{"docs":{},"端":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"猜":{"docs":{},"出":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"和":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"最":{"docs":{},"多":{"docs":{},"各":{"docs":{},"移":{"docs":{},"动":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"对":{"docs":{},"于":{"docs":{},"任":{"docs":{},"意":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"相":{"docs":{},"互":{"docs":{},"扶":{"docs":{},"持":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"如":{"docs":{},"何":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"遵":{"docs":{},"循":{"docs":{},"这":{"docs":{},"些":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"设":{"docs":{},"计":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"这":{"docs":{},"样":{"docs":{},"子":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"变":{"docs":{},"量":{"docs":{},"寻":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"个":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"由":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"最":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"这":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"今":{"docs":{},"天":{"docs":{},"就":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{},"『":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"了":{"docs":{},"效":{"docs":{},"率":{"docs":{},"而":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"健":{"docs":{},"全":{"docs":{},"性":{"docs":{},"检":{"docs":{},"验":{"docs":{},"上":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"限":{"docs":{},"制":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"也":{"docs":{},"有":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"改":{"docs":{},"进":{"docs":{},"它":{"docs":{},"以":{"docs":{},"适":{"docs":{},"应":{"docs":{},"今":{"docs":{},"天":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"独":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}},"确":{"docs":{},"定":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"对":{"docs":{},"象":{"docs":{},"上":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"检":{"docs":{},"测":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"到":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"定":{"docs":{},"位":{"docs":{},"或":{"docs":{},"更":{"docs":{},"改":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{},"重":{"docs":{},"载":{"docs":{},"它":{"docs":{},"。":{"docs":{},"然":{"docs":{},"而":{"docs":{},"你":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"显":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"有":{"docs":{},"许":{"docs":{},"多":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"向":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"能":{"docs":{},"及":{"docs":{},"时":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"影":{"docs":{},"响":{"docs":{},"后":{"docs":{},"续":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"过":{"docs":{},"多":{"docs":{},"组":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"或":{"docs":{},"者":{"docs":{},"组":{"docs":{},"件":{"docs":{},"元":{"docs":{},"素":{"docs":{},"过":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"时":{"docs":{},",":{"docs":{},"必":{"docs":{},"然":{"docs":{},"会":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"看":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"顺":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},".":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"当":{"docs":{},"端":{"docs":{},"口":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"配":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"检":{"docs":{},"测":{"docs":{},"对":{"docs":{},"象":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"、":{"docs":{},"快":{"docs":{},"速":{"docs":{},"做":{"docs":{},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"这":{"docs":{},"能":{"docs":{},"够":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"强":{"docs":{},"交":{"docs":{},"互":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"应":{"docs":{},"用":{"docs":{},"以":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"时":{"docs":{},"提":{"docs":{},"供":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"官":{"docs":{},"方":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"通":{"docs":{},"知":{"docs":{},"自":{"docs":{},"己":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"栏":{"docs":{},"输":{"docs":{},"入":{"docs":{},"一":{"docs":{},"连":{"docs":{},"串":{"docs":{},"字":{"docs":{},"符":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"自":{"docs":{},"动":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"次":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"正":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"有":{"docs":{},"了":{"docs":{},"个":{"docs":{},"延":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"在":{"docs":{},"自":{"docs":{},"动":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"发":{"docs":{},"生":{"docs":{},"前":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"打":{"docs":{},"出":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"释":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"创":{"docs":{},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"即":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"对":{"docs":{},"应":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"其":{"docs":{},"计":{"docs":{},"算":{"docs":{},"公":{"docs":{},"式":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"并":{"docs":{},"发":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},"这":{"docs":{},"样":{"docs":{},"只":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"并":{"docs":{},"发":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"。":{"docs":{},"而":{"docs":{},"使":{"docs":{},"用":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"就":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"明":{"docs":{},"确":{"docs":{},"的":{"docs":{},"知":{"docs":{},"道":{"docs":{},"自":{"docs":{},"己":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"一":{"docs":{},"切":{"docs":{},"皆":{"docs":{},"在":{"docs":{},"掌":{"docs":{},"控":{"docs":{},"之":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"编":{"docs":{},"译":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"了":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"决":{"docs":{},"定":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"加":{"docs":{},"载":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"管":{"docs":{},"理":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"被":{"docs":{},"编":{"docs":{},"译":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"你":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"源":{"docs":{},":":{"docs":{},"掘":{"docs":{},"金":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"组":{"docs":{},"装":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},"处":{"docs":{},"理":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"采":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"没":{"docs":{},"有":{"docs":{},"理":{"docs":{},"由":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"好":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"给":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"对":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"类":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"画":{"docs":{},"出":{"docs":{},"最":{"docs":{},"终":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"另":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"来":{"docs":{},"储":{"docs":{},"存":{"docs":{},"中":{"docs":{},"间":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"原":{"docs":{},"理":{"docs":{},"并":{"docs":{},"不":{"docs":{},"神":{"docs":{},"秘":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"自":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"规":{"docs":{},"避":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"分":{"docs":{},"配":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"将":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"相":{"docs":{},"比":{"docs":{},"项":{"docs":{},"目":{"docs":{},"协":{"docs":{},"作":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"里":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"创":{"docs":{},"建":{"docs":{},"完":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"模":{"docs":{},"块":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},"和":{"docs":{},"不":{"docs":{},"同":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},"也":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"的":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"这":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"之":{"docs":{},"外":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"效":{"docs":{},"率":{"docs":{},"更":{"docs":{},"高":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{},"而":{"docs":{},"步":{"docs":{},"入":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"说":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"构":{"docs":{},"成":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"事":{"docs":{},"件":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"递":{"docs":{},"链":{"docs":{},",":{"docs":{},"传":{"docs":{},"递":{"docs":{},"下":{"docs":{},"去":{"docs":{},"。":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"上":{"docs":{},"层":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"一":{"docs":{},"层":{"docs":{},"一":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"面":{"docs":{},"参":{"docs":{},"数":{"docs":{},"尾":{"docs":{},"部":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"建":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"这":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"里":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"点":{"docs":{},";":{"docs":{},"最":{"docs":{},"后":{"docs":{},"大":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"讲":{"docs":{},"解":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"到":{"docs":{},"手":{"docs":{},"指":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"效":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"程":{"docs":{},"序":{"docs":{},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"进":{"docs":{},"程":{"docs":{},"是":{"docs":{},"否":{"docs":{},"受":{"docs":{},"限":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"查":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"每":{"docs":{},"线":{"docs":{},"程":{"docs":{},"单":{"docs":{},"项":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"缓":{"docs":{},"存":{"docs":{},"原":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"索":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"谁":{"docs":{},"处":{"docs":{},"理":{"docs":{},"此":{"docs":{},"次":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"正":{"docs":{},"在":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"上":{"docs":{},"翻":{"docs":{},"页":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"正":{"docs":{},"在":{"docs":{},"刷":{"docs":{},"微":{"docs":{},"博":{"docs":{},"。":{"docs":{},"若":{"docs":{},"是":{"docs":{},"前":{"docs":{},"者":{"docs":{},"(":{"docs":{},"即":{"docs":{},"前":{"docs":{},"台":{"docs":{},"无":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"触":{"docs":{},"发":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"本":{"docs":{},"身":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"由":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"系":{"docs":{},"统":{"docs":{},"去":{"docs":{},"消":{"docs":{},"耗":{"docs":{},";":{"docs":{},"若":{"docs":{},"是":{"docs":{},"后":{"docs":{},"者":{"docs":{},"(":{"docs":{},"即":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"正":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"前":{"docs":{},"台":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"便":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"对":{"docs":{},"于":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"1":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"docs":{}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"就":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"—":{"docs":{},"—":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"就":{"docs":{},"能":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},"—":{"docs":{},"—":{"docs":{},"等":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"前":{"docs":{},"追":{"docs":{},"加":{"docs":{},"到":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"后":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"追":{"docs":{},"加":{"docs":{},"到":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"。":{"docs":{},"简":{"docs":{},"而":{"docs":{},"言":{"docs":{},"之":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"后":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"图":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"进":{"docs":{},"入":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"给":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"由":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"一":{"docs":{},"块":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"看":{"docs":{},"到":{"docs":{},"写":{"docs":{},"入":{"docs":{},"路":{"docs":{},"径":{"docs":{},"正":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"熟":{"docs":{},"知":{"docs":{},"的":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"导":{"docs":{},"出":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}},"的":{"docs":{},"p":{"docs":{},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"对":{"docs":{},"应":{"docs":{},"到":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"断":{"docs":{},"点":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"底":{"docs":{},"层":{"docs":{},"库":{"docs":{},"调":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"被":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},",":{"docs":{},"树":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"调":{"docs":{},"以":{"docs":{},"下":{"docs":{},"两":{"docs":{},"点":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"视":{"docs":{},"图":{"docs":{},"时":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"视":{"docs":{},"图":{"docs":{},"具":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"特":{"docs":{},"征":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"在":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"如":{"2":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"6":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"3":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"能":{"docs":{},"表":{"docs":{},"示":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"值":{"docs":{},"是":{"7":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"7":{"docs":{},"系":{"docs":{},"统":{"docs":{},"用":{"docs":{},"来":{"docs":{},"预":{"docs":{},"留":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"记":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"能":{"docs":{},"支":{"docs":{},"持":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"类":{"docs":{},"支":{"docs":{},"持":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"屏":{"docs":{},"幕":{"docs":{},"点":{"docs":{},"击":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}},"docs":{}}}},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},";":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{},"且":{"docs":{},"一":{"docs":{},"方":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"对":{"docs":{},"方":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"我":{"docs":{},"们":{"docs":{},"加":{"docs":{},"上":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"宏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"中":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},",":{"docs":{},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"或":{"docs":{},"者":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"版":{"docs":{},"本":{"docs":{},"弃":{"docs":{},"用":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"常":{"docs":{},"见":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"更":{"docs":{},"简":{"docs":{},"单":{"docs":{},"实":{"docs":{},"用":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"对":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"支":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"较":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"比":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},"目":{"docs":{},"前":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"注":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"意":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"是":{"docs":{},"倆":{"docs":{},"概":{"docs":{},"念":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},"点":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"事":{"docs":{},"项":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"这":{"docs":{},"里":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"判":{"docs":{},"断":{"docs":{},":":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"内":{"docs":{},"核":{"docs":{},"态":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}},"这":{"docs":{},"种":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"起":{"docs":{},"到":{"docs":{},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"为":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"每":{"docs":{},"次":{"docs":{},"重":{"docs":{},"传":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"是":{"docs":{},"指":{"docs":{},"数":{"docs":{},"增":{"docs":{},"长":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"时":{"docs":{},"间":{"docs":{},"为":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"不":{"docs":{},"是":{"docs":{},"报":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"册":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"之":{"docs":{},"前":{"docs":{},":":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"后":{"docs":{},":":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"完":{"docs":{},"毕":{"docs":{},"继":{"docs":{},"续":{"docs":{},"回":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"不":{"docs":{},"要":{"docs":{},"将":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"操":{"docs":{},"作":{"docs":{},"代":{"docs":{},"码":{"docs":{},"放":{"docs":{},"到":{"docs":{},"锁":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"就":{"docs":{},"一":{"docs":{},"直":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"发":{"docs":{},"挥":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"知":{"docs":{},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},",":{"docs":{},"但":{"docs":{},"反":{"docs":{},"过":{"docs":{},"来":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"成":{"docs":{},"立":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"研":{"docs":{},"究":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"探":{"docs":{},"索":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},"学":{"docs":{},"习":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"(":{"docs":{},"一":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"了":{"docs":{},"解":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":3.3356535189481824}}}}},"拷":{"docs":{},"贝":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.02040816326530612}}}},"夜":{"docs":{},"暗":{"docs":{},"坑":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":5}}}}}},"点":{"docs":{},"击":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"到":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.04},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.019316493313521546},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.011917659804983749},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.012896825396825396}},"事":{"docs":{},"件":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"机":{"docs":{},"制":{"docs":{},"?":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"情":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"强":{"docs":{},"收":{"docs":{},"过":{"docs":{},"路":{"docs":{},"费":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"类":{"docs":{},",":{"docs":{},"当":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"非":{"docs":{},"常":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"一":{"docs":{},"次":{"docs":{},"所":{"docs":{},"需":{"docs":{},"时":{"docs":{},"间":{"docs":{},"较":{"docs":{},"长":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"这":{"docs":{},"个":{"docs":{},"开":{"docs":{},"关":{"docs":{},",":{"docs":{},"把":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"释":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"析":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"优":{"docs":{},"化":{"docs":{},"后":{"docs":{},":":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"将":{"docs":{},"不":{"docs":{},"再":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"思":{"docs":{},"路":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"点":{"docs":{},"是":{"docs":{},"输":{"docs":{},"出":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"载":{"docs":{},"入":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"容":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"成":{"docs":{},"圆":{"docs":{},"角":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"能":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"区":{"docs":{},"域":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"就":{"docs":{},"是":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}},"别":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"与":{"docs":{},"选":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"卡":{"docs":{},"顿":{"docs":{},"和":{"docs":{},"掉":{"docs":{},"帧":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"测":{"docs":{},"试":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"仅":{"docs":{},"凭":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"来":{"docs":{},"做":{"docs":{},"决":{"docs":{},"定":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"管":{"docs":{},"理":{"docs":{},"及":{"docs":{},"回":{"docs":{},"退":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"体":{"docs":{},"现":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"还":{"docs":{},"是":{"docs":{},"将":{"docs":{},"各":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"迁":{"docs":{},"回":{"docs":{},"了":{"docs":{},"主":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"很":{"docs":{},"开":{"docs":{},"销":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"会":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"继":{"docs":{},"而":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"和":{"docs":{},"退":{"docs":{},"出":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{},"并":{"docs":{},"提":{"docs":{},"交":{"docs":{},"进":{"docs":{},"行":{"docs":{},"实":{"docs":{},"际":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"等":{"docs":{},")":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"在":{"docs":{},"一":{"docs":{},"张":{"docs":{},"画":{"docs":{},"布":{"docs":{},"上":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"倒":{"docs":{},"出":{"docs":{},"图":{"docs":{},"片":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"层":{"docs":{},"树":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"都":{"docs":{},"是":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"部":{"docs":{},"分":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"尾":{"docs":{},"部":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"正":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"弃":{"docs":{},"用":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"在":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}}}}}},"档":{"docs":{},"略":{"docs":{},"有":{"docs":{},"提":{"docs":{},"到":{"docs":{},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"整":{"docs":{},")":{"docs":{},"。":{"docs":{},"当":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"所":{"docs":{},"以":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{},"套":{"docs":{},"路":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"中":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"也":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"为":{"docs":{},"止":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"后":{"docs":{},"以":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"整":{"docs":{},"个":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"还":{"docs":{},"是":{"docs":{},"和":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"发":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"通":{"docs":{},"知":{"docs":{},"外":{"docs":{},"部":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"但":{"docs":{},"后":{"docs":{},"续":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"体":{"docs":{},"验":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"有":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"下":{"docs":{},"沉":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},",":{"docs":{},"把":{"docs":{},"要":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"复":{"docs":{},"制":{"docs":{},"一":{"docs":{},"份":{"docs":{},"放":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{},"修":{"docs":{},"改":{"docs":{},"类":{"docs":{},"名":{"docs":{},"前":{"docs":{},"缀":{"docs":{},"加":{"docs":{},"以":{"docs":{},"区":{"docs":{},"分":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"打":{"docs":{},"包":{"docs":{},"时":{"docs":{},"的":{"docs":{},"链":{"docs":{},"接":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"叫":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"比":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"该":{"docs":{},"记":{"docs":{},"录":{"docs":{},"从":{"docs":{},"表":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"把":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"传":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"整":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"提":{"docs":{},"到":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"代":{"docs":{},"码":{"docs":{},"无":{"docs":{},"法":{"docs":{},"运":{"docs":{},"行":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"工":{"docs":{},"具":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"解":{"docs":{},"密":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"放":{"docs":{},"了":{"docs":{},"一":{"docs":{},"张":{"docs":{},"很":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"图":{"docs":{},"上":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"键":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"机":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{},"至":{"docs":{},"于":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"就":{"docs":{},"能":{"docs":{},"够":{"docs":{},"保":{"docs":{},"证":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"为":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"末":{"docs":{},"尾":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},".":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"资":{"docs":{},"源":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"要":{"docs":{},"小":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"速":{"docs":{},"度":{"docs":{},"展":{"docs":{},"示":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"每":{"docs":{},"个":{"docs":{},"更":{"docs":{},"新":{"docs":{},"周":{"docs":{},"期":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"修":{"docs":{},"改":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"总":{"docs":{},"有":{"docs":{},"些":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"必":{"docs":{},"需":{"docs":{},"放":{"docs":{},"入":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"当":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"系":{"docs":{},"如":{"docs":{},"图":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"动":{"docs":{},"画":{"docs":{},"与":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},",":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"会":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"整":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"好":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"你":{"docs":{},"能":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"所":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},",":{"docs":{},"将":{"docs":{},"异":{"docs":{},"步":{"docs":{},"加":{"docs":{},"载":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"放":{"docs":{},"到":{"docs":{},"并":{"docs":{},"行":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"优":{"docs":{},"化":{"docs":{},"不":{"docs":{},"失":{"docs":{},"为":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"共":{"docs":{},"享":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"去":{"docs":{},"一":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"开":{"docs":{},"销":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"机":{"docs":{},"制":{"docs":{},":":{"docs":{},"所":{"docs":{},"有":{"docs":{},"针":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"要":{"docs":{},"远":{"docs":{},"大":{"docs":{},"于":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"对":{"docs":{},"此":{"docs":{},"你":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"减":{"docs":{},"少":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},"、":{"docs":{},"为":{"docs":{},"视":{"docs":{},"图":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},";":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"级":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"自":{"docs":{},"动":{"docs":{},"排":{"docs":{},"版":{"docs":{},",":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"进":{"docs":{},"行":{"docs":{},"具":{"docs":{},"体":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"都":{"docs":{},"罗":{"docs":{},"列":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"还":{"docs":{},"有":{"docs":{},"其":{"docs":{},"他":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"…":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"地":{"docs":{},"址":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"方":{"docs":{},"如":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"入":{"docs":{},",":{"docs":{},"能":{"docs":{},"让":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"快":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"下":{"docs":{},"标":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"值":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"是":{"docs":{},"等":{"docs":{},"于":{"docs":{},"零":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"总":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"及":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"加":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"别":{"docs":{},"名":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"二":{"docs":{},"维":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"用":{"docs":{},"下":{"docs":{},"标":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}},"过":{"docs":{},"程":{"docs":{},"详":{"docs":{},"解":{"docs":{},",":{"docs":{},"鉴":{"docs":{},"于":{"docs":{},"支":{"docs":{},"付":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"性":{"docs":{},",":{"docs":{},"文":{"docs":{},"章":{"docs":{},"会":{"docs":{},"很":{"docs":{},"长":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"支":{"docs":{},"付":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"也":{"docs":{},"关":{"docs":{},"系":{"docs":{},"重":{"docs":{},"大":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{},"主":{"docs":{},"题":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"三":{"docs":{},"篇":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"不":{"docs":{},"难":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"其":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"黑":{"docs":{},"魔":{"docs":{},"法":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"量":{"docs":{},"也":{"docs":{},"不":{"docs":{},"多":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"成":{"docs":{},"本":{"docs":{},"很":{"docs":{},"低":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"更":{"docs":{},"多":{"docs":{},"精":{"docs":{},"力":{"docs":{},"花":{"docs":{},"在":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"与":{"docs":{},"之":{"docs":{},"配":{"docs":{},"合":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"结":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"团":{"docs":{},"队":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"取":{"docs":{},"舍":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"者":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"际":{"docs":{},"模":{"docs":{},"块":{"docs":{},"数":{"docs":{},"量":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"践":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"成":{"docs":{},"员":{"docs":{},"和":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"对":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"从":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"调":{"docs":{},"用":{"docs":{},"上":{"docs":{},"看":{"docs":{},",":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"?":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"体":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"只":{"docs":{},"含":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}},"点":{"docs":{},"为":{"docs":{},"其":{"docs":{},"双":{"docs":{},"亲":{"docs":{},"结":{"docs":{},"点":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}},"类":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"给":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"次":{"docs":{},"全":{"docs":{},"面":{"docs":{},"重":{"docs":{},"写":{"docs":{},"。":{"docs":{},"它":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"了":{"docs":{},"解":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":3.3356535189481824}}}}},"最":{"docs":{},"核":{"docs":{},"心":{"docs":{},"两":{"docs":{},"条":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"的":{"docs":{},"人":{"docs":{},"很":{"docs":{},"头":{"docs":{},"疼":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"核":{"docs":{},"心":{"docs":{},"规":{"docs":{},"则":{"docs":{},"还":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},"各":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"和":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"写":{"docs":{},"起":{"docs":{},"来":{"docs":{},"还":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"压":{"docs":{},"力":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"截":{"docs":{},"图":{"docs":{},",":{"docs":{},"参":{"docs":{},"考":{"docs":{},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}},"析":{"docs":{},"构":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"析":{"docs":{},"构":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"析":{"docs":{},"构":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"快":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}},"类":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}},"型":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},"名":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"/":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"已":{"docs":{},"经":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"进":{"docs":{},"行":{"docs":{},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"和":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"将":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"时":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"地":{"docs":{},"向":{"docs":{},"类":{"docs":{},"或":{"docs":{},"者":{"docs":{},"实":{"docs":{},"例":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"方":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"法":{"docs":{},"等":{"docs":{},"同":{"docs":{},"与":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"避":{"docs":{},"免":{"docs":{},"d":{"docs":{},"o":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"签":{"docs":{},"名":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"长":{"docs":{},"度":{"docs":{},"等":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"从":{"docs":{},"而":{"docs":{},"信":{"docs":{},"任":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"想":{"docs":{},"调":{"docs":{},"用":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{},"?":{"docs":{},"没":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"确":{"docs":{},"保":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"那":{"docs":{},"一":{"docs":{},"组":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"#":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},")":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"长":{"docs":{},"度":{"docs":{},"一":{"docs":{},"致":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"是":{"docs":{},"希":{"docs":{},"望":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"使":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"事":{"docs":{},"情":{"docs":{},"可":{"docs":{},"做":{"docs":{},"时":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"整":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"整":{"docs":{},"权":{"docs":{},"重":{"docs":{},")":{"docs":{},"。":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"并":{"docs":{},"发":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"中":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}},"作":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"皆":{"docs":{},"已":{"docs":{},"被":{"docs":{},"弃":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"头":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"找":{"docs":{},"链":{"docs":{},"表":{"docs":{},"中":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"后":{"docs":{},"续":{"docs":{},"做":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"中":{"docs":{},",":{"docs":{},"见":{"docs":{},"到":{"docs":{},"过":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"景":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"正":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"极":{"docs":{},"力":{"docs":{},"避":{"docs":{},"免":{"docs":{},"的":{"docs":{},"。":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"的":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"y":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"将":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"装":{"docs":{},"入":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"压":{"docs":{},"力":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"缩":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"嵌":{"docs":{},"套":{"docs":{},"用":{"docs":{},"法":{"docs":{},"猜":{"docs":{},"测":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"性":{"docs":{},"能":{"docs":{},"比":{"docs":{},"较":{"docs":{},"差":{"docs":{},",":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"要":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"冲":{"docs":{},"击":{"docs":{},"可":{"docs":{},"想":{"docs":{},"而":{"docs":{},"知":{"docs":{},"(":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"标":{"docs":{},"志":{"docs":{},"应":{"docs":{},"该":{"docs":{},"只":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"此":{"docs":{},"次":{"docs":{},"切":{"docs":{},"换":{"docs":{},"就":{"docs":{},"会":{"docs":{},"作":{"docs":{},"罢":{"docs":{},",":{"docs":{},"设":{"docs":{},"备":{"docs":{},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"此":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"引":{"docs":{},"起":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"上":{"docs":{},"信":{"docs":{},"息":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"了":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"机":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"衍":{"docs":{},"生":{"docs":{},"类":{"docs":{},"就":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"充":{"docs":{},"分":{"docs":{},"利":{"docs":{},"用":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"图":{"docs":{},"像":{"docs":{},"处":{"docs":{},"理":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"有":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"重":{"docs":{},"复":{"docs":{},"毫":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"也":{"docs":{},"不":{"docs":{},"再":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"作":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"倾":{"docs":{},"向":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"帮":{"docs":{},"助":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"直":{"docs":{},"接":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"优":{"docs":{},"化":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},",":{"docs":{},"并":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"现":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"则":{"docs":{},"报":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"价":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"前":{"docs":{},"缀":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"端":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"两":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}},"五":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"是":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"和":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"予":{"docs":{},"的":{"docs":{},"值":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"则":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"(":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"有":{"docs":{},"些":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"会":{"docs":{},"对":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"现":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},",":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"就":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"但":{"docs":{},"现":{"docs":{},"在":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"动":{"docs":{},"态":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"将":{"docs":{},"静":{"docs":{},"态":{"docs":{},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"链":{"docs":{},"接":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"给":{"docs":{},"延":{"docs":{},"后":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"具":{"docs":{},"体":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"库":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"整":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{},"前":{"docs":{},"端":{"docs":{},"(":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"三":{"docs":{},"个":{"docs":{},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{},",":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"交":{"docs":{},"互":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"和":{"docs":{},"消":{"docs":{},"息":{"docs":{},"认":{"docs":{},"证":{"docs":{},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"t":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"针":{"docs":{},"对":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"劣":{"docs":{},"势":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"是":{"docs":{},"公":{"docs":{},"共":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"的":{"docs":{},"同":{"docs":{},"一":{"docs":{},"份":{"docs":{},"协":{"docs":{},"议":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"操":{"docs":{},"作":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"是":{"docs":{},"高":{"docs":{},"度":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"化":{"docs":{},"的":{"docs":{},"。":{"docs":{},"本":{"docs":{},"来":{"docs":{},"所":{"docs":{},"有":{"docs":{},"计":{"docs":{},"算":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"在":{"docs":{},"有":{"docs":{},"条":{"docs":{},"不":{"docs":{},"紊":{"docs":{},"地":{"docs":{},"正":{"docs":{},"在":{"docs":{},"向":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"内":{"docs":{},"存":{"docs":{},"清":{"docs":{},"理":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"对":{"docs":{},"象":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"函":{"docs":{},"数":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"区":{"docs":{},"别":{"docs":{},"就":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"就":{"docs":{},"导":{"docs":{},"致":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"都":{"docs":{},"要":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"思":{"docs":{},"想":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},",":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"传":{"docs":{},"回":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"存":{"docs":{},"在":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"且":{"docs":{},"多":{"docs":{},"端":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"消":{"docs":{},"息":{"docs":{},"模":{"docs":{},"块":{"docs":{},"下":{"docs":{},"发":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"消":{"docs":{},"息":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"完":{"docs":{},"全":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"。":{"docs":{},"后":{"docs":{},"端":{"docs":{},"配":{"docs":{},"好":{"docs":{},"展":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},"以":{"docs":{},"及":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"需":{"docs":{},"求":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"具":{"docs":{},"体":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"协":{"docs":{},"议":{"docs":{},"执":{"docs":{},"行":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"动":{"docs":{},"作":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"docs":{},"在":{"docs":{},"于":{"docs":{},"降":{"docs":{},"低":{"docs":{},"性":{"docs":{},"能":{"docs":{},"损":{"docs":{},"失":{"docs":{},",":{"docs":{},"但":{"docs":{},"总":{"docs":{},"是":{"docs":{},"至":{"docs":{},"少":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},"称":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"实":{"docs":{},"现":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"调":{"docs":{},"用":{"docs":{},"底":{"docs":{},"层":{"docs":{},"走":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"从":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"影":{"docs":{},"子":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"构":{"docs":{},"造":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"建":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"两":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"来":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"了":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"实":{"docs":{},"地":{"docs":{},"址":{"docs":{},"写":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"上":{"docs":{},"面":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"能":{"docs":{},"按":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"称":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"启":{"docs":{},"动":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"时":{"docs":{},"长":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"速":{"docs":{},"度":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"有":{"docs":{},"着":{"docs":{},"重":{"docs":{},"大":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"带":{"docs":{},"来":{"docs":{},"明":{"docs":{},"显":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"有":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"得":{"docs":{},"到":{"docs":{},"明":{"docs":{},"显":{"docs":{},"提":{"docs":{},"升":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},",":{"docs":{},"而":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"闭":{"docs":{},"包":{"docs":{},"被":{"docs":{},"构":{"docs":{},"建":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"…":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"面":{"docs":{},"量":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"拷":{"docs":{},"贝":{"docs":{},"资":{"docs":{},"源":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"表":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"表":{"docs":{},"项":{"docs":{},"中":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"都":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"在":{"docs":{},"装":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"被":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"机":{"docs":{},"器":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"都":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"最":{"docs":{},"开":{"docs":{},"始":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},"就":{"docs":{},"是":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"里":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"只":{"docs":{},"读":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"可":{"docs":{},"读":{"docs":{},"写":{"docs":{},"的":{"docs":{},",":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"有":{"docs":{},"错":{"docs":{},"误":{"docs":{},"和":{"docs":{},"遗":{"docs":{},"漏":{"docs":{},",":{"docs":{},"仅":{"docs":{},"供":{"docs":{},"理":{"docs":{},"解":{"docs":{},"本":{"docs":{},"文":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},",":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"把":{"docs":{},"指":{"docs":{},"针":{"docs":{},"从":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{},"…":{"docs":{},")":{"docs":{},"解":{"docs":{},"析":{"docs":{},"非":{"docs":{},"常":{"docs":{},"*":{"docs":{},"*":{"docs":{},"慢":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"交":{"docs":{},"集":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"具":{"docs":{},"体":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"占":{"docs":{},"位":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"桩":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"组":{"docs":{},"成":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"合":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"可":{"docs":{},"能":{"docs":{},"带":{"docs":{},"有":{"docs":{},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"其":{"docs":{},"实":{"docs":{},"和":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"启":{"docs":{},"动":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"最":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"期":{"docs":{},"优":{"docs":{},"化":{"docs":{},"等":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"等":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"也":{"docs":{},"提":{"docs":{},"出":{"docs":{},"更":{"docs":{},"高":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"譬":{"docs":{},"如":{"docs":{},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"态":{"docs":{},"目":{"docs":{},"前":{"docs":{},"建":{"docs":{},"设":{"docs":{},"的":{"docs":{},"也":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}},"走":{"docs":{},"的":{"docs":{},"更":{"docs":{},"加":{"docs":{},"成":{"docs":{},"熟":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"设":{"docs":{},"置":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"化":{"docs":{},"级":{"docs":{},"别":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"以":{"docs":{},"下":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"优":{"docs":{},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"号":{"docs":{},",":{"docs":{},"则":{"docs":{},"对":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"号":{"docs":{},"为":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"耗":{"docs":{},"时":{"docs":{},"比":{"docs":{},"想":{"docs":{},"象":{"docs":{},"的":{"docs":{},"要":{"docs":{},"多":{"docs":{},":":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"(":{"docs":{},"只":{"docs":{},"截":{"docs":{},"取":{"docs":{},"关":{"docs":{},"键":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"下":{"docs":{},"文":{"docs":{},"同":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"早":{"docs":{},"期":{"docs":{},"版":{"docs":{},"本":{"docs":{},"叫":{"docs":{},"做":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"拆":{"docs":{},"除":{"docs":{},"需":{"docs":{},"要":{"docs":{},"发":{"docs":{},"送":{"docs":{},"四":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"称":{"docs":{},"为":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"(":{"docs":{},"含":{"docs":{},"公":{"docs":{},"钥":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"它":{"docs":{},"所":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"还":{"docs":{},"算":{"docs":{},"平":{"docs":{},"衡":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"就":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"这":{"docs":{},"样":{"docs":{},"(":{"docs":{},"有":{"docs":{},"点":{"docs":{},"丑":{"docs":{},"哈":{"docs":{},"哈":{"docs":{},")":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"所":{"docs":{},"有":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"质":{"docs":{},"量":{"docs":{},"及":{"docs":{},"效":{"docs":{},"率":{"docs":{},"方":{"docs":{},"面":{"docs":{},"的":{"docs":{},"隐":{"docs":{},"患":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"趋":{"docs":{},"近":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"都":{"docs":{},"是":{"docs":{},"串":{"docs":{},"行":{"docs":{},"的":{"docs":{},"递":{"docs":{},"增":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"也":{"docs":{},"更":{"docs":{},"利":{"docs":{},"于":{"docs":{},"沟":{"docs":{},"通":{"docs":{},"和":{"docs":{},"交":{"docs":{},"流":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"都":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},"且":{"docs":{},"包":{"docs":{},"含":{"docs":{},"原":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"新":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"即":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"白":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"先":{"docs":{},"把":{"docs":{},"容":{"docs":{},"器":{"docs":{},"以":{"docs":{},"及":{"docs":{},"其":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"长":{"docs":{},"度":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}},"大":{"docs":{},"于":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"坑":{"docs":{},"和":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"待":{"docs":{},"验":{"docs":{},"证":{"docs":{},"交":{"docs":{},"易":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"没":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"远":{"docs":{},"在":{"docs":{},"美":{"docs":{},"国":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"去":{"docs":{},"查":{"docs":{},"询":{"docs":{},"延":{"docs":{},"时":{"docs":{},"相":{"docs":{},"当":{"docs":{},"严":{"docs":{},"重":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"其":{"docs":{},"二":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"候":{"docs":{},"选":{"docs":{},"人":{"docs":{},"都":{"docs":{},"没":{"docs":{},"法":{"docs":{},"非":{"docs":{},"常":{"docs":{},"确":{"docs":{},"定":{"docs":{},"地":{"docs":{},"说":{"docs":{},"出":{"docs":{},"答":{"docs":{},"案":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},",":{"docs":{},"把":{"docs":{},"控":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"性":{"docs":{},"能":{"docs":{},"是":{"docs":{},"最":{"docs":{},"关":{"docs":{},"键":{"docs":{},"、":{"docs":{},"最":{"docs":{},"独":{"docs":{},"到":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"要":{"docs":{},"点":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"了":{"docs":{},"解":{"docs":{},"表":{"docs":{},"面":{"docs":{},"知":{"docs":{},"识":{"docs":{},",":{"docs":{},"到":{"docs":{},"了":{"docs":{},"实":{"docs":{},"际":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"失":{"docs":{},"之":{"docs":{},"毫":{"docs":{},"厘":{"docs":{},"谬":{"docs":{},"以":{"docs":{},"千":{"docs":{},"里":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"得":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"像":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"组":{"docs":{},"合":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},"也":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"得":{"docs":{},"到":{"docs":{},"最":{"docs":{},"终":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"将":{"docs":{},"一":{"docs":{},"对":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"和":{"docs":{},"红":{"docs":{},"色":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"在":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"中":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"也":{"docs":{},"就":{"docs":{},"大":{"docs":{},"致":{"docs":{},"搞":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"了":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"修":{"docs":{},"改":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"大":{"docs":{},"概":{"docs":{},"画":{"docs":{},"了":{"docs":{},"图":{"docs":{},"例":{"docs":{},"来":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"强":{"docs":{},"项":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"了":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"两":{"docs":{},"块":{"docs":{},"内":{"docs":{},"容":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"不":{"docs":{},"经":{"docs":{},"由":{"docs":{},"容":{"docs":{},"器":{"docs":{},"来":{"docs":{},"做":{"docs":{},"剪":{"docs":{},"切":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"预":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"载":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"让":{"docs":{},"他":{"docs":{},"们":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"做":{"docs":{},"各":{"docs":{},"自":{"docs":{},"最":{"docs":{},"擅":{"docs":{},"长":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"查":{"docs":{},"看":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"是":{"docs":{},"否":{"docs":{},"符":{"docs":{},"合":{"docs":{},"预":{"docs":{},"期":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"存":{"docs":{},"在":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"切":{"docs":{},"换":{"docs":{},"就":{"docs":{},"会":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"发":{"docs":{},"生":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"源":{"docs":{},"码":{"docs":{},"里":{"docs":{},"试":{"docs":{},"图":{"docs":{},"还":{"docs":{},"原":{"docs":{},"真":{"docs":{},"实":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"要":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"特":{"docs":{},"点":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"试":{"docs":{},"题":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"补":{"docs":{},"充":{"docs":{},"~":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"只":{"docs":{},"列":{"docs":{},"举":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"门":{"docs":{},"槛":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"工":{"docs":{},"程":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"替":{"docs":{},"换":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"警":{"docs":{},"告":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"去":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"简":{"docs":{},"写":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"r":{"docs":{},"w":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"尺":{"docs":{},"寸":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"多":{"docs":{},"少":{"docs":{},"为":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"我":{"docs":{},"自":{"docs":{},"己":{"docs":{},"做":{"docs":{},"了":{"docs":{},"下":{"docs":{},"实":{"docs":{},"验":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"无":{"docs":{},"关":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"是":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"和":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"层":{"docs":{},"级":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"显":{"docs":{},"示":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"新":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"核":{"docs":{},"心":{"docs":{},"组":{"docs":{},"件":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"错":{"docs":{},"误":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"页":{"docs":{},"面":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"多":{"docs":{},"可":{"docs":{},"参":{"docs":{},"考":{"docs":{},"的":{"docs":{},"案":{"docs":{},"例":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"对":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"优":{"docs":{},"化":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"指":{"docs":{},"导":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{},"在":{"docs":{},"本":{"docs":{},"文":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"严":{"docs":{},"选":{"docs":{},"商":{"docs":{},"品":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"里":{"docs":{},"领":{"docs":{},"取":{"docs":{},"津":{"docs":{},"贴":{"docs":{},"是":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},",":{"docs":{},"常":{"docs":{},"规":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"慢":{"docs":{},"的":{"docs":{},",":{"docs":{},"经":{"docs":{},"过":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"决":{"docs":{},"定":{"docs":{},"对":{"docs":{},"津":{"docs":{},"贴":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"做":{"docs":{},"两":{"docs":{},"个":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"追":{"docs":{},"求":{"docs":{},"没":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{},"不":{"docs":{},"大":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"下":{"docs":{},"沉":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"将":{"docs":{},"来":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"的":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"模":{"docs":{},"块":{"docs":{},"单":{"docs":{},"独":{"docs":{},"打":{"docs":{},"包":{"docs":{},"等":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"月":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"对":{"docs":{},"已":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"(":{"docs":{},"边":{"docs":{},"做":{"docs":{},"业":{"docs":{},"务":{"docs":{},"边":{"docs":{},"改":{"docs":{},"造":{"docs":{},")":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"方":{"docs":{},"案":{"docs":{},"细":{"docs":{},"节":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"对":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"都":{"docs":{},"有":{"docs":{},"预":{"docs":{},"期":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"时":{"docs":{},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},"大":{"docs":{},"家":{"docs":{},"多":{"docs":{},"持":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"态":{"docs":{},"度":{"docs":{},",":{"docs":{},"成":{"docs":{},"本":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"声":{"docs":{},"明":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"开":{"docs":{},"发":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"者":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"选":{"docs":{},"择":{"docs":{},"将":{"docs":{},"『":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"』":{"docs":{},"作":{"docs":{},"为":{"docs":{},"度":{"docs":{},"量":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"还":{"docs":{},"在":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"官":{"docs":{},"网":{"docs":{},"上":{"docs":{},"以":{"docs":{},"此":{"docs":{},"进":{"docs":{},"行":{"docs":{},"宣":{"docs":{},"传":{"docs":{},"(":{"docs":{},"具":{"docs":{},"体":{"docs":{},"界":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"可":{"docs":{},"考":{"docs":{},"证":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"对":{"docs":{},"适":{"docs":{},"配":{"docs":{},"有":{"docs":{},"所":{"docs":{},"留":{"docs":{},"意":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"个":{"docs":{},"人":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"这":{"docs":{},"块":{"docs":{},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"具":{"docs":{},"体":{"docs":{},"测":{"docs":{},"一":{"docs":{},"下":{"docs":{},"会":{"docs":{},"慢":{"docs":{},"做":{"docs":{},"少":{"docs":{},"再":{"docs":{},"做":{"docs":{},"决":{"docs":{},"定":{"docs":{},"更":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"二":{"docs":{},"者":{"docs":{},"差":{"docs":{},"别":{"docs":{},"不":{"docs":{},"大":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"后":{"docs":{},"续":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"一":{"docs":{},"直":{"docs":{},"没":{"docs":{},"作":{"docs":{},"调":{"docs":{},"整":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"也":{"docs":{},"试":{"docs":{},"过":{"docs":{},"直":{"docs":{},"接":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"新":{"docs":{},"起":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"经":{"docs":{},"历":{"docs":{},"过":{"docs":{},"几":{"docs":{},"次":{"docs":{},"改":{"docs":{},"版":{"docs":{},",":{"docs":{},"踩":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"坑":{"docs":{},",":{"docs":{},"也":{"docs":{},"收":{"docs":{},"获":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"宝":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"量":{"docs":{},"比":{"docs":{},"开":{"docs":{},"发":{"docs":{},"同":{"docs":{},"学":{"docs":{},"数":{"docs":{},"量":{"docs":{},"多":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"同":{"docs":{},"学":{"docs":{},"都":{"docs":{},"同":{"docs":{},"时":{"docs":{},"维":{"docs":{},"护":{"docs":{},"着":{"docs":{},"多":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"。":{"docs":{},"有":{"docs":{},"时":{"docs":{},"一":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"人":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{},"经":{"docs":{},"过":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"后":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"把":{"docs":{},"资":{"docs":{},"源":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"类":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"出":{"docs":{},"现":{"docs":{},",":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"历":{"docs":{},"史":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"和":{"docs":{},"新":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"发":{"docs":{},"展":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"名":{"docs":{},"字":{"docs":{},"和":{"docs":{},"它":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"不":{"docs":{},"相":{"docs":{},"符":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"连":{"docs":{},"接":{"docs":{},"器":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"从":{"docs":{},"这":{"docs":{},"些":{"docs":{},"地":{"docs":{},"址":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"这":{"docs":{},"些":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"下":{"docs":{},"次":{"docs":{},"他":{"docs":{},"们":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"上":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"工":{"docs":{},"作":{"docs":{},"了":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"能":{"docs":{},"大":{"docs":{},"幅":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"在":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"都":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"和":{"docs":{},"其":{"docs":{},"他":{"docs":{},"方":{"docs":{},"面":{"docs":{},"都":{"docs":{},"有":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"革":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"不":{"docs":{},"做":{"docs":{},"懒":{"docs":{},"惰":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"及":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"符":{"docs":{},"号":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"为":{"docs":{},"也":{"docs":{},"将":{"docs":{},"和":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"陷":{"docs":{},"阱":{"docs":{},";":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"未":{"docs":{},"来":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"用":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"那":{"docs":{},"三":{"docs":{},"种":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"则":{"docs":{},"改":{"docs":{},"视":{"docs":{},"图":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"离":{"docs":{},"开":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"c":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":5.021739130434782},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"内":{"docs":{},"存":{"docs":{},"上":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"有":{"docs":{},"多":{"docs":{},"通":{"docs":{},"道":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"管":{"docs":{},"线":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"把":{"docs":{},"多":{"docs":{},"通":{"docs":{},"道":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"会":{"docs":{},"有":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"就":{"docs":{},"有":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"层":{"docs":{},"面":{"docs":{},"上":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"使":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"触":{"docs":{},"发":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"多":{"docs":{},"通":{"docs":{},"道":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"管":{"docs":{},"线":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"层":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"外":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"哪":{"docs":{},"一":{"docs":{},"步":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"?":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},":":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"为":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"牵":{"docs":{},"涉":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"开":{"docs":{},"销":{"docs":{},"主":{"docs":{},"要":{"docs":{},"在":{"docs":{},"与":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"性":{"docs":{},"能":{"docs":{},"影":{"docs":{},"响":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"缓":{"docs":{},"存":{"docs":{},"有":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"限":{"docs":{},",":{"docs":{},"最":{"docs":{},"多":{"docs":{},"不":{"docs":{},"超":{"docs":{},"过":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"总":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"响":{"docs":{},"应":{"docs":{},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"根":{"docs":{},"据":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}},"通":{"docs":{},"过":{"3":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"处":{"docs":{},"理":{"docs":{},"也":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"完":{"docs":{},"成":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"调":{"docs":{},"用":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"它":{"docs":{},":":{"docs":{},"可":{"docs":{},"否":{"docs":{},"把":{"docs":{},"这":{"docs":{},"条":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"给":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"处":{"docs":{},"理":{"docs":{},"?":{"docs":{},"该":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"于":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"对":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"自":{"docs":{},"动":{"docs":{},"分":{"docs":{},"配":{"docs":{},"和":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"若":{"docs":{},"想":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"里":{"docs":{},"把":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"备":{"docs":{},"援":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"的":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},",":{"docs":{},"先":{"docs":{},"触":{"docs":{},"发":{"docs":{},"是":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"底":{"docs":{},"层":{"docs":{},"内":{"docs":{},"核":{"docs":{},"指":{"docs":{},"令":{"docs":{},"或":{"docs":{},"者":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"5":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"docs":{}}}}}},"怎":{"docs":{},"么":{"docs":{},"移":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"内":{"docs":{},"核":{"docs":{},"会":{"docs":{},"开":{"docs":{},"启":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"以":{"docs":{},"下":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"为":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"做":{"docs":{},"好":{"docs":{},"准":{"docs":{},"备":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}},"将":{"docs":{},"控":{"docs":{},"制":{"docs":{},"权":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"桌":{"docs":{},"面":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"收":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},",":{"docs":{},"进":{"docs":{},"程":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"标":{"docs":{},"记":{"docs":{},"当":{"docs":{},"前":{"docs":{},"进":{"docs":{},"程":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"该":{"docs":{},"段":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"当":{"docs":{},"真":{"docs":{},"正":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"段":{"docs":{},"段":{"docs":{},"内":{"docs":{},"存":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"分":{"docs":{},"配":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"是":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"目":{"docs":{},"录":{"docs":{},"读":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"缩":{"docs":{},"小":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}},"短":{"docs":{},"超":{"docs":{},"时":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"要":{"docs":{},"么":{"docs":{},"至":{"docs":{},"死":{"docs":{},"也":{"docs":{},"没":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"之":{"docs":{},"差":{"docs":{},"不":{"docs":{},"大":{"docs":{},"于":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"获":{"docs":{},"取":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"低":{"docs":{},"。":{"docs":{},"当":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"求":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"?":{"docs":{},"出":{"docs":{},"处":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"由":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"做":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"和":{"docs":{},"图":{"docs":{},"层":{"docs":{},"个":{"docs":{},"数":{"docs":{},"成":{"docs":{},"正":{"docs":{},"比":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"层":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"移":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"文":{"docs":{},"件":{"docs":{},"通":{"docs":{},"过":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"点":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"统":{"docs":{},"一":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"特":{"docs":{},"别":{"docs":{},"提":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"多":{"docs":{},"两":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"再":{"docs":{},"造":{"docs":{},"个":{"docs":{},"轮":{"docs":{},"子":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{},"一":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"始":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"时":{"docs":{},",":{"docs":{},"业":{"docs":{},"界":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"关":{"docs":{},"框":{"docs":{},"架":{"docs":{},"开":{"docs":{},"源":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"二":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"和":{"docs":{},"业":{"docs":{},"界":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"库":{"docs":{},"不":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"符":{"docs":{},"。":{"docs":{},"m":{"docs":{},"g":{"docs":{},"j":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"细":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"回":{"docs":{},"顾":{"docs":{},"下":{"docs":{},"整":{"docs":{},"个":{"docs":{},"启":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"各":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"因":{"docs":{},"素":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"着":{"docs":{},"加":{"docs":{},"载":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"见":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}},"返":{"docs":{},"回":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"图":{"docs":{},"像":{"docs":{},"被":{"docs":{},"分":{"docs":{},"配":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"值":{"docs":{},"不":{"docs":{},"为":{"0":{"docs":{},"—":{"docs":{},"—":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"没":{"docs":{},"有":{"docs":{},"按":{"docs":{},"时":{"docs":{},"完":{"docs":{},"成":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"为":{"0":{"docs":{},"—":{"docs":{},"—":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"docs":{},"为":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"进":{"docs":{},"入":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"c":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"会":{"docs":{},"去":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"命":{"docs":{},"中":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"休":{"docs":{},"眠":{"docs":{},"前":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"方":{"docs":{},"法":{"docs":{},"决":{"docs":{},"议":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}},"程":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"各":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"、":{"docs":{},"线":{"docs":{},"程":{"docs":{},"与":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"大":{"docs":{},"、":{"docs":{},"效":{"docs":{},"率":{"docs":{},"高":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"设":{"docs":{},"计":{"docs":{},"到":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"要":{"docs":{},"好":{"docs":{},"于":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"求":{"docs":{},"同":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"并":{"docs":{},"且":{"docs":{},"又":{"docs":{},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"某":{"docs":{},"些":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"进":{"docs":{},"程":{"docs":{},"至":{"docs":{},"少":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"如":{"docs":{},"微":{"docs":{},"信":{"docs":{},"、":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"杀":{"docs":{},"了":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"重":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"这":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"就":{"docs":{},"是":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"进":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"还":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"很":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"上":{"docs":{},"又":{"docs":{},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"一":{"docs":{},"层":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"方":{"docs":{},"便":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"又":{"docs":{},"对":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"又":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"页":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{},"当":{"docs":{},"进":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"个":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"通":{"docs":{},"常":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"架":{"docs":{},"构":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"化":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"工":{"docs":{},"具":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"特":{"docs":{},"别":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"或":{"docs":{},"分":{"docs":{},"发":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"识":{"docs":{},"别":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"要":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"量":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},"性":{"docs":{},"能":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},",":{"docs":{},"只":{"docs":{},"取":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"步":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"沉":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"很":{"docs":{},"早":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"而":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"换":{"docs":{},"。":{"docs":{},"开":{"docs":{},"始":{"docs":{},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"而":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"图":{"docs":{},"片":{"docs":{},"格":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},"时":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"弱":{"docs":{},"绑":{"docs":{},"定":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"。":{"docs":{},"如":{"docs":{},"此":{"docs":{},"循":{"docs":{},"环":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"的":{"docs":{},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"如":{"docs":{},"文":{"docs":{},"字":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"、":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"都":{"docs":{},"无":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"试":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"类":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"并":{"docs":{},"未":{"docs":{},"全":{"docs":{},"部":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"开":{"docs":{},"放":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"妨":{"docs":{},"通":{"docs":{},"过":{"docs":{},"阅":{"docs":{},"读":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}},"』":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"换":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"思":{"docs":{},"考":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"合":{"docs":{},"并":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"这":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},":":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"作":{"docs":{},"者":{"docs":{},"将":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"异":{"docs":{},"或":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"只":{"docs":{},"要":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"地":{"docs":{},"址":{"docs":{},"都":{"docs":{},"相":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},"映":{"docs":{},"射":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"不":{"docs":{},"去":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"来":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"递":{"docs":{},"归":{"docs":{},"执":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},",":{"docs":{},"先":{"docs":{},"将":{"docs":{},"父":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"加":{"docs":{},"进":{"docs":{},"去":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"问":{"docs":{},"题":{"docs":{},"—":{"docs":{},"—":{"docs":{},"前":{"docs":{},"后":{"docs":{},"代":{"docs":{},"码":{"docs":{},"相":{"docs":{},"互":{"docs":{},"等":{"docs":{},"待":{"docs":{},"便":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"重":{"docs":{},"入":{"docs":{},"锁":{"docs":{},",":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"锁":{"docs":{},"释":{"docs":{},"放":{"docs":{},"前":{"docs":{},"可":{"docs":{},"再":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"以":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"左":{"docs":{},"右":{"docs":{},"序":{"docs":{},"列":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"派":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"而":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"不":{"docs":{},"会":{"docs":{},"等":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"操":{"docs":{},"作":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"对":{"docs":{},"象":{"docs":{},"即":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"出":{"docs":{},"于":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"性":{"docs":{},"能":{"docs":{},"考":{"docs":{},"虑":{"docs":{},",":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"存":{"docs":{},"放":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},",":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"等":{"docs":{},"。":{"docs":{},"其":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"表":{"docs":{},"达":{"docs":{},"方":{"docs":{},"式":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"中":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"并":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"加":{"docs":{},"递":{"docs":{},"归":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"且":{"docs":{},"此":{"docs":{},"时":{"docs":{},"切":{"docs":{},"换":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"原":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"所":{"docs":{},"以":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"选":{"docs":{},"择":{"docs":{},"持":{"docs":{},"有":{"docs":{},"它":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"访":{"docs":{},"问":{"docs":{},"这":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"就":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"寻":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"稍":{"docs":{},"微":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"真":{"docs":{},"机":{"docs":{},"调":{"docs":{},"试":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"少":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"的":{"docs":{},"话":{"docs":{},"其":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"一":{"docs":{},"点":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"作":{"docs":{},"者":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"便":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"是":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"当":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"自":{"docs":{},"增":{"docs":{},"越":{"docs":{},"界":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"变":{"docs":{},"为":{"docs":{},"负":{"docs":{},"数":{"docs":{},"最":{"docs":{},"大":{"docs":{},"值":{"docs":{},"(":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"是":{"docs":{},"用":{"docs":{},"正":{"docs":{},"整":{"docs":{},"数":{"docs":{},"的":{"docs":{},"反":{"docs":{},"码":{"docs":{},"加":{"docs":{},"一":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"其":{"docs":{},"负":{"docs":{},"数":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"交":{"docs":{},"由":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"令":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"难":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"固":{"docs":{},"定":{"docs":{},"地":{"docs":{},"址":{"docs":{},"获":{"docs":{},"取":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"者":{"docs":{},"内":{"docs":{},"存":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"攻":{"docs":{},"击":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"被":{"docs":{},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"人":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}},"请":{"docs":{},"你":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"返":{"docs":{},"回":{"docs":{},"删":{"docs":{},"除":{"docs":{},"后":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"新":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},".":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},".":{"1":{"6":{"3":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"以":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},";":{"docs":{},"而":{"docs":{},"来":{"docs":{},"自":{"docs":{},"不":{"docs":{},"同":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"警":{"docs":{},"告":{"docs":{},"必":{"docs":{},"须":{"docs":{},"解":{"docs":{},"决":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"=":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.009478672985781991},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.04259259259259259}},"工":{"docs":{},"作":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"是":{"4":{"0":{"9":{"6":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"成":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"造":{"docs":{},"成":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"负":{"docs":{},"担":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},":":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"图":{"docs":{},"层":{"docs":{},"混":{"docs":{},"合":{"docs":{},",":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"加":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}},"用":{"docs":{},"来":{"docs":{},"采":{"docs":{},"集":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"文":{"docs":{},"理":{"docs":{},"和":{"docs":{},"混":{"docs":{},"合":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"把":{"docs":{},"它":{"docs":{},"们":{"docs":{},"输":{"docs":{},"送":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"除":{"docs":{},"此":{"docs":{},"以":{"docs":{},"外":{"docs":{},",":{"docs":{},"有":{"docs":{},"时":{"docs":{},"候":{"docs":{},"也":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.005555555555555556}},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"它":{"docs":{},"解":{"docs":{},"压":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"将":{"docs":{},"你":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"写":{"docs":{},"入":{"docs":{},"图":{"docs":{},"层":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}},"就":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"十":{"docs":{},"分":{"docs":{},"缓":{"docs":{},"慢":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"十":{"docs":{},"分":{"docs":{},"挑":{"docs":{},"剔":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"十":{"docs":{},"分":{"docs":{},"不":{"docs":{},"好":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},":":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"}":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"/":{"1":{"docs":{},"f":{"docs":{},"f":{"docs":{},"d":{"3":{"3":{"2":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}}}}},"9":{"6":{"9":{"2":{"0":{"docs":{},"d":{"1":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"8":{"docs":{},"f":{"7":{"docs":{},"b":{"5":{"docs":{},"b":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},"d":{"9":{"docs":{},"d":{"4":{"8":{"8":{"4":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"e":{"docs":{},"p":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"e":{"docs":{},"n":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"方":{"docs":{},"法":{"docs":{},"亦":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},":":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"b":{"docs":{},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}},"t":{"docs":{},"o":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"g":{"docs":{},"l":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"e":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"段":{"docs":{},"底":{"docs":{},"层":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"的":{"docs":{},"叙":{"docs":{},"述":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}},"是":{"docs":{},"这":{"docs":{},"么":{"docs":{},"描":{"docs":{},"述":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"y":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"c":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":5.004850444624091},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":5.021052631578947}},"仅":{"docs":{},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"同":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"整":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"接":{"docs":{},"近":{"docs":{},"底":{"docs":{},"层":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"在":{"docs":{},"追":{"docs":{},"求":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"操":{"docs":{},"作":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"是":{"docs":{},"速":{"docs":{},"度":{"docs":{},"最":{"docs":{},"快":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},"循":{"docs":{},"环":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"+":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"或":{"docs":{},"者":{"docs":{},"提":{"docs":{},"前":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"取":{"docs":{},"消":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"封":{"docs":{},"装":{"docs":{},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},"控":{"docs":{},"制":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"持":{"docs":{},"有":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"出":{"docs":{},"了":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"立":{"docs":{},"即":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"没":{"docs":{},"有":{"docs":{},"了":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"称":{"docs":{},"是":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"两":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"概":{"docs":{},"念":{"docs":{},"是":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"和":{"docs":{},"队":{"docs":{},"列":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}},"优":{"docs":{},"点":{"docs":{},":":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"主":{"docs":{},"要":{"docs":{},"与":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"结":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"构":{"docs":{},"成":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"及":{"docs":{},"相":{"docs":{},"关":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"在":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"是":{"docs":{},"由":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"构":{"docs":{},"成":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},";":{"docs":{},"而":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"选":{"docs":{},"择":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"分":{"docs":{},"派":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"多":{"docs":{},"读":{"docs":{},"单":{"docs":{},"写":{"docs":{},"情":{"docs":{},"景":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"方":{"docs":{},"便":{"docs":{},"任":{"docs":{},"务":{"docs":{},"状":{"docs":{},"态":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"移":{"docs":{},"除":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"多":{"docs":{},"用":{"docs":{},"于":{"docs":{},"常":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.009718172983479106},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.8131197559115177}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}},"/":{"docs":{},"/":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"、":{"docs":{},"s":{"docs":{},"v":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"l":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.036231884057971016},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.05},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"依":{"docs":{},"次":{"docs":{},"画":{"docs":{},"好":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"树":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},")":{"docs":{},"协":{"docs":{},"议":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"(":{"docs":{},"如":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"组":{"docs":{},"合":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"可":{"docs":{},"能":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"就":{"docs":{},"画":{"docs":{},"出":{"docs":{},"只":{"docs":{},"有":{"docs":{},"完":{"docs":{},"成":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"步":{"docs":{},"之":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"知":{"docs":{},"道":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"又":{"docs":{},"只":{"docs":{},"能":{"docs":{},"另":{"docs":{},"外":{"docs":{},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"把":{"docs":{},"本":{"docs":{},"体":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"先":{"docs":{},"画":{"docs":{},"好":{"docs":{},",":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"以":{"docs":{},"及":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"、":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"要":{"docs":{},"么":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"种":{"docs":{},"通":{"docs":{},"过":{"docs":{},"单":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"能":{"docs":{},"完":{"docs":{},"成":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"另":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"借":{"docs":{},"助":{"docs":{},"这":{"docs":{},"个":{"docs":{},"临":{"docs":{},"时":{"docs":{},"中":{"docs":{},"转":{"docs":{},"区":{"docs":{},"域":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"、":{"docs":{},"多":{"docs":{},"次":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.00816326530612245}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"开":{"docs":{},"始":{"docs":{},"之":{"docs":{},"前":{"docs":{},"传":{"docs":{},"播":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"布":{"docs":{},"局":{"docs":{},"和":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"发":{"docs":{},"生":{"docs":{},"并":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"之":{"docs":{},"前":{"docs":{},"完":{"docs":{},"成":{"docs":{},"(":{"docs":{},"除":{"docs":{},"非":{"docs":{},"有":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"等":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"且":{"docs":{},"两":{"docs":{},"次":{"docs":{},"之":{"docs":{},"间":{"docs":{},"没":{"docs":{},"有":{"docs":{},"更":{"docs":{},"新":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{},"同":{"docs":{},"样":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.026530612244897958},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"”":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"计":{"docs":{},"算":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},")":{"docs":{},",":{"docs":{},"源":{"docs":{},"头":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"z":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.0081799591002045}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"a":{"docs":{},"m":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"e":{"docs":{},"d":{"docs":{},"】":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"运":{"docs":{},"行":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"搜":{"docs":{},"索":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.012}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"上":{"docs":{},"很":{"docs":{},"有":{"docs":{},"效":{"docs":{},"率":{"docs":{},"地":{"docs":{},"达":{"docs":{},"成":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{},"比":{"docs":{},"较":{"docs":{},"长":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"注":{"docs":{},"释":{"docs":{},"写":{"docs":{},"的":{"docs":{},"非":{"docs":{},"常":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"主":{"docs":{},"要":{"docs":{},"由":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"步":{"docs":{},"(":{"docs":{},"这":{"docs":{},"里":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"获":{"docs":{},"取":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.041428571428571426},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004045853000674309},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.014314928425357873},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.04198473282442748},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01337295690936107},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.015873015873015872}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"&":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"在":{"docs":{},"新":{"docs":{},"建":{"docs":{},"任":{"docs":{},"务":{"docs":{},"前":{"docs":{},",":{"docs":{},"如":{"docs":{},"有":{"docs":{},"取":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"分":{"docs":{},"类":{"2":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"3":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"4":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"docs":{}}}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"]":{"docs":{},",":{"docs":{},"父":{"docs":{},"类":{"docs":{},"就":{"docs":{},"会":{"docs":{},"收":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"啊":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"里":{"docs":{},"面":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"循":{"docs":{},"环":{"docs":{},"调":{"docs":{},"用":{"docs":{},"所":{"docs":{},"用":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"(":{"docs":{},"*":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"机":{"docs":{},"制":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},".":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"只":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},"吗":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"他":{"docs":{},"还":{"docs":{},"不":{"docs":{},"走":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"其":{"docs":{},"实":{"docs":{},"有":{"docs":{},"点":{"docs":{},"奇":{"docs":{},"怪":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"说":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"里":{"docs":{},"了":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"w":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},";":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"(":{"docs":{},"我":{"docs":{},"们":{"docs":{},"研":{"docs":{},"究":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"置":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}},"k":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":10.001908396946565},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},")":{"docs":{},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"表":{"docs":{},"示":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"能":{"docs":{},"多":{"docs":{},"次":{"docs":{},"进":{"docs":{},"入":{"docs":{},",":{"docs":{},"从":{"docs":{},"侧":{"docs":{},"面":{"docs":{},"表":{"docs":{},"现":{"docs":{},"出":{"docs":{},"了":{"docs":{},"递":{"docs":{},"归":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},",":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},",":{"docs":{},"其":{"docs":{},"加":{"docs":{},"减":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"是":{"docs":{},"在":{"docs":{},"加":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"任":{"docs":{},"何":{"docs":{},"内":{"docs":{},"容":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0121580547112462},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},")":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"g":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},";":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"/":{"docs":{},"不":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}},"、":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"两":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"数":{"docs":{},"量":{"docs":{},"跟":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"大":{"docs":{},"同":{"docs":{},"小":{"docs":{},"异":{"docs":{},",":{"docs":{},"到":{"docs":{},"底":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"原":{"docs":{},"因":{"docs":{},"导":{"docs":{},"致":{"docs":{},"两":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"上":{"docs":{},"会":{"docs":{},"有":{"docs":{},"截":{"docs":{},"然":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"?":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"又":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"?":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"2":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}},"3":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}},"docs":{}}}}}}},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"s":{"docs":{},"b":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"t":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"l":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"i":{"docs":{},"s":{"docs":{},"t":{"2":{"docs":{},"t":{"docs":{},"n":{"docs":{},"(":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"之":{"docs":{},"外":{"docs":{},"其":{"docs":{},"他":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},".":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"e":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}},"(":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"l":{"docs":{},"o":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"y":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"符":{"docs":{},"号":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"他":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"源":{"docs":{},"头":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"&":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},",":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"u":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}},"x":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"/":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"e":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.03151862464183381}},"[":{"0":{"docs":{},":":{"4":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}},"]":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"1":{"6":{"docs":{},":":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}},"docs":{}},"2":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"8":{"docs":{},":":{"1":{"2":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"s":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}},"o":{"docs":{},"n":{"1":{"0":{"docs":{},".":{"7":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{}}},"docs":{}},"docs":{}}},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"缩":{"docs":{},"写":{"docs":{},",":{"docs":{},"可":{"docs":{},"译":{"docs":{},"为":{"docs":{},"“":{"docs":{},"最":{"docs":{},"长":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"寿":{"docs":{},"命":{"docs":{},"”":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"任":{"docs":{},"何":{"docs":{},"报":{"docs":{},"文":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"上":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"最":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"报":{"docs":{},"文":{"docs":{},"将":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"任":{"docs":{},"何":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"前":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"内":{"docs":{},"的":{"docs":{},"最":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"以":{"docs":{},"i":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"内":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"则":{"docs":{},"有":{"docs":{},"限":{"docs":{},"制":{"docs":{},"其":{"docs":{},"生":{"docs":{},"存":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"s":{"docs":{},"\"":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"v":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"n":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"=":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}}},"(":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"f":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"x":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"r":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{},"y":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"v":{"docs":{},"m":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.036458333333333336},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}},"v":{"docs":{},"v":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"o":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.016908212560386472},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":5.040899795501023},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.014184397163120567},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.01488095238095238}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.012086513994910942}},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.02097902097902098},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},")":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"这":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"并":{"docs":{},"发":{"docs":{},"回":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"被":{"docs":{},"动":{"docs":{},"打":{"docs":{},"开":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"+":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.014608233731739707}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"[":{"docs":{},"]":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"s":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},",":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988}},"s":{"docs":{},":":{"0":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}},"c":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.005555555555555556}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"=":{"0":{"docs":{},".":{"5":{"docs":{},",":{"docs":{},"并":{"docs":{},"复":{"docs":{},"制":{"docs":{},"一":{"docs":{},"份":{"docs":{},"在":{"docs":{},"旁":{"docs":{},"边":{"docs":{},"作":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{},"左":{"docs":{},"边":{"docs":{},"关":{"docs":{},"闭":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"行":{"docs":{},"为":{"docs":{},")":{"docs":{},"的":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"从":{"docs":{},"名":{"docs":{},"字":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"猜":{"docs":{},"到":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"右":{"docs":{},"边":{"docs":{},"保":{"docs":{},"持":{"docs":{},"默":{"docs":{},"认":{"docs":{},"(":{"docs":{},"从":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"监":{"docs":{},"听":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"视":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"没":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},")":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"套":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"允":{"docs":{},"许":{"docs":{},"将":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},"通":{"docs":{},"知":{"docs":{},"给":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"1":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.02102803738317757},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.009589041095890411},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"c":{"2":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}},".":{"0":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}},"docs":{}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.020802377414561663}}}}}}}}}}}}}}}},"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.027777777777777776},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01607717041800643},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.008915304606240713},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.009574468085106383},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832}},":":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"即":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"继":{"docs":{},"承":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"同":{"docs":{},"样":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"真":{"docs":{},"实":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},"*":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"s":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"(":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"(":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634}}}}}}}}}}}}}}}},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"跑":{"docs":{},"到":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"_":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"5":{"2":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"6":{"0":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"5":{"2":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"6":{"0":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"2":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"3":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"2":{"6":{"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{}},"7":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"c":{"docs":{},"_":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"2":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"3":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"p":{"1":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"docs":{}}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.012396694214876033},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.05555555555555555},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.008915304606240713}},"的":{"docs":{},"真":{"docs":{},"实":{"docs":{},"定":{"docs":{},"义":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"m":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"储":{"docs":{},"位":{"docs":{},"置":{"docs":{},"也":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"实":{"docs":{},"现":{"docs":{},"对":{"docs":{},"象":{"docs":{},"与":{"docs":{},"类":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}},"y":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"6":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.01652892561983471},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.02912621359223301},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.022494887525562373},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.511887072808321},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.027842227378190254},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.007936507936507936}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.012618296529968454},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":10}},".":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}},":":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}}}}},".":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"会":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},"移":{"docs":{},"动":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}},"传":{"docs":{},"入":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}},"c":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5013966480446927},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"特":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"从":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"讲":{"docs":{},",":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}},"对":{"docs":{},"象":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"成":{"docs":{},"为":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"属":{"docs":{},"于":{"docs":{},"动":{"docs":{},"态":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"决":{"docs":{},"定":{"docs":{},"真":{"docs":{},"正":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"(":{"docs":{},"事":{"docs":{},"实":{"docs":{},"证":{"docs":{},"明":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"o":{"docs":{},"c":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"任":{"docs":{},"何":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"并":{"docs":{},"未":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"声":{"docs":{},"明":{"docs":{},"过":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{},"而":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"就":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"u":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}},"e":{"docs":{},"_":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757}}},"=":{"0":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{}},":":{"docs":{},"最":{"docs":{},"低":{"docs":{},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},"。":{"docs":{},"当":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},")":{"docs":{},"的":{"docs":{},"线":{"docs":{},"性":{"docs":{},"表":{"docs":{},",":{"docs":{},"在":{"docs":{},"具":{"docs":{},"体":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"链":{"docs":{},"表":{"docs":{},"或":{"docs":{},"者":{"docs":{},"数":{"docs":{},"组":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"装":{"docs":{},"载":{"docs":{},"线":{"docs":{},"程":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"队":{"docs":{},"形":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"队":{"docs":{},"列":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"在":{"docs":{},"后":{"docs":{},"端":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"在":{"docs":{},"前":{"docs":{},"端":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"删":{"docs":{},"除":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"队":{"docs":{},"列":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"后":{"docs":{},"端":{"docs":{},"进":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"l":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"docs":{}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"l":{"docs":{},"y":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}},"o":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"s":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"i":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"是":{"docs":{},"原":{"docs":{},"子":{"docs":{},"自":{"docs":{},"增":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{},"在":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"若":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"整":{"docs":{},"形":{"docs":{},"数":{"docs":{},"值":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"不":{"docs":{},"再":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"用":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"替":{"docs":{},"代":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"'":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"n":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"e":{"docs":{},"[":{"2":{"docs":{},"]":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}},"docs":{}}}}}}},":":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"v":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},"r":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"类":{"docs":{},"的":{"docs":{},"继":{"docs":{},"承":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"k":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"中":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"。":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"并":{"docs":{},"不":{"docs":{},"产":{"docs":{},"生":{"docs":{},"新":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"移":{"docs":{},"动":{"docs":{},"和":{"docs":{},"补":{"docs":{},"丁":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"符":{"docs":{},"号":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"o":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}}}},"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"相":{"docs":{},"当":{"docs":{},"好":{"docs":{},"了":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"不":{"docs":{},"过":{"docs":{},"却":{"docs":{},"不":{"docs":{},"是":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"要":{"docs":{},"求":{"docs":{},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"至":{"docs":{},"多":{"docs":{},"等":{"docs":{},"于":{"1":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"要":{"docs":{},"求":{"docs":{},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"太":{"docs":{},"严":{"docs":{},"了":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"每":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{},"/":{"docs":{},"删":{"docs":{},"除":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"都":{"docs":{},"会":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"的":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"左":{"docs":{},"旋":{"docs":{},"和":{"docs":{},"右":{"docs":{},"旋":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"使":{"docs":{},"之":{"docs":{},"再":{"docs":{},"次":{"docs":{},"成":{"docs":{},"为":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"符":{"docs":{},"合":{"docs":{},"要":{"docs":{},"求":{"docs":{},"的":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"这":{"docs":{},"里":{"docs":{},"就":{"docs":{},"不":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"了":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"想":{"docs":{},"而":{"docs":{},"知":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"不":{"docs":{},"能":{"docs":{},"让":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"引":{"docs":{},"申":{"docs":{},"出":{"docs":{},"了":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}},"o":{"docs":{},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"中":{"docs":{},"的":{"docs":{},"段":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"和":{"docs":{},"真":{"docs":{},"机":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"式":{"docs":{},"不":{"docs":{},"同":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"以":{"docs":{},"区":{"docs":{},"分":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"什":{"docs":{},"么":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"?":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"既":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"又":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"?":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"一":{"docs":{},"张":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"去":{"docs":{},"管":{"docs":{},"理":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"?":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"业":{"docs":{},"界":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"要":{"docs":{},"设":{"docs":{},"计":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"?":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"进":{"docs":{},"行":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"头":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"要":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"需":{"docs":{},"要":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"?":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"两":{"docs":{},"次":{"docs":{},"不":{"docs":{},"行":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"闭":{"docs":{},"包":{"docs":{},"能":{"docs":{},"提":{"docs":{},"高":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"才":{"docs":{},"能":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"想":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"人":{"docs":{},"要":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"他":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"中":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"么":{"docs":{},"设":{"docs":{},"计":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"y":{"docs":{},"’":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"值":{"docs":{},"是":{"docs":{},"整":{"docs":{},"数":{"docs":{},",":{"docs":{},"但":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"数":{"docs":{},"组":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"/":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"?":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{},"会":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}}}}}},"苹":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"入":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"二":{"docs":{},"方":{"docs":{},"库":{"docs":{},"在":{"docs":{},"出":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"要":{"docs":{},"选":{"docs":{},"择":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"何":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"制":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"独":{"docs":{},"一":{"docs":{},"无":{"docs":{},"二":{"docs":{},"的":{"docs":{},"标":{"docs":{},"识":{"docs":{},"符":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},"片":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"圆":{"docs":{},"角":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"当":{"docs":{},"前":{"docs":{},"定":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"并":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"运":{"docs":{},"算":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},"索":{"docs":{},"引":{"docs":{},"所":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"值":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"里":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"分":{"docs":{},"别":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"下":{"docs":{},"面":{"docs":{},"三":{"docs":{},"种":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"来":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"结":{"docs":{},"束":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"上":{"docs":{},"文":{"docs":{},"贴":{"docs":{},"出":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"核":{"docs":{},"心":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"约":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"额":{"docs":{},"外":{"docs":{},"付":{"docs":{},"出":{"docs":{},"两":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"能":{"docs":{},"够":{"docs":{},"到":{"docs":{},"达":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"处":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"就":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"它":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"上":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"其":{"docs":{},"身":{"docs":{},"份":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"一":{"docs":{},"些":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"的":{"docs":{},"误":{"docs":{},"伤":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"一":{"docs":{},"些":{"docs":{},"前":{"docs":{},"缀":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"是":{"docs":{},"仅":{"docs":{},"保":{"docs":{},"留":{"docs":{},"带":{"docs":{},"有":{"docs":{},"某":{"docs":{},"些":{"docs":{},"前":{"docs":{},"缀":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"有":{"docs":{},"依":{"docs":{},"据":{"docs":{},"的":{"docs":{},"推":{"docs":{},"断":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"和":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"以":{"docs":{},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"返":{"docs":{},"回":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"譬":{"docs":{},"如":{"docs":{},"某":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"为":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"提":{"docs":{},"供":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{},"具":{"docs":{},"体":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"假":{"docs":{},"设":{"docs":{},"为":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"例":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"下":{"docs":{},"构":{"docs":{},"建":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"维":{"docs":{},"度":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"后":{"docs":{},",":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"为":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"树":{"docs":{},",":{"docs":{},"明":{"docs":{},"显":{"docs":{},"右":{"docs":{},"边":{"docs":{},"太":{"docs":{},"重":{"docs":{},",":{"docs":{},"左":{"docs":{},"边":{"docs":{},"太":{"docs":{},"稀":{"docs":{},",":{"docs":{},"想":{"docs":{},"要":{"docs":{},"保":{"docs":{},"持":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"就":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"添":{"docs":{},"加":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"。":{"docs":{},"(":{"docs":{},"i":{"docs":{},"从":{"1":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}},"docs":{}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"解":{"docs":{},"法":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"。":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"被":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"啥":{"docs":{},"打":{"docs":{},"印":{"docs":{},"三":{"docs":{},"次":{"docs":{},"呢":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"体":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{},"若":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"止":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"组":{"docs":{},"接":{"docs":{},"口":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"量":{"docs":{},"减":{"docs":{},"少":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"频":{"docs":{},"率":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"再":{"docs":{},"写":{"docs":{},"入":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"操":{"docs":{},"作":{"docs":{},"向":{"docs":{},"系":{"docs":{},"统":{"docs":{},"表":{"docs":{},"明":{"docs":{},"需":{"docs":{},"要":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"会":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"展":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"一":{"docs":{},"样":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"就":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"风":{"docs":{},"格":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"从":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"化":{"docs":{},"转":{"docs":{},"变":{"docs":{},"成":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"卡":{"docs":{},"片":{"docs":{},",":{"docs":{},"即":{"docs":{},"刻":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"风":{"docs":{},"格":{"docs":{},"也":{"docs":{},"随":{"docs":{},"之":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"加":{"docs":{},"入":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"与":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"上":{"docs":{},"稍":{"docs":{},"有":{"docs":{},"不":{"docs":{},"慎":{"docs":{},",":{"docs":{},"就":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"采":{"docs":{},"取":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"一":{"docs":{},"些":{"docs":{},"措":{"docs":{},"施":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"轮":{"docs":{},"到":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"进":{"docs":{},"入":{"docs":{},"重":{"docs":{},"点":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"开":{"docs":{},"始":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"会":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"最":{"docs":{},"深":{"docs":{},"层":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"其":{"docs":{},"置":{"docs":{},"为":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"会":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"常":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"裁":{"docs":{},"剪":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"前":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"不":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"下":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"引":{"docs":{},"入":{"docs":{},"到":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"以":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"很":{"docs":{},"难":{"docs":{},"调":{"docs":{},"试":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{},"而":{"docs":{},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"能":{"docs":{},"提":{"docs":{},"供":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"找":{"docs":{},"到":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"最":{"docs":{},"长":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"很":{"docs":{},"多":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"优":{"docs":{},"化":{"docs":{},"性":{"docs":{},"能":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"调":{"docs":{},"整":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"次":{"docs":{},"、":{"docs":{},"添":{"docs":{},"加":{"docs":{},"和":{"docs":{},"移":{"docs":{},"除":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"关":{"docs":{},"系":{"docs":{},"是":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"有":{"docs":{},"效":{"docs":{},"利":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"所":{"docs":{},"以":{"docs":{},"能":{"docs":{},"成":{"docs":{},"功":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"要":{"docs":{},"引":{"docs":{},"入":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"说":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"种":{"docs":{},"极":{"docs":{},"端":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"花":{"docs":{},"这":{"docs":{},"么":{"docs":{},"大":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"讲":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"何":{"docs":{},"优":{"docs":{},"化":{"docs":{},"都":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"系":{"docs":{},"统":{"docs":{},"运":{"docs":{},"作":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"下":{"docs":{},"如":{"docs":{},"何":{"docs":{},"利":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"决":{"docs":{},"实":{"docs":{},"际":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"关":{"docs":{},"注":{"docs":{},"~":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"d":{"docs":{},"l":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"产":{"docs":{},"生":{"docs":{},"了":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"时":{"docs":{},"的":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"你":{"docs":{},"现":{"docs":{},"在":{"docs":{},"是":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"则":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"决":{"docs":{},"议":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"个":{"docs":{},"东":{"docs":{},"西":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"两":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"有":{"docs":{},"共":{"docs":{},"通":{"docs":{},"的":{"docs":{},"非":{"docs":{},"执":{"docs":{},"行":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"达":{"docs":{},"到":{"docs":{},"单":{"docs":{},"一":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},"之":{"docs":{},"多":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"外":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"字":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"有":{"docs":{},"些":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"不":{"docs":{},"会":{"docs":{},"使":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"+":{"1":{"docs":{},"也":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"人":{"docs":{},"难":{"docs":{},"免":{"docs":{},"有":{"docs":{},"遗":{"docs":{},"漏":{"docs":{},")":{"docs":{},"。":{"docs":{},"后":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"介":{"docs":{},"于":{"docs":{},"业":{"docs":{},"界":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"继":{"docs":{},"续":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"术":{"docs":{},"语":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"下":{"docs":{},"面":{"docs":{},"所":{"docs":{},"用":{"docs":{},"名":{"docs":{},"词":{"docs":{},",":{"docs":{},"“":{"docs":{},"模":{"docs":{},"块":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"和":{"docs":{},"代":{"docs":{},"码":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"真":{"docs":{},"的":{"docs":{},"没":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"当":{"docs":{},"然":{"docs":{},"不":{"docs":{},"是":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"当":{"docs":{},"前":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{},"过":{"docs":{},"早":{"docs":{},"的":{"docs":{},"调":{"docs":{},"整":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"成":{"docs":{},"本":{"docs":{},"却":{"docs":{},"没":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},"产":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"并":{"docs":{},"不":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"是":{"docs":{},"跨":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},"又":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"件":{"docs":{},"事":{"docs":{},"。":{"docs":{},"某":{"docs":{},"个":{"docs":{},"新":{"docs":{},"来":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"存":{"docs":{},"在":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"的":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"何":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"先":{"docs":{},"把":{"docs":{},"父":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"父":{"docs":{},"列":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}},"+":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}},"看":{"docs":{},"编":{"docs":{},"译":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"判":{"docs":{},"断":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"工":{"docs":{},"作":{"docs":{},"队":{"docs":{},"列":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"满":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"将":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"开":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"不":{"docs":{},"用":{"docs":{},"管":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"从":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"找":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"满":{"docs":{},"足":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"比":{"docs":{},"他":{"docs":{},"小":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"比":{"docs":{},"他":{"docs":{},"大":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"趟":{"docs":{},"就":{"docs":{},"是":{"docs":{},"看":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"分":{"docs":{},"割":{"docs":{},"的":{"docs":{},"两":{"docs":{},"半":{"docs":{},",":{"docs":{},"再":{"docs":{},"同":{"docs":{},"样":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"元":{"docs":{},"素":{"docs":{},"满":{"docs":{},"足":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"都":{"docs":{},"比":{"docs":{},"他":{"docs":{},"小":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"比":{"docs":{},"他":{"docs":{},"大":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}},"(":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"是":{"docs":{},"把":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"片":{"docs":{},"元":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"具":{"docs":{},"有":{"docs":{},"将":{"docs":{},"图":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"栅":{"docs":{},"格":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"图":{"docs":{},"象":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"对":{"docs":{},"应":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"像":{"docs":{},"素":{"docs":{},"。":{"docs":{},"(":{"docs":{},"应":{"docs":{},"用":{"docs":{},":":{"docs":{},"较":{"docs":{},"为":{"docs":{},"广":{"docs":{},"泛":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"深":{"docs":{},"度":{"docs":{},"学":{"docs":{},"习":{"docs":{},"卷":{"docs":{},"积":{"docs":{},"神":{"docs":{},"经":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},")":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"动":{"docs":{},"画":{"docs":{},"以":{"docs":{},"及":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"这":{"docs":{},"里":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"下":{"docs":{},",":{"docs":{},"不":{"docs":{},"显":{"docs":{},"示":{"docs":{},"指":{"docs":{},"定":{"docs":{},"属":{"docs":{},"性":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},"时":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"砸":{"docs":{},"壳":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"请":{"docs":{},"看":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"深":{"docs":{},"入":{"docs":{},"研":{"docs":{},"究":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":5}}}}}},"解":{"docs":{},"释":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"其":{"docs":{},"相":{"docs":{},"关":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"在":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"开":{"docs":{},"源":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"关":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"真":{"docs":{},"理":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滨":{"docs":{},"野":{"docs":{},"纯":{"docs":{},"的":{"docs":{},"访":{"docs":{},"谈":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"键":{"docs":{},"字":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5027932960893855}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"不":{"docs":{},"会":{"docs":{},"加":{"1":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"自":{"docs":{},"动":{"docs":{},"被":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"常":{"docs":{},"量":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"分":{"docs":{},"析":{"docs":{},")":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}},"词":{"docs":{},"是":{"docs":{},"从":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"当":{"docs":{},"中":{"docs":{},"找":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{},"都":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},"(":{"docs":{},"二":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"改":{"docs":{},"变":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"将":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"关":{"docs":{},"联":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"类":{"docs":{},"别":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"值":{"docs":{},"的":{"docs":{},"存":{"docs":{},"取":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"关":{"docs":{},"联":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"被":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"身":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"由":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"机":{"docs":{},"与":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},"机":{"docs":{},"并":{"docs":{},"不":{"docs":{},"总":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"实":{"docs":{},"验":{"docs":{},"中":{"docs":{},"用":{"docs":{},"关":{"docs":{},"联":{"docs":{},"策":{"docs":{},"略":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"本":{"docs":{},"质":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"属":{"docs":{},"性":{"docs":{},"声":{"docs":{},"明":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"查":{"docs":{},"阅":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"底":{"docs":{},"层":{"docs":{},"学":{"docs":{},"习":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"链":{"docs":{},"接":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{},"?":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"0":{"3":{"2":{"6":{"2":{"0":{"2":{"0":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"如":{"docs":{},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"过":{"docs":{},"程":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"把":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"查":{"docs":{},"看":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"来":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"如":{"docs":{},"下":{"docs":{},"(":{"docs":{},"实":{"docs":{},"现":{"docs":{},"为":{"docs":{},"升":{"docs":{},"序":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}},"备":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"内":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"容":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"和":{"docs":{},"裁":{"docs":{},"切":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"技":{"docs":{},"术":{"docs":{},"。":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"加":{"docs":{},"上":{"docs":{},"了":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"或":{"docs":{},"其":{"docs":{},"他":{"docs":{},"有":{"docs":{},"图":{"docs":{},"像":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"为":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"有":{"docs":{},"在":{"docs":{},"过":{"docs":{},"时":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"包":{"docs":{},"括":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"、":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"、":{"docs":{},"动":{"docs":{},"态":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}},"的":{"docs":{},"下":{"docs":{},"方":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"根":{"docs":{},"据":{"docs":{},"画":{"docs":{},"家":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"下":{"docs":{},"层":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},"本":{"docs":{},"体":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"两":{"docs":{},"次":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"部":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"交":{"docs":{},"结":{"docs":{},"果":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"了":{"docs":{},";":{"docs":{},"接":{"docs":{},"着":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"日":{"docs":{},"志":{"docs":{},"记":{"docs":{},"录":{"docs":{},"表":{"docs":{},"示":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"写":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"持":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"他":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"产":{"docs":{},"生":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}},"中":{"docs":{},"的":{"5":{"docs":{},"大":{"docs":{},"区":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":10}},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}},"docs":{}}},"浪":{"docs":{},"费":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"管":{"docs":{},"理":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"之":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"原":{"docs":{},"理":{"docs":{},"探":{"docs":{},"究":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"缓":{"docs":{},"存":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"是":{"docs":{},"实":{"docs":{},"际":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"是":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"之":{"docs":{},"上":{"docs":{},"建":{"docs":{},"立":{"docs":{},"的":{"docs":{},"一":{"docs":{},"层":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"内":{"docs":{},"存":{"docs":{},"访":{"docs":{},"问":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"连":{"docs":{},"续":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"保":{"docs":{},"护":{"docs":{},"工":{"docs":{},"具":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}},"核":{"docs":{},"态":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"“":{"docs":{},"领":{"docs":{},"取":{"docs":{},"津":{"docs":{},"贴":{"docs":{},"”":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"思":{"docs":{},"考":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"间":{"docs":{},"耦":{"docs":{},"合":{"docs":{},"严":{"docs":{},"重":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"大":{"docs":{},"多":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"再":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"放":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"其":{"docs":{},"流":{"docs":{},"程":{"docs":{},"也":{"docs":{},"大":{"docs":{},"致":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"子":{"docs":{},"类":{"docs":{},"(":{"docs":{},"可":{"docs":{},"能":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}},"+":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"渲":{"docs":{},"染":{"docs":{},"框":{"docs":{},"架":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"确":{"docs":{},"保":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"切":{"docs":{},"换":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"继":{"docs":{},"续":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"者":{"docs":{},"网":{"docs":{},"络":{"docs":{},"环":{"docs":{},"境":{"docs":{},"时":{"docs":{},"好":{"docs":{},"时":{"docs":{},"坏":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}},"则":{"3":{"docs":{},".":{"1":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"输":{"docs":{},"出":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"输":{"docs":{},"出":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{},"通":{"docs":{},"过":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"对":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"随":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"抛":{"docs":{},"弃":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"图":{"3":{"docs":{},".":{"1":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"输":{"docs":{},"出":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},"6":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"可":{"docs":{},"以":{"docs":{},"采":{"docs":{},"用":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"2":{"docs":{},"表":{"docs":{},"示":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}},"docs":{}}},"docs":{}},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"由":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"有":{"docs":{},"一":{"docs":{},"堆":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"按":{"docs":{},"照":{"docs":{},"规":{"docs":{},"则":{"docs":{},"要":{"docs":{},"求":{"docs":{},"代":{"docs":{},"码":{"docs":{},"才":{"docs":{},"能":{"docs":{},"编":{"docs":{},"译":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"极":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"层":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"一":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"负":{"docs":{},"责":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"当":{"docs":{},"前":{"docs":{},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"成":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"典":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"将":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"来":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"项":{"docs":{},"技":{"docs":{},"术":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"符":{"docs":{},"号":{"docs":{},"断":{"docs":{},"点":{"docs":{},",":{"docs":{},"来":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"查":{"docs":{},"看":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"只":{"docs":{},"用":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"和":{"docs":{},"传":{"docs":{},"递":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"当":{"docs":{},"前":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"则":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"其":{"docs":{},"他":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"写":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"这":{"docs":{},"个":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"做":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"或":{"docs":{},"n":{"docs":{},"o":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"命":{"docs":{},"令":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"让":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"跟":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"一":{"docs":{},"致":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"并":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"离":{"docs":{},"线":{"docs":{},"工":{"docs":{},"作":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"设":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"立":{"docs":{},"即":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"在":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"时":{"docs":{},"才":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{},"(":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"立":{"docs":{},"即":{"docs":{},"解":{"docs":{},"码":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"的":{"docs":{},"打":{"docs":{},"印":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"对":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"取":{"docs":{},"余":{"docs":{},"后":{"docs":{},",":{"docs":{},"所":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"值":{"docs":{},"根":{"docs":{},"据":{"docs":{},"机":{"docs":{},"器":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"0":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"分":{"docs":{},"类":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"来":{"docs":{},"到":{"docs":{},"了":{"docs":{},"下":{"docs":{},"一":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"印":{"docs":{},"代":{"docs":{},"码":{"docs":{},"里":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"外":{"docs":{},"面":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"当":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"成":{"docs":{},"了":{"docs":{},"当":{"docs":{},"时":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"传":{"docs":{},"进":{"docs":{},"来":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"1":{"0":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"来":{"docs":{},"值":{"docs":{},"就":{"docs":{},"是":{"1":{"0":{"docs":{},",":{"docs":{},"不":{"docs":{},"论":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"再":{"docs":{},"如":{"docs":{},"何":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"跟":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"互":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"出":{"docs":{},"来":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"深":{"docs":{},"层":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"而":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"比":{"docs":{},"较":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"最":{"docs":{},"终":{"docs":{},"提":{"docs":{},"供":{"docs":{},"数":{"docs":{},"据":{"docs":{},"还":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"是":{"docs":{},"将":{"docs":{},"源":{"docs":{},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"了":{"docs":{},"自":{"docs":{},"己":{"docs":{},"定":{"docs":{},"义":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"其":{"docs":{},"实":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"正":{"docs":{},"常":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"是":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"地":{"docs":{},"为":{"docs":{},"已":{"docs":{},"有":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"还":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"另":{"docs":{},"外":{"docs":{},"两":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"分":{"docs":{},"开":{"docs":{},"在":{"docs":{},"几":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"面":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"显":{"docs":{},"而":{"docs":{},"易":{"docs":{},"见":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"看":{"docs":{},"作":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"过":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}},"知":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"获":{"docs":{},"得":{"docs":{},"以":{"docs":{},"下":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"多":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"配":{"docs":{},"置":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"取":{"docs":{},"消":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"标":{"docs":{},"明":{"docs":{},"此":{"docs":{},"任":{"docs":{},"务":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"队":{"docs":{},"列":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"取":{"docs":{},"消":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"“":{"docs":{},"安":{"docs":{},"排":{"docs":{},"好":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"不":{"docs":{},"管":{"docs":{},"了":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},":":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"表":{"docs":{},"示":{"docs":{},"此":{"docs":{},"操":{"docs":{},"作":{"docs":{},"与":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"其":{"docs":{},"他":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"它":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},":":{"docs":{},"例":{"docs":{},"如":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"其":{"docs":{},"他":{"docs":{},"文":{"docs":{},"件":{"docs":{},"之":{"docs":{},"前":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"下":{"docs":{},"载":{"docs":{},"“":{"docs":{},"清":{"docs":{},"单":{"docs":{},"文":{"docs":{},"件":{"docs":{},"”":{"docs":{},"。":{"docs":{},"而":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"下":{"docs":{},"载":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"都":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"先":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"清":{"docs":{},"单":{"docs":{},"文":{"docs":{},"件":{"docs":{},"这":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"对":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"查":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"锁":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"而":{"docs":{},"不":{"docs":{},"加":{"docs":{},"锁":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"猜":{"docs":{},"测":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"大":{"docs":{},"于":{"docs":{},"或":{"docs":{},"等":{"docs":{},"于":{"docs":{},"q":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},",":{"docs":{},"让":{"docs":{},"这":{"docs":{},"些":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"低":{"docs":{},"于":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"框":{"docs":{},"架":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"和":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"从":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"使":{"docs":{},"某":{"docs":{},"些":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"事":{"docs":{},"先":{"docs":{},"获":{"docs":{},"知":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"定":{"docs":{},"位":{"docs":{},"文":{"docs":{},"件":{"docs":{},"位":{"docs":{},"置":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"适":{"docs":{},"当":{"docs":{},"给":{"docs":{},"与":{"docs":{},"帮":{"docs":{},"助":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"较":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"效":{"docs":{},"率":{"docs":{},"低":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"更":{"docs":{},"灵":{"docs":{},"活":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"啥":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"打":{"docs":{},"开":{"docs":{},"相":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"有":{"docs":{},"更":{"docs":{},"细":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}},"伸":{"docs":{},"缩":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"能":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"历":{"docs":{},"史":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"以":{"docs":{},"前":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"是":{"3":{"2":{"docs":{},"位":{"docs":{},"的":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"中":{"docs":{},"能":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"就":{"docs":{},"只":{"docs":{},"有":{"docs":{},"$":{"2":{"docs":{},"^":{"7":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"$":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{},"下":{"docs":{},",":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"中":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"会":{"docs":{},"想":{"docs":{},"到":{"docs":{},"用":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"有":{"docs":{},"同":{"docs":{},"学":{"docs":{},"想":{"docs":{},"问":{"docs":{},",":{"docs":{},"我":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"写":{"docs":{},"代":{"docs":{},"码":{"docs":{},"也":{"docs":{},"没":{"docs":{},"问":{"docs":{},"题":{"docs":{},"啊":{"docs":{},"?":{"docs":{},"这":{"docs":{},"点":{"docs":{},"我":{"docs":{},"是":{"docs":{},"不":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"充":{"docs":{},"分":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"会":{"docs":{},"对":{"docs":{},"你":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"大":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"以":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"如":{"docs":{},"何":{"docs":{},"合":{"docs":{},"理":{"docs":{},"利":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"人":{"docs":{},"会":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"惑":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"一":{"docs":{},"直":{"docs":{},"处":{"docs":{},"于":{"docs":{},"忙":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"画":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"各":{"docs":{},"个":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"又":{"docs":{},"被":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"所":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"变":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"中":{"docs":{},"会":{"docs":{},"预":{"docs":{},"留":{"docs":{},"出":{"docs":{},"一":{"docs":{},"段":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"支":{"docs":{},"持":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"是":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"流":{"docs":{},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{},"和":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}},"性":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"说":{"docs":{},"也":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"专":{"docs":{},"业":{"docs":{},"的":{"docs":{},"云":{"docs":{},"服":{"docs":{},"务":{"docs":{},"商":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"都":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"能":{"docs":{},"够":{"docs":{},"保":{"docs":{},"证":{"docs":{},"我":{"docs":{},"们":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"数":{"docs":{},"据":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"和":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"作":{"docs":{},"为":{"docs":{},"普":{"docs":{},"通":{"docs":{},"用":{"docs":{},"户":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"更":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"保":{"docs":{},"护":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"损":{"docs":{},"坏":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"保":{"docs":{},"护":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"或":{"docs":{},"者":{"docs":{},"打":{"docs":{},"开":{"docs":{},"文":{"docs":{},"件":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"文":{"docs":{},"件":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"窘":{"docs":{},"境":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"够":{"docs":{},"及":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"数":{"docs":{},"据":{"docs":{},"因":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"故":{"docs":{},"障":{"docs":{},"而":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"或":{"docs":{},"者":{"docs":{},"损":{"docs":{},"坏":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}},"同":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}},"为":{"docs":{},"了":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"不":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"还":{"docs":{},"使":{"docs":{},"用":{"docs":{},"加":{"docs":{},"盐":{"docs":{},"操":{"docs":{},"作":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"还":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"理":{"docs":{},"解":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"平":{"docs":{},"时":{"docs":{},"定":{"docs":{},"期":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"工":{"docs":{},"具":{"docs":{},"检":{"docs":{},"测":{"docs":{},"无":{"docs":{},"用":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"重":{"docs":{},"复":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"及":{"docs":{},"时":{"docs":{},"优":{"docs":{},"化":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"具":{"docs":{},"有":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"危":{"docs":{},"险":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"些":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"着":{"docs":{},"足":{"docs":{},"够":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},"操":{"docs":{},"作":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"出":{"docs":{},"现":{"docs":{},"操":{"docs":{},"作":{"docs":{},"上":{"docs":{},"的":{"docs":{},"失":{"docs":{},"误":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"将":{"docs":{},"面":{"docs":{},"临":{"docs":{},"这":{"docs":{},"一":{"docs":{},"失":{"docs":{},"误":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"会":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{},"底":{"docs":{},"层":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},",":{"docs":{},"者":{"docs":{},"也":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"我":{"docs":{},"们":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"对":{"docs":{},"于":{"docs":{},"局":{"docs":{},"部":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"其":{"docs":{},"采":{"docs":{},"取":{"docs":{},"“":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"”":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"定":{"docs":{},"在":{"docs":{},"与":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"跨":{"docs":{},"函":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"将":{"docs":{},"其":{"docs":{},"值":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"对":{"docs":{},"其":{"docs":{},"地":{"docs":{},"址":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"的":{"docs":{},"b":{"docs":{},"t":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"插":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"来":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"样":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"其":{"docs":{},"他":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"能":{"docs":{},"在":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"关":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"传":{"docs":{},"入":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"两":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"因":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"一":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"只":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"工":{"docs":{},"作":{"docs":{},"(":{"docs":{},"执":{"docs":{},"行":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"中":{"docs":{},"同":{"docs":{},"时":{"docs":{},"为":{"docs":{},"多":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"提":{"docs":{},"供":{"docs":{},"最":{"docs":{},"理":{"docs":{},"想":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}},"任":{"docs":{},"务":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"/":{"docs":{},"异":{"docs":{},"步":{"docs":{},"和":{"docs":{},"串":{"docs":{},"行":{"docs":{},"/":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},":":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"开":{"docs":{},"启":{"docs":{},"新":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},":":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"给":{"docs":{},"查":{"docs":{},"号":{"docs":{},"台":{"docs":{},",":{"docs":{},"问":{"docs":{},"某":{"docs":{},"个":{"docs":{},"地":{"docs":{},"方":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},"码":{"docs":{},",":{"docs":{},"接":{"docs":{},"线":{"docs":{},"员":{"docs":{},"会":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"你":{"docs":{},"稍":{"docs":{},"等":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"为":{"docs":{},"你":{"docs":{},"查":{"docs":{},"号":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"你":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"没":{"docs":{},"有":{"docs":{},"挂":{"docs":{},"断":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"打":{"docs":{},"进":{"docs":{},"来":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"接":{"docs":{},"线":{"docs":{},"员":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"你":{"docs":{},"要":{"docs":{},"找":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"你":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"将":{"docs":{},"电":{"docs":{},"话":{"docs":{},"挂":{"docs":{},"断":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{},"若":{"docs":{},"是":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"从":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"属":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},"图":{"3":{"docs":{},".":{"1":{"0":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"中":{"docs":{},"采":{"docs":{},"用":{"docs":{},"一":{"docs":{},"种":{"docs":{},"链":{"docs":{},"表":{"docs":{},"结":{"docs":{},"构":{"docs":{},"存":{"docs":{},"储":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"链":{"docs":{},"表":{"docs":{},"称":{"docs":{},"为":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"链":{"docs":{},"表":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"序":{"docs":{},"访":{"docs":{},"问":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"后":{"docs":{},"序":{"docs":{},"访":{"docs":{},"问":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"4":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"5":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"docs":{}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"5":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"6":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"采":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"7":{"docs":{},"表":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"7":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"8":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"9":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"层":{"docs":{},"蒙":{"docs":{},"版":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"内":{"docs":{},"容":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"(":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"者":{"docs":{},"间":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"像":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"程":{"docs":{},"粗":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"地":{"docs":{},"大":{"docs":{},"概":{"docs":{},"分":{"docs":{},"为":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"片":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"格":{"docs":{},"式":{"docs":{},"转":{"docs":{},"换":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"步":{"docs":{},":":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"解":{"docs":{},"码":{"docs":{},"、":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"与":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":5.016129032258065}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"加":{"docs":{},"载":{"docs":{},"奇":{"docs":{},"淫":{"docs":{},"巧":{"docs":{},"技":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"/":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"读":{"docs":{},"写":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"/":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}},"给":{"docs":{},"你":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"切":{"docs":{},"一":{"docs":{},"倍":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"要":{"docs":{},"和":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"应":{"docs":{},"才":{"docs":{},"能":{"docs":{},"达":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"不":{"docs":{},"同":{"docs":{},"设":{"docs":{},"备":{"docs":{},"显":{"docs":{},"示":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"大":{"docs":{},"小":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"参":{"docs":{},"考":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"文":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"秒":{"docs":{},"开":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"圆":{"docs":{},"角":{"docs":{},"+":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"s":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}},"(":{"docs":{},"当":{"docs":{},"和":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"多":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"层":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"加":{"docs":{},"一":{"docs":{},"层":{"docs":{},"判":{"docs":{},"断":{"docs":{},"—":{"docs":{},"—":{"docs":{},"判":{"docs":{},"断":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"显":{"docs":{},"然":{"docs":{},"为":{"docs":{},"了":{"docs":{},"满":{"docs":{},"足":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"而":{"docs":{},"去":{"docs":{},"增":{"docs":{},"加":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"取":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"并":{"docs":{},"发":{"docs":{},"(":{"docs":{},"同":{"docs":{},"时":{"docs":{},")":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"执":{"docs":{},"行":{"docs":{},"快":{"docs":{},"速":{"docs":{},"地":{"docs":{},"在":{"docs":{},"多":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"调":{"docs":{},"度":{"docs":{},"(":{"docs":{},"切":{"docs":{},"换":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"是":{"docs":{},":":{"docs":{},"新":{"docs":{},"建":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"中":{"docs":{},"队":{"docs":{},"列":{"docs":{},"分":{"docs":{},"为":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},"之":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"锁":{"docs":{},"中":{"docs":{},"性":{"docs":{},"能":{"docs":{},"最":{"docs":{},"差":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"却":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"锁":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"单":{"docs":{},"写":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"次":{"docs":{},"锁":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"会":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"后":{"docs":{},"果":{"docs":{},"吗":{"docs":{},"—":{"docs":{},"—":{"docs":{},"会":{"docs":{},"从":{"docs":{},"高":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"会":{"docs":{},"锁":{"docs":{},"一":{"docs":{},"次":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"协":{"docs":{},"作":{"docs":{},"紧":{"docs":{},"密":{"docs":{},"的":{"docs":{},"整":{"docs":{},"体":{"docs":{},",":{"docs":{},"发":{"docs":{},"版":{"docs":{},"节":{"docs":{},"奏":{"docs":{},"基":{"docs":{},"本":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"控":{"docs":{},"件":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"以":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"整":{"docs":{},"个":{"docs":{},"提":{"docs":{},"交":{"docs":{},"链":{"docs":{},"条":{"docs":{},"上":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"和":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"也":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"抵":{"docs":{},"御":{"docs":{},"了":{"docs":{},"来":{"docs":{},"自":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"篡":{"docs":{},"改":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"被":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"。":{"docs":{},"向":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"提":{"docs":{},"交":{"docs":{},"图":{"docs":{},"层":{"docs":{},"树":{"docs":{},"。":{"docs":{},"当":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},",":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"合":{"docs":{},"并":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"触":{"docs":{},"发":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"去":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"强":{"docs":{},"制":{"docs":{},"把":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"是":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"我":{"docs":{},"们":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"是":{"docs":{},"有":{"docs":{},"值":{"docs":{},"的":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"就":{"docs":{},"到":{"docs":{},"了":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"堆":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"身":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"堆":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"全":{"docs":{},"局":{"docs":{},"区":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"组":{"docs":{},".":{"docs":{},"o":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}},"用":{"docs":{},"来":{"docs":{},"构":{"docs":{},"造":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"指":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"调":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"接":{"docs":{},"受":{"docs":{},"者":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"插":{"docs":{},"桩":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"一":{"docs":{},"组":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"这":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"休":{"docs":{},"眠":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},",":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"度":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"化":{"docs":{},"的":{"docs":{},"经":{"docs":{},"典":{"docs":{},"框":{"docs":{},"架":{"docs":{},"之":{"docs":{},"一":{"docs":{},"。":{"docs":{},"它":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{},"即":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"提":{"docs":{},"供":{"docs":{},"自":{"docs":{},"己":{"docs":{},"对":{"docs":{},"外":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"此":{"docs":{},"声":{"docs":{},"明":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},"。":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"能":{"docs":{},"从":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},"看":{"docs":{},"到":{"docs":{},"存":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"例":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"的":{"docs":{},"库":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"回":{"docs":{},"顾":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"推":{"docs":{},"导":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"事":{"docs":{},"实":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"布":{"docs":{},"局":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"添":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"就":{"docs":{},"会":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"类":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"编":{"docs":{},"译":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"灾":{"docs":{},"难":{"docs":{},"性":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"为":{"docs":{},"类":{"docs":{},"动":{"docs":{},"态":{"docs":{},"增":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"经":{"docs":{},"验":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"一":{"docs":{},"般":{"docs":{},"用":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绪":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},":":{"docs":{},"向":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"加":{"docs":{},"入":{"docs":{},"可":{"docs":{},"调":{"docs":{},"度":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"等":{"docs":{},"待":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"调":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"做":{"docs":{},"加":{"docs":{},"载":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"确":{"docs":{},"定":{"docs":{},"。":{"docs":{},"当":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"这":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"来":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"各":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"里":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"文":{"docs":{},"件":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"识":{"docs":{},"别":{"docs":{},"出":{"docs":{},"这":{"docs":{},"些":{"docs":{},"页":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"放":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"与":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"属":{"docs":{},"于":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"类":{"docs":{},"没":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"了":{"docs":{},"这":{"docs":{},"种":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"。":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"迁":{"docs":{},"到":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"卸":{"docs":{},"载":{"docs":{},";":{"docs":{},"或":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"而":{"docs":{},"子":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"过":{"docs":{},"后":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"释":{"docs":{},"放":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"购":{"docs":{},"买":{"docs":{},"过":{"docs":{},"该":{"docs":{},"商":{"docs":{},"品":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"无":{"docs":{},"法":{"docs":{},"向":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"以":{"docs":{},"及":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"构":{"docs":{},"成":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"要":{"docs":{},"素":{"docs":{},"。":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"满":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"或":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"者":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"等":{"docs":{},"大":{"docs":{},"的":{"docs":{},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{},"当":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"译":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"直":{"docs":{},"对":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"是":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"多":{"docs":{},"或":{"docs":{},"少":{"docs":{},",":{"docs":{},"你":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"或":{"docs":{},"者":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"探":{"docs":{},"索":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"寻":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{},"(":{"6":{"docs":{},")":{"docs":{},"—":{"docs":{},"—":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"本":{"docs":{},"质":{"docs":{},"(":{"docs":{},"二":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"一":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"去":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"供":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"一":{"docs":{},"套":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"将":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"更":{"docs":{},"强":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"单":{"docs":{},"播":{"docs":{},",":{"docs":{},"多":{"docs":{},"播":{"docs":{},",":{"docs":{},"广":{"docs":{},"播":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"过":{"docs":{},"程":{"docs":{},"当":{"docs":{},"中":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"事":{"docs":{},"务":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"把":{"docs":{},"一":{"docs":{},"组":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"示":{"docs":{},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"高":{"docs":{},"项":{"docs":{},"目":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}},"升":{"docs":{},"了":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"被":{"docs":{},"完":{"docs":{},"全":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},",":{"docs":{},"取":{"docs":{},"而":{"docs":{},"代":{"docs":{},"之":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"将":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"放":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}},"一":{"docs":{},"题":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"将":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"画":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"采":{"docs":{},"集":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"和":{"docs":{},"混":{"docs":{},"合":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"会":{"docs":{},"对":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"交":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"后":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"没":{"docs":{},"有":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"奉":{"docs":{},"上":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"爸":{"docs":{},"爸":{"docs":{},"关":{"docs":{},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"段":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"的":{"docs":{},"回":{"docs":{},"答":{"docs":{},"就":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"会":{"docs":{},"再":{"docs":{},"交":{"docs":{},"由":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"沉":{"docs":{},"淀":{"docs":{},"出":{"docs":{},"了":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"我":{"docs":{},"们":{"docs":{},"决":{"docs":{},"定":{"docs":{},"节":{"docs":{},"省":{"docs":{},"每":{"docs":{},"一":{"docs":{},"份":{"docs":{},"精":{"docs":{},"力":{"docs":{},",":{"docs":{},"效":{"docs":{},"率":{"docs":{},"最":{"docs":{},"大":{"docs":{},"化":{"docs":{},"。":{"docs":{},"将":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"摒":{"docs":{},"弃":{"docs":{},"系":{"docs":{},"统":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}},"高":{"docs":{},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"大":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"位":{"docs":{},"后":{"docs":{},"面":{"docs":{},"一":{"docs":{},"位":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"须":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"移":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"其":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"繁":{"docs":{},"忙":{"docs":{},"的":{"docs":{},"时":{"docs":{},"段":{"docs":{},",":{"docs":{},"达":{"docs":{},"到":{"docs":{},"平":{"docs":{},"滑":{"docs":{},"性":{"docs":{},"能":{"docs":{},"波":{"docs":{},"动":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"讲":{"docs":{},"解":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}},"式":{"docs":{},"下":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},",":{"docs":{},"不":{"docs":{},"生":{"docs":{},"成":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"关":{"docs":{},"闭":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"将":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"选":{"docs":{},"项":{"docs":{},"在":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"高":{"docs":{},"层":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"使":{"docs":{},"得":{"docs":{},"这":{"docs":{},"一":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"引":{"docs":{},"入":{"docs":{},"外":{"docs":{},"观":{"docs":{},"角":{"docs":{},"色":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"直":{"docs":{},"接":{"docs":{},"与":{"docs":{},"外":{"docs":{},"观":{"docs":{},"角":{"docs":{},"色":{"docs":{},"交":{"docs":{},"互":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"与":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"关":{"docs":{},"系":{"docs":{},"由":{"docs":{},"外":{"docs":{},"观":{"docs":{},"角":{"docs":{},"色":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"耦":{"docs":{},"合":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"造":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"以":{"docs":{},"下":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"块":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"显":{"docs":{},"卡":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"所":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"资":{"docs":{},"产":{"docs":{},"模":{"docs":{},"块":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"。":{"docs":{},"但":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"这":{"docs":{},"个":{"docs":{},"口":{"docs":{},"子":{"docs":{},"放":{"docs":{},"开":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"有":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"放":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"中":{"docs":{},"写":{"docs":{},"代":{"docs":{},"码":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"名":{"docs":{},"有":{"docs":{},"所":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},"外":{"docs":{},"观":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},"模":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"构":{"docs":{},"。":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"内":{"docs":{},"设":{"docs":{},"计":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"外":{"docs":{},"观":{"docs":{},"层":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"化":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"是":{"docs":{},"把":{"docs":{},"通":{"docs":{},"知":{"docs":{},"方":{"docs":{},"案":{"docs":{},"作":{"docs":{},"为":{"docs":{},"以":{"docs":{},"上":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"的":{"docs":{},"补":{"docs":{},"充":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"对":{"docs":{},"上":{"docs":{},"层":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"反":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"引":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"被":{"docs":{},"迫":{"docs":{},"中":{"docs":{},"断":{"docs":{},"手":{"docs":{},"头":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"先":{"docs":{},"去":{"docs":{},"解":{"docs":{},"决":{"docs":{},"编":{"docs":{},"译":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"采":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"很":{"docs":{},"薄":{"docs":{},"的":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"共":{"docs":{},"同":{"docs":{},"修":{"docs":{},"改":{"docs":{},"维":{"docs":{},"护":{"docs":{},"这":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"受":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"目":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"将":{"docs":{},"其":{"docs":{},"拆":{"docs":{},"开":{"docs":{},"。":{"docs":{},"将":{"docs":{},"来":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"做":{"docs":{},"分":{"docs":{},"拆":{"docs":{},"改":{"docs":{},"造":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"改":{"docs":{},"造":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},"很":{"docs":{},"小":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"明":{"docs":{},"确":{"docs":{},"业":{"docs":{},"务":{"docs":{},"组":{"docs":{},"归":{"docs":{},"属":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"小":{"docs":{},"组":{"docs":{},"都":{"docs":{},"能":{"docs":{},"编":{"docs":{},"辑":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"打":{"docs":{},"开":{"docs":{},"会":{"docs":{},"员":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"部":{"docs":{},"信":{"docs":{},"息":{"docs":{},"才":{"docs":{},"能":{"docs":{},"完":{"docs":{},"成":{"docs":{},"反":{"docs":{},"射":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"产":{"docs":{},"出":{"docs":{},"以":{"docs":{},"及":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"间":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"基":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"通":{"docs":{},"信":{"docs":{},"方":{"docs":{},"式":{"docs":{},"设":{"docs":{},"计":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"存":{"docs":{},"在":{"docs":{},")":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{},"内":{"docs":{},"部":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"如":{"docs":{},"我":{"docs":{},"上":{"docs":{},"周":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"你":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"库":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"一":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"以":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"字":{"docs":{},"段":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"仅":{"docs":{},"跟":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"产":{"docs":{},"品":{"docs":{},"页":{"docs":{},"面":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"忙":{"docs":{},"于":{"docs":{},"执":{"docs":{},"行":{"docs":{},"某":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"它":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"也":{"docs":{},"能":{"docs":{},"在":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"统":{"docs":{},"一":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"直":{"docs":{},"接":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},",":{"docs":{},"我":{"docs":{},"从":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"新":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"需":{"docs":{},"更":{"docs":{},"改":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"的":{"docs":{},"常":{"docs":{},"量":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"符":{"docs":{},"号":{"docs":{},"声":{"docs":{},"明":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"程":{"docs":{},";":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"同":{"docs":{},"时":{"docs":{},"不":{"docs":{},"够":{"docs":{},"轻":{"docs":{},"量":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"多":{"docs":{},"安":{"docs":{},"全":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"显":{"docs":{},"得":{"docs":{},"比":{"docs":{},"较":{"docs":{},"随":{"docs":{},"意":{"docs":{},"、":{"docs":{},"宽":{"docs":{},"松":{"docs":{},",":{"docs":{},"而":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}},"啥":{"docs":{},"结":{"docs":{},"果":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"大":{"docs":{},"毛":{"docs":{},"病":{"docs":{},",":{"docs":{},"对":{"docs":{},"吧":{"docs":{},"?":{"docs":{},"现":{"docs":{},"在":{"docs":{},"来":{"docs":{},"详":{"docs":{},"细":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"未":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"下":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"要":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"价":{"docs":{},"值":{"docs":{},"的":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"?":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"添":{"docs":{},"加":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"圆":{"docs":{},"角":{"docs":{},"和":{"docs":{},"裁":{"docs":{},"切":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"更":{"docs":{},"新":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"类":{"docs":{},"的":{"docs":{},"只":{"docs":{},"读":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}},"到":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"按":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"间":{"docs":{},"接":{"docs":{},"实":{"docs":{},"现":{"docs":{},"分":{"docs":{},"类":{"docs":{},"有":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"结":{"docs":{},"果":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},")":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"此":{"docs":{},"时":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"情":{"docs":{},"况":{"docs":{},"导":{"docs":{},"致":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"无":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"入":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"经":{"docs":{},"过":{"docs":{},"了":{"docs":{},"离":{"docs":{},"屏":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"首":{"docs":{},"先":{"docs":{},"将":{"docs":{},"图":{"docs":{},"层":{"docs":{},"数":{"docs":{},"据":{"docs":{},"交":{"docs":{},"给":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"后":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},";":{"docs":{},"当":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"四":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"里":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"不":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"就":{"docs":{},"是":{"docs":{},"俗":{"docs":{},"称":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"并":{"docs":{},"非":{"docs":{},"真":{"docs":{},"正":{"docs":{},"意":{"docs":{},"义":{"docs":{},"上":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"证":{"docs":{},"据":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"调":{"docs":{},"优":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"始":{"docs":{},"终":{"docs":{},"是":{"docs":{},"在":{"docs":{},"做":{"docs":{},"一":{"docs":{},"件":{"docs":{},"事":{"docs":{},":":{"docs":{},"平":{"docs":{},"衡":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"率":{"docs":{},"不":{"docs":{},"高":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"较":{"docs":{},"为":{"docs":{},"通":{"docs":{},"用":{"docs":{},"灵":{"docs":{},"活":{"docs":{},";":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"虽":{"docs":{},"然":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"速":{"docs":{},"度":{"docs":{},"不":{"docs":{},"够":{"docs":{},"快":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"只":{"docs":{},"适":{"docs":{},"合":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"字":{"docs":{},"、":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"想":{"docs":{},"象":{"docs":{},"一":{"docs":{},"下":{"docs":{},"没":{"docs":{},"有":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},"的":{"docs":{},"视":{"docs":{},"频":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"惨":{"docs":{},"不":{"docs":{},"忍":{"docs":{},"睹":{"docs":{},")":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"线":{"docs":{},"程":{"docs":{},"完":{"docs":{},"成":{"docs":{},"(":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},")":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"o":{"docs":{},")":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"父":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"类":{"docs":{},"和":{"docs":{},"本":{"docs":{},"类":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"用":{"docs":{},"写":{"docs":{},"明":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"就":{"docs":{},"够":{"docs":{},"了":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"他":{"docs":{},"和":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"视":{"docs":{},"图":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"则":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"机":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"上":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"正":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"是":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"而":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"暂":{"docs":{},"存":{"docs":{},"到":{"docs":{},"另":{"docs":{},"外":{"docs":{},"的":{"docs":{},"区":{"docs":{},"域":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{},"得":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"来":{"docs":{},"到":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"对":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"进":{"docs":{},"行":{"docs":{},"&":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"信":{"docs":{},"息":{"docs":{},"则":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{},"内":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"且":{"docs":{},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"从":{"docs":{},"未":{"docs":{},"被":{"docs":{},"我":{"docs":{},"们":{"docs":{},"利":{"docs":{},"用":{"docs":{},"过":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"执":{"docs":{},"行":{"docs":{},"中":{"docs":{},"只":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"起":{"docs":{},"来":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"内":{"docs":{},"存":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"越":{"docs":{},"小":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"越":{"docs":{},"少":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"局":{"docs":{},"部":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"语":{"docs":{},"法":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"所":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"使":{"docs":{},"其":{"docs":{},"在":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"主":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},",":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"点":{"docs":{},"击":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"却":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"缺":{"docs":{},"页":{"docs":{},"中":{"docs":{},"断":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"高":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"一":{"docs":{},"直":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"占":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"时":{"docs":{},"间":{"docs":{},"片":{"docs":{},";":{"docs":{},"而":{"docs":{},"低":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"任":{"docs":{},"务":{"docs":{},"无":{"docs":{},"法":{"docs":{},"抢":{"docs":{},"占":{"docs":{},"时":{"docs":{},"间":{"docs":{},"片":{"docs":{},",":{"docs":{},"变":{"docs":{},"成":{"docs":{},"迟":{"docs":{},"迟":{"docs":{},"完":{"docs":{},"不":{"docs":{},"成":{"docs":{},",":{"docs":{},"不":{"docs":{},"释":{"docs":{},"放":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"生":{"docs":{},"效":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"这":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"都":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"网":{"docs":{},"络":{"docs":{},"返":{"docs":{},"回":{"docs":{},"真":{"docs":{},"实":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"等":{"docs":{},"待":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"言":{"docs":{},",":{"docs":{},"预":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"针":{"docs":{},"对":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"不":{"docs":{},"是":{"docs":{},"透":{"docs":{},"明":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}},"后":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"哲":{"docs":{},"学":{"docs":{},"为":{"docs":{},"它":{"docs":{},"带":{"docs":{},"来":{"docs":{},"了":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"与":{"docs":{},"众":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"今":{"docs":{},"天":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"少":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"块":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"一":{"docs":{},"样":{"docs":{},"大":{"docs":{},"的":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}},"于":{"docs":{},"该":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"作":{"docs":{},"用":{"docs":{},"后":{"docs":{},"文":{"docs":{},"会":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"此":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"还":{"docs":{},"在":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"与":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"共":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"块":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"而":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"机":{"docs":{},"会":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"还":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"跟":{"docs":{},"它":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"共":{"docs":{},"同":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"由":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"基":{"docs":{},"于":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"选":{"docs":{},"择":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"困":{"docs":{},"惑":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"选":{"docs":{},"择":{"docs":{},"支":{"docs":{},"持":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"都":{"docs":{},"是":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"工":{"docs":{},"具":{"docs":{},"之":{"docs":{},"间":{"docs":{},"命":{"docs":{},"令":{"docs":{},"的":{"docs":{},"对":{"docs":{},"照":{"docs":{},"表":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"给":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"加":{"docs":{},"上":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"后":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"进":{"docs":{},"行":{"docs":{},"签":{"docs":{},"名":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"次":{"docs":{},"翻":{"docs":{},"身":{"docs":{},"的":{"docs":{},"机":{"docs":{},"会":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"进":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"便":{"docs":{},"加":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"就":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"新":{"docs":{},"增":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"标":{"docs":{},"准":{"docs":{},"化":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"需":{"docs":{},"要":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"查":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"无":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"查":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"没":{"docs":{},"命":{"docs":{},"中":{"docs":{},",":{"docs":{},"再":{"docs":{},"顺":{"docs":{},"次":{"docs":{},"查":{"docs":{},"找":{"docs":{},"各":{"docs":{},"个":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"就":{"docs":{},"转":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"计":{"docs":{},"数":{"docs":{},"类":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"来":{"docs":{},"保":{"docs":{},"持":{"docs":{},"当":{"docs":{},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"值":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{},"若":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"出":{"docs":{},"了":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{},"元":{"docs":{},"类":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"种":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"在":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"这":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"插":{"docs":{},"口":{"docs":{},"(":{"docs":{},"客":{"docs":{},"户":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},")":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"情":{"docs":{},"况":{"docs":{},"就":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"也":{"docs":{},"是":{"docs":{},"满":{"docs":{},"足":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"已":{"docs":{},"经":{"docs":{},"近":{"docs":{},"似":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"条":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"顿":{"docs":{},"时":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"就":{"docs":{},"十":{"docs":{},"分":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"自":{"docs":{},"己":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"意":{"docs":{},"创":{"docs":{},"建":{"docs":{},"多":{"docs":{},"个":{"docs":{},"它":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"前":{"docs":{},"面":{"docs":{},"加":{"docs":{},"上":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"且":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"最":{"docs":{},"后":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"查":{"docs":{},"看":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"也":{"docs":{},"包":{"docs":{},"括":{"docs":{},"调":{"docs":{},"用":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"都":{"docs":{},"有":{"docs":{},"效":{"docs":{},"。":{"docs":{},"实":{"docs":{},"现":{"docs":{},"起":{"docs":{},"来":{"docs":{},"也":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"在":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"写":{"docs":{},"反":{"docs":{},"射":{"docs":{},"代":{"docs":{},"码":{"docs":{},"了":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"的":{"docs":{},"只":{"docs":{},"有":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"符":{"docs":{},"合":{"docs":{},"团":{"docs":{},"队":{"docs":{},"协":{"docs":{},"作":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"比":{"docs":{},"较":{"docs":{},"粗":{"docs":{},"暴":{"docs":{},",":{"docs":{},"但":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"两":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"应":{"docs":{},"该":{"docs":{},"不":{"docs":{},"会":{"docs":{},"很":{"docs":{},"多":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"太":{"docs":{},"多":{"docs":{},"则":{"docs":{},"应":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"是":{"docs":{},"否":{"docs":{},"划":{"docs":{},"分":{"docs":{},"合":{"docs":{},"适":{"docs":{},")":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"操":{"docs":{},"作":{"docs":{},"起":{"docs":{},"来":{"docs":{},"成":{"docs":{},"本":{"docs":{},"可":{"docs":{},"控":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"受":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"也":{"docs":{},"能":{"docs":{},"达":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"但":{"docs":{},"两":{"docs":{},"边":{"docs":{},"模":{"docs":{},"型":{"docs":{},"定":{"docs":{},"义":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"个":{"docs":{},"检":{"docs":{},"查":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"命":{"docs":{},"名":{"docs":{},"规":{"docs":{},"则":{"docs":{},"查":{"docs":{},"找":{"docs":{},"这":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"都":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"效":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"全":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"开":{"docs":{},"来":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"里":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"并":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}},"推":{"docs":{},"荐":{"docs":{},"大":{"docs":{},"家":{"docs":{},"去":{"docs":{},"看":{"docs":{},"《":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"传":{"docs":{},"递":{"docs":{},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"里":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"务":{"docs":{},"包":{"docs":{},"含":{"docs":{},"之":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"图":{"docs":{},"示":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"假":{"docs":{},"想":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"父":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"都":{"docs":{},"注":{"docs":{},"册":{"docs":{},"对":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"观":{"docs":{},"察":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"仅":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"已":{"docs":{},"经":{"docs":{},"区":{"docs":{},"分":{"docs":{},"不":{"docs":{},"了":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"了":{"docs":{},",":{"docs":{},"现":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"解":{"docs":{},"决":{"docs":{},"办":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"和":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"需":{"docs":{},"要":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"—":{"docs":{},"—":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},":":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"全":{"docs":{},"称":{"docs":{},"为":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"析":{"docs":{},"下":{"docs":{},"第":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"要":{"docs":{},"强":{"docs":{},"调":{"docs":{},",":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"控":{"docs":{},"制":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"公":{"docs":{},"司":{"docs":{},"中":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"着":{"docs":{},"一":{"docs":{},"席":{"docs":{},"之":{"docs":{},"地":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"来":{"docs":{},"分":{"docs":{},"别":{"docs":{},"限":{"docs":{},"制":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},"并":{"docs":{},"不":{"docs":{},"可":{"docs":{},"行":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"是":{"docs":{},"最":{"docs":{},"后":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"做":{"docs":{},"的":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"是":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"些":{"docs":{},"比":{"docs":{},"较":{"docs":{},"开":{"docs":{},"放":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},"便":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"查":{"docs":{},"找":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"补":{"docs":{},"充":{"docs":{},"一":{"docs":{},"点":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"展":{"docs":{},"示":{"docs":{},"过":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"在":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"没":{"docs":{},"有":{"docs":{},"展":{"docs":{},"示":{"docs":{},"之":{"docs":{},"前":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"而":{"docs":{},"是":{"docs":{},"展":{"docs":{},"示":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"者":{"docs":{},"不":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"利":{"docs":{},"用":{"docs":{},"前":{"docs":{},"面":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"几":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"说":{"docs":{},"明":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"就":{"docs":{},"不":{"docs":{},"贴":{"docs":{},"了":{"docs":{},".":{"docs":{},"*":{"docs":{},"/":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"陷":{"docs":{},"阱":{"docs":{},"—":{"docs":{},"—":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"经":{"docs":{},"过":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"试":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"里":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"主":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"前":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"在":{"docs":{},"自":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"动":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"视":{"docs":{},"图":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"会":{"docs":{},"注":{"docs":{},"册":{"3":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"并":{"docs":{},"给":{"docs":{},"出":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}},"docs":{}}}},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"正":{"docs":{},"式":{"docs":{},"入":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"面":{"docs":{},"都":{"docs":{},"主":{"docs":{},"要":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"我":{"docs":{},"给":{"docs":{},"他":{"docs":{},"起":{"docs":{},"名":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"和":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"表":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"和":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"并":{"docs":{},"更":{"docs":{},"新":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"主":{"docs":{},"要":{"docs":{},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"到":{"docs":{},"底":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"去":{"docs":{},"做":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"就":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"首":{"docs":{},"先":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"支":{"docs":{},"是":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"确":{"docs":{},"切":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"标":{"docs":{},"记":{"docs":{},"只":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"于":{"docs":{},"参":{"docs":{},"考":{"docs":{},"资":{"docs":{},"料":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"框":{"docs":{},"架":{"docs":{},"和":{"docs":{},"业":{"docs":{},"务":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"设":{"docs":{},"计":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"个":{"docs":{},"人":{"docs":{},"认":{"docs":{},"为":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"冗":{"docs":{},"余":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"与":{"docs":{},"业":{"docs":{},"务":{"docs":{},"交":{"docs":{},"互":{"docs":{},"而":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"中":{"docs":{},"间":{"docs":{},"类":{"docs":{},"可":{"docs":{},"能":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"更":{"docs":{},"舒":{"docs":{},"服":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"去":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"参":{"docs":{},"数":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"空":{"docs":{},"间":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"意":{"docs":{},"思":{"docs":{},"呢":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"处":{"docs":{},"于":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},"区":{"docs":{},"域":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"各":{"docs":{},"个":{"docs":{},"段":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"和":{"docs":{},"节":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"在":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"区":{"docs":{},"域":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"克":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"内":{"docs":{},"容":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{},"前":{"docs":{},"面":{"docs":{},"是":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"编":{"docs":{},"号":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"是":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"编":{"docs":{},"号":{"docs":{},"在":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"映":{"docs":{},"射":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"以":{"docs":{},"下":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"包":{"docs":{},"括":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"思":{"docs":{},"路":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"能":{"docs":{},"够":{"docs":{},"减":{"docs":{},"少":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"冗":{"docs":{},"余":{"docs":{},",":{"docs":{},"减":{"docs":{},"小":{"docs":{},"包":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"包":{"docs":{},"括":{"docs":{},"动":{"docs":{},"态":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"需":{"docs":{},"要":{"docs":{},"删":{"docs":{},"除":{"docs":{},"的":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"些":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"会":{"docs":{},"告":{"docs":{},"知":{"docs":{},"系":{"docs":{},"统":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"根":{"docs":{},"本":{"docs":{},"原":{"docs":{},"因":{"docs":{},"还":{"docs":{},"是":{"docs":{},"存":{"docs":{},"在":{"docs":{},"效":{"docs":{},"率":{"docs":{},"损":{"docs":{},"失":{"docs":{},",":{"docs":{},"\"":{"docs":{},"不":{"docs":{},"方":{"docs":{},"便":{"docs":{},"\"":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"导":{"docs":{},"致":{"docs":{},"了":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},":":{"docs":{},"给":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"一":{"docs":{},"个":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"让":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"被":{"docs":{},"弃":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"应":{"docs":{},"当":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"在":{"docs":{},"背":{"docs":{},"后":{"docs":{},"悄":{"docs":{},"悄":{"docs":{},"地":{"docs":{},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"本":{"docs":{},"地":{"docs":{},"发":{"docs":{},"生":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"获":{"docs":{},"取":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"覆":{"docs":{},"盖":{"docs":{},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"加":{"docs":{},"入":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"确":{"docs":{},"认":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"、":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"、":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"也":{"docs":{},"正":{"docs":{},"常":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"要":{"docs":{},"求":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"道":{"docs":{},"题":{"docs":{},"看":{"docs":{},"着":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"是":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"解":{"docs":{},"题":{"docs":{},"的":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"思":{"docs":{},"路":{"docs":{},"确":{"docs":{},"是":{"docs":{},"在":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"上":{"docs":{},",":{"docs":{},"更":{"docs":{},"准":{"docs":{},"确":{"docs":{},"的":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"看":{"docs":{},"对":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"程":{"docs":{},"度":{"docs":{},"。":{"docs":{},"关":{"docs":{},"键":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},"是":{"docs":{},":":{"docs":{},"对":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"有":{"docs":{},"序":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"考":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"一":{"docs":{},"步":{"docs":{},"与":{"docs":{},"上":{"docs":{},"一":{"docs":{},"步":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"看":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"归":{"docs":{},"纳":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"分":{"5":{"docs":{},"条":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"docs":{}}}}}}}}}}}}}}}}}},"层":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"从":{"docs":{},"用":{"docs":{},"户":{"docs":{},"感":{"docs":{},"知":{"docs":{},"维":{"docs":{},"度":{"docs":{},"定":{"docs":{},"义":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"代":{"docs":{},"码":{"docs":{},"上":{"docs":{},"如":{"docs":{},"何":{"docs":{},"定":{"docs":{},"义":{"docs":{},"启":{"docs":{},"动":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"对":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"、":{"docs":{},"类":{"docs":{},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"类":{"docs":{},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"作":{"docs":{},"为":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"但":{"docs":{},"能":{"docs":{},"防":{"docs":{},"止":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"所":{"docs":{},"在":{"docs":{},":":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"了":{"docs":{},"就":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},"递":{"docs":{},"归":{"docs":{},"从":{"docs":{},"而":{"docs":{},"防":{"docs":{},"止":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"取":{"docs":{},"消":{"docs":{},"掉":{"docs":{},"同":{"docs":{},"名":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{},"就":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"就":{"docs":{},"会":{"docs":{},"记":{"docs":{},"录":{"docs":{},"在":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"么":{"docs":{},"做":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"四":{"docs":{},"个":{"docs":{},"是":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"三":{"docs":{},"个":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"有":{"docs":{},"非":{"docs":{},"常":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"述":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"时":{"docs":{},"又":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"了":{"docs":{},"平":{"docs":{},"衡":{"docs":{},",":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"树":{"docs":{},"又":{"docs":{},"不":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"了":{"docs":{},",":{"docs":{},"以":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"次":{"docs":{},"为":{"docs":{},"大":{"docs":{},"家":{"docs":{},"带":{"docs":{},"来":{"docs":{},"我":{"docs":{},"司":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"句":{"docs":{},"话":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"通":{"docs":{},"用":{"docs":{},"方":{"docs":{},"案":{"docs":{},"只":{"docs":{},"是":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"的":{"docs":{},"冰":{"docs":{},"山":{"docs":{},"一":{"docs":{},"角":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"落":{"docs":{},"地":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"还":{"docs":{},"有":{"docs":{},"相":{"docs":{},"当":{"docs":{},"多":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"量":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"并":{"docs":{},"不":{"docs":{},"准":{"docs":{},"备":{"docs":{},"对":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"方":{"docs":{},"案":{"docs":{},"给":{"docs":{},"出":{"docs":{},"一":{"docs":{},"份":{"docs":{},"标":{"docs":{},"准":{"docs":{},"答":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"实":{"docs":{},"践":{"docs":{},"经":{"docs":{},"验":{"docs":{},"和":{"docs":{},"思":{"docs":{},"考":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"种":{"docs":{},"思":{"docs":{},"路":{"docs":{},",":{"docs":{},"对":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"类":{"docs":{},"似":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"启":{"docs":{},"发":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"资":{"docs":{},"源":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"图":{"docs":{},"片":{"docs":{},"、":{"docs":{},"音":{"docs":{},"视":{"docs":{},"频":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},";":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"在":{"docs":{},"了":{"docs":{},"解":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"视":{"docs":{},"图":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"程":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"第":{"docs":{},"二":{"docs":{},"题":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{},"未":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"大":{"docs":{},"量":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"保":{"docs":{},"证":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"利":{"docs":{},"用":{"docs":{},"编":{"docs":{},"译":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"所":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"*":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"才":{"docs":{},"能":{"docs":{},"在":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"里":{"docs":{},"面":{"docs":{},"还":{"docs":{},"能":{"docs":{},"继":{"docs":{},"续":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"到":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"看":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"的":{"docs":{},"工":{"docs":{},"程":{"docs":{},"想":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"何":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"这":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"?":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"核":{"docs":{},"心":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"少":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"找":{"docs":{},"到":{"docs":{},"代":{"docs":{},"码":{"docs":{},"里":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"线":{"docs":{},"上":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"还":{"docs":{},"是":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"会":{"docs":{},"这":{"docs":{},"么":{"docs":{},"设":{"docs":{},"计":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"些":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"步":{"docs":{},"骤":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"和":{"docs":{},"可":{"docs":{},"测":{"docs":{},"试":{"docs":{},"性":{"docs":{},"上":{"docs":{},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"被":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"出":{"docs":{},"了":{"docs":{},"这":{"docs":{},"样":{"docs":{},"两":{"docs":{},"点":{"docs":{},"思":{"docs":{},"路":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"条":{"docs":{},"到":{"docs":{},"底":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"图":{"3":{"docs":{},".":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"右":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}},"当":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"不":{"docs":{},"为":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"时":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"形":{"docs":{},"式":{"docs":{},"如":{"docs":{},"何":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"(":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},")":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"(":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},")":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"专":{"docs":{},"门":{"docs":{},"理":{"docs":{},"解":{"docs":{},"并":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"种":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"影":{"docs":{},"响":{"docs":{},"很":{"docs":{},"大":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"做":{"docs":{},"到":{"docs":{},"以":{"docs":{},"上":{"docs":{},"这":{"docs":{},"些":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"就":{"docs":{},"代":{"docs":{},"表":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"有":{"docs":{},"值":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"接":{"docs":{},"着":{"docs":{},"看":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"排":{"docs":{},"序":{"docs":{},"树":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"用":{"docs":{},"它":{"docs":{},"来":{"docs":{},"构":{"docs":{},"造":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{},"到":{"docs":{},"这":{"docs":{},"插":{"docs":{},"一":{"docs":{},"句":{"docs":{},"题":{"docs":{},"外":{"docs":{},"话":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"些":{"docs":{},"你":{"docs":{},"想":{"docs":{},"到":{"docs":{},"和":{"docs":{},"想":{"docs":{},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"阴":{"docs":{},"影":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"、":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"、":{"docs":{},"蒙":{"docs":{},"版":{"docs":{},"、":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"随":{"docs":{},"后":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"即":{"docs":{},"开":{"docs":{},"展":{"docs":{},"了":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"更":{"docs":{},"换":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"说":{"docs":{},"配":{"docs":{},"置":{"docs":{},"后":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"呈":{"docs":{},"现":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"首":{"docs":{},"先":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"将":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"一":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"由":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"准":{"docs":{},"备":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"层":{"docs":{},"级":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"查":{"docs":{},"询":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"重":{"docs":{},"写":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"或":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"讲":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{},"它":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"白":{"docs":{},",":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"、":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"和":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"造":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"排":{"docs":{},"除":{"docs":{},"了":{"docs":{},"无":{"docs":{},"脑":{"docs":{},"放":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"怀":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},"误":{"docs":{},"、":{"docs":{},"编":{"docs":{},"译":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"等":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"些":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"确":{"docs":{},"几":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"从":{"docs":{},"它":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"从":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"该":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"已":{"docs":{},"经":{"docs":{},"取":{"docs":{},"消":{"docs":{},"或":{"docs":{},"者":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"则":{"docs":{},"根":{"docs":{},"据":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"记":{"docs":{},"录":{"docs":{},"该":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"到":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"该":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"下":{"docs":{},"载":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"去":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"下":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"就":{"docs":{},"判":{"docs":{},"断":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"如":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"有":{"docs":{},"值":{"docs":{},"就":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"就":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"之":{"docs":{},"前":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"就":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"就":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"下":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"就":{"docs":{},"处":{"docs":{},"理":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"后":{"docs":{},"得":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"读":{"docs":{},"取":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"些":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"下":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"从":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"返":{"docs":{},"回":{"docs":{},"出":{"docs":{},"去":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"去":{"docs":{},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"题":{"docs":{},"干":{"docs":{},"中":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"体":{"docs":{},"现":{"docs":{},"在":{"docs":{},"无":{"docs":{},"连":{"docs":{},"接":{"docs":{},"上":{"docs":{},",":{"docs":{},"通":{"docs":{},"信":{"docs":{},"都":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"想":{"docs":{},"发":{"docs":{},"就":{"docs":{},"发":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"栈":{"docs":{},"中":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"避":{"docs":{},"免":{"docs":{},"反":{"docs":{},"射":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"梳":{"docs":{},"理":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"帧":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"部":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"位":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"x":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"不":{"docs":{},"能":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"但":{"docs":{},"要":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"掉":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"开":{"docs":{},"销":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"小":{"docs":{},",":{"docs":{},"仅":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"docs":{}}}}}},"最":{"docs":{},"小":{"2":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"6":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}},"黄":{"docs":{},"色":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"_":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"z":{"docs":{},"n":{"2":{"docs":{},"c":{"docs":{},"a":{"1":{"1":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"1":{"7":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"p":{"1":{"9":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"p":{"docs":{},"v":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}}},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"做":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}},"c":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"_":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"吊":{"docs":{},"起":{"docs":{},"的":{"docs":{},"。":{"docs":{},"从":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"属":{"docs":{},"于":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"1":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"(":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}},",":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},":":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"将":{"docs":{},"“":{"docs":{},"分":{"docs":{},"支":{"docs":{},"转":{"docs":{},"移":{"docs":{},"”":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"指":{"docs":{},"令":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"下":{"docs":{},"降":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}},"docs":{}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"成":{"docs":{},"了":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"原":{"docs":{},"始":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"并":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"给":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"—":{"docs":{},"—":{"docs":{},"因":{"docs":{},"此":{"docs":{},"是":{"docs":{},"指":{"docs":{},"针":{"docs":{},"拷":{"docs":{},"贝":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"2":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"docs":{},"_":{"docs":{},"n":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}},"l":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"段":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"取":{"docs":{},"差":{"docs":{},"集":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"符":{"docs":{},"号":{"docs":{},"化":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"未":{"docs":{},"被":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"s":{"docs":{},"段":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"引":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"存":{"docs":{},"在":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"自":{"docs":{},"己":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}},"*":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"里":{"docs":{},"面":{"docs":{},"多":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"彩":{"docs":{},"蛋":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"docs":{}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"docs":{}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"docs":{}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"*":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}},"直":{"docs":{},"接":{"docs":{},"般":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"里":{"docs":{},"面":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"u":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"t":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.025933609958506226},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},".":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"n":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"(":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.017634854771784232}},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"s":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"e":{"docs":{},"h":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"会":{"docs":{},"把":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"进":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.006983240223463687}}}}}}},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"$":{"docs":{},"_":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"i":{"docs":{},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"docs":{}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"用":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"其":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"_":{"docs":{},"$":{"docs":{},"_":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{},"$":{"docs":{},"_":{"docs":{},"(":{"docs":{},".":{"docs":{},"+":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}},"'":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"和":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"就":{"docs":{},"只":{"docs":{},"看":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},"是":{"docs":{},"取":{"docs":{},"消":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"稍":{"docs":{},"后":{"docs":{},"解":{"docs":{},"析":{"docs":{},"实":{"docs":{},"现":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"f":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"0":{"docs":{},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"_":{"0":{"docs":{},"和":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"先":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},".":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"&":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"为":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}},"v":{"docs":{},"o":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"在":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"p":{"docs":{},"_":{"2":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"docs":{}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"和":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},")":{"docs":{},"&":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"做":{"docs":{},"出":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"形":{"docs":{},"成":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"或":{"docs":{},"者":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},")":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"/":{"docs":{},"/":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{},"=":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.012269938650306749}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"_":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0137429264349232},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"和":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}},"s":{"docs":{},"[":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"r":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"低":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"交":{"docs":{},"互":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"q":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"“":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}},"空":{"docs":{},"间":{"docs":{},"换":{"docs":{},"时":{"docs":{},"间":{"docs":{},"”":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"剪":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"、":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"仅":{"docs":{},"止":{"docs":{},"于":{"docs":{},"此":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"再":{"docs":{},"问":{"docs":{},"得":{"docs":{},"深":{"docs":{},"入":{"docs":{},"哪":{"docs":{},"怕":{"docs":{},"一":{"docs":{},"点":{"docs":{},"点":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"画":{"docs":{},"家":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"算":{"docs":{},"法":{"docs":{},"”":{"docs":{},",":{"docs":{},"按":{"docs":{},"次":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"知":{"docs":{},"道":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"文":{"docs":{},"章":{"docs":{},"和":{"docs":{},"视":{"docs":{},"频":{"docs":{},"也":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"离":{"docs":{},"屏":{"docs":{},"”":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"通":{"docs":{},"常":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"存":{"docs":{},"入":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{},",":{"docs":{},"而":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},",":{"docs":{},"把":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"依":{"docs":{},"次":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"画":{"docs":{},"布":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"覆":{"docs":{},"盖":{"docs":{},"”":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},",":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"是":{"docs":{},"存":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},";":{"docs":{},"”":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"危":{"docs":{},"险":{"docs":{},"代":{"docs":{},"码":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"同":{"docs":{},"名":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"保":{"docs":{},"证":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"和":{"docs":{},"效":{"docs":{},"率":{"docs":{},"的":{"docs":{},"前":{"docs":{},"提":{"docs":{},"下":{"docs":{},"做":{"docs":{},"到":{"docs":{},"无":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"模":{"docs":{},"块":{"docs":{},"通":{"docs":{},"信":{"docs":{},"”":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"业":{"docs":{},"界":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"案":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"”":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}},"转":{"docs":{},"发":{"docs":{},"层":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"面":{"docs":{},"向":{"docs":{},"协":{"docs":{},"议":{"docs":{},"编":{"docs":{},"程":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"懒":{"docs":{},"惰":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"”":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"完":{"docs":{},"善":{"docs":{},"”":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"无":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"任":{"docs":{},"何":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"”":{"docs":{},",":{"docs":{},"此":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"时":{"docs":{},"机":{"docs":{},"为":{"docs":{},"首":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"实":{"docs":{},"验":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"砸":{"docs":{},"壳":{"docs":{},"”":{"docs":{},",":{"docs":{},"砸":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"▐":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}},"上":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"滚":{"docs":{},"动":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"更":{"docs":{},"改":{"docs":{},"。":{"docs":{},"用":{"docs":{},"户":{"docs":{},"交":{"docs":{},"互":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"更":{"docs":{},"新":{"docs":{},"间":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"用":{"docs":{},"户":{"docs":{},"察":{"docs":{},"觉":{"docs":{},"到":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},",":{"docs":{},"合":{"docs":{},"并":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"务":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"演":{"docs":{},"讲":{"docs":{},"就":{"docs":{},"此":{"docs":{},"嘲":{"docs":{},"讽":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"方":{"docs":{},"案":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"而":{"docs":{},"相":{"docs":{},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"格":{"docs":{},"式":{"docs":{},"有":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{},",":{"docs":{},"但":{"docs":{},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{},"无":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"机":{"docs":{},"型":{"docs":{},"、":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"地":{"docs":{},"查":{"docs":{},"看":{"docs":{},"了":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"总":{"docs":{},"结":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"取":{"docs":{},"固":{"docs":{},"定":{"docs":{},"段":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"计":{"docs":{},"算":{"docs":{},"其":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"或":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"o":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"其":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"参":{"docs":{},"考":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"述":{"docs":{},"图":{"docs":{},"像":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"第":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"(":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"都":{"docs":{},"是":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"来":{"docs":{},"到":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"数":{"docs":{},"组":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"外":{"docs":{},"层":{"docs":{},"加":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"问":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"果":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"三":{"docs":{},"件":{"docs":{},"事":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"分":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"选":{"docs":{},"择":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"在":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"和":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"注":{"docs":{},"释":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"团":{"docs":{},"队":{"docs":{},"规":{"docs":{},"模":{"docs":{},"扩":{"docs":{},"大":{"docs":{},",":{"docs":{},"新":{"docs":{},"同":{"docs":{},"学":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},"格":{"docs":{},"外":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"答":{"docs":{},"疑":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"。":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"有":{"docs":{},"一":{"docs":{},"次":{"docs":{},"业":{"docs":{},"务":{"docs":{},"项":{"docs":{},"目":{"docs":{},"时":{"docs":{},"间":{"docs":{},"特":{"docs":{},"别":{"docs":{},"紧":{"docs":{},"张":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"私":{"docs":{},"下":{"docs":{},"更":{"docs":{},"改":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"点":{"docs":{},"中":{"docs":{},"的":{"docs":{},"后":{"docs":{},"两":{"docs":{},"点":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"理":{"docs":{},"解":{"docs":{},"的":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"疑":{"docs":{},"惑":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"日":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"频":{"docs":{},"率":{"docs":{},"不":{"docs":{},"高":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"如":{"docs":{},"此":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"人":{"docs":{},"拒":{"docs":{},"绝":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"(":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"免":{"docs":{},"费":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"说":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"不":{"docs":{},"可":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"依":{"docs":{},"次":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"打":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"脏":{"docs":{},"标":{"docs":{},"记":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"在":{"1":{"2":{"docs":{},"之":{"docs":{},"前":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"docs":{}},"docs":{}}}}}}},"流":{"docs":{},"程":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"中":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"2":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"是":{"docs":{},"同":{"docs":{},"级":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"给":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"加":{"docs":{},"上":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"后":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}},"讨":{"docs":{},"论":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"于":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"在":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{},"对":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"情":{"docs":{},"况":{"docs":{},"又":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"一":{"docs":{},"运":{"docs":{},"行":{"docs":{},"就":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"瞬":{"docs":{},"间":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"但":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"中":{"docs":{},"存":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"无":{"docs":{},"效":{"docs":{},"化":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"提":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"合":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"了":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"为":{"docs":{},"空":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"讲":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"坑":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"类":{"docs":{},"相":{"docs":{},"互":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"的":{"docs":{},"图":{"docs":{},"来":{"docs":{},"描":{"docs":{},"绘":{"docs":{},".":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"第":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"中":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},"为":{"docs":{},",":{"docs":{},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"无":{"docs":{},"可":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"预":{"docs":{},"热":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"很":{"docs":{},"高":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"较":{"docs":{},"高":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"文":{"docs":{},"提":{"docs":{},"到":{"docs":{},"了":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"s":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"下":{"docs":{},"载":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"半":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},";":{"docs":{},"下":{"docs":{},"半":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"并":{"docs":{},"行":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"介":{"docs":{},"绍":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"曾":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"必":{"docs":{},"须":{"docs":{},"具":{"docs":{},"有":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},",":{"docs":{},"人":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"适":{"docs":{},"配":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"由":{"docs":{},"于":{"docs":{},"有":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"仅":{"docs":{},"生":{"docs":{},"成":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"替":{"docs":{},"换":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"不":{"docs":{},"管":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"如":{"docs":{},"何":{"docs":{},",":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"始":{"docs":{},"终":{"docs":{},"为":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"生":{"docs":{},"成":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"及":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"分":{"docs":{},"别":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"两":{"docs":{},"张":{"docs":{},"图":{"docs":{},"进":{"docs":{},"行":{"docs":{},"替":{"docs":{},"换":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"替":{"docs":{},"换":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"与":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"一":{"docs":{},"致":{"docs":{},"时":{"docs":{},"才":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"即":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"只":{"docs":{},"替":{"docs":{},"换":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"、":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"只":{"docs":{},"替":{"docs":{},"换":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"但":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"也":{"docs":{},"有":{"docs":{},"复":{"docs":{},"现":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"删":{"docs":{},"除":{"docs":{},"该":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"同":{"docs":{},"样":{"docs":{},"无":{"docs":{},"权":{"docs":{},"限":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}},"宣":{"docs":{},"布":{"docs":{},"自":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"是":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"作":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"条":{"docs":{},"件":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"无":{"docs":{},"法":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"链":{"docs":{},"接":{"docs":{},"有":{"docs":{},"关":{"docs":{},"*":{"docs":{},"/":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"会":{"docs":{},"做":{"docs":{},"两":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"几":{"docs":{},"种":{"docs":{},"任":{"docs":{},"务":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"证":{"docs":{},"书":{"docs":{},"发":{"docs":{},"布":{"docs":{},"机":{"docs":{},"构":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"有":{"docs":{},"效":{"docs":{},"期":{"docs":{},",":{"docs":{},"公":{"docs":{},"钥":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"所":{"docs":{},"有":{"docs":{},"者":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"指":{"docs":{},"纹":{"docs":{},"以":{"docs":{},"及":{"docs":{},"指":{"docs":{},"纹":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"持":{"docs":{},"有":{"docs":{},"者":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"报":{"docs":{},"文":{"docs":{},"无":{"docs":{},"差":{"docs":{},"错":{"docs":{},",":{"docs":{},"不":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"不":{"docs":{},"重":{"docs":{},"复":{"docs":{},",":{"docs":{},"按":{"docs":{},"序":{"docs":{},"到":{"docs":{},"达":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"&":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"单":{"docs":{},"独":{"docs":{},"考":{"docs":{},"虑":{"docs":{},",":{"docs":{},"组":{"docs":{},"合":{"docs":{},"结":{"docs":{},"果":{"docs":{},"以":{"docs":{},"总":{"docs":{},"结":{"docs":{},"表":{"docs":{},"格":{"docs":{},"为":{"docs":{},"准":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"经":{"docs":{},"过":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"串":{"docs":{},"行":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"跟":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"(":{"docs":{},"’":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"’":{"docs":{},"和":{"docs":{},"’":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"’":{"docs":{},"相":{"docs":{},"互":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"卡":{"docs":{},"住":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"已":{"docs":{},"经":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}}}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"会":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"更":{"docs":{},"新":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"标":{"docs":{},"记":{"docs":{},"“":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"(":{"docs":{},"重":{"docs":{},"点":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{},")":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"自":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"系":{"docs":{},"统":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"全":{"docs":{},"局":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"随":{"docs":{},"着":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"而":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"来":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"向":{"docs":{},"线":{"docs":{},"程":{"docs":{},"同":{"docs":{},"步":{"docs":{},"分":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"里":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"立":{"docs":{},"即":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"让":{"docs":{},"视":{"docs":{},"图":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"周":{"docs":{},"期":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"任":{"docs":{},"务":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"启":{"docs":{},"动":{"docs":{},"流":{"docs":{},"程":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"将":{"docs":{},"传":{"docs":{},"入":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"加":{"docs":{},"以":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"其":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},"访":{"docs":{},"问":{"docs":{},"全":{"docs":{},"局":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"操":{"docs":{},"作":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"产":{"docs":{},"生":{"docs":{},"悬":{"docs":{},"垂":{"docs":{},"指":{"docs":{},"针":{"docs":{},":":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"指":{"docs":{},"向":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"后":{"docs":{},"还":{"docs":{},"调":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"就":{"docs":{},"会":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"起":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"开":{"docs":{},"启":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"利":{"docs":{},"用":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"内":{"docs":{},"核":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"双":{"docs":{},"核":{"docs":{},"、":{"docs":{},"四":{"docs":{},"核":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"(":{"docs":{},"创":{"docs":{},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"、":{"docs":{},"调":{"docs":{},"度":{"docs":{},"任":{"docs":{},"务":{"docs":{},"、":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"成":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"触":{"docs":{},"发":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"方":{"docs":{},"法":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"走":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"占":{"docs":{},"去":{"docs":{},"启":{"docs":{},"动":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"很":{"docs":{},"大":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"单":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"对":{"docs":{},"上":{"docs":{},"传":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"成":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"要":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{},"去":{"docs":{},"掉":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"创":{"docs":{},"建":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"是":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"然":{"docs":{},"不":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"都":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"重":{"docs":{},"启":{"docs":{},"手":{"docs":{},"机":{"docs":{},"或":{"docs":{},"者":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}},"负":{"docs":{},"责":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"优":{"docs":{},"化":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"话":{"docs":{},"秘":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992}}}},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"称":{"docs":{},"秘":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"传":{"docs":{},"输":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},")":{"docs":{},"内":{"docs":{},"容":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"消":{"docs":{},"耗":{"docs":{},"其":{"docs":{},"相":{"docs":{},"当":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"计":{"docs":{},"算":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"不":{"docs":{},"愿":{"docs":{},"意":{"docs":{},"因":{"docs":{},"此":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"docs":{},"循":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"默":{"docs":{},"认":{"docs":{},"打":{"docs":{},"开":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"对":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"它":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"实":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},";":{"docs":{},"在":{"docs":{},"向":{"docs":{},"下":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"它":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"都":{"docs":{},"叫":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"破":{"docs":{},"坏":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"实":{"docs":{},"现":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"任":{"docs":{},"何":{"docs":{},"它":{"docs":{},"不":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},"引":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"子":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"或":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"终":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"实":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"首":{"docs":{},"帧":{"docs":{},"已":{"docs":{},"经":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"小":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"了":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"自":{"docs":{},"己":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"统":{"docs":{},"跳":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"达":{"docs":{},"到":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"文":{"docs":{},"字":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"操":{"docs":{},"作":{"docs":{},"交":{"docs":{},"由":{"docs":{},"框":{"docs":{},"架":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"这":{"docs":{},"方":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"我":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"前":{"docs":{},"端":{"docs":{},",":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"后":{"docs":{},"端":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"严":{"docs":{},"选":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"载":{"docs":{},"体":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"以":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"标":{"docs":{},"志":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"离":{"docs":{},"线":{"docs":{},"工":{"docs":{},"作":{"docs":{},"和":{"docs":{},"本":{"docs":{},"地":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"能":{"docs":{},"够":{"docs":{},"避":{"docs":{},"免":{"docs":{},"直":{"docs":{},"接":{"docs":{},"提":{"docs":{},"交":{"docs":{},"大":{"docs":{},"量":{"docs":{},"代":{"docs":{},"码":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"限":{"docs":{},"制":{"docs":{},"对":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"授":{"docs":{},"权":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"由":{"docs":{},"于":{"docs":{},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"方":{"docs":{},"面":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"全":{"docs":{},"局":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"和":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"无":{"docs":{},"法":{"docs":{},"体":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"局":{"docs":{},"限":{"docs":{},"性":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"上":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"。":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"域":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"者":{"docs":{},":":{"docs":{},"猿":{"docs":{},"人":{"docs":{},"谷":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},"人":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},"、":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"代":{"docs":{},"替":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"生":{"docs":{},"成":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"传":{"docs":{},"递":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},",":{"docs":{},"更":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"更":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"图":{"docs":{},"层":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"单":{"docs":{},"独":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"合":{"docs":{},"理":{"docs":{},"利":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"计":{"docs":{},"算":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"层":{"docs":{},"次":{"docs":{},",":{"docs":{},"解":{"docs":{},"压":{"docs":{},"等":{"docs":{},",":{"docs":{},"再":{"docs":{},"合":{"docs":{},"理":{"docs":{},"调":{"docs":{},"度":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"担":{"docs":{},"常":{"docs":{},"常":{"docs":{},"要":{"docs":{},"比":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"大":{"docs":{},",":{"docs":{},"合":{"docs":{},"理":{"docs":{},"调":{"docs":{},"度":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"计":{"docs":{},"算":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"轻":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"负":{"docs":{},"担":{"docs":{},",":{"docs":{},"使":{"docs":{},"应":{"docs":{},"用":{"docs":{},"更":{"docs":{},"加":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"定":{"docs":{},"并":{"docs":{},"启":{"docs":{},"用":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"续":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"下":{"docs":{},"载":{"docs":{},"操":{"docs":{},"作":{"docs":{},"回":{"docs":{},"调":{"docs":{},"后":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"已":{"docs":{},"经":{"docs":{},"重":{"docs":{},"用":{"docs":{},"或":{"docs":{},"者":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"设":{"docs":{},"置":{"docs":{},"图":{"docs":{},"片":{"docs":{},"避":{"docs":{},"免":{"docs":{},"混":{"docs":{},"乱":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"靠":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"是":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"场":{"docs":{},"景":{"docs":{},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"出":{"docs":{},"现":{"docs":{},"对":{"docs":{},"象":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"强":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"而":{"docs":{},"造":{"docs":{},"成":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"常":{"docs":{},"释":{"docs":{},"放":{"docs":{},"最":{"docs":{},"终":{"docs":{},"导":{"docs":{},"致":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"露":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"哪":{"docs":{},"些":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"各":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"1":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}},"更":{"docs":{},"加":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}}}}}},"评":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"难":{"docs":{},"度":{"docs":{},"大":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"时":{"docs":{},"由":{"docs":{},"于":{"docs":{},"对":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"造":{"docs":{},"成":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"致":{"docs":{},"使":{"docs":{},"系":{"docs":{},"统":{"docs":{},"其":{"docs":{},"他":{"docs":{},"调":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"也":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"(":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"你":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"队":{"docs":{},"列":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"不":{"docs":{},"到":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"异":{"docs":{},"步":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"块":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"块":{"docs":{},"内":{"docs":{},"部":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},",":{"docs":{},"问":{"docs":{},"打":{"docs":{},"印":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"慢":{"docs":{},"双":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"在":{"docs":{},"满":{"docs":{},"之":{"docs":{},"后":{"docs":{},"后":{"docs":{},"面":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"数":{"docs":{},"组":{"docs":{},"是":{"docs":{},"有":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"向":{"docs":{},"后":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"时":{"docs":{},",":{"docs":{},"若":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"下":{"docs":{},"标":{"docs":{},"与":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"值":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"前":{"docs":{},"移":{"docs":{},"到":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"知":{"docs":{},"道":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"完":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"原":{"docs":{},"理":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"数":{"docs":{},"向":{"docs":{},"前":{"docs":{},"提":{"docs":{},"前":{"docs":{},",":{"docs":{},"不":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"数":{"docs":{},"组":{"docs":{},"空":{"docs":{},"间":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"替":{"docs":{},"换":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"多":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"竞":{"docs":{},"争":{"docs":{},",":{"docs":{},"其":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"其":{"docs":{},"他":{"docs":{},"。":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"子":{"docs":{},"自":{"docs":{},"增":{"docs":{},"函":{"docs":{},"数":{"docs":{},"o":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{},"对":{"docs":{},"局":{"docs":{},"部":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"增":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"取":{"docs":{},"模":{"docs":{},"运":{"docs":{},"算":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"返":{"docs":{},"回":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"效":{"docs":{},"解":{"docs":{},"决":{"docs":{},"传":{"docs":{},"统":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"、":{"docs":{},"访":{"docs":{},"问":{"docs":{},"时":{"docs":{},"间":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"身":{"docs":{},"份":{"docs":{},"信":{"docs":{},"息":{"docs":{},"生":{"docs":{},"成":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}},"起":{"docs":{},"来":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"时":{"docs":{},"出":{"docs":{},"错":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"方":{"docs":{},"式":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"相":{"docs":{},"比":{"docs":{},"于":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"引":{"docs":{},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"共":{"docs":{},"用":{"docs":{},",":{"docs":{},"节":{"docs":{},"约":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},";":{"docs":{},"各":{"docs":{},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"的":{"docs":{},"更":{"docs":{},"新":{"docs":{},"变":{"docs":{},"得":{"docs":{},"比":{"docs":{},"较":{"docs":{},"容":{"docs":{},"易":{"docs":{},",":{"docs":{},"易":{"docs":{},"于":{"docs":{},"库":{"docs":{},"的":{"docs":{},"维":{"docs":{},"护":{"docs":{},";":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"去":{"docs":{},",":{"docs":{},"能":{"docs":{},"大":{"docs":{},"大":{"docs":{},"缩":{"docs":{},"减":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"确":{"docs":{},"认":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"当":{"docs":{},"前":{"docs":{},"文":{"docs":{},"件":{"docs":{},"用":{"docs":{},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"上":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"理":{"docs":{},"解":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"。":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"途":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"篡":{"docs":{},"改":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},",":{"docs":{},"通":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},"如":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"1":{"docs":{},",":{"docs":{},"m":{"docs":{},"d":{"5":{"docs":{},"将":{"docs":{},"传":{"docs":{},"输":{"docs":{},"内":{"docs":{},"容":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"得":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"即":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"传":{"docs":{},"输":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"获":{"docs":{},"得":{"docs":{},"原":{"docs":{},"始":{"docs":{},"内":{"docs":{},"容":{"docs":{},"和":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"值":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"算":{"docs":{},"法":{"docs":{},"对":{"docs":{},"原":{"docs":{},"始":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"与":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"值":{"docs":{},"比":{"docs":{},"对":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"号":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"由":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"发":{"docs":{},"出":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"量":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"修":{"docs":{},"改":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"修":{"docs":{},"改":{"docs":{},"权":{"docs":{},"限":{"docs":{},"才":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"后":{"docs":{},"续":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"建":{"docs":{},"设":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"会":{"docs":{},"有":{"docs":{},"更":{"docs":{},"多":{"docs":{},"相":{"docs":{},"关":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"名":{"docs":{},",":{"docs":{},"前":{"docs":{},"几":{"docs":{},"次":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"偶":{"docs":{},"现":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}},"饰":{"docs":{},"基":{"docs":{},"本":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"对":{"docs":{},"数":{"docs":{},"组":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"获":{"docs":{},"取":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"数":{"docs":{},"组":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"添":{"docs":{},"加":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"移":{"docs":{},"除":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{},"是":{"docs":{},"不":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},".":{"docs":{},"而":{"docs":{},"且":{"docs":{},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},"是":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"!":{"docs":{},"!":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"全":{"docs":{},"权":{"docs":{},"负":{"docs":{},"责":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"局":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"区":{"docs":{},"(":{"docs":{},"静":{"docs":{},"态":{"docs":{},"区":{"docs":{},")":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},":":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"块":{"docs":{},"的":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"一":{"docs":{},"块":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"、":{"docs":{},"共":{"docs":{},"享":{"docs":{},"内":{"docs":{},"存":{"docs":{},"块":{"docs":{},"和":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"和":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"任":{"docs":{},"务":{"docs":{},"系":{"docs":{},"统":{"docs":{},"决":{"docs":{},"定":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{},"个":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"&":{"docs":{},"同":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"2":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"3":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},":":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"声":{"docs":{},"明":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"方":{"docs":{},"位":{"docs":{},"解":{"docs":{},"读":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"名":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"减":{"docs":{},"少":{"docs":{},"重":{"docs":{},"复":{"docs":{},"计":{"docs":{},"算":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"修":{"docs":{},"改":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"等":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"层":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"创":{"docs":{},"建":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"好":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"以":{"docs":{},"线":{"docs":{},"程":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"时":{"docs":{},"传":{"docs":{},"入":{"docs":{},"值":{"docs":{},"为":{"1":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"两":{"docs":{},"次":{"docs":{},"才":{"docs":{},"堵":{"docs":{},"塞":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"docs":{}}}}}}}}},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"。":{"docs":{},"其":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"己":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"多":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"缓":{"docs":{},"存":{"docs":{},"等":{"docs":{},",":{"docs":{},"最":{"docs":{},"差":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"即":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"分":{"docs":{},"页":{"docs":{},",":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"读":{"docs":{},"取":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"这":{"docs":{},"些":{"docs":{},"分":{"docs":{},"页":{"docs":{},"中":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"会":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"动":{"docs":{},"画":{"docs":{},"需":{"docs":{},"要":{"docs":{},"这":{"docs":{},"个":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"同":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"和":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"态":{"docs":{},"将":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"、":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"解":{"docs":{},"析":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{},"决":{"docs":{},"议":{"docs":{},"—":{"docs":{},"—":{"docs":{},"实":{"docs":{},"现":{"docs":{},"消":{"docs":{},"息":{"docs":{},"动":{"docs":{},"态":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"观":{"docs":{},"察":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"观":{"docs":{},"察":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"思":{"docs":{},"想":{"docs":{},",":{"docs":{},"当":{"docs":{},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"从":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"库":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"树":{"docs":{},"状":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"树":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"一":{"docs":{},"层":{"docs":{},"层":{"docs":{},"向":{"docs":{},"上":{"docs":{},",":{"docs":{},"最":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"出":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"器":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"作":{"docs":{},"执":{"docs":{},"行":{"docs":{},"及":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"向":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"传":{"docs":{},"递":{"docs":{},"商":{"docs":{},"品":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"价":{"docs":{},"格":{"docs":{},"计":{"docs":{},"算":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"卡":{"docs":{},"顿":{"docs":{},",":{"docs":{},"列":{"docs":{},"表":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"、":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"或":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"现":{"docs":{},"列":{"docs":{},"出":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"几":{"docs":{},"点":{"docs":{},",":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"会":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"⼏":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"的":{"docs":{},"一":{"docs":{},"端":{"docs":{},"将":{"docs":{},"执":{"docs":{},"行":{"docs":{},"主":{"docs":{},"动":{"docs":{},"打":{"docs":{},"开":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"的":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"交":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"在":{"docs":{},"添":{"docs":{},"加":{"docs":{},"首":{"docs":{},"部":{"docs":{},"后":{"docs":{},"就":{"docs":{},"向":{"docs":{},"下":{"docs":{},"交":{"docs":{},"付":{"docs":{},"i":{"docs":{},"p":{"docs":{},"层":{"docs":{},"。":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"交":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"既":{"docs":{},"不":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"拆":{"docs":{},"分":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"保":{"docs":{},"留":{"docs":{},"这":{"docs":{},"些":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"选":{"docs":{},"择":{"docs":{},"合":{"docs":{},"适":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"(":{"docs":{},"但":{"docs":{},"是":{"docs":{},"完":{"docs":{},"成":{"docs":{},"加":{"docs":{},"载":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"只":{"docs":{},"少":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"布":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"至":{"docs":{},"今":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"对":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"和":{"docs":{},"升":{"docs":{},"级":{"docs":{},",":{"docs":{},"即":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"出":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"支":{"docs":{},"付":{"docs":{},"交":{"docs":{},"易":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"件":{"docs":{},"事":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"去":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"上":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"订":{"docs":{},"单":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"组":{"docs":{},"装":{"docs":{},"好":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},"交":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"组":{"docs":{},"装":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"做":{"docs":{},"法":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"就":{"docs":{},"是":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"我":{"docs":{},"们":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"来":{"docs":{},"组":{"docs":{},"装":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"加":{"docs":{},"密":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"保":{"docs":{},"存":{"docs":{},"签":{"docs":{},"名":{"docs":{},"信":{"docs":{},"息":{"docs":{},";":{"docs":{},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"应":{"docs":{},"该":{"docs":{},"被":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"绝":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"显":{"docs":{},"式":{"docs":{},"地":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"你":{"docs":{},"只":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"按":{"docs":{},"键":{"docs":{},"(":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"/":{"docs":{},"静":{"docs":{},"音":{"docs":{},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"触":{"docs":{},"摸":{"docs":{},",":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"接":{"docs":{},"近":{"docs":{},"传":{"docs":{},"感":{"docs":{},"器":{"docs":{},"等":{"docs":{},"几":{"docs":{},"种":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}},"能":{"docs":{},"以":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"寄":{"docs":{},"生":{"docs":{},"于":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"有":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"在":{"docs":{},"真":{"docs":{},"正":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"创":{"docs":{},"建":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"取":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"对":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"是":{"docs":{},"同":{"docs":{},"步":{"docs":{},"方":{"docs":{},"式":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"还":{"docs":{},"是":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"次":{"docs":{},"或":{"docs":{},"重":{"docs":{},"复":{"docs":{},"多":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}},"般":{"docs":{},"没":{"docs":{},"人":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"保":{"docs":{},"留":{"docs":{},"字":{"docs":{},"段":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"收":{"docs":{},"敛":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"整":{"docs":{},"体":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"冰":{"docs":{},"山":{"docs":{},"一":{"docs":{},"角":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"读":{"docs":{},"者":{"docs":{},"所":{"docs":{},"在":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"时":{"docs":{},"间":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"给":{"docs":{},"数":{"docs":{},"据":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"去":{"docs":{},"除":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"次":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"剩":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"用":{"docs":{},"做":{"docs":{},"参":{"docs":{},"考":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"不":{"docs":{},"过":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"子":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"u":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"类":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"断":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"负":{"docs":{},"责":{"docs":{},"给":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"具":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"并":{"docs":{},"不":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"中":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"起":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"组":{"docs":{},"成":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"种":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"用":{"docs":{},"于":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"目":{"docs":{},"标":{"docs":{},"代":{"docs":{},"码":{"docs":{},"、":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"基":{"docs":{},"础":{"docs":{},"架":{"docs":{},"构":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"将":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"要":{"docs":{},"结":{"docs":{},"束":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"文":{"docs":{},"件":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"中":{"docs":{},"迁":{"docs":{},"移":{"docs":{},"至":{"docs":{},"工":{"docs":{},"程":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"出":{"docs":{},"现":{"docs":{},"空":{"docs":{},"白":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"概":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"会":{"docs":{},"偶":{"docs":{},"现":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"盘":{"docs":{},"数":{"docs":{},"据":{"docs":{},"直":{"docs":{},"接":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"来":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"相":{"docs":{},"互":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},",":{"docs":{},"效":{"docs":{},"率":{"docs":{},"更":{"docs":{},"高":{"docs":{},"。":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"系":{"docs":{},"统":{"docs":{},"才":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"缺":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"加":{"docs":{},"载":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"块":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"之":{"docs":{},"前":{"docs":{},"不":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"用":{"docs":{},"户":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"中":{"docs":{},"记":{"docs":{},"录":{"docs":{},"为":{"docs":{},"空":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"被":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"_":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"文":{"docs":{},"件":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"给":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"部":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"间":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"上":{"docs":{},"述":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"改":{"docs":{},"写":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"案":{"docs":{},"例":{"docs":{},"二":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"改":{"docs":{},"成":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"未":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"目":{"docs":{},"加":{"docs":{},"减":{"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"优":{"docs":{},"先":{"docs":{},"满":{"docs":{},"足":{"docs":{},",":{"docs":{},"而":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"掉":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"并":{"docs":{},"进":{"docs":{},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"函":{"docs":{},"数":{"docs":{},"所":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"其":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},"a":{"docs":{},"[":{"docs":{},"j":{"docs":{},"]":{"docs":{},"到":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}},"原":{"docs":{},"序":{"docs":{},"列":{"docs":{},"分":{"docs":{},"成":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"和":{"docs":{},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"。":{"docs":{},"a":{"docs":{},"[":{"0":{"docs":{},"…":{"docs":{},"i":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"复":{"docs":{},"杂":{"docs":{},"参":{"docs":{},"数":{"docs":{},"放":{"docs":{},"到":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"全":{"docs":{},"面":{"docs":{},"取":{"docs":{},"代":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"新":{"docs":{},"建":{"docs":{},"的":{"docs":{},"空":{"docs":{},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"仍":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"中":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"由":{"docs":{},"设":{"docs":{},"备":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"好":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"用":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"父":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"默":{"docs":{},"认":{"docs":{},"声":{"docs":{},"明":{"docs":{},"是":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"映":{"docs":{},"射":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},")":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},"几":{"docs":{},"何":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"当":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"被":{"docs":{},"独":{"docs":{},"立":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"布":{"docs":{},"局":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"约":{"docs":{},"束":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"计":{"docs":{},"算":{"docs":{},"完":{"docs":{},"成":{"docs":{},"交":{"docs":{},"由":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},")":{"docs":{},"。":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"特":{"docs":{},"别":{"docs":{},"挑":{"docs":{},"剔":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"并":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"且":{"docs":{},"实":{"docs":{},"现":{"docs":{},"/":{"docs":{},"遵":{"docs":{},"从":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034}}}},"收":{"docs":{},"到":{"docs":{},"什":{"docs":{},"么":{"docs":{},"数":{"docs":{},"据":{"docs":{},"就":{"docs":{},"传":{"docs":{},"递":{"docs":{},"什":{"docs":{},"么":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"备":{"docs":{},"份":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"关":{"docs":{},"心":{"docs":{},"对":{"docs":{},"方":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"正":{"docs":{},"确":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"没":{"docs":{},"有":{"docs":{},"发":{"docs":{},"生":{"docs":{},"当":{"docs":{},"前":{"docs":{},"视":{"docs":{},"图":{"docs":{},"立":{"docs":{},"即":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"打":{"docs":{},"上":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"脏":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"是":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"机":{"docs":{},"完":{"docs":{},"成":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"处":{"docs":{},"理":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"或":{"docs":{},"者":{"docs":{},"手":{"docs":{},"势":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"实":{"docs":{},"时":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"docs":{},"误":{"docs":{},"差":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"分":{"docs":{},"别":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"到":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"何":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"也":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"能":{"docs":{},"变":{"docs":{},"成":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"擅":{"docs":{},"长":{"docs":{},"做":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"先":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"认":{"docs":{},"为":{"docs":{},"这":{"docs":{},"属":{"docs":{},"于":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"发":{"docs":{},"&":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"一":{"docs":{},"起":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"就":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"有":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"错":{"docs":{},"误":{"docs":{},".":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"没":{"docs":{},"有":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"队":{"docs":{},"列":{"docs":{},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"多":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"重":{"docs":{},"用":{"docs":{},",":{"docs":{},"无":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"定":{"docs":{},"并":{"docs":{},"发":{"docs":{},",":{"docs":{},"并":{"docs":{},"发":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"并":{"docs":{},"行":{"docs":{},"。":{"docs":{},"在":{"docs":{},"单":{"docs":{},"核":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"通":{"docs":{},"过":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"速":{"docs":{},"度":{"docs":{},"足":{"docs":{},"够":{"docs":{},"快":{"docs":{},"以":{"docs":{},"至":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"它":{"docs":{},"是":{"docs":{},"‘":{"docs":{},"并":{"docs":{},"行":{"docs":{},"’":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"能":{"docs":{},"说":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"并":{"docs":{},"发":{"docs":{},"而":{"docs":{},"非":{"docs":{},"并":{"docs":{},"行":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"你":{"docs":{},"和":{"docs":{},"两":{"docs":{},"个":{"docs":{},"人":{"docs":{},"一":{"docs":{},"起":{"docs":{},"百":{"docs":{},"米":{"docs":{},"赛":{"docs":{},"跑":{"docs":{},",":{"docs":{},"你":{"docs":{},"一":{"docs":{},"直":{"docs":{},"在":{"docs":{},"不":{"docs":{},"停":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"跑":{"docs":{},"道":{"docs":{},",":{"docs":{},"而":{"docs":{},"其":{"docs":{},"他":{"docs":{},"两":{"docs":{},"人":{"docs":{},"就":{"docs":{},"在":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"跑":{"docs":{},"道":{"docs":{},"上":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},",":{"docs":{},"你":{"docs":{},"们":{"docs":{},"三":{"docs":{},"人":{"docs":{},"同":{"docs":{},"时":{"docs":{},"到":{"docs":{},"达":{"docs":{},"了":{"docs":{},"终":{"docs":{},"点":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"跑":{"docs":{},"道":{"docs":{},"看":{"docs":{},"做":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"两":{"docs":{},"人":{"docs":{},"就":{"docs":{},"是":{"docs":{},"并":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"你":{"docs":{},"只":{"docs":{},"能":{"docs":{},"的":{"docs":{},"说":{"docs":{},"是":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"使":{"docs":{},"用":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"返":{"docs":{},"回":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"非":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"未":{"docs":{},"消":{"docs":{},"除":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"般":{"docs":{},"以":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"态":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"传":{"docs":{},"来":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"会":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"并":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},"按":{"docs":{},"照":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"断":{"docs":{},"判":{"docs":{},"断":{"docs":{},"视":{"docs":{},"图":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"并":{"docs":{},"最":{"docs":{},"终":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"。":{"docs":{},"当":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"到":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{},"其":{"docs":{},"成":{"docs":{},"为":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{},":":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"当":{"docs":{},"锁":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"多":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"请":{"docs":{},"求":{"docs":{},"之":{"docs":{},"后":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"网":{"docs":{},"络":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"提":{"docs":{},"前":{"docs":{},"算":{"docs":{},"出":{"docs":{},"各":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"表":{"docs":{},"单":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"性":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"签":{"docs":{},"名":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"重":{"docs":{},"签":{"docs":{},"名":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"基":{"docs":{},"于":{"docs":{},"长":{"docs":{},"度":{"docs":{},"或":{"docs":{},"者":{"docs":{},"基":{"docs":{},"于":{"docs":{},"终":{"docs":{},"结":{"docs":{},"符":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"多":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"粘":{"docs":{},"连":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"义":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"导":{"docs":{},"致":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"无":{"docs":{},"法":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"数":{"docs":{},"据":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"抱":{"docs":{},"有":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"意":{"docs":{},"图":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"该":{"docs":{},"与":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"属":{"docs":{},"于":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"还":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}},"去":{"docs":{},"获":{"docs":{},"取":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"中":{"docs":{},"的":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"一":{"docs":{},"段":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"属":{"docs":{},"于":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"答":{"docs":{},"确":{"docs":{},"认":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"底":{"docs":{},"层":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"特":{"docs":{},"性":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"如":{"docs":{},"上":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"完":{"docs":{},"事":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"把":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"会":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"1":{"docs":{},"队":{"docs":{},"列":{"docs":{},"尾":{"docs":{},"等":{"docs":{},"待":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"至":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"被":{"docs":{},"并":{"docs":{},"行":{"docs":{},"还":{"docs":{},"是":{"docs":{},"串":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"只":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"1":{"docs":{},"有":{"docs":{},"关":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"会":{"docs":{},"马":{"docs":{},"上":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"同":{"docs":{},"样":{"docs":{},"也":{"docs":{},"是":{"docs":{},"把":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"放":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"2":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"会":{"docs":{},"等":{"docs":{},"待":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"才":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"这":{"docs":{},"期":{"docs":{},"间":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"当":{"docs":{},"前":{"docs":{},"运":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"或":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"是":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"代":{"docs":{},"名":{"docs":{},"词":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"具":{"docs":{},"备":{"docs":{},"开":{"docs":{},"启":{"docs":{},"新":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"并":{"docs":{},"发":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},":":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"给":{"docs":{},"查":{"docs":{},"号":{"docs":{},"台":{"docs":{},",":{"docs":{},"问":{"docs":{},"某":{"docs":{},"个":{"docs":{},"地":{"docs":{},"方":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},"码":{"docs":{},",":{"docs":{},"接":{"docs":{},"线":{"docs":{},"员":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"你":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"挂":{"docs":{},"断":{"docs":{},"电":{"docs":{},"话":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"进":{"docs":{},"来":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"开":{"docs":{},"始":{"docs":{},"为":{"docs":{},"你":{"docs":{},"查":{"docs":{},"号":{"docs":{},"。":{"docs":{},"等":{"docs":{},"到":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"你":{"docs":{},"要":{"docs":{},"找":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},",":{"docs":{},"会":{"docs":{},"再":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"通":{"docs":{},"知":{"docs":{},"你":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"起":{"docs":{},"截":{"docs":{},"图":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"由":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"知":{"docs":{},"道":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},",":{"docs":{},"在":{"docs":{},"类":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"位":{"docs":{},"于":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"任":{"docs":{},"何":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"都":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{},"最":{"docs":{},"终":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"是":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"对":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"源":{"docs":{},"码":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"有":{"docs":{},"三":{"docs":{},"处":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"有":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"修":{"docs":{},"改":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"和":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"运":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"查":{"docs":{},"找":{"docs":{},"上":{"docs":{},"述":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"在":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"先":{"docs":{},"摸":{"docs":{},"到":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"(":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"表":{"docs":{},"面":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"被":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"先":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"传":{"docs":{},"给":{"docs":{},"正":{"docs":{},"在":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"看":{"docs":{},"看":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"到":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"首":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"系":{"docs":{},"统":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"小":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"(":{"docs":{},"实":{"docs":{},"际":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"维":{"docs":{},"基":{"docs":{},"百":{"docs":{},"科":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}},"不":{"docs":{},"去":{"docs":{},"想":{"docs":{},"那":{"docs":{},"么":{"docs":{},"多":{"docs":{},",":{"docs":{},"先":{"docs":{},"把":{"docs":{},"支":{"docs":{},"付":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"跑":{"docs":{},"通":{"docs":{},"再":{"docs":{},"说":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}},"放":{"docs":{},"一":{"docs":{},"放":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"就":{"docs":{},"一":{"docs":{},"起":{"docs":{},"来":{"docs":{},"着":{"docs":{},"手":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"里":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"视":{"docs":{},"频":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"s":{"docs":{},"/":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},"看":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"俗":{"docs":{},"称":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"加":{"docs":{},"壳":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"就":{"docs":{},"看":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"所":{"docs":{},"熟":{"docs":{},"知":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"来":{"docs":{},"到":{"docs":{},"测":{"docs":{},"试":{"docs":{},"工":{"docs":{},"程":{"docs":{},"里":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"断":{"docs":{},"点":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"看":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"看":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"稍":{"docs":{},"微":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"跟":{"docs":{},"进":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"非":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"环":{"docs":{},"境":{"docs":{},"重":{"docs":{},"签":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"砸":{"docs":{},"过":{"docs":{},"壳":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"才":{"docs":{},"能":{"docs":{},"调":{"docs":{},"试":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"打":{"docs":{},"开":{"docs":{},"源":{"docs":{},"码":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"打":{"docs":{},"包":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"在":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"每":{"docs":{},"次":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"后":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"必":{"docs":{},"须":{"docs":{},"满":{"docs":{},"足":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"以":{"docs":{},"及":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"途":{"docs":{},"径":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"看":{"docs":{},"到":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"能":{"docs":{},"有":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"知":{"docs":{},"道":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"做":{"docs":{},"几":{"docs":{},"个":{"docs":{},"实":{"docs":{},"验":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"用":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"表":{"docs":{},"示":{"docs":{},"整":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"所":{"docs":{},"有":{"docs":{},"进":{"docs":{},"入":{"docs":{},"业":{"docs":{},"务":{"docs":{},"领":{"docs":{},"域":{"docs":{},"划":{"docs":{},"分":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"期":{"docs":{},"(":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"基":{"docs":{},"本":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"较":{"docs":{},"大":{"docs":{},"变":{"docs":{},"动":{"docs":{},")":{"docs":{},"的":{"docs":{},"团":{"docs":{},"队":{"docs":{},"采":{"docs":{},"用":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{},"即":{"docs":{},"使":{"docs":{},"模":{"docs":{},"块":{"docs":{},"划":{"docs":{},"分":{"docs":{},"还":{"docs":{},"没":{"docs":{},"完":{"docs":{},"全":{"docs":{},"明":{"docs":{},"确":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"对":{"docs":{},"部":{"docs":{},"分":{"docs":{},"明":{"docs":{},"确":{"docs":{},"了":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"迟":{"docs":{},"早":{"docs":{},"要":{"docs":{},"用":{"docs":{},",":{"docs":{},"晚":{"docs":{},"用":{"docs":{},"不":{"docs":{},"如":{"docs":{},"早":{"docs":{},"用":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"基":{"docs":{},"于":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"对":{"docs":{},"于":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"又":{"docs":{},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"简":{"docs":{},"单":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},"正":{"docs":{},"文":{"docs":{},"中":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"观":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"好":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"基":{"docs":{},"础":{"docs":{},"能":{"docs":{},"力":{"docs":{},"研":{"docs":{},"发":{"docs":{},"和":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},"探":{"docs":{},"索":{"docs":{},"的":{"docs":{},"团":{"docs":{},"队":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"工":{"docs":{},"程":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{},"了":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"他":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"大":{"docs":{},"致":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"了":{"docs":{},"较":{"docs":{},"为":{"docs":{},"流":{"docs":{},"行":{"docs":{},"的":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"、":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"、":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"大":{"docs":{},"致":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"里":{"docs":{},",":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"某":{"docs":{},"个":{"docs":{},"订":{"docs":{},"单":{"docs":{},"有":{"docs":{},"商":{"docs":{},"家":{"docs":{},"已":{"docs":{},"发":{"docs":{},"货":{"docs":{},"未":{"docs":{},"收":{"docs":{},"货":{"docs":{},"时":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"行":{"docs":{},"为":{"docs":{},"统":{"docs":{},"计":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"会":{"docs":{},"打":{"docs":{},"开":{"docs":{},"第":{"docs":{},"一":{"docs":{},"条":{"docs":{},"已":{"docs":{},"发":{"docs":{},"货":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"去":{"docs":{},"查":{"docs":{},"看":{"docs":{},"当":{"docs":{},"前":{"docs":{},"物":{"docs":{},"流":{"docs":{},"(":{"docs":{},"物":{"docs":{},"流":{"docs":{},"数":{"docs":{},"据":{"docs":{},"来":{"docs":{},"自":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"速":{"docs":{},"度":{"docs":{},"没":{"docs":{},"有":{"docs":{},"保":{"docs":{},"证":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"进":{"docs":{},"入":{"docs":{},"我":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"预":{"docs":{},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"查":{"docs":{},"看":{"docs":{},"最":{"docs":{},"新":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},"订":{"docs":{},"单":{"docs":{},"的":{"docs":{},"物":{"docs":{},"流":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},"传":{"docs":{},"给":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"公":{"docs":{},"开":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"信":{"docs":{},"息":{"docs":{},"写":{"docs":{},"入":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"掘":{"docs":{},"金":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"控":{"docs":{},"制":{"docs":{},"并":{"docs":{},"发":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"能":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"下":{"docs":{},"载":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"器":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"中":{"docs":{},"发":{"docs":{},"现":{"docs":{},"了":{"docs":{},"关":{"docs":{},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"以":{"docs":{},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},"基":{"docs":{},"于":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"3":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},"表":{"docs":{},"现":{"docs":{},"存":{"docs":{},"在":{"docs":{},"差":{"docs":{},"异":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"揭":{"docs":{},"秘":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"新":{"docs":{},"增":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"添":{"docs":{},"加":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"旧":{"docs":{},"散":{"docs":{},"列":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"工":{"docs":{},"厂":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"会":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"重":{"docs":{},"写":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"。":{"docs":{},"正":{"docs":{},"是":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"上":{"docs":{},"系":{"docs":{},"统":{"docs":{},"开":{"docs":{},"始":{"docs":{},"更":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"显":{"docs":{},"示":{"docs":{},"和":{"docs":{},"设":{"docs":{},"置":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"请":{"docs":{},"求":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"调":{"docs":{},"整":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"层":{"docs":{},"级":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"或":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},":":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"调":{"docs":{},"整":{"docs":{},"操":{"docs":{},"作":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"增":{"docs":{},"加":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"指":{"docs":{},"针":{"docs":{},"纬":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"借":{"docs":{},"⽤":{"docs":{},"该":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"储":{"docs":{},"进":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"如":{"docs":{},"图":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"中":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"写":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"同":{"docs":{},"红":{"docs":{},"框":{"docs":{},"中":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"先":{"docs":{},"根":{"docs":{},"据":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"即":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"来":{"docs":{},"看":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"做":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"至":{"docs":{},"少":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"在":{"docs":{},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"之":{"docs":{},"后":{"docs":{},"也":{"docs":{},"至":{"docs":{},"少":{"docs":{},"剩":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"解":{"docs":{},"析":{"docs":{},"得":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"内":{"docs":{},"存":{"docs":{},"里":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"获":{"docs":{},"得":{"docs":{},"速":{"docs":{},"度":{"docs":{},"提":{"docs":{},"升":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"是":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"紊":{"docs":{},"乱":{"docs":{},"导":{"docs":{},"致":{"docs":{},"一":{"docs":{},"些":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"电":{"docs":{},"商":{"docs":{},"行":{"docs":{},"业":{"docs":{},"里":{"docs":{},"很":{"docs":{},"看":{"docs":{},"重":{"docs":{},"的":{"docs":{},"曝":{"docs":{},"光":{"docs":{},"统":{"docs":{},"计":{"docs":{},"数":{"docs":{},"据":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"候":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"第":{"docs":{},"进":{"docs":{},"入":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"优":{"docs":{},"先":{"docs":{},"读":{"docs":{},"取":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}},"更":{"docs":{},"新":{"docs":{},"当":{"docs":{},"前":{"docs":{},"模":{"docs":{},"式":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"保":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"解":{"docs":{},"码":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}},")":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"思":{"docs":{},"考":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"方":{"docs":{},"式":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"账":{"docs":{},"号":{"docs":{},"模":{"docs":{},"块":{"docs":{},"发":{"docs":{},"出":{"docs":{},"广":{"docs":{},"播":{"docs":{},",":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"比":{"docs":{},"较":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"满":{"docs":{},"足":{"docs":{},"自":{"docs":{},"己":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"这":{"docs":{},"些":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}},"期":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"缺":{"docs":{},"失":{"docs":{},"符":{"docs":{},"号":{"docs":{},"造":{"docs":{},"成":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"帧":{"docs":{},"率":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"逻":{"docs":{},"辑":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"挂":{"docs":{},"上":{"docs":{},"断":{"docs":{},"点":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},",":{"docs":{},"过":{"docs":{},"去":{"docs":{},"四":{"docs":{},"年":{"docs":{},"新":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"中":{"docs":{},"有":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"那":{"docs":{},"种":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"很":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"着":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"使":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"大":{"docs":{},"打":{"docs":{},"折":{"docs":{},"扣":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"有":{"docs":{},"了":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},",":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"具":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"文":{"docs":{},"可":{"docs":{},"为":{"docs":{},"以":{"docs":{},"下":{"docs":{},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{},"提":{"docs":{},"供":{"docs":{},"参":{"docs":{},"考":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"大":{"docs":{},"量":{"docs":{},"借":{"docs":{},"助":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"文":{"docs":{},"章":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"感":{"docs":{},"谢":{"docs":{},"各":{"docs":{},"位":{"docs":{},"作":{"docs":{},"者":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"对":{"docs":{},"本":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"起":{"docs":{},"了":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{},"也":{"docs":{},"希":{"docs":{},"望":{"docs":{},"各":{"docs":{},"位":{"docs":{},"能":{"docs":{},"去":{"docs":{},"原":{"docs":{},"文":{"docs":{},"发":{"docs":{},"表":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"看":{"docs":{},"法":{"docs":{},"。":{"docs":{},"谢":{"docs":{},"谢":{"docs":{},"~":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"将":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"种":{"docs":{},"静":{"docs":{},"态":{"docs":{},"分":{"docs":{},"析":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"查":{"docs":{},"找":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"基":{"docs":{},"础":{"docs":{},"知":{"docs":{},"识":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"先":{"docs":{},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"些":{"docs":{},"核":{"docs":{},"心":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"为":{"docs":{},"后":{"docs":{},"续":{"docs":{},"章":{"docs":{},"节":{"docs":{},"做":{"docs":{},"铺":{"docs":{},"垫":{"docs":{},";":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"顾":{"docs":{},"了":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"地":{"docs":{},"离":{"docs":{},"线":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"身":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"行":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}},"以":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"坑":{"docs":{},"。":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},",":{"docs":{},"从":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"块":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"却":{"docs":{},"未":{"docs":{},"必":{"docs":{},"是":{"docs":{},"矩":{"docs":{},"形":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"与":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"跨":{"docs":{},"多":{"docs":{},"端":{"docs":{},"的":{"docs":{},"通":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"体":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"再":{"docs":{},"需":{"docs":{},"要":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"来":{"docs":{},"并":{"docs":{},"不":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"这":{"docs":{},"个":{"docs":{},"开":{"docs":{},"关":{"docs":{},"反":{"docs":{},"而":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"次":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"储":{"docs":{},"备":{"docs":{},"下":{"docs":{},"次":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"篇":{"docs":{},"相":{"docs":{},"关":{"docs":{},"文":{"docs":{},"档":{"docs":{},"和":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"方":{"docs":{},"案":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"解":{"docs":{},"决":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"无":{"docs":{},"法":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"、":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"等":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"用":{"docs":{},"户":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"说":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"首":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"展":{"docs":{},"示":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"但":{"docs":{},"下":{"docs":{},"次":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"时":{"docs":{},"即":{"docs":{},"可":{"docs":{},"展":{"docs":{},"示":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"了":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"画":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"位":{"docs":{},"标":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"准":{"docs":{},"转":{"docs":{},"换":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"库":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"志":{"docs":{},"位":{"docs":{},"标":{"docs":{},"识":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"每":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"有":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"块":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"结":{"docs":{},",":{"docs":{},"且":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"4":{"0":{"9":{"6":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"都":{"docs":{},"会":{"docs":{},"维":{"docs":{},"护":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"个":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"都":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"类":{"docs":{},"、":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},",":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"偷":{"docs":{},"偷":{"docs":{},"将":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"在":{"docs":{},"给":{"docs":{},"被":{"docs":{},"监":{"docs":{},"控":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"是":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"均":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"专":{"docs":{},"用":{"docs":{},"的":{"docs":{},"且":{"docs":{},"受":{"docs":{},"保":{"docs":{},"护":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"中":{"docs":{},"都":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"产":{"docs":{},"出":{"docs":{},"包":{"docs":{},"括":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"除":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"去":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"在":{"docs":{},"去":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"直":{"docs":{},"到":{"docs":{},"找":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"将":{"docs":{},"方":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"找":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"已":{"docs":{},"经":{"docs":{},"编":{"docs":{},"排":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"自":{"docs":{},"动":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"排":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"太":{"docs":{},"过":{"docs":{},"于":{"docs":{},"延":{"docs":{},"迟":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"晚":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"也":{"docs":{},"只":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"而":{"docs":{},"非":{"docs":{},"连":{"docs":{},"续":{"docs":{},"多":{"docs":{},"次":{"docs":{},"。":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"排":{"docs":{},"下":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"都":{"docs":{},"会":{"docs":{},"把":{"docs":{},"最":{"docs":{},"近":{"docs":{},"一":{"docs":{},"次":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"之":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"进":{"docs":{},"去":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"全":{"docs":{},"部":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"掉":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"条":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"传":{"docs":{},"输":{"docs":{},"连":{"docs":{},"接":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"端":{"docs":{},"点":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"播":{"docs":{},"和":{"docs":{},"广":{"docs":{},"播":{"docs":{},"传":{"docs":{},"输":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"思":{"docs":{},"路":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"时":{"docs":{},"也":{"docs":{},"会":{"docs":{},"响":{"docs":{},"应":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"并":{"docs":{},"执":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"窗":{"docs":{},"口":{"docs":{},"流":{"docs":{},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{},"等":{"docs":{},"机":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"并":{"docs":{},"写":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"至":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},")":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}}}}},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"截":{"docs":{},"图":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"写":{"docs":{},"入":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"户":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},"我":{"docs":{},"好":{"docs":{},"评":{"docs":{},"率":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"还":{"docs":{},"会":{"docs":{},"打":{"docs":{},"开":{"docs":{},"用":{"docs":{},"户":{"docs":{},"晒":{"docs":{},"单":{"docs":{},"的":{"docs":{},"视":{"docs":{},"频":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"视":{"docs":{},"频":{"docs":{},"播":{"docs":{},"放":{"docs":{},"器":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"速":{"docs":{},"度":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"docs":{},"设":{"docs":{},"备":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"态":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"标":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"率":{"docs":{},"下":{"docs":{},"降":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"算":{"docs":{},"法":{"docs":{},"降":{"docs":{},"低":{"docs":{},"以":{"docs":{},"往":{"docs":{},"失":{"docs":{},"败":{"docs":{},"率":{"docs":{},"过":{"docs":{},"高":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"时":{"docs":{},"间":{"docs":{},"近":{"docs":{},"期":{"docs":{},"访":{"docs":{},"问":{"docs":{},"过":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"提":{"docs":{},"高":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"历":{"docs":{},"史":{"docs":{},"访":{"docs":{},"问":{"docs":{},"成":{"docs":{},"功":{"docs":{},"记":{"docs":{},"录":{"docs":{},"提":{"docs":{},"高":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"排":{"docs":{},"序":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"其":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"无":{"docs":{},"关":{"docs":{},"类":{"docs":{},"型":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"转":{"docs":{},"换":{"docs":{},"。":{"docs":{},"该":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"保":{"docs":{},"证":{"docs":{},"与":{"docs":{},"原":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"比":{"docs":{},"特":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"存":{"docs":{},"放":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"搭":{"docs":{},"建":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"后":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"指":{"docs":{},"针":{"docs":{},"和":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"判":{"docs":{},"断":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}},"存":{"docs":{},"储":{"docs":{},"与":{"docs":{},"类":{"docs":{},"有":{"docs":{},"关":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"类":{"docs":{},"名":{"docs":{},"、":{"docs":{},"类":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"替":{"docs":{},"代":{"docs":{},"了":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"数":{"docs":{},"据":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"去":{"docs":{},"访":{"docs":{},"问":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"途":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"老":{"docs":{},"版":{"docs":{},"本":{"docs":{},"打":{"docs":{},"包":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"减":{"docs":{},"去":{"docs":{},"引":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"跟":{"docs":{},"踪":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"监":{"docs":{},"听":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"了":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"队":{"docs":{},"列":{"docs":{},"组":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"控":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"取":{"docs":{},"消":{"docs":{},";":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"秒":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{},"交":{"docs":{},"互":{"docs":{},"时":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"不":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"立":{"docs":{},"即":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"视":{"docs":{},"图":{"docs":{},"(":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"价":{"docs":{},"。":{"docs":{},"它":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"事":{"docs":{},"件":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"多":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"相":{"docs":{},"关":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"同":{"docs":{},"于":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"等":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}},",":{"docs":{},"前":{"docs":{},"面":{"docs":{},"不":{"docs":{},"是":{"docs":{},"刚":{"docs":{},"说":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"因":{"docs":{},"为":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"吗":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"源":{"docs":{},"码":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"还":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"点":{"docs":{},"进":{"docs":{},"去":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"用":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"替":{"docs":{},"代":{"docs":{},"了":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"0":{"docs":{},"之":{"docs":{},"后":{"docs":{},"替":{"docs":{},"换":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"记":{"docs":{},"得":{"docs":{},"只":{"docs":{},"开":{"docs":{},"启":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"原":{"docs":{},"理":{"docs":{},"也":{"docs":{},"都":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"无":{"docs":{},"法":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"待":{"docs":{},"。":{"docs":{},"。":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"内":{"docs":{},"核":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"验":{"docs":{},"证":{"docs":{},"结":{"docs":{},"果":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"都":{"docs":{},"有":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"实":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"库":{"docs":{},"每":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"都":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"合":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"加":{"docs":{},"载":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"单":{"docs":{},"独":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"对":{"docs":{},"大":{"docs":{},"型":{"docs":{},"工":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"会":{"docs":{},"很":{"docs":{},"长":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"部":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"它":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"就":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"于":{"docs":{},"说":{"docs":{},"要":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"的":{"docs":{},"上":{"docs":{},"一":{"docs":{},"层":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"+":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"+":{"docs":{},"时":{"docs":{},"间":{"docs":{},"戳":{"docs":{},"等":{"docs":{},"方":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"生":{"docs":{},"成":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"新":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"来":{"docs":{},"提":{"docs":{},"供":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\\":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"无":{"docs":{},"法":{"docs":{},"从":{"docs":{},"全":{"docs":{},"局":{"docs":{},"层":{"docs":{},"面":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"后":{"docs":{},"来":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"类":{"docs":{},"和":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"特":{"docs":{},"殊":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"商":{"docs":{},"提":{"docs":{},"供":{"docs":{},"个":{"docs":{},"人":{"docs":{},"版":{"docs":{},"和":{"docs":{},"企":{"docs":{},"业":{"docs":{},"版":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"基":{"docs":{},"础":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{},"期":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{},"符":{"docs":{},"号":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"掉":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"些":{"docs":{},"优":{"docs":{},"化":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"纹":{"docs":{},"理":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"避":{"docs":{},"免":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"元":{"docs":{},"\udbff":{"docs":{},"\udc08":{"docs":{},"值":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"图":{"docs":{},"层":{"docs":{},"每":{"docs":{},"次":{"docs":{},"显":{"docs":{},"示":{"docs":{},"之":{"docs":{},"前":{"docs":{},"对":{"docs":{},"图":{"docs":{},"片":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"也":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"会":{"docs":{},"把":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"设":{"docs":{},"置":{"docs":{},"视":{"docs":{},"图":{"docs":{},"“":{"docs":{},"内":{"docs":{},"部":{"docs":{},"更":{"docs":{},"新":{"docs":{},"标":{"docs":{},"记":{"docs":{},"”":{"docs":{},",":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"化":{"docs":{},"(":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},")":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":3.333333333333333}}}}}}}}}}}}}},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"图":{"docs":{},"片":{"docs":{},"库":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"库":{"docs":{},")":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},")":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"阅":{"docs":{},"读":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"构":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"体":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"规":{"docs":{},"则":{"docs":{},"计":{"docs":{},"算":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}},"2":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"规":{"docs":{},"则":{"docs":{},"计":{"docs":{},"算":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}},"3":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"规":{"docs":{},"则":{"docs":{},"计":{"docs":{},"算":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"成":{"docs":{},"员":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"⾥":{"docs":{},"有":{"docs":{},"某":{"docs":{},"些":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"则":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"成":{"docs":{},"员":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"元":{"docs":{},"素":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"地":{"docs":{},"址":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"写":{"docs":{},"到":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"内":{"docs":{},"的":{"docs":{},"a":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"docs":{}}}}}}}}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"其":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"就":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"记":{"docs":{},"录":{"docs":{},"数":{"docs":{},"目":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"此":{"docs":{},"结":{"docs":{},"构":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"图":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},"下":{"docs":{},"图":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"调":{"docs":{},"整":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"论":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"了":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"也":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"少":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"没":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"好":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"队":{"docs":{},"列":{"docs":{},"内":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"果":{"docs":{},"是":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"的":{"docs":{},"a":{"docs":{},"是":{"1":{"0":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"外":{"docs":{},"部":{"docs":{},"对":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"结":{"docs":{},"果":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"打":{"docs":{},"印":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},":":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"束":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"点":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"数":{"docs":{},"目":{"docs":{},"称":{"docs":{},"为":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"度":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"的":{"docs":{},"度":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"本":{"docs":{},"身":{"docs":{},"又":{"docs":{},"是":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"渲":{"docs":{},"染":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"过":{"docs":{},"于":{"docs":{},"频":{"docs":{},"繁":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"视":{"docs":{},"图":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"和":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"也":{"docs":{},"有":{"docs":{},"触":{"docs":{},"发":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"被":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"到":{"docs":{},"一":{"docs":{},"块":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"复":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"(":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"你":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"用":{"docs":{},"来":{"docs":{},"通":{"docs":{},"知":{"docs":{},"系":{"docs":{},"统":{"docs":{},"某":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"有":{"docs":{},"序":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"卸":{"docs":{},"载":{"docs":{},"了":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"要":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"那":{"docs":{},"些":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"上":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"(":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"成":{"docs":{},"透":{"docs":{},"明":{"docs":{},")":{"docs":{},"。":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"全":{"docs":{},"部":{"docs":{},"是":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"添":{"docs":{},"加":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"正":{"docs":{},"常":{"docs":{},"显":{"docs":{},"示":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},",":{"docs":{},"但":{"docs":{},"图":{"docs":{},"片":{"docs":{},"内":{"docs":{},"容":{"docs":{},"未":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"故":{"docs":{},"排":{"docs":{},"除":{"docs":{},"了":{"docs":{},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"越":{"docs":{},"慢":{"docs":{},"用":{"docs":{},"户":{"docs":{},"流":{"docs":{},"失":{"docs":{},"的":{"docs":{},"概":{"docs":{},"率":{"docs":{},"就":{"docs":{},"越":{"docs":{},"高":{"docs":{},",":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"不":{"docs":{},"可":{"docs":{},"缺":{"docs":{},"少":{"docs":{},"的":{"docs":{},"一":{"docs":{},"环":{"docs":{},"。":{"docs":{},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"面":{"docs":{},"也":{"docs":{},"很":{"docs":{},"广":{"docs":{},",":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"难":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"全":{"docs":{},"部":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"成":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"实":{"docs":{},"战":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"触":{"docs":{},"发":{"docs":{},"器":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"即":{"docs":{},"为":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"通":{"docs":{},"过":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"方":{"docs":{},"式":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"给":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"它":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"栈":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}},"化":{"docs":{},"下":{"docs":{},"载":{"docs":{},"生":{"docs":{},"成":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"改":{"docs":{},"造":{"docs":{},"成":{"docs":{},"本":{"docs":{},"非":{"docs":{},"常":{"docs":{},"小":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"旋":{"docs":{},"锁":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"是":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"则":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"处":{"docs":{},"于":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"不":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"—":{"docs":{},"—":{"docs":{},"因":{"docs":{},"此":{"docs":{},"效":{"docs":{},"率":{"docs":{},"高":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"线":{"docs":{},"程":{"docs":{},"反":{"docs":{},"复":{"docs":{},"检":{"docs":{},"查":{"docs":{},"锁":{"docs":{},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"⽤":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"这":{"docs":{},"⼀":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"保":{"docs":{},"持":{"docs":{},"执":{"docs":{},"⾏":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"创":{"docs":{},"建":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"从":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"。":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"由":{"docs":{},"于":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"处":{"docs":{},"于":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"反":{"docs":{},"转":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"机":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"认":{"docs":{},"为":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"身":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"他":{"docs":{},"自":{"docs":{},"己":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"己":{"docs":{},"在":{"docs":{},"早":{"docs":{},"期":{"docs":{},"推":{"docs":{},"广":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"带":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"功":{"docs":{},"能":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"找":{"docs":{},"出":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"漏":{"docs":{},"洞":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"打":{"docs":{},"印":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245}}},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"视":{"docs":{},"频":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"将":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"了":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"低":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"和":{"docs":{},"省":{"docs":{},"电":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"个":{"docs":{},"人":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},"研":{"docs":{},"究":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"落":{"docs":{},"影":{"docs":{},"前":{"docs":{},"辈":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"放":{"docs":{},"在":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"地":{"docs":{},"方":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"用":{"docs":{},"来":{"docs":{},"接":{"docs":{},"受":{"docs":{},"系":{"docs":{},"统":{"docs":{},"发":{"docs":{},"出":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"当":{"docs":{},"手":{"docs":{},"机":{"docs":{},"发":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},",":{"docs":{},"摇":{"docs":{},"晃":{"docs":{},"或":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"等":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},"(":{"docs":{},"进":{"docs":{},"程":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"叫":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"传":{"docs":{},"递":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"司":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"程":{"docs":{},"序":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"适":{"docs":{},"用":{"docs":{},"多":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"曾":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"视":{"docs":{},"图":{"docs":{},"混":{"docs":{},"合":{"docs":{},"。":{"docs":{},"减":{"docs":{},"少":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"性":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"透":{"docs":{},"明":{"docs":{},"视":{"docs":{},"图":{"docs":{},";":{"docs":{},"不":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"渲":{"docs":{},"染":{"docs":{},"与":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}},"优":{"docs":{},"化":{"docs":{},"&":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"优":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}},"的":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"小":{"docs":{},"于":{"docs":{},"等":{"docs":{},"于":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"等":{"docs":{},"于":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"为":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}},"频":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"方":{"docs":{},"案":{"docs":{},"使":{"docs":{},"用":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"该":{"docs":{},"方":{"docs":{},"案":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"模":{"docs":{},"板":{"docs":{},"类":{"docs":{},",":{"docs":{},"是":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"性":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"法":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"压":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"码":{"docs":{},"图":{"docs":{},"片":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"算":{"docs":{},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},";":{"docs":{},"并":{"docs":{},"且":{"docs":{},"解":{"docs":{},"码":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"体":{"docs":{},"积":{"docs":{},"与":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"而":{"docs":{},"与":{"docs":{},"图":{"docs":{},"片":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{},"无":{"docs":{},"关":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"1":{"docs":{},"等":{"docs":{},"待":{"docs":{},"解":{"docs":{},"锁":{"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}}}}}},"2":{"docs":{},"等":{"docs":{},"待":{"docs":{},"解":{"docs":{},"锁":{"1":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}}}}}},"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"密":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"读":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"析":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"从":{"docs":{},"根":{"docs":{},"本":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"智":{"docs":{},"能":{"docs":{},"算":{"docs":{},"法":{"docs":{},"排":{"docs":{},"序":{"docs":{},"后":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"快":{"docs":{},"节":{"docs":{},"点":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}},"器":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"。":{"docs":{},"而":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"又":{"docs":{},"比":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"释":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"函":{"docs":{},"数":{"docs":{},"应":{"docs":{},"该":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"恰":{"docs":{},"巧":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"磁":{"docs":{},"盘":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"、":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.00816326530612245},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005387931034482759},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"的":{"docs":{},"最":{"docs":{},"省":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"触":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{},"比":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"之":{"docs":{},"前":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"也":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"看":{"docs":{},"到":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"个":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"让":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"本":{"docs":{},"质":{"docs":{},"还":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"是":{"docs":{},"去":{"docs":{},"父":{"docs":{},"类":{"docs":{},"找":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"从":{"docs":{},"该":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"当":{"docs":{},"中":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"就":{"docs":{},"从":{"docs":{},"父":{"docs":{},"类":{"docs":{},"当":{"docs":{},"中":{"docs":{},"找":{"docs":{},";":{"docs":{},"而":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"刻":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"加":{"docs":{},"载":{"docs":{},"类":{"docs":{},"、":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"向":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"中":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"为":{"docs":{},"该":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"譬":{"docs":{},"如":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"入":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"头":{"docs":{},"部":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"运":{"docs":{},"行":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"具":{"docs":{},"体":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"了":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"上":{"docs":{},"层":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"底":{"docs":{},"层":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"成":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"度":{"docs":{},"组":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"搭":{"docs":{},"配":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"进":{"docs":{},"组":{"docs":{},"再":{"docs":{},"出":{"docs":{},"组":{"docs":{},",":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"不":{"docs":{},"可":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"赋":{"docs":{},"值":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"给":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"≠":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"予":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"带":{"docs":{},"来":{"docs":{},"性":{"docs":{},"能":{"docs":{},"上":{"docs":{},"的":{"docs":{},"较":{"docs":{},"大":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"辛":{"docs":{},"苦":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"来":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"是":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"都":{"docs":{},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"解":{"docs":{},"释":{"docs":{},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"外":{"docs":{},"面":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"说":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"性":{"docs":{},"能":{"docs":{},"低":{"docs":{},"—":{"docs":{},"—":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"增":{"docs":{},"删":{"docs":{},"改":{"docs":{},"查":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"性":{"docs":{},"能":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"当":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}},"能":{"docs":{},"正":{"docs":{},"确":{"docs":{},"处":{"docs":{},"理":{"docs":{},"资":{"docs":{},"源":{"docs":{},"释":{"docs":{},"放":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"做":{"docs":{},"到":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"。":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"而":{"docs":{},"解":{"docs":{},"耦":{"docs":{},",":{"docs":{},"提":{"docs":{},"升":{"docs":{},"质":{"docs":{},"量":{"docs":{},"与":{"docs":{},"效":{"docs":{},"率":{"docs":{},"才":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{},"直":{"docs":{},"接":{"docs":{},"基":{"docs":{},"于":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"应":{"docs":{},"该":{"docs":{},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"效":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"重":{"docs":{},"画":{"docs":{},"间":{"docs":{},"存":{"docs":{},"在":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"认":{"docs":{},"识":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}},"尝":{"docs":{},"试":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"绘":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"由":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},"半":{"docs":{},"透":{"docs":{},"明":{"docs":{},"图":{"docs":{},"层":{"docs":{},"引":{"docs":{},"起":{"docs":{},"。":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{},"比":{"docs":{},"率":{"docs":{},"(":{"docs":{},"用":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"填":{"docs":{},"充":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"比":{"docs":{},"率":{"docs":{},")":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"写":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"监":{"docs":{},"听":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"子":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"类":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"重":{"docs":{},"写":{"docs":{},",":{"docs":{},"则":{"docs":{},"子":{"docs":{},"类":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"置":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"头":{"docs":{},"戏":{"docs":{},"来":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"绑":{"docs":{},"定":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"启":{"docs":{},"手":{"docs":{},"机":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"更":{"docs":{},"新":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}},"排":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}},"传":{"docs":{},"次":{"docs":{},"数":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"~":{"3":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"元":{"docs":{},"素":{"docs":{},"为":{"0":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}},"资":{"docs":{},"源":{"docs":{},"处":{"docs":{},"理":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"主":{"docs":{},"要":{"docs":{},"都":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"顶":{"docs":{},"点":{"docs":{},"着":{"docs":{},"色":{"docs":{},",":{"docs":{},"图":{"docs":{},"元":{"docs":{},"装":{"docs":{},"配":{"docs":{},",":{"docs":{},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{},",":{"docs":{},"片":{"docs":{},"段":{"docs":{},"着":{"docs":{},"色":{"docs":{},",":{"docs":{},"片":{"docs":{},"段":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"提":{"docs":{},"交":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"预":{"docs":{},"排":{"docs":{},"班":{"docs":{},"。":{"docs":{},"布":{"docs":{},"局":{"docs":{},"计":{"docs":{},"算":{"docs":{},"、":{"docs":{},"文":{"docs":{},"本":{"docs":{},"计":{"docs":{},"算":{"docs":{},"等":{"docs":{},"事":{"docs":{},"先":{"docs":{},"放":{"docs":{},"到":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"去":{"docs":{},"做":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"文":{"docs":{},"本":{"docs":{},"等":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"阶":{"docs":{},"段":{"docs":{},":":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"主":{"docs":{},"秘":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"与":{"docs":{},"智":{"docs":{},"能":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"常":{"docs":{},"规":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"手":{"docs":{},"段":{"docs":{},",":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"都":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"会":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"网":{"docs":{},"易":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"简":{"docs":{},"约":{"docs":{},"邮":{"docs":{},"里":{"docs":{},",":{"docs":{},"收":{"docs":{},"件":{"docs":{},"箱":{"docs":{},"列":{"docs":{},"表":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"数":{"docs":{},"据":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"首":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"后":{"docs":{},"一":{"docs":{},"页":{"docs":{},"的":{"docs":{},"分":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"继":{"docs":{},"续":{"docs":{},"翻":{"docs":{},"页":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"极":{"docs":{},"大":{"docs":{},"提":{"docs":{},"升":{"docs":{},"响":{"docs":{},"应":{"docs":{},"速":{"docs":{},"度":{"docs":{},";":{"docs":{},"在":{"docs":{},"微":{"docs":{},"信":{"docs":{},"公":{"docs":{},"众":{"docs":{},"号":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"还":{"docs":{},"加":{"docs":{},"载":{"docs":{},"了":{"docs":{},"某":{"docs":{},"个":{"docs":{},"公":{"docs":{},"众":{"docs":{},"文":{"docs":{},"章":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"走":{"docs":{},"到":{"docs":{},"了":{"docs":{},"没":{"docs":{},"有":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"电":{"docs":{},"梯":{"docs":{},"里":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"点":{"docs":{},"击":{"docs":{},"某":{"docs":{},"个":{"docs":{},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"文":{"docs":{},"字":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"是":{"docs":{},"空":{"docs":{},"白":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"案":{"docs":{},"浅":{"docs":{},"谈":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":5.001083423618635}}}}}}}},"计":{"docs":{},"还":{"docs":{},"得":{"docs":{},"等":{"docs":{},"待":{"docs":{},"一":{"docs":{},"些":{"docs":{},"时":{"docs":{},"日":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.016183412002697236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.010224948875255624},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"或":{"docs":{},"者":{"docs":{},"把":{"docs":{},"它":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{},"和":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"转":{"docs":{},"发":{"docs":{},"它":{"docs":{},"没":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{},"把":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"正":{"docs":{},"是":{"docs":{},"代":{"docs":{},"理":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"关":{"docs":{},"联":{"docs":{},"策":{"docs":{},"略":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"x":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"1":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.009776536312849162}}}},"1":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"3":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"6":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}},"7":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"制":{"docs":{},"定":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"还":{"docs":{},"有":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"7":{"docs":{},"等":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},",":{"docs":{},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"x":{"docs":{},"x":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{},"那":{"docs":{},"么":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"x":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.03125},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.016597510373443983},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"配":{"docs":{},"置":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"能":{"docs":{},"够":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"看":{"docs":{},"到":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"端":{"docs":{},"输":{"docs":{},"入":{"docs":{},"以":{"docs":{},"下":{"docs":{},"指":{"docs":{},"令":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"p":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"i":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204}},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"等":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"到":{"docs":{},"结":{"docs":{},"果":{"docs":{},"目":{"docs":{},"录":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},"专":{"docs":{},"题":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"储":{"docs":{},"存":{"docs":{},"小":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}},"也":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}},"了":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"转":{"docs":{},"成":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"说":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"是":{"docs":{},"给":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"会":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},"受":{"docs":{},"到":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"已":{"docs":{},"经":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"别":{"docs":{},"不":{"docs":{},"会":{"docs":{},"太":{"docs":{},"大":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"弱":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"一":{"docs":{},"定":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"递":{"docs":{},"归":{"docs":{},"进":{"docs":{},"行":{"docs":{},"符":{"docs":{},"号":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"明":{"docs":{},"了":{"docs":{},"了":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"是":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"到":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"生":{"docs":{},"效":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"会":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"会":{"docs":{},"变":{"docs":{},"快":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"不":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"编":{"docs":{},"译":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"连":{"docs":{},"改":{"docs":{},"名":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"都":{"docs":{},"省":{"docs":{},"去":{"docs":{},"了":{"docs":{},"。":{"docs":{},"以":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"型":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"为":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"卸":{"docs":{},"载":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"就":{"docs":{},"没":{"docs":{},"法":{"docs":{},"通":{"docs":{},"知":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"将":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"优":{"docs":{},"化":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"方":{"docs":{},"案":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"着":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"器":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},":":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"做":{"docs":{},"些":{"docs":{},"事":{"docs":{},",":{"docs":{},"一":{"docs":{},"起":{"docs":{},"加":{"docs":{},"起":{"docs":{},"来":{"docs":{},"就":{"docs":{},"构":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"直":{"docs":{},"接":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},"(":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"希":{"docs":{},"尔":{"docs":{},"排":{"docs":{},"序":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"后":{"docs":{},"完":{"docs":{},"整":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"了":{"docs":{},"加":{"docs":{},"密":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"启":{"docs":{},"动":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"有":{"docs":{},"影":{"docs":{},"响":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"先":{"docs":{},"级":{"docs":{},"从":{"docs":{},"高":{"docs":{},"到":{"docs":{},"低":{"docs":{},"依":{"docs":{},"次":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"势":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"适":{"docs":{},"合":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"持":{"docs":{},"界":{"docs":{},"面":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"的":{"docs":{},"技":{"docs":{},"巧":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"原":{"docs":{},"状":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"从":{"docs":{},"下":{"docs":{},"标":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}},"存":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"证":{"docs":{},"原":{"docs":{},"子":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"能":{"docs":{},"够":{"docs":{},"到":{"docs":{},"达":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}},"活":{"docs":{},"原":{"docs":{},"理":{"docs":{},"来":{"docs":{},"说":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"留":{"docs":{},"字":{"docs":{},"段":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"准":{"docs":{},"备":{"docs":{},"提":{"docs":{},"交":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"(":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"工":{"docs":{},"作":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"判":{"docs":{},"断":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"是":{"docs":{},"同":{"docs":{},"步":{"docs":{},"查":{"docs":{},"询":{"docs":{},"还":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"查":{"docs":{},"询":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"否":{"docs":{},"终":{"docs":{},"结":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"复":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{},"到":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"定":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"采":{"docs":{},"用":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"&":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}}},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"适":{"docs":{},"当":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"与":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"已":{"docs":{},"经":{"docs":{},"提":{"docs":{},"过":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"队":{"docs":{},"列":{"docs":{},"会":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"而":{"docs":{},"任":{"docs":{},"务":{"docs":{},"也":{"docs":{},"会":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"务":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"和":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"导":{"docs":{},"致":{"docs":{},"各":{"docs":{},"个":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"明":{"docs":{},"明":{"docs":{},"是":{"docs":{},"先":{"docs":{},"于":{"docs":{},"任":{"docs":{},"务":{"4":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"晚":{"docs":{},"于":{"docs":{},"任":{"docs":{},"务":{"4":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"提":{"docs":{},"到":{"docs":{},"过":{"docs":{},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"替":{"docs":{},"换":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"保":{"docs":{},"持":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"不":{"docs":{},"变":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"以":{"docs":{},"这":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"入":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"端":{"docs":{},"负":{"docs":{},"责":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"词":{"docs":{},"法":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},":":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"语":{"docs":{},"义":{"docs":{},"分":{"docs":{},"析":{"docs":{},"和":{"docs":{},"生":{"docs":{},"成":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"现":{"docs":{},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"或":{"docs":{},"需":{"docs":{},"要":{"docs":{},"警":{"docs":{},"告":{"docs":{},"的":{"docs":{},"会":{"docs":{},"标":{"docs":{},"注":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"通":{"docs":{},"俗":{"docs":{},"的":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"当":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"向":{"docs":{},"左":{"docs":{},"在":{"docs":{},"向":{"docs":{},"右":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"中":{"docs":{},",":{"docs":{},"后":{"docs":{},"只":{"docs":{},"是":{"docs":{},"指":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"前":{"docs":{},"序":{"docs":{},"就":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"言":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"即":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"退":{"docs":{},"出":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"关":{"docs":{},"注":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"时":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"使":{"docs":{},"用":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"效":{"docs":{},"果":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"修":{"docs":{},"饰":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"从":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"猜":{"docs":{},"测":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"机":{"docs":{},"制":{"docs":{},"会":{"docs":{},"先":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"去":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"针":{"docs":{},"对":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"这":{"docs":{},"些":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"再":{"docs":{},"决":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},"i":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"i":{"docs":{},"d":{"docs":{},"指":{"docs":{},"针":{"docs":{},"所":{"docs":{},"指":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"才":{"docs":{},"能":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"像":{"docs":{},"内":{"docs":{},"置":{"docs":{},"的":{"docs":{},"明":{"docs":{},"确":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"能":{"docs":{},"被":{"docs":{},"识":{"docs":{},"别":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"若":{"docs":{},"程":{"docs":{},"序":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"出":{"docs":{},"警":{"docs":{},"告":{"docs":{},"。":{"docs":{},"而":{"docs":{},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"要":{"docs":{},"等":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"是":{"docs":{},"从":{"docs":{},"父":{"docs":{},"类":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"里":{"docs":{},"。":{"docs":{},"而":{"docs":{},"当":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"父":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"那":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"在":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"里":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"一":{"docs":{},"份":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"内":{"docs":{},"操":{"docs":{},"作":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"外":{"docs":{},"的":{"docs":{},"非":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"都":{"docs":{},"可":{"docs":{},"读":{"docs":{},"取":{"docs":{},"运":{"docs":{},"行":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"可":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"重":{"docs":{},"排":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"我":{"docs":{},"们":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"发":{"docs":{},"出":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"u":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"停":{"docs":{},"止":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"主":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"1":{"docs":{},"(":{"docs":{},"终":{"docs":{},"止":{"docs":{},"等":{"docs":{},"待":{"1":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},",":{"docs":{},"对":{"docs":{},"此":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"u":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"w":{"docs":{},"+":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"进":{"docs":{},"入":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"未":{"docs":{},"释":{"docs":{},"放":{"docs":{},"掉":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},"待":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"才":{"docs":{},"进":{"docs":{},"入":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},"即":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"u":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},")":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"进":{"docs":{},"入":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"处":{"docs":{},"于":{"docs":{},"半":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"后":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"2":{"docs":{},"(":{"docs":{},"终":{"docs":{},"止":{"docs":{},"等":{"docs":{},"待":{"2":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"要":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"w":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"u":{"docs":{},"+":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"进":{"docs":{},"入":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"最":{"docs":{},"后":{"docs":{},"确":{"docs":{},"认":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"刻":{"docs":{},"大":{"docs":{},"量":{"docs":{},"应":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"等":{"docs":{},"效":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"用":{"docs":{},"户":{"docs":{},"安":{"docs":{},"装":{"docs":{},"应":{"docs":{},"用":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"至":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"用":{"docs":{},"户":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"将":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},"全":{"docs":{},"部":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"压":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"被":{"docs":{},"解":{"docs":{},"码":{"docs":{},"成":{"docs":{},"其":{"docs":{},"未":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"形":{"docs":{},"式":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"显":{"docs":{},"示":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"此":{"docs":{},"处":{"docs":{},"有":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"加":{"docs":{},"载":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"回":{"docs":{},"调":{"docs":{},"给":{"docs":{},"了":{"docs":{},"上":{"docs":{},"一":{"docs":{},"级":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"。":{"docs":{},"从":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"就":{"docs":{},"是":{"docs":{},"标":{"docs":{},"识":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"放":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"检":{"docs":{},"测":{"docs":{},"是":{"docs":{},"否":{"docs":{},"兼":{"docs":{},"容":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"寻":{"docs":{},"找":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"参":{"docs":{},"考":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"资":{"docs":{},"料":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"静":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"的":{"docs":{},"警":{"docs":{},"告":{"docs":{},",":{"docs":{},"修":{"docs":{},"复":{"docs":{},"所":{"docs":{},"有":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"判":{"docs":{},"断":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"量":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"数":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"名":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"等":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"支":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"并":{"docs":{},"且":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"它":{"docs":{},"能":{"docs":{},"在":{"docs":{},"几":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"以":{"docs":{},"内":{"docs":{},"将":{"docs":{},"两":{"docs":{},"个":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"分":{"docs":{},"支":{"docs":{},"进":{"docs":{},"行":{"docs":{},"比":{"docs":{},"较":{"docs":{},"和":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"较":{"docs":{},"长":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"器":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"外":{"docs":{},"观":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"加":{"docs":{},"载":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{},"性":{"docs":{},"判":{"docs":{},"断":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"检":{"docs":{},"查":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"利":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"适":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"及":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"后":{"docs":{},"(":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"后":{"docs":{},")":{"docs":{},"会":{"docs":{},"依":{"docs":{},"次":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"具":{"docs":{},"有":{"docs":{},"局":{"docs":{},"部":{"docs":{},"性":{"docs":{},"特":{"docs":{},"征":{"docs":{},",":{"docs":{},"即":{"docs":{},"只":{"docs":{},"有":{"docs":{},"少":{"docs":{},"部":{"docs":{},"分":{"docs":{},"函":{"docs":{},"数":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"用":{"docs":{},"到":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"是":{"docs":{},"零":{"docs":{},"散":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"才":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"通":{"docs":{},"知":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"未":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"周":{"docs":{},"期":{"docs":{},"根":{"docs":{},"本":{"docs":{},"没":{"docs":{},"法":{"docs":{},"想":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"一":{"docs":{},"个":{"docs":{},"月":{"docs":{},"不":{"docs":{},"重":{"docs":{},"启":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"类":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"路":{"docs":{},"径":{"docs":{},"上":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"很":{"docs":{},"多":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"速":{"docs":{},"度":{"docs":{},"提":{"docs":{},"升":{"docs":{},"超":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"断":{"docs":{},"崖":{"docs":{},"式":{"docs":{},"下":{"docs":{},"降":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"之":{"docs":{},"一":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"(":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"重":{"docs":{},"排":{"docs":{},")":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"必":{"docs":{},"须":{"docs":{},"进":{"docs":{},"行":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"损":{"docs":{},"耗":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"也":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"—":{"docs":{},"—":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"影":{"docs":{},"响":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},":":{"docs":{},"本":{"docs":{},"次":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"过":{"docs":{},"去":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"和":{"docs":{},"未":{"docs":{},"来":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":5}}}}}}}}}}}},"矫":{"docs":{},"正":{"docs":{},"这":{"docs":{},"些":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"但":{"docs":{},"矫":{"docs":{},"正":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"静":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"各":{"docs":{},"种":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"分":{"docs":{},"布":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"做":{"docs":{},"完":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},",":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"内":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"闭":{"docs":{},"包":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"图":{"docs":{},"未":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"表":{"docs":{},"现":{"docs":{},"为":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"均":{"docs":{},"为":{"docs":{},"白":{"docs":{},"屏":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"线":{"docs":{},"上":{"docs":{},"也":{"docs":{},"有":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"问":{"docs":{},"题":{"docs":{},"(":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"知":{"docs":{},"名":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"仍":{"docs":{},"展":{"docs":{},"示":{"docs":{},"旧":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"相":{"docs":{},"信":{"docs":{},"有":{"docs":{},"不":{"docs":{},"少":{"docs":{},"同":{"docs":{},"学":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"非":{"docs":{},"常":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},"不":{"docs":{},"免":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"更":{"docs":{},"换":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"本":{"docs":{},"以":{"docs":{},"为":{"docs":{},"这":{"docs":{},"是":{"docs":{},"件":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"操":{"docs":{},"作":{"docs":{},"时":{"docs":{},"却":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"了":{"docs":{},"各":{"docs":{},"种":{"docs":{},"毫":{"docs":{},"无":{"docs":{},"头":{"docs":{},"绪":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"未":{"docs":{},"成":{"docs":{},"功":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"《":{"docs":{},"原":{"docs":{},"理":{"docs":{},"篇":{"docs":{},"》":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":3.333333333333333}}}}}}}}},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"告":{"docs":{},"诉":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.008741258741258742}},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"如":{"docs":{},"何":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"处":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"理":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"小":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"完":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"并":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"1":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"docs":{}}}}}}},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"叫":{"docs":{},"非":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"你":{"docs":{},"这":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"不":{"docs":{},"是":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"或":{"docs":{},"者":{"docs":{},"内":{"docs":{},"核":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"你":{"docs":{},"的":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"方":{"docs":{},"法":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"非":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"的":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"交":{"docs":{},"给":{"docs":{},"代":{"docs":{},"理":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"的":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"如":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"打":{"docs":{},"包":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"某":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"打":{"docs":{},"开":{"docs":{},"会":{"docs":{},"员":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"会":{"docs":{},"员":{"docs":{},",":{"docs":{},"搜":{"docs":{},"到":{"docs":{},"之":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"回":{"docs":{},"传":{"docs":{},"会":{"docs":{},"员":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},",":{"docs":{},"经":{"docs":{},"过":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"计":{"docs":{},"算":{"docs":{},"得":{"docs":{},"出":{"docs":{},"索":{"docs":{},"引":{"2":{"docs":{},",":{"docs":{},"起":{"docs":{},"初":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"够":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"从":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"几":{"docs":{},"何":{"docs":{},"结":{"docs":{},"构":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"限":{"docs":{},"制":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"图":{"docs":{},"层":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"之":{"docs":{},"前":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"(":{"docs":{},"图":{"docs":{},"层":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"由":{"docs":{},"很":{"docs":{},"多":{"docs":{},"小":{"docs":{},"物":{"docs":{},"体":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"特":{"docs":{},"别":{"docs":{},"重":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{},",":{"docs":{},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},"就":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},":":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"器":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"就":{"docs":{},"是":{"docs":{},"不":{"docs":{},"断":{"docs":{},"修":{"docs":{},"改":{"docs":{},"和":{"docs":{},"读":{"docs":{},"取":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"设":{"docs":{},"置":{"docs":{},"成":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"流":{"docs":{},"程":{"docs":{},"交":{"docs":{},"给":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"p":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"封":{"docs":{},"装":{"docs":{},"并":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"到":{"docs":{},"里":{"docs":{},"面":{"docs":{},"。":{"docs":{},"上":{"docs":{},"层":{"docs":{},"业":{"docs":{},"务":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"接":{"docs":{},"口":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"图":{"docs":{},"层":{"docs":{},"遮":{"docs":{},"罩":{"docs":{},",":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"图":{"docs":{},"层":{"docs":{},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{},"都":{"docs":{},"会":{"docs":{},"强":{"docs":{},"制":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"就":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"树":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"自":{"docs":{},"上":{"docs":{},"而":{"docs":{},"下":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{},"针":{"docs":{},"对":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"结":{"docs":{},"果":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"按":{"docs":{},"层":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"法":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"首":{"docs":{},"先":{"docs":{},"限":{"docs":{},"制":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"级":{"docs":{},",":{"docs":{},"认":{"docs":{},"清":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"做":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"是":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"保":{"docs":{},"留":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"和":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"因":{"docs":{},"为":{"docs":{},"没":{"docs":{},"有":{"docs":{},"明":{"docs":{},"确":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"组":{"docs":{},"来":{"docs":{},"负":{"docs":{},"责":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"轻":{"docs":{},"薄":{"docs":{},"。":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"之":{"docs":{},"间":{"docs":{},"互":{"docs":{},"不":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"但":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"是":{"docs":{},"相":{"docs":{},"悖":{"docs":{},"的":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"因":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"于":{"docs":{},"维":{"docs":{},"护":{"docs":{},"和":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"但":{"docs":{},"随":{"docs":{},"着":{"docs":{},"业":{"docs":{},"务":{"docs":{},"的":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"变":{"docs":{},"得":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"只":{"docs":{},"做":{"docs":{},"分":{"docs":{},"层":{"docs":{},"就":{"docs":{},"不":{"docs":{},"够":{"docs":{},"了":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"己":{"docs":{},"保":{"docs":{},"留":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"像":{"docs":{},"素":{"docs":{},"受":{"docs":{},"到":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"接":{"docs":{},"收":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"为":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"指":{"docs":{},"定":{"docs":{},"存":{"docs":{},"储":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"把":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"传":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"在":{"docs":{},"此":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"句":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"语":{"docs":{},"句":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"将":{"docs":{},"要":{"docs":{},"被":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"是":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"先":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"里":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"做":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"少":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"里":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"得":{"docs":{},"到":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"(":{"docs":{},"有":{"docs":{},"值":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"后":{"docs":{},"台":{"docs":{},"线":{"docs":{},"程":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"时":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"过":{"docs":{},"快":{"docs":{},"时":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"成":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},"了":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"时":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"继":{"docs":{},"续":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"快":{"docs":{},"速":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"由":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"慢":{"docs":{},"速":{"docs":{},"流":{"docs":{},"程":{"docs":{},"都":{"docs":{},"没":{"docs":{},"找":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"就":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{},"这":{"docs":{},"步":{"docs":{},"—":{"docs":{},"—":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"进":{"docs":{},"行":{"docs":{},"链":{"docs":{},"式":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"为":{"docs":{},":":{"docs":{},"定":{"docs":{},"义":{"docs":{},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"与":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"配":{"docs":{},"合":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"线":{"docs":{},"程":{"docs":{},"局":{"docs":{},"部":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"快":{"docs":{},"速":{"docs":{},"取":{"docs":{},"得":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"和":{"docs":{},"`":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":10.007575757575758}},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},"思":{"docs":{},"想":{"docs":{},"是":{"docs":{},"分":{"docs":{},"而":{"docs":{},"治":{"docs":{},"之":{"docs":{},",":{"docs":{},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"待":{"docs":{},"排":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"分":{"docs":{},"成":{"docs":{},"两":{"docs":{},"个":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"采":{"docs":{},"用":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"将":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},"也":{"docs":{},"分":{"docs":{},"成":{"docs":{},"更":{"docs":{},"小":{"docs":{},"的":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"得":{"docs":{},"到":{"docs":{},"排":{"docs":{},"序":{"docs":{},"好":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"。":{"docs":{},"算":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"成":{"docs":{},"三":{"docs":{},"步":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"英":{"docs":{},"语":{"docs":{},":":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"又":{"docs":{},"称":{"docs":{},"划":{"docs":{},"分":{"docs":{},"交":{"docs":{},"换":{"docs":{},"排":{"docs":{},"序":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"印":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}},"散":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"预":{"docs":{},"热":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"基":{"docs":{},"础":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"和":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"第":{"docs":{},"三":{"docs":{},"题":{"docs":{},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"表":{"docs":{},"内":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"上":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"解":{"docs":{},"决":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"就":{"docs":{},"通":{"docs":{},"过":{"docs":{},"源":{"docs":{},"码":{"docs":{},"探":{"docs":{},"索":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"注":{"docs":{},"意":{"docs":{},"事":{"docs":{},"项":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"我":{"docs":{},"们":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"设":{"docs":{},"置":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"度":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"不":{"docs":{},"做":{"docs":{},"详":{"docs":{},"细":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"着":{"docs":{},"重":{"docs":{},"看":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"收":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"情":{"docs":{},"况":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"这":{"docs":{},"里":{"docs":{},"。":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"信":{"docs":{},"号":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"随":{"docs":{},"后":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"和":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"描":{"docs":{},"述":{"docs":{},"(":{"docs":{},"三":{"docs":{},"角":{"docs":{},"形":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"若":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"从":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"深":{"docs":{},"度":{"docs":{},"剖":{"docs":{},"析":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}},"受":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"又":{"docs":{},"做":{"docs":{},"了":{"docs":{},"多":{"docs":{},"次":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"得":{"docs":{},"出":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"往":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"写":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"也":{"docs":{},"无":{"docs":{},"写":{"docs":{},"入":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"到":{"docs":{},"当":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"信":{"docs":{},"息":{"docs":{},"输":{"docs":{},"出":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"果":{"docs":{},"然":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"应":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"观":{"docs":{},"察":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"当":{"docs":{},"对":{"docs":{},"象":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"口":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"起":{"docs":{},"源":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"推":{"docs":{},"荐":{"docs":{},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"阅":{"docs":{},"读":{"docs":{},":":{"docs":{},"《":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"》":{"docs":{},"对":{"docs":{},"于":{"docs":{},"图":{"docs":{},"像":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"书":{"docs":{},"中":{"docs":{},"最":{"docs":{},"后":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"料":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"加":{"docs":{},"上":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}},"销":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"操":{"docs":{},"作":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"会":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"上":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"是":{"docs":{},"得":{"docs":{},"益":{"docs":{},"于":{"docs":{},"人":{"docs":{},"们":{"docs":{},"在":{"docs":{},"后":{"docs":{},"来":{"docs":{},"适":{"docs":{},"配":{"docs":{},"了":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"程":{"docs":{},"序":{"docs":{},";":{"docs":{},"而":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"之":{"docs":{},"前":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"取":{"docs":{},"消":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"当":{"docs":{},"前":{"docs":{},"实":{"docs":{},"例":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"是":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"等":{"docs":{},"到":{"docs":{},"完":{"docs":{},"成":{"docs":{},"以":{"docs":{},"后":{"docs":{},"再":{"docs":{},"次":{"docs":{},"清":{"docs":{},"空":{"docs":{},",":{"docs":{},"再":{"docs":{},"回":{"docs":{},"到":{"docs":{},"向":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"改":{"docs":{},"造":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"是":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"本":{"docs":{},"来":{"docs":{},"一":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"或":{"docs":{},"者":{"docs":{},"某":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"体":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"片":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"数":{"docs":{},"据":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"读":{"docs":{},"入":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"中":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"声":{"docs":{},"明":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"对":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"库":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"进":{"docs":{},"行":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"也":{"docs":{},"包":{"docs":{},"括":{"docs":{},"多":{"docs":{},"个":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}},"关":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"信":{"docs":{},"息":{"docs":{},"来":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"结":{"docs":{},"构":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}},"d":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"里":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"调":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},",":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}},"使":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"由":{"docs":{},"地":{"docs":{},"址":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"后":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"找":{"docs":{},"到":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"库":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"找":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"库":{"docs":{},",":{"docs":{},"形":{"docs":{},"成":{"docs":{},"一":{"docs":{},"张":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"图":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},"对":{"docs":{},"这":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"签":{"docs":{},"名":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"保":{"docs":{},"证":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"不":{"docs":{},"多":{"docs":{},"不":{"docs":{},"少":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"篡":{"docs":{},"改":{"docs":{},"过":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"把":{"docs":{},"包":{"docs":{},"上":{"docs":{},"传":{"docs":{},"到":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"会":{"docs":{},"选":{"docs":{},"择":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"格":{"docs":{},"式":{"docs":{},"探":{"docs":{},"索":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"的":{"docs":{},"缩":{"docs":{},"写":{"docs":{},",":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"并":{"docs":{},"对":{"docs":{},"其":{"docs":{},"签":{"docs":{},"名":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}},"寻":{"docs":{},"找":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"篡":{"docs":{},"改":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},")":{"docs":{},"。":{"docs":{},"将":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"结":{"docs":{},"构":{"docs":{},"对":{"docs":{},"应":{"docs":{},"表":{"docs":{},"、":{"docs":{},"将":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"、":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"结":{"docs":{},"构":{"docs":{},"对":{"docs":{},"应":{"docs":{},"表":{"docs":{},"写":{"docs":{},"成":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"和":{"docs":{},"对":{"docs":{},"其":{"docs":{},"签":{"docs":{},"名":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"是":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"来":{"docs":{},"分":{"docs":{},"析":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"我":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"博":{"docs":{},"客":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"降":{"docs":{},"低":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"编":{"docs":{},"号":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"模":{"docs":{},"式":{"docs":{},"开":{"docs":{},"发":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"绘":{"docs":{},"制":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"被":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"到":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"无":{"docs":{},"误":{"docs":{},",":{"docs":{},"但":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"想":{"docs":{},"法":{"docs":{},"是":{"docs":{},"既":{"docs":{},"然":{"docs":{},"无":{"docs":{},"法":{"docs":{},"从":{"docs":{},"根":{"docs":{},"源":{"docs":{},"上":{"docs":{},"避":{"docs":{},"免":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"提":{"docs":{},"供":{"docs":{},"补":{"docs":{},"救":{"docs":{},"措":{"docs":{},"施":{"docs":{},",":{"docs":{},"让":{"docs":{},"其":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"下":{"docs":{},"次":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"就":{"docs":{},"显":{"docs":{},"示":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"后":{"docs":{},"后":{"docs":{},"续":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"都":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"来":{"docs":{},"说":{"docs":{},"也":{"docs":{},"可":{"docs":{},"接":{"docs":{},"受":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"简":{"docs":{},"答":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"常":{"docs":{},"量":{"docs":{},"区":{"docs":{},":":{"docs":{},"常":{"docs":{},"量":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"就":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"章":{"docs":{},"中":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"文":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"档":{"docs":{},"和":{"docs":{},"工":{"docs":{},"具":{"docs":{},"链":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"说":{"docs":{},"十":{"docs":{},"分":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"初":{"docs":{},"学":{"docs":{},"者":{"docs":{},"快":{"docs":{},"速":{"docs":{},"上":{"docs":{},"手":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"解":{"docs":{},"决":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"困":{"docs":{},"惑":{"docs":{},"、":{"docs":{},"理":{"docs":{},"解":{"docs":{},"工":{"docs":{},"具":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"0":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"不":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"包":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"间":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"找":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"步":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"询":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"次":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"值":{"docs":{},"取":{"docs":{},"决":{"docs":{},"设":{"docs":{},"备":{"docs":{},"硬":{"docs":{},"件":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"即":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}},"比":{"docs":{},"较":{"docs":{},"。":{"docs":{},"在":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"状":{"docs":{},"况":{"docs":{},"下":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"种":{"docs":{},"状":{"docs":{},"况":{"docs":{},"并":{"docs":{},"不":{"docs":{},"常":{"docs":{},"见":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{},"通":{"docs":{},"常":{"docs":{},"明":{"docs":{},"显":{"docs":{},"比":{"docs":{},"其":{"docs":{},"他":{"docs":{},"算":{"docs":{},"法":{"docs":{},"更":{"docs":{},"快":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"循":{"docs":{},"环":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"有":{"docs":{},"几":{"docs":{},"十":{"docs":{},"张":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"要":{"docs":{},"求":{"docs":{},"这":{"docs":{},"么":{"docs":{},"做":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"右":{"docs":{},",":{"docs":{},"统":{"docs":{},"计":{"docs":{},"表":{"docs":{},"格":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"和":{"docs":{},"过":{"docs":{},"度":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"写":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"清":{"docs":{},"除":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"旧":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"理":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"减":{"docs":{},"一":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"还":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"从":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"其":{"docs":{},"它":{"docs":{},"相":{"docs":{},"应":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"空":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"迫":{"docs":{},"使":{"docs":{},"系":{"docs":{},"统":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"出":{"docs":{},"现":{"docs":{},"白":{"docs":{},"屏":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"方":{"docs":{},"案":{"docs":{},"无":{"docs":{},"效":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"放":{"docs":{},"入":{"docs":{},"随":{"docs":{},"意":{"docs":{},"命":{"docs":{},"名":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"验":{"docs":{},"证":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"下":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"或":{"docs":{},"应":{"docs":{},"用":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"应":{"docs":{},"用":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"方":{"docs":{},"向":{"docs":{},"及":{"docs":{},"设":{"docs":{},"备":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},";":{"docs":{},"b":{"docs":{},".":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"仍":{"docs":{},"旧":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"故":{"docs":{},"排":{"docs":{},"除":{"docs":{},"编":{"docs":{},"译":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"片":{"docs":{},"分":{"docs":{},"配":{"docs":{},"额":{"docs":{},"外":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"切":{"docs":{},"换":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"特":{"docs":{},"定":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"乃":{"docs":{},"至":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"得":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"在":{"docs":{},"图":{"docs":{},"中":{"docs":{},"标":{"docs":{},"明":{"docs":{},"的":{"docs":{},"黄":{"docs":{},"色":{"docs":{},"框":{"docs":{},"框":{"docs":{},",":{"docs":{},"就":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"最":{"docs":{},"终":{"docs":{},"访":{"docs":{},"问":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"这":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"其":{"docs":{},"在":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"下":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"到":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"小":{"docs":{},"集":{"docs":{},"推":{"docs":{},"荐":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"乎":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"图":{"docs":{},"片":{"docs":{},"格":{"docs":{},"式":{"docs":{},"调":{"docs":{},"研":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"其":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"是":{"docs":{},"提":{"docs":{},"升":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"和":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"单":{"docs":{},"从":{"docs":{},"实":{"docs":{},"现":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"看":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"黑":{"docs":{},"魔":{"docs":{},"法":{"docs":{},"或":{"docs":{},"技":{"docs":{},"术":{"docs":{},"难":{"docs":{},"点":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"是":{"docs":{},"结":{"docs":{},"合":{"docs":{},"团":{"docs":{},"队":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"协":{"docs":{},"作":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"考":{"docs":{},"量":{"docs":{},"—":{"docs":{},"—":{"docs":{},"“":{"docs":{},"适":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"才":{"docs":{},"是":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"”":{"docs":{},"。":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"通":{"docs":{},"过":{"docs":{},"过":{"docs":{},"往":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"控":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"通":{"docs":{},"常":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"区":{"docs":{},":":{"docs":{},"存":{"docs":{},"放":{"docs":{},"函":{"docs":{},"数":{"docs":{},"体":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.14285714285714285}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"间":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"到":{"docs":{},"下":{"docs":{},"次":{"docs":{},"才":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"启":{"docs":{},"动":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"开":{"docs":{},"启":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"被":{"docs":{},"成":{"docs":{},"为":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"员":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"告":{"docs":{},"诉":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"设":{"docs":{},"计":{"docs":{},"更":{"docs":{},"加":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"、":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"共":{"docs":{},"享":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"执":{"docs":{},"行":{"docs":{},"从":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"开":{"docs":{},"始":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},"级":{"docs":{},"关":{"docs":{},"系":{"docs":{},"中":{"docs":{},"有":{"docs":{},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"没":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"不":{"docs":{},"是":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"述":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"和":{"docs":{},"变":{"docs":{},"基":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"被":{"docs":{},"分":{"docs":{},"配":{"docs":{},"用":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},"文":{"docs":{},"件":{"docs":{},"i":{"docs":{},"o":{"docs":{},"和":{"docs":{},"解":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"粘":{"docs":{},"连":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"访":{"docs":{},"问":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"解":{"docs":{},"析":{"docs":{},"被":{"docs":{},"错":{"docs":{},"误":{"docs":{},"递":{"docs":{},"归":{"docs":{},"(":{"docs":{},"跨":{"docs":{},"地":{"docs":{},"区":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"跨":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},")":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"导":{"docs":{},"致":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"去":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"一":{"docs":{},"种":{"docs":{},"可":{"docs":{},"以":{"docs":{},"绕":{"docs":{},"开":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"来":{"docs":{},"做":{"docs":{},"【":{"docs":{},"域":{"docs":{},"名":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"指":{"docs":{},"针":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"入":{"docs":{},"口":{"docs":{},"等":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"具":{"docs":{},"有":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"规":{"docs":{},"则":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"得":{"docs":{},"而":{"docs":{},"知":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"获":{"docs":{},"取":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"图":{"docs":{},"片":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},"锁":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"和":{"docs":{},"申":{"docs":{},"请":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"能":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"源":{"docs":{},"事":{"docs":{},"件":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"下":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"a":{"docs":{},"c":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{},"存":{"docs":{},"入":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"次":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"程":{"docs":{},"序":{"docs":{},"架":{"docs":{},"构":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}},"得":{"docs":{},"锁":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"新":{"docs":{},"值":{"docs":{},"和":{"docs":{},"旧":{"docs":{},"值":{"docs":{},"的":{"docs":{},"锁":{"docs":{},"存":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"用":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"示":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}}},"落":{"docs":{},"影":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"在":{"docs":{},"中":{"docs":{},"心":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"中":{"docs":{},"心":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"没":{"docs":{},"有":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"命":{"docs":{},"名":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"就":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"现":{"docs":{},"命":{"docs":{},"名":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"各":{"docs":{},"种":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"过":{"docs":{},"程":{"docs":{},"看":{"docs":{},"似":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"递":{"docs":{},"归":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"故":{"docs":{},"采":{"docs":{},"用":{"docs":{},"递":{"docs":{},"归":{"docs":{},"方":{"docs":{},"式":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"十":{"docs":{},"分":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"近":{"docs":{},"似":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"把":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"间":{"docs":{},"控":{"docs":{},"制":{"docs":{},"在":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"一":{"docs":{},"层":{"docs":{},"一":{"docs":{},"层":{"docs":{},"往":{"docs":{},"画":{"docs":{},"布":{"docs":{},"上":{"docs":{},"进":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"层":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"来":{"docs":{},"擦":{"docs":{},"除":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"警":{"docs":{},"告":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"够":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"带":{"docs":{},"来":{"docs":{},"各":{"docs":{},"种":{"docs":{},"各":{"docs":{},"样":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"说":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},",":{"docs":{},"正":{"docs":{},"相":{"docs":{},"反":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"控":{"docs":{},"制":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},",":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"却":{"docs":{},"能":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"企":{"docs":{},"业":{"docs":{},"或":{"docs":{},"者":{"docs":{},"项":{"docs":{},"目":{"docs":{},"在":{"docs":{},"做":{"docs":{},"决":{"docs":{},"策":{"docs":{},"时":{"docs":{},"认":{"docs":{},"为":{"docs":{},"『":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"非":{"docs":{},"常":{"docs":{},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"』":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"与":{"docs":{},"权":{"docs":{},"限":{"docs":{},"审":{"docs":{},"核":{"docs":{},"的":{"docs":{},"权":{"docs":{},"衡":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"是":{"docs":{},"等":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"操":{"docs":{},"作":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"者":{"docs":{},"多":{"docs":{},"个":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"多":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"同":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"各":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"更":{"docs":{},"像":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"叉":{"docs":{},"的":{"docs":{},"树":{"docs":{},"形":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"与":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"等":{"docs":{},"价":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"从":{"docs":{},"两":{"docs":{},"者":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"它":{"docs":{},"们":{"docs":{},"在":{"docs":{},"设":{"docs":{},"计":{"docs":{},"上":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"抉":{"docs":{},"择":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"v":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"好":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"完":{"docs":{},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"遮":{"docs":{},"罩":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{},"好":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"分":{"docs":{},"割":{"docs":{},"成":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"当":{"docs":{},"前":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"活":{"docs":{},"动":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"链":{"docs":{},"接":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"中":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"热":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"裁":{"docs":{},"切":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"剪":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"完":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"好":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"一":{"docs":{},"起":{"docs":{},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"西":{"docs":{},"之":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"巨":{"docs":{},"大":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"支":{"docs":{},"持":{"docs":{},"对":{"docs":{},"图":{"docs":{},"层":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"成":{"docs":{},"为":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},":":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"解":{"docs":{},"及":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"请":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"求":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}},"二":{"docs":{},"完":{"docs":{},"成":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"是":{"docs":{},"以":{"docs":{},"「":{"docs":{},"引":{"docs":{},"用":{"docs":{},"」":{"docs":{},"方":{"docs":{},"式":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"修":{"docs":{},"改":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"对":{"docs":{},"于":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{},"是":{"docs":{},"可":{"docs":{},"见":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"浪":{"docs":{},"费":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},"并":{"docs":{},"造":{"docs":{},"成":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"迟":{"docs":{},"迟":{"docs":{},"无":{"docs":{},"法":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"我":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"快":{"docs":{},"速":{"docs":{},"、":{"docs":{},"提":{"docs":{},"前":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},";":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"每":{"docs":{},"一":{"docs":{},"行":{"docs":{},"文":{"docs":{},"本":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拥":{"docs":{},"有":{"docs":{},":":{"docs":{},"同":{"docs":{},"一":{"docs":{},"进":{"docs":{},"程":{"docs":{},"内":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"共":{"docs":{},"享":{"docs":{},"本":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"如":{"docs":{},"内":{"docs":{},"存":{"docs":{},"、":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"、":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"等":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"场":{"docs":{},"景":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"界":{"docs":{},"面":{"docs":{},"快":{"docs":{},"速":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"复":{"docs":{},"用":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"非":{"docs":{},"常":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"文":{"docs":{},"件":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"调":{"docs":{},"度":{"docs":{},"问":{"docs":{},"题":{"docs":{},")":{"docs":{},"。":{"docs":{},"以":{"docs":{},"上":{"docs":{},"数":{"docs":{},"据":{"docs":{},"只":{"docs":{},"作":{"docs":{},"为":{"docs":{},"性":{"docs":{},"能":{"docs":{},"提":{"docs":{},"升":{"docs":{},"参":{"docs":{},"考":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"显":{"docs":{},"著":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"点":{"docs":{},":":{"docs":{},"进":{"docs":{},"程":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"来":{"docs":{},"也":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"源":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"随":{"docs":{},"后":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"换":{"docs":{},"成":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"三":{"docs":{},"角":{"docs":{},"板":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"并":{"docs":{},"不":{"docs":{},"知":{"docs":{},"晓":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"化":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"码":{"docs":{},",":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"场":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"和":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"动":{"docs":{},"作":{"docs":{},"跳":{"docs":{},"转":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"自":{"docs":{},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"遮":{"docs":{},"罩":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"郭":{"docs":{},"曜":{"docs":{},"源":{"docs":{},"前":{"docs":{},"辈":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"还":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"对":{"docs":{},"应":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"地":{"docs":{},"方":{"docs":{},"读":{"docs":{},"取":{"docs":{},"这":{"docs":{},"些":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"输":{"docs":{},"入":{"docs":{},"密":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"交":{"docs":{},"易":{"docs":{},",":{"docs":{},"和":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"件":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"从":{"docs":{},"代":{"docs":{},"码":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"、":{"docs":{},"从":{"docs":{},"n":{"docs":{},"i":{"docs":{},"b":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"即":{"docs":{},"可":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"描":{"docs":{},"述":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"注":{"docs":{},"册":{"docs":{},"好":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"用":{"docs":{},"来":{"docs":{},"使":{"docs":{},"用":{"docs":{},"业":{"docs":{},"务":{"docs":{},"数":{"docs":{},"据":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"终":{"docs":{},"点":{"docs":{},"定":{"docs":{},"义":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"传":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"[":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"。":{"docs":{},"当":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"他":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"做":{"docs":{},"以":{"docs":{},"下":{"docs":{},"操":{"docs":{},"作":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"实":{"docs":{},"现":{"docs":{},"为":{"docs":{},"报":{"docs":{},"表":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"你":{"docs":{},"测":{"docs":{},"试":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"性":{"docs":{},"能":{"docs":{},"加":{"docs":{},"载":{"docs":{},"提":{"docs":{},"升":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"还":{"docs":{},"要":{"docs":{},"多":{"docs":{},"少":{"docs":{},"操":{"docs":{},"作":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"发":{"docs":{},"现":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"长":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"除":{"docs":{},"以":{"docs":{},"前":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"并":{"docs":{},"释":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"基":{"docs":{},"于":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"实":{"docs":{},"现":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"在":{"docs":{},"不":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"追":{"docs":{},"求":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"发":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"并":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"我":{"docs":{},"们":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"其":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"重":{"docs":{},"复":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"等":{"docs":{},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"因":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"公":{"docs":{},"司":{"docs":{},"都":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"业":{"docs":{},"界":{"docs":{},"方":{"docs":{},"案":{"docs":{},"里":{"docs":{},"对":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"他":{"docs":{},"们":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"在":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"做":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"相":{"docs":{},"关":{"docs":{},"思":{"docs":{},"考":{"docs":{},"和":{"docs":{},"尝":{"docs":{},"试":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"环":{"docs":{},"节":{"docs":{},"进":{"docs":{},"行":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"隐":{"docs":{},"式":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"驱":{"docs":{},"动":{"docs":{},"技":{"docs":{},"术":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":3.334096692111959}},"合":{"docs":{},"集":{"docs":{},"(":{"docs":{},"初":{"docs":{},"中":{"docs":{},"级":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"考":{"docs":{},"察":{"docs":{},"有":{"docs":{},"关":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.024193548387096774}}}}},"报":{"docs":{},"文":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"(":{"docs":{},"既":{"docs":{},"不":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"拆":{"docs":{},"分":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}},"无":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.024193548387096774}},",":{"docs":{},"是":{"docs":{},"指":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"之":{"docs":{},"前":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"两":{"docs":{},"端":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"“":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"”":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"能":{"docs":{},"建":{"docs":{},"立":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"是":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},"打":{"docs":{},"下":{"docs":{},"了":{"docs":{},"基":{"docs":{},"础":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"步":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"面":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"旧":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},"呢":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"代":{"docs":{},"码":{"docs":{},"输":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"看":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"要":{"docs":{},"求":{"docs":{},"使":{"docs":{},"用":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"来":{"docs":{},"按":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{},"(":{"docs":{},"当":{"docs":{},"然":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"满":{"docs":{},"足":{"docs":{},"要":{"docs":{},"求":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"回":{"docs":{},"调":{"docs":{},"里":{"docs":{},"面":{"docs":{},"做":{"docs":{},"了":{"docs":{},"些":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"找":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"也":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"列":{"docs":{},"出":{"docs":{},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"列":{"docs":{},"举":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"图":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"载":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"回":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"直":{"docs":{},"接":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"逆":{"docs":{},"向":{"docs":{},"里":{"docs":{},"会":{"docs":{},"有":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},"叫":{"docs":{},"做":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"“":{"docs":{},"砸":{"docs":{},"壳":{"docs":{},"”":{"docs":{},",":{"docs":{},"砸":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"微":{"docs":{},"信":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"获":{"docs":{},"得":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"禁":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"图":{"docs":{},"中":{"docs":{},"部":{"docs":{},"分":{"docs":{},"页":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"给":{"docs":{},"定":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"由":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"显":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"在":{"docs":{},"析":{"docs":{},"构":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"时":{"docs":{},"自":{"docs":{},"动":{"docs":{},"置":{"docs":{},"空":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},"调":{"docs":{},"试":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"走":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"分":{"docs":{},"支":{"docs":{},"—":{"docs":{},"—":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"是":{"docs":{},"新":{"docs":{},"的":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"区":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"伴":{"docs":{},"随":{"docs":{},"着":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"是":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"属":{"docs":{},"于":{"docs":{},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"对":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"副":{"docs":{},"本":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},",":{"docs":{},"替":{"docs":{},"代":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"而":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"在":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"时":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"已":{"docs":{},"经":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"要":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"保":{"docs":{},"障":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"所":{"docs":{},"处":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"环":{"docs":{},"境":{"docs":{},"远":{"docs":{},"远":{"docs":{},"比":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"要":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"是":{"docs":{},"与":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"上":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"确":{"docs":{},"实":{"docs":{},"付":{"docs":{},"款":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"实":{"docs":{},"产":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"就":{"docs":{},"变":{"docs":{},"得":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"多":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"回":{"docs":{},"调":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"交":{"docs":{},"易":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"得":{"docs":{},"到":{"docs":{},"了":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"保":{"docs":{},"证":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"是":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"可":{"docs":{},"知":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"此":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"不":{"docs":{},"管":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"建":{"docs":{},"下":{"docs":{},"载":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"d":{"docs":{},"返":{"docs":{},"回":{"docs":{},"至":{"docs":{},"b":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"b":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"b":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"返":{"docs":{},"回":{"docs":{},"至":{"docs":{},"d":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"定":{"docs":{},"义":{"docs":{},"以":{"docs":{},"及":{"docs":{},"图":{"docs":{},"示":{"docs":{},"分":{"docs":{},"析":{"docs":{},"得":{"docs":{},"出":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},"图":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"右":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"十":{"docs":{},"分":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"般":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"7":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"为":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"时":{"docs":{},",":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"刚":{"docs":{},"好":{"docs":{},"填":{"docs":{},"满":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"以":{"docs":{},"上":{"docs":{},"分":{"docs":{},"析":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"系":{"docs":{},"统":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{},"当":{"docs":{},"前":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"猜":{"docs":{},"想":{"docs":{},"如":{"docs":{},"果":{"docs":{},"当":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"应":{"docs":{},"该":{"docs":{},"会":{"docs":{},"迫":{"docs":{},"使":{"docs":{},"系":{"docs":{},"统":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"清":{"docs":{},"空":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"果":{"docs":{},"然":{"docs":{},"验":{"docs":{},"证":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"想":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"率":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"%":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915}},"l":{"docs":{},"u":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}},"\"":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}},"@":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"\"":{"docs":{},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.00889248181083266},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876}}}},"\\":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},".":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"\"":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"\\":{"0":{"docs":{},"\"":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"docs":{}},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"b":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"c":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}},"、":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"等":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"那":{"docs":{},"b":{"docs":{},"应":{"docs":{},"该":{"docs":{},"从":{"8":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},")":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"了":{"docs":{},"解":{"docs":{},"系":{"docs":{},"统":{"docs":{},"对":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"文":{"docs":{},"章":{"docs":{},"一":{"docs":{},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"、":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"和":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"很":{"docs":{},"多":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"来":{"docs":{},",":{"docs":{},"会":{"docs":{},"首":{"docs":{},"先":{"docs":{},"对":{"docs":{},"这":{"docs":{},"些":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"吧":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},",":{"docs":{},"未":{"docs":{},"来":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"占":{"1":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"1":{"2":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"1":{"2":{"docs":{},"是":{"1":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"8":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"8":{"docs":{},"是":{"1":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"docs":{}}}}}}},"2":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"1":{"3":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"此":{"docs":{},"时":{"1":{"3":{"docs":{},"不":{"docs":{},"是":{"2":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"需":{"docs":{},"要":{"docs":{},"往":{"docs":{},"后":{"docs":{},"继":{"docs":{},"续":{"docs":{},"寻":{"docs":{},"找":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"接":{"docs":{},"近":{"docs":{},"的":{"docs":{},"能":{"docs":{},"整":{"docs":{},"除":{"2":{"docs":{},"的":{"1":{"4":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}}}},"6":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"1":{"6":{"docs":{},"是":{"2":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"1":{"6":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}}}}}},"4":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"8":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"8":{"docs":{},"是":{"4":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"9":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"此":{"docs":{},"时":{"9":{"docs":{},"不":{"docs":{},"是":{"4":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"需":{"docs":{},"要":{"docs":{},"往":{"docs":{},"后":{"docs":{},"继":{"docs":{},"续":{"docs":{},"寻":{"docs":{},"找":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"接":{"docs":{},"近":{"docs":{},"的":{"docs":{},"能":{"docs":{},"整":{"docs":{},"除":{"4":{"docs":{},"的":{"1":{"2":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}},"8":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"0":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}}}}}}}},"docs":{}}}}}}},"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"很":{"docs":{},"小":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"低":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"平":{"docs":{},"时":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},":":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}}}}}}}},"b":{"docs":{},":":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}},"c":{"docs":{},":":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}},"d":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}}}}}}}},"e":{"docs":{},":":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"的":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"8":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"式":{"docs":{},"同":{"docs":{},"上":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"有":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"都":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"很":{"docs":{},"智":{"docs":{},"能":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"就":{"docs":{},"能":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"程":{"docs":{},"序":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"了":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"1":{"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{}}}}}},"相":{"docs":{},"地":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.09701492537313433},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"空":{"docs":{},"间":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"等":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"具":{"docs":{},"体":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"第":{"2":{"5":{"docs":{},"行":{"docs":{},"处":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"先":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"面":{"docs":{},"临":{"docs":{},"一":{"docs":{},"些":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"入":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"+":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"放":{"docs":{},"着":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"其":{"docs":{},"余":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"做":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"定":{"docs":{},"位":{"docs":{},"的":{"docs":{},",":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"在":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"储":{"docs":{},"存":{"docs":{},"着":{"docs":{},"各":{"docs":{},"种":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"r":{"docs":{},"c":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"表":{"docs":{},",":{"docs":{},"自":{"docs":{},"选":{"docs":{},"锁":{"docs":{},",":{"docs":{},"当":{"docs":{},"开":{"docs":{},"发":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"且":{"docs":{},"未":{"docs":{},"满":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"则":{"docs":{},"会":{"docs":{},"先":{"docs":{},"转":{"docs":{},"换":{"docs":{},"数":{"docs":{},"据":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"重":{"docs":{},"名":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"开":{"docs":{},"发":{"docs":{},"规":{"docs":{},"范":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"检":{"docs":{},"查":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"规":{"docs":{},"避":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"收":{"docs":{},"尾":{"docs":{},"⼯":{"docs":{},"作":{"docs":{},":":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"总":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"不":{"docs":{},"⾜":{"docs":{},"的":{"docs":{},"要":{"docs":{},"补":{"docs":{},"⻬":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"1":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"而":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"中":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"1":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},"不":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"向":{"docs":{},"上":{"docs":{},"补":{"docs":{},"齐":{"docs":{},",":{"docs":{},"补":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"2":{"4":{"docs":{},"字":{"docs":{},"节":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"2":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"1":{"6":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"中":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"1":{"6":{"docs":{},"字":{"docs":{},"节":{"docs":{},"刚":{"docs":{},"好":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"1":{"6":{"docs":{},"字":{"docs":{},"节":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"3":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"3":{"4":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},"中":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"3":{"4":{"docs":{},"字":{"docs":{},"节":{"docs":{},"不":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"向":{"docs":{},"上":{"docs":{},"补":{"docs":{},"齐":{"docs":{},",":{"docs":{},"补":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"4":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"只":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"动":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"主":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"并":{"docs":{},"进":{"docs":{},"入":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"通":{"docs":{},"常":{"docs":{},"执":{"docs":{},"行":{"docs":{},"被":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"益":{"docs":{},"还":{"docs":{},"是":{"docs":{},"可":{"docs":{},"观":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},"对":{"docs":{},"⻬":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{},"结":{"docs":{},"构":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},"(":{"docs":{},"或":{"docs":{},"联":{"docs":{},"合":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"第":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},"放":{"docs":{},"在":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"地":{"docs":{},"⽅":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"每":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},"要":{"docs":{},"从":{"docs":{},"该":{"docs":{},"成":{"docs":{},"员":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},"或":{"docs":{},"者":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"⼦":{"docs":{},"成":{"docs":{},"员":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},"(":{"docs":{},"只":{"docs":{},"要":{"docs":{},"该":{"docs":{},"成":{"docs":{},"员":{"docs":{},"有":{"docs":{},"⼦":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"⽐":{"docs":{},"如":{"docs":{},"说":{"docs":{},"是":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"等":{"docs":{},")":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"开":{"docs":{},"始":{"docs":{},"(":{"docs":{},"⽐":{"docs":{},"如":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"为":{"docs":{},"4":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"则":{"docs":{},"要":{"docs":{},"从":{"docs":{},"4":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"地":{"docs":{},"址":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{},"成":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"断":{"docs":{},"开":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},"(":{"docs":{},"形":{"docs":{},"式":{"docs":{},"上":{"docs":{},"一":{"docs":{},"般":{"docs":{},"为":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"组":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},"中":{"docs":{},",":{"docs":{},"成":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}},"量":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"保":{"docs":{},"证":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"来":{"docs":{},"自":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"上":{"docs":{},"由":{"docs":{},"持":{"docs":{},"有":{"docs":{},"人":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"其":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"保":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"为":{"docs":{},"真":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"权":{"docs":{},"威":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}},"签":{"docs":{},"名":{"docs":{},":":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"去":{"docs":{},"银":{"docs":{},"行":{"docs":{},"办":{"docs":{},"理":{"docs":{},"业":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"业":{"docs":{},"务":{"docs":{},"单":{"docs":{},"上":{"docs":{},"签":{"docs":{},"下":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"叫":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"信":{"docs":{},"中":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"中":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"称":{"docs":{},"为":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"信":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"报":{"docs":{},"文":{"docs":{},"生":{"docs":{},"成":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"得":{"docs":{},"到":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"放":{"docs":{},"置":{"docs":{},"在":{"docs":{},"报":{"docs":{},"文":{"docs":{},"后":{"docs":{},"面":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"就":{"docs":{},"称":{"docs":{},"为":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"将":{"docs":{},"报":{"docs":{},"文":{"docs":{},"、":{"docs":{},"签":{"docs":{},"名":{"docs":{},"和":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"一":{"docs":{},"同":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"这":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"首":{"docs":{},"先":{"docs":{},"验":{"docs":{},"证":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"签":{"docs":{},"名":{"docs":{},"算":{"docs":{},"法":{"docs":{},"对":{"docs":{},"签":{"docs":{},"名":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"得":{"docs":{},"到":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"生":{"docs":{},"成":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"并":{"docs":{},"利":{"docs":{},"用":{"docs":{},"签":{"docs":{},"名":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"算":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"比":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"是":{"docs":{},"否":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"判":{"docs":{},"断":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"否":{"docs":{},"完":{"docs":{},"整":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"由":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"。":{"docs":{},"可":{"docs":{},"知":{"docs":{},"签":{"docs":{},"名":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},"确":{"docs":{},"认":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"方":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"消":{"docs":{},"息":{"docs":{},"完":{"docs":{},"整":{"docs":{},"准":{"docs":{},"确":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"例":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"堆":{"docs":{},"区":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},":":{"docs":{},"一":{"docs":{},"般":{"docs":{},"由":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"分":{"docs":{},"配":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"未":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"块":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"栈":{"docs":{},"区":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},":":{"docs":{},"由":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"自":{"docs":{},"动":{"docs":{},"分":{"docs":{},"配":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"中":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"加":{"docs":{},"入":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"者":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"就":{"docs":{},"是":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"记":{"docs":{},"。":{"docs":{},"当":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"进":{"docs":{},"行":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"这":{"docs":{},"个":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},"后":{"docs":{},"进":{"docs":{},"栈":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"溢":{"docs":{},"出":{"docs":{},"保":{"docs":{},"护":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"若":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"不":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{},"o":{"docs":{},"s":{"docs":{},"回":{"docs":{},"收":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"已":{"docs":{},"满":{"docs":{},"时":{"docs":{},",":{"docs":{},"且":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},">":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"将":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"满":{"docs":{},"就":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"进":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"大":{"docs":{},"于":{"docs":{},"等":{"docs":{},"于":{"docs":{},"核":{"docs":{},"心":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}},"小":{"docs":{},"于":{"docs":{},"核":{"docs":{},"心":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"命":{"docs":{},"中":{"docs":{},",":{"docs":{},"且":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"未":{"docs":{},"命":{"docs":{},"中":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"开":{"docs":{},"启":{"docs":{},"系":{"docs":{},"统":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"锁":{"docs":{},"定":{"docs":{},",":{"docs":{},"且":{"docs":{},"横":{"docs":{},"置":{"docs":{},"手":{"docs":{},"机":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"使":{"docs":{},"得":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"显":{"docs":{},"示":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"而":{"docs":{},"部":{"docs":{},"分":{"docs":{},"应":{"docs":{},"用":{"docs":{},"并":{"docs":{},"未":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"适":{"docs":{},"配":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"场":{"docs":{},"景":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"可":{"docs":{},"能":{"docs":{},"导":{"docs":{},"致":{"docs":{},"该":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"或":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"等":{"docs":{},"显":{"docs":{},"示":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"=":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.005089058524173028},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"#":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"(":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"2":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"docs":{}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"分":{"docs":{},"支":{"docs":{},"表":{"docs":{},"示":{"docs":{},"支":{"docs":{},"持":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"且":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"将":{"docs":{},"该":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655}}}}}},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"1":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}},"/":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.025714285714285714},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Network/Https.html":{"ref":"Network/Https.html","tf":0.023622047244094488},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.03488372093023256},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.035114503816793895},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01337295690936107},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.019436345966958212},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.018306636155606407},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.008928571428571428}},"=":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"后":{"docs":{},"从":{"docs":{},"而":{"docs":{},"进":{"docs":{},"行":{"docs":{},"间":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"o":{"docs":{},"c":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}},"+":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"@":{"2":{"docs":{},"x":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"和":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},"图":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"优":{"docs":{},"化":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"3":{"docs":{},"x":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.008293838862559242},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.008995502248875561},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0099601593625498},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.009776536312849162},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.008995502248875561},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0061068702290076335},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":10.017808219178082},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"用":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"但":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"都":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"且":{"docs":{},"它":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"低":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"链":{"docs":{},"表":{"docs":{},"进":{"docs":{},"行":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"解":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},",":{"docs":{},"这":{"docs":{},"儿":{"docs":{},"比":{"docs":{},"你":{"docs":{},"想":{"docs":{},"知":{"docs":{},"道":{"docs":{},"的":{"docs":{},"还":{"docs":{},"要":{"docs":{},"多":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}}}}}}}}},"\"":{"1":{"2":{"3":{"1":{"2":{"3":{"1":{"2":{"3":{"docs":{},"\"":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{},"\"":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"v":{"docs":{},"@":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0071090047393364926},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.010687022900763359},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.018156424581005588},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.006802721088435374},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"修":{"docs":{},"改":{"docs":{},"路":{"docs":{},"径":{"docs":{},"或":{"docs":{},"者":{"docs":{},"将":{"docs":{},"一":{"docs":{},"些":{"docs":{},"库":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"毁":{"docs":{},"坏":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"?":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"docs":{},"%":{"docs":{},"d":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.027085590465872156},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"|":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004310344827586207},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"=":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"假":{"docs":{},"设":{"docs":{},"这":{"docs":{},"个":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"和":{"docs":{},"b":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"中":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"b":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"a":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},"就":{"docs":{},"会":{"docs":{},"过":{"docs":{},"度":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"程":{"docs":{},"序":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"的":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"后":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"超":{"docs":{},"出":{"docs":{},"了":{"docs":{},"其":{"docs":{},"视":{"docs":{},"图":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"点":{"docs":{},"击":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"在":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"外":{"docs":{},"面":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"区":{"docs":{},"域":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"为":{"docs":{},"虚":{"docs":{},"线":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"让":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"而":{"docs":{},"是":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"个":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},",":{"docs":{},"用":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"指":{"docs":{},"令":{"docs":{},"l":{"docs":{},"d":{"docs":{},"x":{"docs":{},"r":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"原":{"docs":{},"子":{"docs":{},"性":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"冲":{"docs":{},"突":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"前":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"后":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"我":{"docs":{},"们":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"载":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"开":{"docs":{},"始":{"docs":{},"链":{"docs":{},"接":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"里":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"对":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"里":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"插":{"docs":{},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"命":{"docs":{},"令":{"docs":{},"大":{"docs":{},"小":{"docs":{},"*":{"docs":{},"/":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"条":{"docs":{},"数":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"去":{"docs":{},"判":{"docs":{},"断":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"、":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"速":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},")":{"docs":{},"和":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"上":{"docs":{},"注":{"docs":{},"释":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"否":{"docs":{},"则":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"张":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"、":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"能":{"docs":{},"够":{"docs":{},"复":{"docs":{},"用":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"流":{"docs":{},"程":{"docs":{},"机":{"docs":{},"制":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"状":{"docs":{},"况":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"或":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"该":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"存":{"docs":{},"入":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"重":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"编":{"docs":{},"号":{"docs":{},"为":{"2":{"docs":{},"i":{"docs":{},"+":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}}},"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}}}}},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"对":{"docs":{},"象":{"docs":{},"有":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"多":{"docs":{},"继":{"docs":{},"承":{"docs":{},"。":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}},"协":{"docs":{},"议":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"内":{"docs":{},"存":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"及":{"docs":{},"字":{"docs":{},"典":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"跳":{"docs":{},"转":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"例":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"变":{"docs":{},"量":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"是":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{},"类":{"docs":{},"而":{"docs":{},"言":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"指":{"docs":{},"对":{"docs":{},"类":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},";":{"docs":{},"由":{"docs":{},"此":{"docs":{},"推":{"docs":{},"理":{"docs":{},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"指":{"docs":{},"由":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"找":{"docs":{},"到":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"存":{"docs":{},"储":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"找":{"docs":{},"到":{"docs":{},"它":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{},",":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"体":{"docs":{},"现":{"docs":{},"为":{"docs":{},"两":{"docs":{},"个":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"都":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"的":{"docs":{},"体":{"docs":{},"现":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"。":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"存":{"docs":{},"在":{"docs":{},"两":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"网":{"docs":{},"络":{"docs":{},"在":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"与":{"docs":{},"之":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"对":{"docs":{},"两":{"docs":{},"种":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"化":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},",":{"docs":{},"即":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"。":{"docs":{},"但":{"docs":{},"在":{"docs":{},"预":{"docs":{},"热":{"docs":{},"好":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"装":{"docs":{},"满":{"docs":{},"了":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"际":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"即":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"你":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"地":{"docs":{},"址":{"docs":{},"来":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"明":{"docs":{},":":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"分":{"docs":{},"类":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"战":{"docs":{},"之":{"docs":{},"满":{"docs":{},"地":{"docs":{},"是":{"docs":{},"坑":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":3.333333333333333}},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"是":{"docs":{},"支":{"docs":{},"付":{"docs":{},"基":{"docs":{},"础":{"docs":{},"知":{"docs":{},"识":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"解":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"会":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"见":{"docs":{},"坑":{"docs":{},"填":{"docs":{},"坑":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"是":{"docs":{},"高":{"docs":{},"潮":{"docs":{},"性":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"针":{"docs":{},"对":{"docs":{},"第":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"分":{"docs":{},"析":{"docs":{},"出":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"单":{"docs":{},"绑":{"docs":{},"定":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"是":{"docs":{},"关":{"docs":{},"键":{"docs":{},"性":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"作":{"docs":{},"者":{"docs":{},"探":{"docs":{},"索":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"号":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"到":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"忙":{"docs":{},"不":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"计":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}},"器":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}},"存":{"docs":{},"在":{"docs":{},"什":{"docs":{},"么":{"docs":{},"地":{"docs":{},"方":{"docs":{},"?":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"存":{"docs":{},"储":{"docs":{},"策":{"docs":{},"略":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"获":{"docs":{},"取":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"和":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"那":{"docs":{},"张":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"中":{"docs":{},"标":{"docs":{},"识":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"了":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"类":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"入":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"持":{"docs":{},"续":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"完":{"docs":{},"全":{"docs":{},"取":{"docs":{},"代":{"docs":{},"了":{"docs":{},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"系":{"docs":{},"统":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"被":{"docs":{},"合":{"docs":{},"入":{"docs":{},"到":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"重":{"docs":{},"新":{"docs":{},"组":{"docs":{},"织":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"申":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"言":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"总":{"docs":{},"结":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"一":{"docs":{},"下":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"上":{"docs":{},"述":{"docs":{},"的":{"docs":{},"适":{"docs":{},"配":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"编":{"docs":{},"码":{"docs":{},"时":{"docs":{},"应":{"docs":{},"该":{"docs":{},"做":{"docs":{},"到":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"说":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"利":{"docs":{},"用":{"docs":{},"了":{"docs":{},"并":{"docs":{},"行":{"docs":{},"这":{"docs":{},"一":{"docs":{},"传":{"docs":{},"统":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"会":{"docs":{},"占":{"docs":{},"据":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"找":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"到":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"+":{"1":{"docs":{},"/":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"docs":{}}}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"插":{"docs":{},"入":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"真":{"docs":{},"正":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"预":{"docs":{},"热":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"闲":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"页":{"docs":{},"面":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"入":{"docs":{},"口":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"比":{"docs":{},"较":{"docs":{},"的":{"docs":{},"对":{"docs":{},"手":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"手":{"docs":{},"我":{"docs":{},"们":{"docs":{},"才":{"docs":{},"能":{"docs":{},"更":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"docs":{},"案":{"docs":{},":":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"地":{"docs":{},"发":{"docs":{},"生":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"本":{"docs":{},"文":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},"同":{"docs":{},"时":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"对":{"docs":{},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"只":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"只":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"而":{"docs":{},"请":{"docs":{},"求":{"docs":{},"有":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"根":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"返":{"docs":{},"回":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"产":{"docs":{},"品":{"docs":{},"形":{"docs":{},"态":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"频":{"docs":{},"次":{"docs":{},"越":{"docs":{},"高":{"docs":{},",":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},"比":{"docs":{},"例":{"docs":{},"就":{"docs":{},"越":{"docs":{},"高":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},"现":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}},"经":{"docs":{},"过":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"1":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"函":{"docs":{},"数":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"排":{"docs":{},"除":{"docs":{},"了":{"docs":{},"人":{"docs":{},"为":{"docs":{},"因":{"docs":{},"素":{"docs":{},"、":{"docs":{},"编":{"docs":{},"译":{"docs":{},"问":{"docs":{},"题":{"docs":{},"等":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"点":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"认":{"docs":{},"定":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"问":{"docs":{},"题":{"docs":{},"导":{"docs":{},"致":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"步":{"docs":{},"骤":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"优":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"这":{"docs":{},"些":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讨":{"docs":{},"论":{"docs":{},",":{"docs":{},"当":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"参":{"docs":{},"考":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"封":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"设":{"docs":{},"计":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"外":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"度":{"docs":{},"调":{"docs":{},"研":{"docs":{},"及":{"docs":{},"不":{"docs":{},"断":{"docs":{},"地":{"docs":{},"分":{"docs":{},"析":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"终":{"docs":{},"于":{"docs":{},"得":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"行":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"替":{"docs":{},"换":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}}},"历":{"docs":{},"了":{"docs":{},"初":{"docs":{},"期":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"快":{"docs":{},"速":{"docs":{},"迭":{"docs":{},"代":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"混":{"docs":{},"乱":{"docs":{},",":{"docs":{},"耦":{"docs":{},"合":{"docs":{},"严":{"docs":{},"重":{"docs":{},",":{"docs":{},"急":{"docs":{},"需":{"docs":{},"优":{"docs":{},"化":{"docs":{},"重":{"docs":{},"构":{"docs":{},"。":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"从":{"docs":{},"调":{"docs":{},"研":{"docs":{},"到":{"docs":{},"开":{"docs":{},"发":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"多":{"docs":{},"机":{"docs":{},"型":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"系":{"docs":{},"统":{"docs":{},"版":{"docs":{},"本":{"docs":{},"上":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"差":{"docs":{},"异":{"docs":{},"性":{"docs":{},"做":{"docs":{},"了":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"归":{"docs":{},"纳":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"因":{"docs":{},"为":{"docs":{},"单":{"docs":{},"例":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"以":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"补":{"docs":{},"充":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"介":{"docs":{},"绍":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"释":{"docs":{},"放":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"指":{"docs":{},"令":{"docs":{},"c":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"函":{"docs":{},"数":{"docs":{},"首":{"docs":{},"先":{"docs":{},"根":{"docs":{},"据":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"获":{"docs":{},"取":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"这":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"把":{"docs":{},"其":{"docs":{},"中":{"docs":{},"指":{"docs":{},"向":{"docs":{},"空":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"从":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"清":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"资":{"docs":{},"源":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{},"存":{"docs":{},"入":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"次":{"docs":{},"数":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"次":{"docs":{},"数":{"docs":{},"变":{"docs":{},"为":{"0":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"锁":{"docs":{},"也":{"docs":{},"不":{"docs":{},"复":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"移":{"docs":{},"除":{"docs":{},"并":{"docs":{},"清":{"docs":{},"空":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旧":{"docs":{},"的":{"docs":{},"池":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"池":{"docs":{},";":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}}}},"公":{"docs":{},"平":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"锁":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"空":{"docs":{},"且":{"docs":{},"已":{"docs":{},"经":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"指":{"docs":{},"向":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"原":{"docs":{},"子":{"docs":{},"性":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"除":{"docs":{},"了":{"docs":{},"没":{"docs":{},"加":{"docs":{},"锁":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"与":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"一":{"docs":{},"般":{"docs":{},"无":{"docs":{},"二":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},":":{"docs":{},"不":{"docs":{},"可":{"docs":{},"重":{"docs":{},"入":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"等":{"docs":{},"锁":{"docs":{},"释":{"docs":{},"放":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"再":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}},"常":{"docs":{},"擅":{"docs":{},"长":{"docs":{},"大":{"docs":{},"规":{"docs":{},"模":{"docs":{},"并":{"docs":{},"行":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"想":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"切":{"docs":{},"换":{"docs":{},"显":{"docs":{},"然":{"docs":{},"不":{"docs":{},"在":{"docs":{},"其":{"docs":{},"设":{"docs":{},"计":{"docs":{},"考":{"docs":{},"量":{"docs":{},"之":{"docs":{},"中":{"docs":{},")":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"少":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"干":{"docs":{},"净":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"#":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}},"x":{"docs":{},"f":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"3":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"4":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"5":{"2":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}},"6":{"0":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"9":{"9":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"docs":{}},"docs":{}},"8":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.009153318077803204}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.01892744479495268},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.007261410788381743},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"i":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.012618296529968454},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.04132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.003232758620689655},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.02127659574468085},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.024275118004045852},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"非":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"行":{"docs":{},"数":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},":":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}},"c":{"docs":{},"f":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"位":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"点":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"位":{"docs":{},"到":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"别":{"docs":{},"处":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"能":{"docs":{},"表":{"docs":{},"示":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}},"容":{"docs":{},"了":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"支":{"docs":{},"持":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"按":{"docs":{},"照":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"排":{"docs":{},"列":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"。":{"docs":{},"获":{"docs":{},"取":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"候":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"看":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{},"基":{"docs":{},"于":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"重":{"docs":{},"排":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"和":{"docs":{},"多":{"docs":{},"对":{"docs":{},"多":{"docs":{},"交":{"docs":{},"互":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"预":{"docs":{},"热":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"付":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"代":{"docs":{},"码":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"宝":{"docs":{},"的":{"docs":{},"支":{"docs":{},"付":{"docs":{},"流":{"docs":{},"程":{"docs":{},"讲":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"微":{"docs":{},"信":{"docs":{},"支":{"docs":{},"付":{"docs":{},"也":{"docs":{},"讲":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"流":{"docs":{},"程":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"源":{"docs":{},"码":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"和":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"析":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"解":{"docs":{},"析":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"剖":{"docs":{},"析":{"docs":{},":":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"事":{"docs":{},"件":{"docs":{},"设":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"文":{"docs":{},"件":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},".":{"docs":{},"m":{"docs":{},"/":{"docs":{},".":{"docs":{},"c":{"docs":{},"/":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"值":{"docs":{},"是":{"7":{"docs":{},"表":{"docs":{},"示":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}}}}}}},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"标":{"docs":{},"记":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"数":{"docs":{},"量":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"数":{"docs":{},"量":{"docs":{},"相":{"docs":{},"同":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}},"轮":{"docs":{},"询":{"docs":{},"返":{"docs":{},"回":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"业":{"docs":{},"界":{"docs":{},"有":{"docs":{},"些":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{},"把":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"^":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.012934518997574777},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.01066350710900474},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"s":{"docs":{},",":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"它":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"数":{"docs":{},"组":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}},"做":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},":":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"量":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"识":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"设":{"docs":{},"置":{"docs":{},"时":{"docs":{},"候":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},")":{"docs":{},"并":{"docs":{},"用":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"用":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},"就":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},"了":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"能":{"docs":{},"够":{"docs":{},"说":{"docs":{},"明":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"的":{"docs":{},"持":{"docs":{},"有":{"docs":{},"者":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"单":{"docs":{},"位":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"c":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":10.090909090909092}},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},"有":{"docs":{},"提":{"docs":{},"到":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"不":{"docs":{},"同":{"docs":{},"调":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"统":{"docs":{},"一":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"就":{"docs":{},"有":{"docs":{},"一":{"docs":{},"段":{"docs":{},"关":{"docs":{},"于":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"词":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":10.005}},"使":{"docs":{},"用":{"docs":{},"三":{"docs":{},"部":{"docs":{},"曲":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"及":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"初":{"docs":{},"探":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}},"原":{"docs":{},"理":{"docs":{},"—":{"docs":{},"—":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},"及":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"对":{"docs":{},"被":{"docs":{},"监":{"docs":{},"听":{"docs":{},"对":{"docs":{},"象":{"docs":{},"无":{"docs":{},"侵":{"docs":{},"入":{"docs":{},"性":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"代":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"实":{"docs":{},"现":{"docs":{},"监":{"docs":{},"听":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},"基":{"docs":{},"于":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"机":{"docs":{},"制":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}},"的":{"docs":{},"这":{"docs":{},"套":{"docs":{},"实":{"docs":{},"现":{"docs":{},"机":{"docs":{},"制":{"docs":{},"中":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"还":{"docs":{},"偷":{"docs":{},"偷":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"误":{"docs":{},"认":{"docs":{},"为":{"docs":{},"还":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"达":{"docs":{},"到":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"实":{"docs":{},"现":{"docs":{},"比":{"docs":{},"较":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"单":{"docs":{},"纯":{"docs":{},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":10.00303951367781}},"e":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"个":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"来":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"相":{"docs":{},"互":{"docs":{},"不":{"docs":{},"竞":{"docs":{},"争":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"成":{"docs":{},"功":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"位":{"docs":{},"图":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"且":{"docs":{},"从":{"docs":{},"左":{"docs":{},"至":{"docs":{},"右":{"docs":{},"进":{"docs":{},"行":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},",":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"为":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},",":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"也":{"docs":{},"为":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"要":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"左":{"docs":{},"右":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"可":{"docs":{},"以":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"不":{"docs":{},"计":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"前":{"docs":{},"文":{"docs":{},"提":{"docs":{},"到":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"本":{"docs":{},"来":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"册":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"母":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"大":{"docs":{},"量":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"预":{"docs":{},"计":{"docs":{},"在":{"docs":{},"未":{"docs":{},"来":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"将":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"替":{"docs":{},"代":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"结":{"docs":{},"合":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"包":{"docs":{},"含":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"该":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},".":{"docs":{},"o":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}},"哪":{"docs":{},"些":{"docs":{},"接":{"docs":{},"口":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"括":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"、":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"裹":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}},"内":{"docs":{},"容":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"包":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"又":{"docs":{},"包":{"docs":{},"含":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"选":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"一":{"docs":{},"张":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{},"、":{"docs":{},"一":{"docs":{},"张":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"划":{"docs":{},"分":{"docs":{},"成":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"哈":{"docs":{},"希":{"docs":{},"数":{"docs":{},"据":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"组":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"表":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"存":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"够":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"感":{"docs":{},"知":{"docs":{},"到":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"和":{"docs":{},"变":{"docs":{},"更":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"抵":{"docs":{},"御":{"docs":{},"来":{"docs":{},"自":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"对":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"篡":{"docs":{},"改":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"和":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"同":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"树":{"docs":{},"、":{"docs":{},"上":{"docs":{},"一":{"docs":{},"次":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"、":{"docs":{},"作":{"docs":{},"者":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},"人":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"及":{"docs":{},"当":{"docs":{},"前":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"信":{"docs":{},"息":{"docs":{},"有":{"docs":{},"所":{"docs":{},"变":{"docs":{},"动":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"校":{"docs":{},"验":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"的":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"检":{"docs":{},"测":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"、":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"和":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"这":{"docs":{},"也":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"阻":{"docs":{},"挡":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"对":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"即":{"docs":{},"使":{"docs":{},"对":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"修":{"docs":{},"改":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"也":{"docs":{},"很":{"docs":{},"难":{"docs":{},"保":{"docs":{},"证":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"的":{"docs":{},"不":{"docs":{},"变":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"在":{"docs":{},"研":{"docs":{},"究":{"docs":{},"中":{"docs":{},"表":{"docs":{},"明":{"docs":{},"这":{"docs":{},"种":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"是":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"实":{"docs":{},"践":{"docs":{},"中":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"这":{"docs":{},"种":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"几":{"docs":{},"率":{"docs":{},"还":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"e":{"3":{"2":{"8":{"0":{"2":{"9":{"2":{"5":{"5":{"docs":{},"d":{"8":{"docs":{},"f":{"0":{"2":{"9":{"0":{"9":{"docs":{},"e":{"docs":{},"c":{"0":{"docs":{},"c":{"docs":{},"b":{"docs":{},"c":{"1":{"6":{"docs":{},"c":{"docs":{},"c":{"7":{"4":{"docs":{},"e":{"docs":{},"f":{"4":{"docs":{},"b":{"7":{"9":{"docs":{},"e":{"1":{"docs":{},"d":{"0":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"就":{"docs":{},"表":{"docs":{},"示":{"docs":{},"了":{"docs":{},"当":{"docs":{},"前":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"由":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"共":{"docs":{},"同":{"docs":{},"计":{"docs":{},"算":{"docs":{},"而":{"docs":{},"来":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"锁":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"(":{"docs":{},"区":{"docs":{},"别":{"docs":{},"于":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}},"才":{"docs":{},"获":{"docs":{},"得":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"行":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"执":{"docs":{},"行":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"过":{"docs":{},"程":{"docs":{},":":{"docs":{},"每":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"、":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"程":{"docs":{},"序":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"能":{"docs":{},"独":{"docs":{},"立":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"依":{"docs":{},"存":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"由":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"提":{"docs":{},"供":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"进":{"docs":{},"组":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"完":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}}},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}},"一":{"docs":{},"次":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"结":{"docs":{},"果":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"指":{"docs":{},"针":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"在":{"docs":{},"题":{"docs":{},"干":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"里":{"docs":{},"面":{"docs":{},"最":{"docs":{},"终":{"docs":{},"是":{"docs":{},"谁":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"由":{"docs":{},"于":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},",":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"置":{"docs":{},"空":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{},"一":{"docs":{},"维":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"可":{"docs":{},"构":{"docs":{},"成":{"docs":{},"一":{"docs":{},"张":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"第":{"docs":{},"三":{"docs":{},"纬":{"docs":{},"度":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"多":{"docs":{},"张":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"表":{"docs":{},"数":{"docs":{},"量":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"对":{"docs":{},"应":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},",":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"解":{"docs":{},"除":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"从":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"其":{"docs":{},"功":{"docs":{},"能":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"而":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{},"与":{"docs":{},"元":{"docs":{},"类":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"是":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"标":{"docs":{},"记":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"0":{"docs":{},":":{"docs":{},"纯":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"1":{"docs":{},":":{"docs":{},"不":{"docs":{},"⽌":{"docs":{},"是":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}},"加":{"docs":{},"上":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"只":{"docs":{},"存":{"docs":{},"于":{"docs":{},"第":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"逐":{"docs":{},"级":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"父":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}},"和":{"docs":{},"自":{"docs":{},"己":{"docs":{},"比":{"docs":{},"较":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"若":{"docs":{},"不":{"docs":{},"等":{"docs":{},"则":{"docs":{},"继":{"docs":{},"续":{"docs":{},"取":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"到":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"外":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"指":{"docs":{},"向":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"它":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"本":{"docs":{},"身":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"的":{"docs":{},"也":{"docs":{},"是":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"子":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"自":{"docs":{},"身":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"基":{"docs":{},"本":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"即":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"向":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"达":{"docs":{},"到":{"docs":{},"了":{"docs":{},"使":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"机":{"docs":{},"制":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.027777777777777776}}}}}}}},"的":{"docs":{},"只":{"docs":{},"读":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"是":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"地":{"docs":{},"址":{"docs":{},"加":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}},"外":{"docs":{},"部":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}},"了":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"令":{"docs":{},"来":{"docs":{},"到":{"docs":{},"入":{"docs":{},"口":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"条":{"docs":{},"数":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"示":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"含":{"docs":{},"有":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"定":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"是":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"主":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"或":{"docs":{},"者":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"代":{"docs":{},"表":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"除":{"docs":{},"非":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"创":{"docs":{},"建":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"是":{"docs":{},"分":{"docs":{},"类":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"此":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},"是":{"docs":{},"有":{"docs":{},"空":{"docs":{},"槽":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},"某":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"它":{"docs":{},"的":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},"类":{"docs":{},"的":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"需":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"最":{"docs":{},"常":{"docs":{},"想":{"docs":{},"到":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"。":{"docs":{},"例":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"影":{"docs":{},"响":{"docs":{},"该":{"docs":{},"库":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"1":{"docs":{},"中":{"docs":{},"加":{"docs":{},"锁":{"1":{"docs":{},"、":{"docs":{},"同":{"docs":{},"时":{"docs":{},"线":{"docs":{},"程":{"2":{"docs":{},"中":{"docs":{},"加":{"docs":{},"锁":{"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}}}}},"docs":{}}}}}}},"docs":{}}}}},"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"申":{"docs":{},"请":{"docs":{},"锁":{"docs":{},",":{"docs":{},"却":{"docs":{},"在":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}},"和":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"上":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"销":{"docs":{},"毁":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"是":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"单":{"docs":{},"位":{"docs":{},",":{"docs":{},"但":{"docs":{},"进":{"docs":{},"程":{"docs":{},"不":{"docs":{},"是":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"执":{"docs":{},"行":{"docs":{},"单":{"docs":{},"元":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"池":{"docs":{},"中":{"docs":{},"超":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"树":{"docs":{},"木":{"docs":{},"的":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"存":{"docs":{},"活":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"大":{"docs":{},"小":{"docs":{},"(":{"docs":{},"核":{"docs":{},"心":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"速":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"就":{"docs":{},"越":{"docs":{},"大":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.016168148746968473}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"过":{"docs":{},"于":{"docs":{},"频":{"docs":{},"繁":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"交":{"docs":{},"互":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"会":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"退":{"docs":{},"出":{"docs":{},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},":":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"休":{"docs":{},"眠":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"没":{"docs":{},"找":{"docs":{},"到":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"最":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"docs":{},"快":{"docs":{},"的":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"而":{"docs":{},"这":{"docs":{},"么":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"种":{"docs":{},"非":{"docs":{},"强":{"docs":{},"制":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"被":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"数":{"docs":{},"据":{"docs":{},"或":{"docs":{},"者":{"docs":{},"资":{"docs":{},"源":{"docs":{},"前":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"获":{"docs":{},"取":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"锁":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"释":{"docs":{},"放":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"锁":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"锁":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"试":{"docs":{},"图":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"锁":{"docs":{},"重":{"docs":{},"新":{"docs":{},"可":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"h":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"c":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"1":{"docs":{},",":{"1":{"docs":{},",":{"1":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}}},"docs":{}}},"docs":{}}},"2":{"docs":{},")":{"docs":{},"如":{"docs":{},"果":{"docs":{},"情":{"docs":{},"况":{"1":{"docs":{},"不":{"docs":{},"成":{"docs":{},"立":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"h":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"3":{"docs":{},")":{"docs":{},"如":{"docs":{},"果":{"docs":{},"情":{"docs":{},"况":{"1":{"docs":{},"和":{"docs":{},"情":{"docs":{},"况":{"2":{"docs":{},"都":{"docs":{},"不":{"docs":{},"成":{"docs":{},"立":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"c":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"令":{"docs":{},"h":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}},"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"被":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},")":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},")":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"以":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"为":{"docs":{},"例":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"线":{"docs":{},"程":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"自":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"应":{"docs":{},"答":{"docs":{},"机":{"docs":{},"制":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"包":{"docs":{},"序":{"docs":{},"号":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},")":{"docs":{},":":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}},"i":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}},"①":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"②":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"③":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"④":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"不":{"docs":{},"用":{"docs":{},"多":{"docs":{},"说":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"是":{"docs":{},"协":{"docs":{},"助":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"存":{"docs":{},"在":{"docs":{},":":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"存":{"docs":{},"函":{"docs":{},"数":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},",":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"存":{"docs":{},"储":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"由":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"颗":{"docs":{},"星":{"docs":{},"星":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"者":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"么":{"docs":{},"理":{"docs":{},"解":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"大":{"docs":{},"模":{"docs":{},"块":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{},"前":{"docs":{},"者":{"docs":{},"负":{"docs":{},"责":{"docs":{},"与":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"设":{"docs":{},"置":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"宏":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"与":{"docs":{},"对":{"docs":{},"象":{"docs":{},"相":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"位":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"情":{"docs":{},"况":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"指":{"docs":{},"针":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"⽤":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"来":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"由":{"docs":{},"于":{"docs":{},"地":{"docs":{},"址":{"docs":{},"要":{"docs":{},"按":{"docs":{},"字":{"docs":{},"节":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"按":{"docs":{},"字":{"docs":{},"节":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"掩":{"docs":{},"码":{"docs":{},"的":{"docs":{},"后":{"docs":{},"三":{"docs":{},"位":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"后":{"docs":{},"三":{"docs":{},"位":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"关":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}},"置":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"代":{"docs":{},"码":{"docs":{},"独":{"docs":{},"立":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"系":{"docs":{},"统":{"docs":{},"了":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"还":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"(":{"docs":{},"从":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"例":{"docs":{},"如":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},":":{"docs":{},"对":{"docs":{},"于":{"docs":{},"图":{"3":{"docs":{},".":{"8":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"docs":{}}},"docs":{}}}},"图":{"docs":{},"一":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"了":{"docs":{},",":{"docs":{},"而":{"docs":{},"图":{"docs":{},"二":{"docs":{},"则":{"docs":{},"不":{"docs":{},"是":{"docs":{},"(":{"docs":{},"节":{"docs":{},"点":{"docs":{},"右":{"docs":{},"边":{"docs":{},"标":{"docs":{},"的":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"的":{"docs":{},"、":{"docs":{},"空":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"没":{"docs":{},"有":{"docs":{},"画":{"docs":{},"出":{"docs":{},")":{"docs":{},"(":{"docs":{},"图":{"docs":{},"片":{"docs":{},"来":{"docs":{},"自":{"docs":{},"极":{"docs":{},"客":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"写":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"对":{"docs":{},"于":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},"某":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"题":{"docs":{},":":{"docs":{},"若":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"为":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"为":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},",":{"docs":{},"请":{"docs":{},"画":{"docs":{},"出":{"docs":{},"这":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"了":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"将":{"docs":{},"声":{"docs":{},"明":{"docs":{},"方":{"docs":{},"式":{"docs":{},"做":{"docs":{},"出":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"调":{"docs":{},"整":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"工":{"docs":{},"作":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"适":{"docs":{},"合":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"哪":{"docs":{},"些":{"docs":{},"事":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}},"任":{"docs":{},"何":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"就":{"docs":{},"是":{"docs":{},"记":{"docs":{},"录":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"编":{"docs":{},"译":{"docs":{},"选":{"docs":{},"项":{"docs":{},"在":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"x":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"可":{"docs":{},"配":{"docs":{},"置":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"元":{"docs":{},"素":{"docs":{},"上":{"docs":{},"限":{"docs":{},"阀":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"相":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"插":{"docs":{},"入":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"类":{"docs":{},"是":{"docs":{},"必":{"docs":{},"不":{"docs":{},"可":{"docs":{},"少":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"类":{"docs":{},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"独":{"docs":{},"一":{"docs":{},"无":{"docs":{},"二":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"都":{"docs":{},"有":{"docs":{},"独":{"docs":{},"一":{"docs":{},"无":{"docs":{},"二":{"docs":{},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"类":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},",":{"docs":{},"就":{"docs":{},"像":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"类":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"自":{"docs":{},"然":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"他":{"docs":{},"必":{"docs":{},"须":{"docs":{},"也":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"同":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"对":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"在":{"docs":{},"今":{"docs":{},"后":{"docs":{},"的":{"docs":{},"文":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"主":{"docs":{},"要":{"docs":{},"看":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"条":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"要":{"docs":{},"验":{"docs":{},"证":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"够":{"docs":{},"信":{"docs":{},"任":{"docs":{},"整":{"docs":{},"条":{"docs":{},"链":{"docs":{},"路":{"docs":{},"上":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"本":{"docs":{},"地":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"损":{"docs":{},"坏":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"记":{"docs":{},"录":{"docs":{},"从":{"docs":{},"远":{"docs":{},"程":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"损":{"docs":{},"坏":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"时":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"到":{"docs":{},"主":{"docs":{},"存":{"docs":{},"中":{"docs":{},"才":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"把":{"docs":{},"心":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"与":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"最":{"docs":{},"后":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"首":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},",":{"docs":{},"生":{"docs":{},"产":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"c":{"docs":{},"p":{"docs":{},"p":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"窥":{"docs":{},"探":{"docs":{},"其":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"(":{"docs":{},"编":{"docs":{},"译":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"它":{"docs":{},"做":{"docs":{},"的":{"docs":{},"是":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"优":{"docs":{},"先":{"docs":{},"放":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"看":{"docs":{},"上":{"docs":{},"去":{"docs":{},"就":{"docs":{},"像":{"docs":{},"被":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"获":{"docs":{},"取":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"有":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"。":{"docs":{},"它":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"地":{"docs":{},"址":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"这":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"里":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"就":{"docs":{},"是":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"将":{"docs":{},"其":{"docs":{},"管":{"docs":{},"理":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"更":{"docs":{},"新":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"布":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"步":{"docs":{},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},"转":{"docs":{},"换":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"属":{"docs":{},"性":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"则":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"配":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"新":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"类":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"下":{"docs":{},"面":{"docs":{},"三":{"docs":{},"步":{"docs":{},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"要":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"中":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"关":{"docs":{},"联":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},"详":{"docs":{},"细":{"docs":{},"研":{"docs":{},"究":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"将":{"docs":{},"附":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"优":{"docs":{},"先":{"docs":{},"放":{"docs":{},"到":{"docs":{},"前":{"docs":{},"面":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"式":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"从":{"docs":{},"开":{"docs":{},"发":{"docs":{},"程":{"docs":{},"序":{"docs":{},"以":{"docs":{},"来":{"docs":{},"就":{"docs":{},"一":{"docs":{},"直":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"更":{"docs":{},"加":{"docs":{},"符":{"docs":{},"合":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"场":{"docs":{},"景":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}},"析":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"故":{"docs":{},"a":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{},"早":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"中":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"处":{"docs":{},"于":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"结":{"docs":{},"点":{"docs":{},"中":{"docs":{},"间":{"docs":{},",":{"docs":{},"故":{"docs":{},"结":{"docs":{},"点":{"docs":{},"a":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"结":{"docs":{},"点":{"docs":{},"有":{"docs":{},"c":{"docs":{},"b":{"docs":{},",":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"结":{"docs":{},"点":{"docs":{},"有":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"三":{"docs":{},"种":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"钟":{"docs":{},"理":{"docs":{},"解":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"、":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"、":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}},"别":{"docs":{},"为":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"和":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"表":{"docs":{},"示":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"数":{"docs":{},"组":{"docs":{},"到":{"docs":{},"达":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"表":{"docs":{},"示":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"元":{"docs":{},"素":{"docs":{},"要":{"docs":{},"填":{"docs":{},"入":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"时":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"都":{"docs":{},"指":{"docs":{},"向":{"docs":{},"下":{"docs":{},"标":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"担":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"整":{"docs":{},"体":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"解":{"docs":{},"体":{"docs":{},"积":{"docs":{},"庞":{"docs":{},"大":{"docs":{},"的":{"docs":{},"类":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"开":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"把":{"docs":{},"以":{"docs":{},"上":{"docs":{},"方":{"docs":{},"案":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"支":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"已":{"docs":{},"经":{"docs":{},"成":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"会":{"docs":{},"先":{"docs":{},"向":{"docs":{},"这":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"来":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"进":{"docs":{},"入":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"过":{"docs":{},"的":{"docs":{},"可":{"docs":{},"变":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}},",":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"核":{"docs":{},"心":{"docs":{},"规":{"docs":{},"则":{"docs":{},"展":{"docs":{},"开":{"docs":{},"而":{"docs":{},"来":{"docs":{},",":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}},"增":{"docs":{},"加":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"于":{"docs":{},"附":{"docs":{},"加":{"docs":{},"对":{"docs":{},"象":{"docs":{},"上":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"一":{"docs":{},"个":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"当":{"docs":{},"内":{"docs":{},"存":{"docs":{},"紧":{"docs":{},"张":{"docs":{},"时":{"docs":{},",":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"这":{"docs":{},"些":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"功":{"docs":{},"能":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"名":{"docs":{},"叫":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"器":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"了":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},":":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"+":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}},"私":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"可":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"即":{"docs":{},"使":{"docs":{},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"同":{"docs":{},"名":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"致":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"入":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"位":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"表":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"为":{"docs":{},"最":{"docs":{},"低":{"docs":{},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{},",":{"docs":{},"当":{"docs":{},"其":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"docs":{}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"其":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"针":{"docs":{},"对":{"docs":{},"于":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"为":{"docs":{},"多":{"docs":{},"行":{"docs":{},"静":{"docs":{},"态":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},",":{"docs":{},"从":{"docs":{},"字":{"docs":{},"面":{"docs":{},"意":{"docs":{},"思":{"docs":{},"上":{"docs":{},"看":{"docs":{},",":{"docs":{},"即":{"docs":{},"为":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"现":{"docs":{},"也":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"变":{"docs":{},"量":{"docs":{},":":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"指":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"是":{"docs":{},"基":{"docs":{},"础":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}},"长":{"docs":{},"指":{"docs":{},"北":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"功":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"圆":{"docs":{},"形":{"docs":{},",":{"docs":{},"再":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"画":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"熟":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"技":{"docs":{},"术":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},",":{"docs":{},"可":{"docs":{},"提":{"docs":{},"供":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"高":{"docs":{},"级":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"技":{"docs":{},"术":{"docs":{},"用":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"不":{"docs":{},"要":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"大":{"docs":{},"量":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"对":{"docs":{},"象":{"docs":{},"更":{"docs":{},"适":{"docs":{},"合":{"docs":{},"与":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"在":{"docs":{},"这":{"docs":{},"些":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"事":{"docs":{},"务":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"也":{"docs":{},"很":{"docs":{},"高":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"章":{"docs":{"Article/ReadME.html":{"ref":"Article/ReadME.html","tf":1}},"收":{"docs":{},"集":{"docs":{"Article/ReadME.html":{"ref":"Article/ReadME.html","tf":10}}}}}}}},"无":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"效":{"docs":{},"对":{"docs":{},"象":{"docs":{},"直":{"docs":{},"接":{"docs":{},"导":{"docs":{},"致":{"docs":{},"指":{"docs":{},"针":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"论":{"docs":{},"是":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"还":{"docs":{},"是":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"什":{"docs":{},"么":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"重":{"docs":{},"写":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"能":{"docs":{},"确":{"docs":{},"保":{"docs":{},"所":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"就":{"docs":{},"是":{"docs":{},"去":{"docs":{},"解":{"docs":{},"决":{"docs":{},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"期":{"docs":{},"找":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{},"结":{"docs":{},"束":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"—":{"docs":{},"—":{"docs":{},"形":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"地":{"docs":{},"址":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"在":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"挥":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"?":{"docs":{},"它":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"特":{"docs":{},"性":{"docs":{},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}},"差":{"docs":{},"错":{"docs":{},"情":{"docs":{},"况":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516}}}}},"旧":{"docs":{},"对":{"docs":{},"象":{"docs":{},"以":{"docs":{},"及":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"解":{"docs":{},"除":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"就":{"docs":{},"自":{"docs":{},"动":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"替":{"docs":{},"代":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"换":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"设":{"docs":{},"置":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"名":{"docs":{},"需":{"docs":{},"与":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"完":{"docs":{},"全":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"文":{"docs":{},"件":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"名":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},"格":{"docs":{},"式":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"需":{"docs":{},"与":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"大":{"docs":{},"小":{"docs":{},"一":{"docs":{},"致":{"docs":{},"(":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"等":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"或":{"docs":{},"高":{"docs":{},"宽":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"即":{"docs":{},"保":{"docs":{},"证":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"不":{"docs":{},"变":{"docs":{},",":{"docs":{},"但":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"全":{"docs":{},"部":{"docs":{},"替":{"docs":{},"换":{"docs":{},",":{"docs":{},"验":{"docs":{},"证":{"docs":{},"方":{"docs":{},"案":{"docs":{},"有":{"docs":{},"效":{"docs":{},":":{"docs":{},"替":{"docs":{},"换":{"docs":{},"后":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"首":{"docs":{},"对":{"docs":{},"象":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"消":{"docs":{},"息":{"docs":{},"接":{"docs":{},"受":{"docs":{},"者":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"找":{"docs":{},"到":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"存":{"docs":{},"在":{"docs":{},"元":{"docs":{},"类":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"作":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"则":{"docs":{},"就":{"docs":{},"是":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"基":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"他":{"docs":{},"自":{"docs":{},"己":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"特":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"解":{"docs":{},"释":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"与":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"配":{"docs":{},"置":{"docs":{},"打":{"docs":{},"印":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"种":{"docs":{},":":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},"和":{"docs":{},"回":{"docs":{},"前":{"docs":{},"台":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"显":{"docs":{},"示":{"docs":{},"那":{"docs":{},"个":{"docs":{},"—":{"docs":{},"—":{"docs":{},"当":{"docs":{},"后":{"docs":{},"台":{"docs":{},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"业":{"docs":{},"务":{"docs":{},"和":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"公":{"docs":{},"司":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"以":{"docs":{},"上":{"docs":{},"一":{"docs":{},"种":{"docs":{},"或":{"docs":{},"者":{"docs":{},"某":{"docs":{},"几":{"docs":{},"种":{"docs":{},"的":{"docs":{},"组":{"docs":{},"合":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"等":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"符":{"docs":{},"合":{"docs":{},"这":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"已":{"docs":{},"经":{"docs":{},"添":{"docs":{},"加":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"正":{"docs":{},"常":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"推":{"docs":{},"断":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"查":{"docs":{},"找":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"一":{"docs":{},"样":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"向":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"派":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"存":{"docs":{},"在":{"docs":{},"能":{"docs":{},"够":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"则":{"docs":{},"手":{"docs":{},"势":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"不":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"在":{"docs":{},"证":{"docs":{},"书":{"docs":{},"验":{"docs":{},"证":{"docs":{},"中":{"docs":{},"极":{"docs":{},"其":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},",":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"无":{"docs":{},"条":{"docs":{},"件":{"docs":{},"信":{"docs":{},"任":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"上":{"docs":{},",":{"docs":{},"就":{"docs":{},"说":{"docs":{},"明":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"信":{"docs":{},"任":{"docs":{},"的":{"docs":{},",":{"docs":{},"若":{"docs":{},"终":{"docs":{},"端":{"docs":{},"信":{"docs":{},"任":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"则":{"docs":{},"信":{"docs":{},"任":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"终":{"docs":{},"端":{"docs":{},"没":{"docs":{},"有":{"docs":{},"安":{"docs":{},"装":{"docs":{},"相":{"docs":{},"应":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"证":{"docs":{},"书":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"网":{"docs":{},"站":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"加":{"docs":{},"入":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"泛":{"docs":{},"型":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"根":{"docs":{},"据":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"均":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},",":{"docs":{},"出":{"docs":{},"于":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"广":{"docs":{},"大":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"也":{"docs":{},"不":{"docs":{},"再":{"docs":{},"对":{"docs":{},"老":{"docs":{},"旧":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"统":{"docs":{},"一":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"和":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"所":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"机":{"docs":{},"构":{"docs":{},"(":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"不":{"docs":{},"小":{"docs":{},"心":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"忘":{"docs":{},"记":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"插":{"docs":{},"入":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"号":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"时":{"docs":{},"有":{"docs":{},"发":{"docs":{},"生":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"零":{"docs":{},"售":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"达":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"型":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"保":{"docs":{},"证":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"来":{"docs":{},"自":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"或":{"docs":{},"者":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"保":{"docs":{},"护":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"足":{"docs":{},"够":{"docs":{},"好":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"支":{"docs":{},"持":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"假":{"docs":{},"如":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"先":{"docs":{},"发":{"docs":{},"起":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"此":{"docs":{},"时":{"docs":{},"双":{"docs":{},"方":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"全":{"docs":{},"建":{"docs":{},"立":{"docs":{},"其":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"把":{"docs":{},"此":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"请":{"docs":{},"求":{"docs":{},"连":{"docs":{},"接":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"队":{"docs":{},"列":{"docs":{},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"这":{"docs":{},"种":{"docs":{},"队":{"docs":{},"列":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"双":{"docs":{},"方":{"docs":{},"已":{"docs":{},"建":{"docs":{},"立":{"docs":{},"起":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.021645021645021644}},"对":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"他":{"docs":{},"已":{"docs":{},"经":{"docs":{},"建":{"docs":{},"立":{"docs":{},"起":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"能":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"没":{"docs":{},"啥":{"docs":{},"毛":{"docs":{},"病":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"需":{"docs":{},"要":{"docs":{},"过":{"docs":{},"一":{"docs":{},"阵":{"docs":{},"子":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"的":{"docs":{},"重":{"docs":{},"载":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"号":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"化":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"算":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},",":{"docs":{},"用":{"docs":{},"作":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"通":{"docs":{},"过":{"docs":{},"减":{"docs":{},"少":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"提":{"docs":{},"高":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}},"确":{"docs":{},"实":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"较":{"docs":{},"小":{"docs":{},"时":{"docs":{},"提":{"docs":{},"高":{"docs":{},"网":{"docs":{},"络":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"并":{"docs":{},"减":{"docs":{},"少":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"型":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"填":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"属":{"docs":{},"性":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"下":{"docs":{},"文":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"特":{"docs":{},"定":{"docs":{},"规":{"docs":{},"则":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"识":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"而":{"docs":{},"言":{"docs":{},"的":{"docs":{},"。":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"指":{"docs":{},"类":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},";":{"docs":{},"由":{"docs":{},"此":{"docs":{},"推":{"docs":{},"理":{"docs":{},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},":":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"继":{"docs":{},"承":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"是":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"由":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"类":{"docs":{},",":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"元":{"docs":{},"类":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"又":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"查":{"docs":{},"找":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"入":{"docs":{},"元":{"docs":{},"类":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"类":{"docs":{},"还":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"父":{"docs":{},"类":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"元":{"docs":{},"类":{"docs":{},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{},"协":{"docs":{},"议":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"存":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"“":{"docs":{},"错":{"docs":{},"误":{"docs":{},"”":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"理":{"docs":{},"解":{"docs":{},"与":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"和":{"docs":{},"定":{"docs":{},"义":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"中":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"有":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"都":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"需":{"docs":{},"导":{"docs":{},"入":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}},"别":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"装":{"docs":{},"载":{"docs":{},"到":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"当":{"docs":{},"类":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"之":{"docs":{},"后":{"docs":{},"它":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"无":{"docs":{},"法":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"之":{"docs":{},"前":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"记":{"docs":{},"录":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"请":{"docs":{},"求":{"docs":{},"标":{"docs":{},"识":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"多":{"docs":{},"余":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"务":{"docs":{},"类":{"docs":{},",":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"似":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"也":{"docs":{},"封":{"docs":{},"装":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}},"名":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"称":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}},"开":{"docs":{},"始":{"docs":{},"找":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"结":{"docs":{},"构":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"有":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"了":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"他":{"docs":{},"内":{"docs":{},"部":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"继":{"docs":{},"续":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"阅":{"docs":{},"读":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"往":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"向":{"docs":{},"左":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"结":{"docs":{},"点":{"docs":{},"b":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"b":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"至":{"docs":{},"i":{"docs":{},",":{"docs":{},"i":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"均":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"故":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"i":{"docs":{},"时":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"i":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"承":{"docs":{},"于":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},"自":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"子":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"。":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"因":{"docs":{},"为":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"检":{"docs":{},"索":{"docs":{},"起":{"docs":{},"来":{"docs":{},"更":{"docs":{},"快":{"docs":{},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"与":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"示":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"x":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"假":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{},"更":{"docs":{},"大":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"真":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{},"更":{"docs":{},"大":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"记":{"docs":{},"录":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"并":{"docs":{},"存":{"docs":{},"储":{"docs":{},"对":{"docs":{},"应":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"向":{"docs":{},"本":{"docs":{},"地":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"询":{"docs":{},"问":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"腾":{"docs":{},"讯":{"docs":{},"面":{"docs":{},"试":{"docs":{},":":{"docs":{},"有":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"、":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"(":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},")":{"docs":{},"为":{"docs":{},"啥":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"?":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"将":{"docs":{},"旧":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"就":{"docs":{},"是":{"docs":{},"那":{"docs":{},"个":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"用":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"核":{"docs":{},"心":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"量":{"docs":{},"的":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"来":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{},"减":{"docs":{},"少":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"度":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"流":{"docs":{},"程":{"docs":{},"主":{"docs":{},"要":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"长":{"docs":{},"度":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},"说":{"docs":{},"明":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"的":{"docs":{},"更":{"docs":{},"拗":{"docs":{},"口":{"docs":{},"一":{"docs":{},"点":{"docs":{},"就":{"docs":{},"是":{"docs":{},",":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"把":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"设":{"docs":{},"置":{"docs":{},"成":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"应":{"docs":{},"该":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"接":{"docs":{},"着":{"docs":{},"回":{"docs":{},"到":{"docs":{},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"会":{"docs":{},"清":{"docs":{},"掉":{"docs":{},"当":{"docs":{},"前":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"上":{"docs":{},"次":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"白":{"docs":{},"了":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"值":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"线":{"docs":{},"程":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"重":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"间":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"“":{"docs":{},"已":{"docs":{},"失":{"docs":{},"效":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"”":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"本":{"docs":{},"连":{"docs":{},"接":{"docs":{},"中":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"手":{"docs":{},"动":{"docs":{},"对":{"docs":{},"其":{"docs":{},"增":{"docs":{},"加":{"docs":{},"保":{"docs":{},"护":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"唤":{"docs":{},"醒":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"当":{"docs":{},"修":{"docs":{},"改":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"非":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"切":{"docs":{},"记":{"docs":{},"选":{"docs":{},"择":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{},"和":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"3":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"方":{"docs":{},"式":{"docs":{},"略":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{},"是":{"docs":{},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"原":{"docs":{},"因":{"docs":{},"也":{"docs":{},"是":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"新":{"docs":{},"值":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"及":{"docs":{},"时":{"docs":{},"清":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"这":{"docs":{},"节":{"docs":{},"约":{"docs":{},"了":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"至":{"docs":{},"少":{"docs":{},"三":{"docs":{},"次":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"了":{"docs":{},"解":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"修":{"docs":{},"正":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"指":{"docs":{},"针":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"完":{"docs":{},"全":{"docs":{},"兼":{"docs":{},"容":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"解":{"docs":{},"决":{"docs":{},"符":{"docs":{},"号":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"让":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"配":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"√":{"docs":{},"默":{"docs":{},"认":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}}}},"严":{"docs":{},"格":{"docs":{},"说":{"docs":{},"来":{"docs":{},",":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"段":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"让":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"为":{"docs":{},"你":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"与":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"数":{"docs":{},"量":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"一":{"docs":{},"些":{"docs":{},"无":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"下":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"那":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"统":{"docs":{},"计":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"用":{"docs":{},"到":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}},"大":{"docs":{},"致":{"docs":{},"做":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"去":{"docs":{},"添":{"docs":{},"加":{"docs":{},"支":{"docs":{},"付":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"面":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"和":{"docs":{},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"_":{"0":{"docs":{},"和":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"又":{"docs":{},"再":{"docs":{},"次":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},")":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"如":{"docs":{},"果":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"和":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"方":{"docs":{},"法":{"docs":{},"才":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"是":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},"很":{"docs":{},"短":{"docs":{},",":{"docs":{},"全":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"录":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"以":{"docs":{},"注":{"docs":{},"释":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"详":{"docs":{},"细":{"docs":{},"解":{"docs":{},"读":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"它":{"docs":{},"有":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"弱":{"docs":{},"于":{"docs":{},"基":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"封":{"docs":{},"装":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"有":{"docs":{},"多":{"docs":{},"少":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"个":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"瘦":{"docs":{},"身":{"docs":{},"实":{"docs":{},"践":{"docs":{},"_":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":3.333333333333333}}}}}}}},"表":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"理":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"写":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"声":{"docs":{},"明":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"三":{"docs":{},"件":{"docs":{},"事":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"者":{"docs":{},"写":{"docs":{},"者":{"docs":{},"互":{"docs":{},"斥":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"是":{"docs":{},"排":{"docs":{},"他":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"同":{"docs":{},"时":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"写":{"docs":{},"者":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"读":{"docs":{},"者":{"docs":{},"(":{"docs":{},"与":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"数":{"docs":{},"相":{"docs":{},"关":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"既":{"docs":{},"有":{"docs":{},"读":{"docs":{},"者":{"docs":{},"⼜":{"docs":{},"有":{"docs":{},"写":{"docs":{},"者":{"docs":{},"。":{"docs":{},"在":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"保":{"docs":{},"持":{"docs":{},"期":{"docs":{},"间":{"docs":{},"也":{"docs":{},"是":{"docs":{},"抢":{"docs":{},"占":{"docs":{},"失":{"docs":{},"效":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"入":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},".":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"硬":{"docs":{},"盘":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"起":{"docs":{},"来":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"些":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"额":{"docs":{},"外":{"docs":{},"写":{"docs":{},"单":{"docs":{},"测":{"docs":{},"保":{"docs":{},"证":{"docs":{},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"遵":{"docs":{},"循":{"docs":{},"者":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"定":{"docs":{},"义":{"docs":{},"并":{"docs":{},"且":{"docs":{},"缺":{"docs":{},"乏":{"docs":{},"设":{"docs":{},"计":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"将":{"docs":{},"从":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"以":{"docs":{},"消":{"docs":{},"息":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},"向":{"docs":{},"目":{"docs":{},"的":{"docs":{},"主":{"docs":{},"机":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"会":{"docs":{},"被":{"docs":{},"组":{"docs":{},"合":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"主":{"docs":{},"机":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"了":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},":":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}},"以":{"docs":{},"及":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"分":{"docs":{},"析":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"分":{"docs":{},"成":{"docs":{},"多":{"docs":{},"个":{"docs":{},"包":{"docs":{},"依":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"而":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"『":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"』":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"从":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"算":{"docs":{},"法":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"多":{"docs":{},"次":{"docs":{},"写":{"docs":{},"入":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"被":{"docs":{},"合":{"docs":{},"并":{"docs":{},"或":{"docs":{},"者":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"当":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"从":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"机":{"docs":{},"制":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"消":{"docs":{},"息":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"向":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"组":{"docs":{},"合":{"docs":{},"或":{"docs":{},"者":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"、":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"、":{"docs":{},"基":{"docs":{},"于":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"通":{"docs":{},"信":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"交":{"docs":{},"给":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}},"栈":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"不":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"了":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"可":{"docs":{},"能":{"docs":{},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"对":{"docs":{},"它":{"docs":{},"们":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"和":{"docs":{},"重":{"docs":{},"组":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"粘":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"设":{"docs":{},"计":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"了":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"出":{"docs":{},"现":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"设":{"docs":{},"计":{"docs":{},"者":{"docs":{},"对":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"然":{"docs":{},"后":{"docs":{},"就":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"了":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}},"与":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"起":{"docs":{},"来":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"天":{"docs":{},"然":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"基":{"docs":{},"本":{"docs":{},"无":{"docs":{},"损":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"属":{"docs":{},"性":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}},"部":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"观":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},"模":{"docs":{},"式":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"拷":{"docs":{},"贝":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"方":{"docs":{},"式":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"类":{"docs":{},"型":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"到":{"docs":{},"目":{"docs":{},"标":{"docs":{},"包":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"浅":{"docs":{},"拷":{"docs":{},"贝":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}},"目":{"docs":{},"标":{"docs":{},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"出":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"严":{"docs":{},"选":{"docs":{},"商":{"docs":{},"城":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"前":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"视":{"docs":{},"频":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"天":{"docs":{},"猫":{"docs":{},"和":{"docs":{},"蘑":{"docs":{},"菇":{"docs":{},"街":{"docs":{},"都":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"录":{"docs":{},",":{"docs":{},"清":{"docs":{},"理":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"切":{"docs":{},"记":{"docs":{},"不":{"docs":{},"要":{"docs":{},"清":{"docs":{},"理":{"docs":{},"这":{"docs":{},"个":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"看":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"只":{"docs":{},"能":{"docs":{},"被":{"docs":{},"用":{"docs":{},"在":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"言":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"家":{"docs":{},"族":{"docs":{},"的":{"docs":{},"前":{"docs":{},"端":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},":":{"docs":{},"将":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"能":{"docs":{},"对":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"它":{"docs":{},"抛":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"旧":{"docs":{},"时":{"docs":{},"期":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"实":{"docs":{},"际":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"它":{"docs":{},"把":{"docs":{},"对":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},"者":{"docs":{},"划":{"docs":{},"分":{"docs":{},"成":{"docs":{},"读":{"docs":{},"者":{"docs":{},"和":{"docs":{},"写":{"docs":{},"者":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"只":{"docs":{},"对":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"读":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"写":{"docs":{},"者":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"锁":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"能":{"docs":{},"提":{"docs":{},"高":{"docs":{},"并":{"docs":{},"发":{"docs":{},"性":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"多":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"同":{"docs":{},"时":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"读":{"docs":{},"者":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"数":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"多":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"者":{"docs":{},"写":{"docs":{},"者":{"docs":{},"互":{"docs":{},"斥":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"读":{"docs":{},"者":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"懂":{"docs":{},"「":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"入":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"打":{"docs":{},"印":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"并":{"docs":{},"不":{"docs":{},"高":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"启":{"docs":{},"动":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"排":{"docs":{},"列":{"docs":{},"到":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"连":{"docs":{},"续":{"docs":{},"区":{"docs":{},"间":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"文":{"docs":{},"件":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"地":{"docs":{},"址":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"超":{"docs":{},"类":{"docs":{},"/":{"docs":{},"子":{"docs":{},"类":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"引":{"docs":{},"用":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"时":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"重":{"docs":{},"传":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"(":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"超":{"docs":{},"时":{"docs":{},"重":{"docs":{},"传":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"又":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"多":{"docs":{},"次":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"【":{"docs":{},"译":{"docs":{},"】":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"环":{"docs":{},"境":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}},"`":{"docs":{},"`":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"】":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"】":{"docs":{},",":{"docs":{},"将":{"docs":{},"其":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"【":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}},"土":{"docs":{},"丘":{"docs":{},"上":{"docs":{},"的":{"docs":{},"蒲":{"docs":{},"公":{"docs":{},"英":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"字":{"docs":{},"节":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"(":{"docs":{},"决":{"docs":{},"定":{"docs":{},"于":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"、":{"docs":{},"架":{"docs":{},"构":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"加":{"docs":{},"载":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"跳":{"docs":{},"动":{"docs":{},"全":{"docs":{},"链":{"docs":{},"路":{"docs":{},"压":{"docs":{},"测":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"典":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"时":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"符":{"docs":{},"串":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"@":{"docs":{},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},"占":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}},"。":{"docs":{},"无":{"docs":{},"法":{"docs":{},"触":{"docs":{},"发":{"docs":{},"代":{"docs":{},"码":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"现":{"docs":{},"拼":{"docs":{},"写":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"这":{"docs":{},"类":{"docs":{},"错":{"docs":{},"误":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"发":{"docs":{},"现":{"docs":{},"。":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"还":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"都":{"docs":{},"有":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"内":{"docs":{},"部":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"这":{"docs":{},"种":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"也":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"内":{"docs":{},"存":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"(":{"docs":{},"即":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"每":{"docs":{},"一":{"docs":{},"位":{"docs":{},"均":{"docs":{},"可":{"docs":{},"表":{"docs":{},"示":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"即":{"6":{"4":{"docs":{},"位":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"足":{"docs":{},"够":{"docs":{},"存":{"docs":{},"储":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"节":{"docs":{},"省":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"重":{"docs":{},"新":{"docs":{},"选":{"docs":{},"取":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},",":{"docs":{},"在":{"docs":{},"重":{"docs":{},"复":{"docs":{},"进":{"docs":{},"行":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"验":{"docs":{},"证":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"信":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"认":{"docs":{},"为":{"docs":{},"可":{"docs":{},"信":{"docs":{},"(":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"过":{"docs":{},"程":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"讲":{"docs":{},"解":{"docs":{},")":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"串":{"docs":{},"伪":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"串":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},"会":{"docs":{},"被":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"若":{"docs":{},"有":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"类":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"根":{"docs":{},"类":{"docs":{},",":{"docs":{},"若":{"docs":{},"在":{"docs":{},"根":{"docs":{},"类":{"docs":{},"中":{"docs":{},"仍":{"docs":{},"没":{"docs":{},"有":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"小":{"docs":{},"结":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"左":{"docs":{},"边":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"比":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}},"技":{"docs":{},"巧":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}},"强":{"docs":{},"制":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"解":{"docs":{},"码":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"关":{"docs":{},"考":{"docs":{},"点":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":3.334096692111959}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"有":{"docs":{},"收":{"docs":{},"藏":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"一":{"docs":{},"般":{"docs":{},"初":{"docs":{},"中":{"docs":{},"级":{"docs":{},"问":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"最":{"docs":{},"深":{"docs":{},"的":{"docs":{},"就":{"docs":{},"问":{"docs":{},"到":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"以":{"docs":{},"及":{"docs":{},"解":{"docs":{},"答":{"docs":{},"已":{"docs":{},"经":{"docs":{},"把":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"把":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"框":{"docs":{},"架":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"链":{"docs":{},"接":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"对":{"docs":{},"于":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"和":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"是":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"闲":{"docs":{},"(":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"互":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"比":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"之":{"docs":{},"下":{"docs":{},",":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"方":{"docs":{},"式":{"docs":{},"提":{"docs":{},"前":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"个":{"docs":{},"人":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"更":{"docs":{},"为":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"组":{"docs":{},"件":{"docs":{},"强":{"docs":{},"调":{"docs":{},"物":{"docs":{},"理":{"docs":{},"拆":{"docs":{},"分":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"复":{"docs":{},"用":{"docs":{},";":{"docs":{},"模":{"docs":{},"块":{"docs":{},"强":{"docs":{},"调":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"拆":{"docs":{},"分":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"docs":{},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"同":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"也":{"docs":{},"注":{"docs":{},"意":{"docs":{},"到":{"docs":{},"上":{"docs":{},"图":{"docs":{},"红":{"docs":{},"框":{"docs":{},"中":{"docs":{},"的":{"docs":{},"写":{"docs":{},"入":{"docs":{},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"路":{"docs":{},"径":{"docs":{},"较":{"docs":{},"长":{"docs":{},"截":{"docs":{},"图":{"docs":{},"中":{"docs":{},"未":{"docs":{},"能":{"docs":{},"完":{"docs":{},"全":{"docs":{},"显":{"docs":{},"示":{"docs":{},")":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"完":{"docs":{},"整":{"docs":{},"输":{"docs":{},"出":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"在":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"决":{"docs":{},"议":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"结":{"docs":{},"果":{"docs":{},"显":{"docs":{},"示":{"docs":{},"堆":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"使":{"docs":{},"用":{"docs":{},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"使":{"docs":{},"用":{"docs":{},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"支":{"docs":{},"持":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"与":{"docs":{},"其":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},":":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},",":{"docs":{},"并":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"野":{"docs":{},"指":{"docs":{},"针":{"docs":{},"错":{"docs":{},"误":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"来":{"docs":{},"到":{"docs":{},"断":{"docs":{},"点":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"运":{"docs":{},"行":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"预":{"docs":{},"设":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{},"如":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"j":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.03488372093023256}},"o":{"docs":{},"b":{"docs":{},".":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"e":{"docs":{},"y":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"o":{"docs":{},"n":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.02702702702702703}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"1":{"2":{"9":{"2":{"6":{"8":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"(":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"、":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"(":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"问":{"docs":{},"题":{"docs":{},"分":{"docs":{},"析":{"docs":{},"定":{"docs":{},"位":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"次":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"进":{"docs":{},"制":{"docs":{},"重":{"docs":{},"排":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":10.011363636363637},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"原":{"docs":{},"理":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"优":{"docs":{},"化":{"docs":{},"我":{"docs":{},"们":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"非":{"docs":{},"常":{"docs":{},"分":{"docs":{},"散":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{},"页":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},";":{"docs":{},"最":{"docs":{},"后":{"docs":{},"它":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"创":{"docs":{},"建":{"docs":{},"成":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":10.006309148264984}},"基":{"docs":{},"础":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"性":{"docs":{},"质":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"是":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},">":{"docs":{},"=":{"0":{"docs":{},")":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"有":{"docs":{},"限":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"该":{"docs":{},"集":{"docs":{},"合":{"docs":{},"或":{"docs":{},"者":{"docs":{},"为":{"docs":{},"空":{"docs":{},"集":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"空":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"和":{"docs":{},"两":{"docs":{},"棵":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"交":{"docs":{},"的":{"docs":{},"、":{"docs":{},"分":{"docs":{},"别":{"docs":{},"称":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"特":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"访":{"docs":{},"问":{"docs":{},"次":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"四":{"docs":{},"种":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"点":{"docs":{},"考":{"docs":{},"查":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"某":{"docs":{},"种":{"docs":{},"次":{"docs":{},"序":{"docs":{},"依":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"每":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"被":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"且":{"docs":{},"仅":{"docs":{},"被":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"存":{"docs":{},"储":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"索":{"docs":{},"引":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"前":{"docs":{},"中":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"非":{"docs":{},"递":{"docs":{},"归":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"定":{"docs":{},"义":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"排":{"docs":{},"序":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":10.003246753246753}}}}},"链":{"docs":{},"表":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"搜":{"docs":{},"索":{"docs":{},"树":{"docs":{},"与":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":10}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},"、":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"(":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"得":{"docs":{},"到":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"递":{"docs":{},"增":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"序":{"docs":{},"列":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},"又":{"docs":{},"称":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"树":{"docs":{},",":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"排":{"docs":{},"序":{"docs":{},"树":{"docs":{},",":{"docs":{},"特":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"接":{"docs":{},"触":{"docs":{},"过":{"docs":{},",":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"就":{"docs":{},"是":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"值":{"docs":{},"比":{"docs":{},"父":{"docs":{},"亲":{"docs":{},"节":{"docs":{},"点":{"docs":{},"小":{"docs":{},",":{"docs":{},"而":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"值":{"docs":{},"比":{"docs":{},"父":{"docs":{},"亲":{"docs":{},"节":{"docs":{},"点":{"docs":{},"大":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"排":{"docs":{},"序":{"docs":{},"是":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"相":{"docs":{},"同":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"相":{"docs":{},"对":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"不":{"docs":{},"是":{"docs":{},"查":{"docs":{},"找":{"docs":{},"相":{"docs":{},"等":{"docs":{},"值":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"比":{"docs":{},"较":{"docs":{},"查":{"docs":{},"插":{"docs":{},"入":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"查":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"种":{"docs":{},",":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},":":{"docs":{},"在":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"新":{"docs":{},"元":{"docs":{},"素":{"docs":{},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"减":{"docs":{},"少":{"docs":{},"元":{"docs":{},"素":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"算":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"确":{"docs":{},"定":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"有":{"docs":{},":":{"docs":{},"比":{"docs":{},"较":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"最":{"docs":{},"坏":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},":":{"docs":{},"当":{"2":{"docs":{},"^":{"docs":{},"x":{"docs":{},">":{"docs":{},"=":{"docs":{},"n":{"docs":{},"时":{"docs":{},",":{"docs":{},"查":{"docs":{},"询":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"询":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"就":{"docs":{},"为":{"docs":{},"x":{"docs":{},",":{"docs":{},"而":{"docs":{},"x":{"docs":{},"等":{"docs":{},"于":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},"(":{"docs":{},"以":{"2":{"docs":{},"为":{"docs":{},"底":{"docs":{},",":{"docs":{},"n":{"docs":{},"的":{"docs":{},"对":{"docs":{},"数":{"docs":{},")":{"docs":{},"。":{"docs":{},"即":{"docs":{},"o":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"法":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":10.011627906976743}},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"二":{"docs":{},"分":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"是":{"docs":{},"在":{"docs":{},"插":{"docs":{},"入":{"docs":{},"第":{"docs":{},"i":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"0":{"docs":{},"~":{"docs":{},"i":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"到":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"返":{"docs":{},"回":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"己":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"改":{"docs":{},"名":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"成":{"docs":{},"本":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"接":{"docs":{},"口":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"来":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"相":{"docs":{},"关":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"方":{"docs":{},"便":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"如":{"docs":{},"果":{"docs":{},"以":{"docs":{},"上":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"放":{"docs":{},"入":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"会":{"docs":{},"不":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"文":{"docs":{},"件":{"docs":{},"过":{"docs":{},"大":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"分":{"docs":{},"析":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"的":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"模":{"docs":{},"块":{"docs":{},"划":{"docs":{},"分":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"问":{"docs":{},"题":{"docs":{},"应":{"docs":{},"该":{"docs":{},"不":{"docs":{},"大":{"docs":{},"。":{"docs":{},"从":{"docs":{},"结":{"docs":{},"果":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"准":{"docs":{},"备":{"docs":{},"切":{"docs":{},"换":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"时":{"docs":{},",":{"docs":{},"若":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{},"并":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"来":{"docs":{},"自":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"内":{"docs":{},"核":{"docs":{},",":{"docs":{},"内":{"docs":{},"核":{"docs":{},"创":{"docs":{},"建":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"把":{"docs":{},"主":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"起":{"docs":{},"始":{"docs":{},"地":{"docs":{},"址":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"达":{"docs":{},"h":{"docs":{},",":{"docs":{},"h":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"h":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"底":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"掉":{"docs":{},"一":{"docs":{},"堆":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}},"捋":{"docs":{},"一":{"docs":{},"捋":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"加":{"docs":{},"载":{"docs":{},"流":{"docs":{},"程":{"docs":{},"及":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}},"旁":{"docs":{},"枝":{"docs":{},"末":{"docs":{},"叶":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"核":{"docs":{},"心":{"docs":{},":":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"附":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"设":{"docs":{},"备":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"最":{"docs":{},"多":{"docs":{},"能":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"画":{"docs":{},"图":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"完":{"docs":{},"才":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"家":{"docs":{},"算":{"docs":{},"法":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"编":{"docs":{},"译":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.020833333333333332},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"决":{"docs":{},"议":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"器":{"docs":{},"会":{"docs":{},"将":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"变":{"docs":{},"量":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"部":{"docs":{},"*":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"还":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"外":{"docs":{},"部":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"{":{"docs":{},"}":{"docs":{},"改":{"docs":{},"写":{"docs":{},"成":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"前":{"docs":{},"端":{"docs":{},"和":{"docs":{},"后":{"docs":{},"端":{"docs":{},",":{"docs":{},"二":{"docs":{},"者":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"按":{"docs":{},"照":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"把":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"高":{"docs":{},"级":{"docs":{},"语":{"docs":{},"言":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"可":{"docs":{},"以":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"经":{"docs":{},"典":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"述":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"前":{"docs":{},"端":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"进":{"docs":{},"行":{"docs":{},":":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"语":{"docs":{},"义":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"端":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"机":{"docs":{},"器":{"docs":{},"无":{"docs":{},"关":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"进":{"docs":{},"行":{"docs":{},"机":{"docs":{},"器":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"项":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},":":{"docs":{},"它":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"显":{"docs":{},"示":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"就":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"个":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"来":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"完":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"信":{"docs":{},"息":{"docs":{},"写":{"docs":{},"入":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"如":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"架":{"docs":{},"构":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"架":{"docs":{},"构":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":5}},"分":{"docs":{},"为":{"docs":{},"四":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}},"梳":{"docs":{},"理":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}}},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":5}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},":":{"docs":{},"把":{"docs":{},"前":{"docs":{},"面":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"产":{"docs":{},"物":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"前":{"docs":{},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"各":{"docs":{},"个":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"码":{"docs":{},"(":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},"上":{"docs":{},"传":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"走":{"docs":{},"的":{"docs":{},"不":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"?":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0021551724137931034},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"的":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}},"有":{"docs":{},"序":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"重":{"docs":{},"复":{"docs":{},"项":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":10.005952380952381}}}}}}}}}}},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"在":{"docs":{},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"只":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"上":{"docs":{},"述":{"docs":{},"操":{"docs":{},"作":{"docs":{},"必":{"docs":{},"须":{"docs":{},"通":{"docs":{},"过":{"docs":{},"原":{"docs":{},"地":{"docs":{},"修":{"docs":{},"改":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"使":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":3.333333333333333}}}}}}},"减":{"docs":{},"了":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"并":{"docs":{},"在":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"做":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"作":{"docs":{},"者":{"docs":{},"对":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"的":{"docs":{},"权":{"docs":{},"衡":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"即":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"态":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},";":{"docs":{},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"道":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"下":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"布":{"docs":{},"局":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"找":{"docs":{},"到":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"在":{"docs":{},"去":{"docs":{},"父":{"docs":{},"类":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"面":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"对":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"避":{"docs":{},"免":{"docs":{},"与":{"docs":{},"系":{"docs":{},"统":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"合":{"docs":{},"并":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"些":{"docs":{},"会":{"docs":{},"调":{"docs":{},"里":{"docs":{},"去":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"业":{"docs":{},"务":{"docs":{},"上":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"台":{"docs":{},":":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"定":{"docs":{},"义":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"此":{"docs":{},"时":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"会":{"docs":{},"被":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"捕":{"docs":{},"获":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"究":{"docs":{},"其":{"docs":{},"根":{"docs":{},"本":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.012934518997574777}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"按":{"docs":{},"代":{"docs":{},"码":{"docs":{},"表":{"docs":{},"面":{"docs":{},"的":{"docs":{},"想":{"docs":{},"法":{"docs":{},"去":{"docs":{},"走":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"打":{"docs":{},"印":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"2":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"5":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"为":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},"应":{"docs":{},"该":{"docs":{},"为":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}},"的":{"docs":{},"正":{"docs":{},"常":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"突":{"docs":{},"然":{"docs":{},"收":{"docs":{},"到":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"中":{"docs":{},"正":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},",":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{},"只":{"docs":{},"能":{"docs":{},"服":{"docs":{},"务":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"入":{"docs":{},"源":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"是":{"docs":{},"指":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"来":{"docs":{},"源":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"异":{"docs":{},"步":{"docs":{},"传":{"docs":{},"送":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"来":{"docs":{},"源":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"别":{"docs":{},"之":{"docs":{},"一":{"docs":{},"。":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"监":{"docs":{},"视":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}},"针":{"docs":{},"对":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"新":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"请":{"docs":{},"求":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"还":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"而":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"继":{"docs":{},"续":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"会":{"docs":{},"倾":{"docs":{},"向":{"docs":{},"于":{"docs":{},"让":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"通":{"docs":{},"过":{"docs":{},"地":{"docs":{},"址":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"方":{"docs":{},"式":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"是":{"docs":{},"从":{"docs":{},"哪":{"docs":{},"来":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"常":{"docs":{},"量":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"库":{"docs":{},"文":{"docs":{},"件":{"docs":{},".":{"docs":{},"a":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},"慢":{"docs":{},"速":{"docs":{},"查":{"docs":{},"找":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"中":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"递":{"docs":{},"归":{"docs":{},"查":{"docs":{},"找":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"和":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"r":{"docs":{},"w":{"docs":{},"中":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"逐":{"docs":{},"级":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"、":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"对":{"docs":{},"于":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"依":{"docs":{},"托":{"docs":{},"于":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"两":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"作":{"docs":{},"为":{"docs":{},"校":{"docs":{},"验":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"解":{"docs":{},"密":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"来":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"值":{"docs":{},"是":{"docs":{},"否":{"docs":{},"对":{"docs":{},"应":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"就":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},"越":{"docs":{},"往":{"docs":{},"后":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"就":{"docs":{},"越":{"docs":{},"大":{"docs":{},";":{"docs":{},"最":{"docs":{},"好":{"docs":{},"能":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"就":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"得":{"docs":{},"到":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"序":{"docs":{},"列":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"对":{"docs":{},"?":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"比":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"还":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"有":{"docs":{},"木":{"docs":{},"有":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"少":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"备":{"docs":{},"援":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"其":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"备":{"docs":{},"援":{"docs":{},"对":{"docs":{},"象":{"docs":{},"必":{"docs":{},"须":{"docs":{},"能":{"docs":{},"够":{"docs":{},"响":{"docs":{},"应":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"当":{"docs":{},"提":{"docs":{},"高":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"(":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"添":{"docs":{},"加":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"添":{"docs":{},"加":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"充":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}},"够":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"在":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"发":{"docs":{},"挥":{"docs":{},"出":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}},"对":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"寻":{"docs":{},"找":{"docs":{},"路":{"docs":{},"径":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}},"链":{"docs":{},"表":{"docs":{},"中":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"并":{"docs":{},"作":{"docs":{},"标":{"docs":{},"记":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"定":{"docs":{},"对":{"docs":{},"应":{"docs":{},"值":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"址":{"docs":{},"(":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"地":{"docs":{},"址":{"docs":{},")":{"docs":{},"访":{"docs":{},"问":{"docs":{},"主":{"docs":{},"存":{"docs":{},"或":{"docs":{},"硬":{"docs":{},"盘":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},"您":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"应":{"docs":{},"依":{"docs":{},"靠":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"类":{"docs":{},"成":{"docs":{},"员":{"docs":{},"身":{"docs":{},"份":{"docs":{},"。":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"您":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"顾":{"docs":{},"名":{"docs":{},"思":{"docs":{},"义":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"维":{"docs":{},"护":{"docs":{},"分":{"docs":{},"配":{"docs":{},"表":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"该":{"docs":{},"分":{"docs":{},"派":{"docs":{},"表":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"包":{"docs":{},"含":{"docs":{},"指":{"docs":{},"向":{"docs":{},"该":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"以":{"docs":{},"及":{"docs":{},"其":{"docs":{},"他":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"伪":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"占":{"docs":{},"位":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"住":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"几":{"docs":{},"种":{"docs":{},"源":{"docs":{},"有":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"源":{"docs":{},"、":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"源":{"docs":{},"、":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"源":{"docs":{},"和":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"源":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"docs":{},"御":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"场":{"docs":{},"景":{"docs":{},"分":{"docs":{},"析":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"用":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"放":{"docs":{},"到":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"量":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"规":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"也":{"docs":{},"是":{"docs":{},"极":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"手":{"docs":{},"段":{"docs":{},",":{"docs":{},"多":{"docs":{},"见":{"docs":{},"于":{"docs":{},":":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"、":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"离":{"docs":{},"线":{"docs":{},"包":{"docs":{},"等":{"docs":{},"业":{"docs":{},"务":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"后":{"docs":{},"知":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"永":{"docs":{},"远":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"直":{"docs":{},"到":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"含":{"docs":{},"有":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},",":{"docs":{},"且":{"docs":{},"处":{"docs":{},"于":{"docs":{},"最":{"docs":{},"上":{"docs":{},"方":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"将":{"docs":{},"视":{"docs":{},"图":{"docs":{},"逐":{"docs":{},"步":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"本":{"docs":{},"文":{"docs":{},"件":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"点":{"docs":{},"击":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"访":{"docs":{},"问":{"docs":{},"省":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}},"请":{"docs":{},"求":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}},"将":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"类":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"最":{"docs":{},"先":{"docs":{},"输":{"docs":{},"出":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"全":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"预":{"docs":{},"热":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"同":{"docs":{},"类":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"供":{"docs":{},"下":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"空":{"docs":{},"转":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"。":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"常":{"docs":{},"数":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"监":{"docs":{},"视":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"。":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"源":{"docs":{},"由":{"docs":{},"内":{"docs":{},"核":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"出":{"docs":{},"信":{"docs":{},"号":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"源":{"docs":{},"必":{"docs":{},"须":{"docs":{},"从":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"手":{"docs":{},"动":{"docs":{},"发":{"docs":{},"出":{"docs":{},"信":{"docs":{},"号":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"放":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"第":{"1":{"5":{"docs":{},"讲":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"docs":{}},"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"是":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"在":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"最":{"docs":{},"高":{"docs":{},"的":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"创":{"docs":{},"建":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"是":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"前":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"=":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}}},"加":{"docs":{},"完":{"docs":{},"锁":{"docs":{},"之":{"docs":{},"后":{"docs":{},"还":{"docs":{},"没":{"docs":{},"出":{"docs":{},"锁":{"docs":{},"就":{"docs":{},"进":{"docs":{},"行":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"握":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"网":{"docs":{},"络":{"docs":{},"包":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"步":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"用":{"docs":{},"户":{"docs":{},"开":{"docs":{},"始":{"docs":{},"购":{"docs":{},"买":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"去":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"交":{"docs":{},"易":{"docs":{},"订":{"docs":{},"单":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"篇":{"docs":{},":":{"docs":{},"[":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"传":{"docs":{},"递":{"docs":{},"规":{"docs":{},"则":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"决":{"docs":{},"定":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"传":{"docs":{},"递":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"没":{"docs":{},"有":{"docs":{},"接":{"docs":{},"收":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"则":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"向":{"docs":{},"后":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},":":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"和":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"释":{"docs":{},"放":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"以":{"docs":{},"及":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},";":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"来":{"docs":{},"释":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"最":{"docs":{},"低":{"docs":{},"的":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}}},"加":{"docs":{},"锁":{"docs":{},"就":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"不":{"docs":{},"会":{"docs":{},"查":{"docs":{},"询":{"docs":{},"缓":{"docs":{},"存":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"握":{"docs":{},"手":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"端":{"docs":{},"发":{"docs":{},"包":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"坑":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"开":{"docs":{},"始":{"docs":{},"数":{"docs":{},"坑":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},":":{"docs":{},"[":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"三":{"docs":{},"步":{"docs":{},"情":{"docs":{},"况":{"docs":{},"均":{"docs":{},"不":{"docs":{},"满":{"docs":{},"足":{"docs":{},"(":{"docs":{},"即":{"docs":{},"链":{"docs":{},"表":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"—":{"docs":{},"—":{"docs":{},"对":{"docs":{},"象":{"docs":{},"对":{"docs":{},"于":{"docs":{},"全":{"docs":{},"部":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"锁":{"docs":{},")":{"docs":{},"就":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"并":{"docs":{},"存":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"里":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"下":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"也":{"docs":{},"想":{"docs":{},"断":{"docs":{},"开":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"和":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"发":{"docs":{},"给":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"握":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"包":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"篇":{"docs":{},":":{"docs":{},"[":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"七":{"docs":{},"步":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"收":{"docs":{},"据":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"已":{"docs":{},"付":{"docs":{},"款":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"号":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"去":{"docs":{},"校":{"docs":{},"验":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"已":{"docs":{},"付":{"docs":{},"款":{"docs":{},"订":{"docs":{},"单":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"要":{"docs":{},"查":{"docs":{},"询":{"docs":{},"的":{"docs":{},"那":{"docs":{},"一":{"docs":{},"笔":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},",":{"docs":{},"就":{"docs":{},"告":{"docs":{},"诉":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"付":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"回":{"docs":{},"调":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"九":{"docs":{},"步":{"docs":{},":":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"并":{"docs":{},"把":{"docs":{},"收":{"docs":{},"据":{"docs":{},"传":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"没":{"docs":{},"有":{"docs":{},"确":{"docs":{},"认":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"回":{"docs":{},"调":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"回":{"docs":{},"调":{"docs":{},"时":{"docs":{},"间":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"会":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"久":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"五":{"docs":{},"步":{"docs":{},":":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"八":{"docs":{},"步":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"回":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"六":{"docs":{},"步":{"docs":{},":":{"docs":{},"在":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"收":{"docs":{},"据":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"去":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"十":{"docs":{},"步":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"并":{"docs":{},"回":{"docs":{},"调":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"早":{"docs":{},"餐":{"docs":{},"买":{"docs":{},"完":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"追":{"docs":{},"踪":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"滑":{"docs":{},"动":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"界":{"docs":{},"面":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"不":{"docs":{},"受":{"docs":{},"其":{"docs":{},"他":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"退":{"docs":{},"出":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"开":{"docs":{},"启":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"如":{"docs":{},"果":{"docs":{},"希":{"docs":{},"望":{"docs":{},"持":{"docs":{},"续":{"docs":{},"存":{"docs":{},"活":{"docs":{},"下":{"docs":{},"去":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"开":{"docs":{},"启":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"采":{"docs":{},"取":{"docs":{},"的":{"docs":{},"是":{"docs":{},"懒":{"docs":{},"惰":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{},"i":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"阻":{"docs":{},"塞":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}},"(":{"docs":{},"同":{"docs":{},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"会":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},"同":{"docs":{},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"偶":{"docs":{},"尔":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"充":{"docs":{},"分":{"docs":{},"利":{"docs":{},"用":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"多":{"docs":{},"核":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"几":{"docs":{},"乎":{"docs":{},"不":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"交":{"docs":{},"给":{"docs":{},"饱":{"docs":{},"和":{"docs":{},"策":{"docs":{},"略":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"射":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"明":{"docs":{},"显":{"docs":{},"会":{"docs":{},"极":{"docs":{},"大":{"docs":{},"损":{"docs":{},"害":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"与":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"背":{"docs":{},"道":{"docs":{},"而":{"docs":{},"驰":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"更":{"docs":{},"准":{"docs":{},"确":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"空":{"docs":{},"间":{"docs":{},":":{"docs":{},"同":{"docs":{},"一":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"共":{"docs":{},"享":{"docs":{},"本":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"则":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"x":{"docs":{},"h":{"docs":{},"/":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"docs":{},"在":{"docs":{},"替":{"docs":{},"代":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"等":{"docs":{},"线":{"docs":{},"程":{"docs":{},"技":{"docs":{},"术":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"条":{"docs":{},"件":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"同":{"docs":{},"步":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"线":{"docs":{},"程":{"docs":{},"何":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"条":{"docs":{},"件":{"docs":{},"视":{"docs":{},"为":{"docs":{},"关":{"docs":{},"守":{"docs":{},",":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"满":{"docs":{},"足":{"docs":{},"指":{"docs":{},"定":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"死":{"docs":{},"亡":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},":":{"docs":{},"正":{"docs":{},"常":{"docs":{},"死":{"docs":{},"亡":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"。":{"docs":{},"非":{"docs":{},"正":{"docs":{},"常":{"docs":{},"死":{"docs":{},"亡":{"docs":{},",":{"docs":{},"当":{"docs":{},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"内":{"docs":{},"部":{"docs":{},"中":{"docs":{},"止":{"docs":{},"执":{"docs":{},"行":{"docs":{},"/":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"止":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"原":{"docs":{},"因":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"窗":{"docs":{},"口":{"docs":{},"(":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{},"只":{"docs":{},"负":{"docs":{},"责":{"docs":{},"为":{"docs":{},"排":{"docs":{},"队":{"docs":{},"的":{"docs":{},"人":{"docs":{},"办":{"docs":{},"理":{"docs":{},"业":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"管":{"docs":{},"队":{"docs":{},"伍":{"docs":{},"(":{"docs":{},"队":{"docs":{},"列":{"docs":{},")":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"排":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"点":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"是":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"场":{"docs":{},"景":{"docs":{},"偏":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"一":{"docs":{},"般":{"docs":{},"更":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"简":{"docs":{},"单":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"少":{"docs":{},"服":{"docs":{},"务":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"c":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"/":{"docs":{},"可":{"docs":{},"移":{"docs":{},"植":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"读":{"docs":{},"取":{"docs":{},"非":{"docs":{},"常":{"docs":{},"便":{"docs":{},"捷":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"等":{"docs":{},"系":{"docs":{},"统":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"(":{"docs":{},"i":{"docs":{},"p":{"docs":{},"电":{"docs":{},"话":{"docs":{},"、":{"docs":{},"视":{"docs":{},"频":{"docs":{},"会":{"docs":{},"议":{"docs":{},"、":{"docs":{},"直":{"docs":{},"播":{"docs":{},"等":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"求":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"文":{"docs":{},"件":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"宜":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"配":{"docs":{},"方":{"docs":{},"案":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"收":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"相":{"docs":{},"关":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"一":{"docs":{},"些":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"负":{"docs":{},"责":{"docs":{},"调":{"docs":{},"度":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},",":{"docs":{},"又":{"docs":{},"称":{"docs":{},"为":{"docs":{},"伫":{"docs":{},"列":{"docs":{},"(":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"最":{"docs":{},"后":{"docs":{},"都":{"docs":{},"要":{"docs":{},"由":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"!":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"和":{"docs":{},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"引":{"docs":{},"起":{"docs":{},"的":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},":":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},",":{"docs":{},"后":{"docs":{},"进":{"docs":{},"后":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}},":":{"docs":{},"队":{"docs":{},"列":{"docs":{},"分":{"docs":{},"为":{"docs":{},"串":{"docs":{},"行":{"docs":{},"和":{"docs":{},"并":{"docs":{},"行":{"docs":{},"。":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"按":{"docs":{},"照":{"docs":{},"a":{"docs":{},"、":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},"、":{"docs":{},"d":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"添":{"docs":{},"加":{"docs":{},"四":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"这":{"docs":{},"四":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"按":{"docs":{},"照":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"结":{"docs":{},"束":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"也":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"是":{"docs":{},"a":{"docs":{},"、":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},"、":{"docs":{},"d":{"docs":{},",":{"docs":{},"而":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"同":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"四":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"因":{"docs":{},"此":{"docs":{},"也":{"docs":{},"是":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阻":{"docs":{},"塞":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},":":{"docs":{},"当":{"docs":{},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"个":{"docs":{},"预":{"docs":{},"定":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"或":{"docs":{},"锁":{"docs":{},",":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"长":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"日":{"docs":{},"期":{"docs":{},")":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},":":{"docs":{},"(":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"动":{"docs":{},"行":{"docs":{},"为":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"饱":{"docs":{},"和":{"docs":{},"策":{"docs":{},"略":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"四":{"docs":{},"个":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"&":{"docs":{},"同":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"docs":{}}}}},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},"/":{"docs":{},"并":{"docs":{},"发":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{},"/":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},"排":{"docs":{},"列":{"docs":{},"组":{"docs":{},"合":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"只":{"docs":{},"能":{"docs":{},"依":{"docs":{},"次":{"docs":{},"逐":{"docs":{},"一":{"docs":{},"先":{"docs":{},"后":{"docs":{},"有":{"docs":{},"序":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"既":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"一":{"docs":{},"条":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}},"亦":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"利":{"docs":{},"用":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"写":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}},"取":{"docs":{},"消":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"掉":{"docs":{},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"如":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"的":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"操":{"docs":{},"作":{"docs":{},"也":{"docs":{},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"块":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"上":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"到":{"docs":{},"图":{"docs":{},"片":{"docs":{},"后":{"docs":{},",":{"docs":{},"停":{"docs":{},"止":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"值":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"差":{"docs":{},"集":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"尽":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"努":{"docs":{},"力":{"docs":{},"交":{"docs":{},"付":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"管":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"开":{"docs":{},"销":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},"它":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"想":{"docs":{},"办":{"docs":{},"法":{"docs":{},"把":{"docs":{},"性":{"docs":{},"能":{"docs":{},"影":{"docs":{},"响":{"docs":{},"降":{"docs":{},"到":{"docs":{},"最":{"docs":{},"低":{"docs":{},"。":{"docs":{},"优":{"docs":{},"化":{"docs":{},"思":{"docs":{},"路":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{},"既":{"docs":{},"然":{"docs":{},"已":{"docs":{},"经":{"docs":{},"花":{"docs":{},"了":{"docs":{},"不":{"docs":{},"少":{"docs":{},"精":{"docs":{},"力":{"docs":{},"把":{"docs":{},"图":{"docs":{},"片":{"docs":{},"裁":{"docs":{},"出":{"docs":{},"了":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"能":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"复":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"成":{"docs":{},"果":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"重":{"docs":{},"新":{"docs":{},"画":{"docs":{},"一":{"docs":{},"遍":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"将":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"操":{"docs":{},"作":{"docs":{},"放":{"docs":{},"到":{"docs":{},"进":{"docs":{},"程":{"docs":{},"以":{"docs":{},"外":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"的":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"崩":{"docs":{},"溃":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"率":{"docs":{},"下":{"docs":{},"降":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"延":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"迟":{"1":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}},"docs":{}}}}}},"2":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}},"docs":{}}}}}},"docs":{}}},"想":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"什":{"docs":{},"么":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"任":{"docs":{},"何":{"docs":{},"线":{"docs":{},"程":{"docs":{},"管":{"docs":{},"理":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"发":{"docs":{},"现":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"未":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"源":{"docs":{},"码":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"但":{"docs":{},"是":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"对":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"却":{"docs":{},"开":{"docs":{},"源":{"docs":{},"了":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"挂":{"docs":{},"起":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}},"栅":{"docs":{},"栏":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}},"函":{"docs":{},"数":{"docs":{},"只":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"同":{"docs":{},"一":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},":":{"docs":{},"打":{"docs":{},"个":{"docs":{},"比":{"docs":{},"方":{"docs":{},",":{"docs":{},"平":{"docs":{},"时":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"做":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"起":{"docs":{},"到":{"docs":{},"同":{"docs":{},"步":{"docs":{},"锁":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"内":{"docs":{},"部":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"将":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"利":{"docs":{},"用":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"实":{"docs":{},"现":{"docs":{},"多":{"docs":{},"读":{"docs":{},"单":{"docs":{},"写":{"docs":{},"?":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"'":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"'":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"'":{"docs":{},"'":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"[":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"'":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"`":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"`":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"`":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"~":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"⾃":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"进":{"docs":{},"程":{"docs":{},"上":{"docs":{},"下":{"docs":{},"⽂":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"对":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"只":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"很":{"docs":{},"短":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"场":{"docs":{},"合":{"docs":{},"是":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"、":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"业":{"docs":{},"界":{"docs":{},"常":{"docs":{},"见":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"和":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"的":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"交":{"docs":{},"换":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"且":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"无":{"docs":{},"需":{"docs":{},"锁":{"docs":{},"保":{"docs":{},"护":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"又":{"docs":{},"分":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"但":{"docs":{},"没":{"docs":{},"有":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"锁":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"—":{"docs":{},"—":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"无":{"docs":{},"法":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"去":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"可":{"docs":{},"见":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"唤":{"docs":{},"醒":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"被":{"docs":{},"动":{"docs":{},"行":{"docs":{},"为":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"尝":{"docs":{},"试":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"加":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"平":{"docs":{},"时":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"完":{"docs":{},"成":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"均":{"docs":{},"访":{"docs":{},"问":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"下":{"docs":{},"降":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"是":{"docs":{},"θ":{"docs":{},"(":{"docs":{},"\ud835":{"docs":{},"\udc5b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\ud835":{"docs":{},"\udc5b":{"docs":{},")":{"docs":{},",":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"n":{"docs":{},"²":{"docs":{},",":{"docs":{},"但":{"docs":{},"通":{"docs":{},"过":{"docs":{},"随":{"docs":{},"机":{"docs":{},"算":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"快":{"docs":{},"排":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"是":{"docs":{},"θ":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\ud835":{"docs":{},"\udc5b":{"docs":{},")":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"衡":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"的":{"docs":{},"提":{"docs":{},"出":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"树":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"太":{"docs":{},"倾":{"docs":{},"斜":{"docs":{},",":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"保":{"docs":{},"证":{"docs":{},"两":{"docs":{},"边":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"么":{"docs":{},"是":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"空":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"链":{"docs":{},"表":{"docs":{},"而":{"docs":{},"诞":{"docs":{},"生":{"docs":{},"了":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"具":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"特":{"docs":{},"点":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"大":{"docs":{},"量":{"docs":{},"节":{"docs":{},"点":{"docs":{},"偏":{"docs":{},"向":{"docs":{},"于":{"docs":{},"一":{"docs":{},"边":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"了":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"如":{"docs":{},"何":{"docs":{},"构":{"docs":{},"建":{"docs":{},"、":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"、":{"docs":{},"左":{"docs":{},"旋":{"docs":{},"、":{"docs":{},"右":{"docs":{},"旋":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"这":{"docs":{},"里":{"docs":{},"不":{"docs":{},"在":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"我":{"docs":{},"之":{"docs":{},"前":{"docs":{},"写":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{},"【":{"docs":{},"漫":{"docs":{},"画":{"docs":{},"】":{"docs":{},"以":{"docs":{},"后":{"docs":{},"在":{"docs":{},"有":{"docs":{},"面":{"docs":{},"试":{"docs":{},"官":{"docs":{},"问":{"docs":{},"你":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},"树":{"docs":{},",":{"docs":{},"你":{"docs":{},"就":{"docs":{},"把":{"docs":{},"这":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"扔":{"docs":{},"给":{"docs":{},"他":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"台":{"docs":{},";":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"不":{"docs":{},"释":{"docs":{},"放":{"docs":{},"当":{"docs":{},"前":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"循":{"docs":{},"环":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"且":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},"影":{"docs":{},"响":{"docs":{},"时":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},"死":{"docs":{},"锁":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"问":{"docs":{},"题":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"或":{"docs":{},"者":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"。":{"docs":{},"而":{"docs":{},"该":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"图":{"docs":{},"中":{"docs":{},"橙":{"docs":{},"色":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}},"这":{"docs":{},"里":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"类":{"docs":{},"似":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"序":{"docs":{},"列":{"docs":{},"的":{"docs":{},"左":{"docs":{},"右":{"docs":{},"两":{"docs":{},"个":{"docs":{},"端":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"往":{"docs":{},"中":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"比":{"docs":{},"较":{"docs":{},"和":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"放":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"在":{"docs":{},"声":{"docs":{},"明":{"docs":{},"分":{"docs":{},"号":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"入":{"docs":{},"其":{"docs":{},"中":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"既":{"docs":{},"然":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"能":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"地":{"docs":{},"方":{"docs":{},"(":{"docs":{},"v":{"docs":{},"c":{"docs":{},"、":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"等":{"docs":{},")":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"底":{"docs":{},"层":{"docs":{},"必":{"docs":{},"然":{"docs":{},"维":{"docs":{},"护":{"docs":{},"着":{"docs":{},"一":{"docs":{},"张":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"表":{"docs":{},"(":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},")":{"docs":{},"。":{"docs":{},"而":{"docs":{},"从":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"可":{"docs":{},"以":{"docs":{},"证":{"docs":{},"实":{"docs":{},"系":{"docs":{},"统":{"docs":{},"确":{"docs":{},"实":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"维":{"docs":{},"护":{"docs":{},"着":{"docs":{},"一":{"docs":{},"张":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"然":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"地":{"docs":{},"方":{"docs":{},"去":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"何":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"不":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"采":{"docs":{},"用":{"docs":{},"链":{"docs":{},"式":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},"由":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"定":{"docs":{},"义":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"定":{"docs":{},"义":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"和":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"域":{"docs":{},"。":{"docs":{},"表":{"docs":{},"示":{"docs":{},"方":{"docs":{},"式":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"1":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"疑":{"docs":{},"难":{"docs":{},"解":{"docs":{},"答":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"细":{"docs":{},"数":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"那":{"docs":{},"些":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"节":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}},"指":{"docs":{},"针":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"方":{"docs":{},"同":{"docs":{},"处":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"中":{"docs":{},",":{"docs":{},"协":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"整":{"docs":{},"个":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"击":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"何":{"docs":{},"时":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"根":{"docs":{},"据":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"类":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"重":{"docs":{},"写":{"docs":{},"为":{"docs":{},"不":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"把":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"不":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"重":{"docs":{},"写":{"docs":{},"为":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"该":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"和":{"docs":{},"转":{"docs":{},"化":{"docs":{},"。":{"docs":{},"附":{"docs":{},"件":{"docs":{},":":{"docs":{},"官":{"docs":{},"方":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"全":{"docs":{},"消":{"docs":{},"失":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}},":":{"docs":{},"对":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"具":{"docs":{},"有":{"docs":{},"n":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"按":{"docs":{},"层":{"docs":{},"编":{"docs":{},"号":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"编":{"docs":{},"号":{"docs":{},"为":{"docs":{},"i":{"docs":{},"(":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"兼":{"docs":{},"容":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"极":{"docs":{},"端":{"docs":{},"用":{"docs":{},"例":{"docs":{},"下":{"docs":{},",":{"docs":{},"从":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"既":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"得":{"docs":{},"到":{"docs":{},"了":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"另":{"docs":{},"外":{"docs":{},"给":{"docs":{},"图":{"docs":{},"片":{"docs":{},"容":{"docs":{},"器":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嵌":{"docs":{},"套":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"很":{"docs":{},"好":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"总":{"docs":{},"会":{"docs":{},"释":{"docs":{},"放":{"docs":{},"到":{"docs":{},"上":{"docs":{},"次":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"多":{"docs":{},"层":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"就":{"docs":{},"是":{"docs":{},"多":{"docs":{},"个":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},"而":{"docs":{},"已":{"docs":{},",":{"docs":{},"就":{"docs":{},"像":{"docs":{},"剥":{"docs":{},"洋":{"docs":{},"葱":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"互":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"迭":{"docs":{},"代":{"docs":{},"结":{"docs":{},"束":{"docs":{},"?":{"docs":{},"当":{"docs":{},"前":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}},"黑":{"docs":{},"幕":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010775862068965517}}}}}}}}}}}}}}}}},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"接":{"docs":{},"触":{"docs":{},"过":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"和":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"很":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"像":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"性":{"docs":{},"能":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"差":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"瓶":{"docs":{},"颈":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"过":{"docs":{},"关":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"日":{"docs":{},"常":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"技":{"docs":{},"术":{"docs":{},"作":{"docs":{},"为":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"技":{"docs":{},"术":{"docs":{},"能":{"docs":{},"力":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"持":{"docs":{},"续":{"docs":{},"研":{"docs":{},"究":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"升":{"docs":{},"如":{"docs":{},"何":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"是":{"docs":{},"极":{"docs":{},"其":{"docs":{},"重":{"docs":{},"要":{"docs":{},"一":{"docs":{},"环":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"的":{"docs":{},"体":{"docs":{},"验":{"docs":{},"做":{"docs":{},"了":{"docs":{},"少":{"docs":{},"许":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"中":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"也":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"选":{"docs":{},"取":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"指":{"docs":{},"标":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"度":{"docs":{},"量":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"能":{"docs":{},"够":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"出":{"docs":{},"成":{"docs":{},"本":{"docs":{},"更":{"docs":{},"低":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"实":{"docs":{},"践":{"docs":{},":":{"docs":{},"头":{"docs":{},"条":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"慎":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"罢":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"萧":{"docs":{},"玉":{"docs":{},"大":{"docs":{},"佬":{"docs":{},"在":{"docs":{},"其":{"docs":{},"《":{"docs":{},"关":{"docs":{},"于":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"闭":{"docs":{},"包":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"里":{"docs":{},"都":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"?":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"例":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{},"链":{"docs":{},"接":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"五":{"docs":{},"、":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"及":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"以":{"docs":{},"上":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"至":{"docs":{},"少":{"docs":{},"都":{"docs":{},"是":{"docs":{},"每":{"docs":{},"个":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"长":{"docs":{},"度":{"docs":{},"对":{"docs":{},"应":{"docs":{},"两":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"很":{"docs":{},"多":{"docs":{},"美":{"docs":{},"工":{"docs":{},"会":{"docs":{},"只":{"docs":{},"切":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"权":{"docs":{},"限":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"其":{"docs":{},"以":{"docs":{},"上":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"周":{"docs":{},"期":{"docs":{},"内":{"docs":{},"可":{"docs":{},"以":{"docs":{},"视":{"docs":{},"为":{"docs":{},"重":{"docs":{},"复":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"多":{"docs":{},"次":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"请":{"docs":{},"求":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"哪":{"docs":{},"一":{"docs":{},"个":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"导":{"docs":{},"致":{"docs":{},"不":{"docs":{},"能":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"。":{"docs":{},"优":{"docs":{},"化":{"docs":{},"界":{"docs":{},"面":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"程":{"docs":{},"度":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"减":{"docs":{},"少":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"大":{"docs":{},"致":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"四":{"docs":{},"、":{"docs":{},"y":{"docs":{},"y":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"有":{"docs":{},"赞":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"潜":{"docs":{},"在":{"docs":{},"问":{"docs":{},"题":{"docs":{},"和":{"docs":{},"适":{"docs":{},"配":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"释":{"docs":{},"放":{"docs":{},"连":{"docs":{},"接":{"docs":{},"时":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"docs":{}}}}}}}}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"带":{"docs":{},"来":{"docs":{},"压":{"docs":{},"力":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"(":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"大":{"docs":{},"量":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"都":{"docs":{},"相":{"docs":{},"当":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"示":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}},"宽":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"会":{"docs":{},"将":{"docs":{},"小":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"块":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"目":{"docs":{},"的":{"docs":{},"主":{"docs":{},"机":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"会":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"中":{"docs":{},"等":{"docs":{},"待":{"docs":{},"更":{"docs":{},"多":{"docs":{},"待":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"批":{"docs":{},"量":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"和":{"docs":{},"网":{"docs":{},"络":{"docs":{},"延":{"docs":{},"迟":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"能":{"docs":{},"够":{"docs":{},"降":{"docs":{},"低":{"docs":{},"网":{"docs":{},"络":{"docs":{},"拥":{"docs":{},"堵":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{},"并":{"docs":{},"减":{"docs":{},"少":{"docs":{},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"默":{"docs":{},"认":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"它":{"docs":{},"们":{"docs":{},"内":{"docs":{},"部":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"除":{"docs":{},"非":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"及":{"docs":{},"其":{"docs":{},"衍":{"docs":{},"生":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"不":{"docs":{},"用":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"次":{"docs":{},"尝":{"docs":{},"试":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"解":{"docs":{},"决":{"docs":{},"掉":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"库":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"就":{"docs":{},"几":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"作":{"docs":{},"者":{"docs":{},"提":{"docs":{},"取":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"管":{"docs":{},"理":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"思":{"docs":{},"想":{"docs":{},"和":{"docs":{},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"时":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"非":{"docs":{},"常":{"docs":{},"慢":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"高":{"docs":{},"效":{"docs":{},"支":{"docs":{},"持":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"很":{"docs":{},"像":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"同":{"docs":{},"为":{"docs":{},"“":{"docs":{},"事":{"docs":{},"务":{"docs":{},"”":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"很":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"在":{"docs":{},"提":{"docs":{},"交":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"加":{"docs":{},"一":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"认":{"docs":{},"为":{"docs":{},"自":{"docs":{},"己":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"离":{"docs":{},"线":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"日":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"中":{"docs":{},"也":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},",":{"docs":{},"百":{"docs":{},"兆":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"已":{"docs":{},"经":{"docs":{},"能":{"docs":{},"够":{"docs":{},"满":{"docs":{},"足":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"在":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"法":{"docs":{},"联":{"docs":{},"网":{"docs":{},"或":{"docs":{},"者":{"docs":{},"网":{"docs":{},"络":{"docs":{},"极":{"docs":{},"差":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{},"飞":{"docs":{},"机":{"docs":{},"和":{"docs":{},"火":{"docs":{},"车":{"docs":{},"上":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"司":{"docs":{},"和":{"docs":{},"决":{"docs":{},"策":{"docs":{},"者":{"docs":{},"因":{"docs":{},"为":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"工":{"docs":{},"程":{"docs":{},"和":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"地":{"docs":{},"就":{"docs":{},"低":{"docs":{},"估":{"docs":{},"了":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"『":{"docs":{},"效":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},"』":{"docs":{},"程":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"下":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"往":{"docs":{},"往":{"docs":{},"性":{"docs":{},"能":{"docs":{},"比":{"docs":{},"使":{"docs":{},"用":{"docs":{},"各":{"docs":{},"种":{"docs":{},"“":{"docs":{},"锁":{"docs":{},"”":{"docs":{},"更":{"docs":{},"为":{"docs":{},"优":{"docs":{},"越":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"代":{"docs":{},"码":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"图":{"docs":{},"片":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"将":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"内":{"docs":{},"容":{"docs":{},"制":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"张":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"非":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"是":{"docs":{},"依":{"docs":{},"托":{"docs":{},"于":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"中":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"以":{"docs":{},"页":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},"映":{"docs":{},"射":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"个":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},":":{"docs":{},"一":{"docs":{},"页":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"页":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},";":{"docs":{},"一":{"docs":{},"页":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"占":{"docs":{},"用":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"貌":{"docs":{},"似":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"较":{"docs":{},"为":{"docs":{},"糟":{"docs":{},"糕":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"然":{"docs":{},"而":{"docs":{},"可":{"docs":{},"喜":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"市":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"是":{"docs":{},"单":{"docs":{},"核":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"后":{"docs":{},"台":{"docs":{},"线":{"docs":{},"程":{"docs":{},"处":{"docs":{},"理":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"调":{"docs":{},"度":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"体":{"docs":{},"积":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"放":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"充":{"docs":{},"分":{"docs":{},"利":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"更":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"若":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"可":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"集":{"docs":{},"合":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"这":{"docs":{},"些":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"提":{"docs":{},"交":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},",":{"docs":{},"当":{"docs":{},"数":{"docs":{},"量":{"docs":{},"大":{"docs":{},"于":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"成":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"中":{"docs":{},"式":{"docs":{},"和":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},"也":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"令":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"检":{"docs":{},"查":{"docs":{},"下":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},",":{"docs":{},"将":{"docs":{},"题":{"docs":{},"干":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}},"来":{"docs":{},"检":{"docs":{},"测":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"对":{"docs":{},"照":{"docs":{},"表":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"工":{"docs":{},"具":{"docs":{},"对":{"docs":{},"于":{"docs":{},"检":{"docs":{},"出":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"本":{"docs":{},"地":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"、":{"docs":{},"本":{"docs":{},"地":{"docs":{},"提":{"docs":{},"交":{"docs":{},"和":{"docs":{},"向":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"提":{"docs":{},"交":{"docs":{},"几":{"docs":{},"个":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"数":{"docs":{},"据":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"并":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"、":{"docs":{},"修":{"docs":{},"改":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"将":{"docs":{},"新":{"docs":{},"的":{"docs":{},"改":{"docs":{},"动":{"docs":{},"推":{"docs":{},"送":{"docs":{},"到":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"上":{"docs":{},"或":{"docs":{},"者":{"docs":{},"等":{"docs":{},"待":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"微":{"docs":{},"软":{"docs":{},"的":{"docs":{},"暗":{"docs":{},"黑":{"docs":{},"模":{"docs":{},"式":{"docs":{},"适":{"docs":{},"配":{"docs":{},"框":{"docs":{},"架":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"信":{"docs":{},"群":{"docs":{},"里":{"docs":{},"听":{"docs":{},"了":{"docs":{},"蘑":{"docs":{},"菇":{"docs":{},"街":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"分":{"docs":{},"享":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"受":{"docs":{},"启":{"docs":{},"发":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"当":{"docs":{},"时":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"顾":{"docs":{},"虑":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{},"和":{"docs":{},"收":{"docs":{},"银":{"docs":{},"当":{"docs":{},"时":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"中":{"docs":{},"小":{"docs":{},"型":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"每":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"承":{"docs":{},"载":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"不":{"docs":{},"同":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"统":{"docs":{},"跳":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"跳":{"docs":{},"转":{"docs":{},"。":{"docs":{},"一":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"但":{"docs":{},"都":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"…":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"…":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"…":{"docs":{},"…":{"docs":{},"…":{"docs":{},"…":{"docs":{},"(":{"docs":{},"省":{"docs":{},"略":{"docs":{},",":{"docs":{},"节":{"docs":{},"省":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"」":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"交":{"docs":{},"互":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"负":{"docs":{},"责":{"docs":{},"资":{"docs":{},"源":{"docs":{},"加":{"docs":{},"载":{"docs":{},"及":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"易":{"docs":{},"中":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"失":{"docs":{},"败":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"延":{"docs":{},"期":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"成":{"docs":{},"功":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"没":{"docs":{},"有":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"重":{"docs":{},"启":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"出":{"docs":{},"来":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"唱":{"docs":{},"吧":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"依":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"。":{"docs":{},"这":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"机":{"docs":{},"智":{"docs":{},"。":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"也":{"docs":{},"可":{"docs":{},"从":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"得":{"docs":{},"到":{"docs":{},"验":{"docs":{},"证":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"在":{"docs":{},"添":{"docs":{},"加":{"docs":{},"和":{"docs":{},"删":{"docs":{},"除":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"保":{"docs":{},"持":{"docs":{},"整":{"docs":{},"个":{"docs":{},"树":{"docs":{},"的":{"docs":{},"平":{"docs":{},"衡":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"做":{"docs":{},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"时":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"都":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"从":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"画":{"docs":{},"好":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"赖":{"docs":{},"于":{"docs":{},"最":{"docs":{},"新":{"docs":{},"加":{"docs":{},"入":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"库":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"然":{"docs":{},"是":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"在":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"出":{"docs":{},"错":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"{":{"docs":{},"}":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"现":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"x":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"大":{"docs":{},"型":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"简":{"docs":{},"介":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},":":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"均":{"docs":{},"无":{"docs":{},"以":{"docs":{},"上":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"证":{"docs":{},"书":{"docs":{},"(":{"docs":{},"内":{"docs":{},"含":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"和":{"docs":{},"私":{"docs":{},"钥":{"docs":{},")":{"docs":{},"。":{"docs":{},"网":{"docs":{},"上":{"docs":{},"的":{"docs":{},"公":{"docs":{},"众":{"docs":{},"用":{"docs":{},"户":{"docs":{},"通":{"docs":{},"过":{"docs":{},"验":{"docs":{},"证":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"拦":{"docs":{},"截":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"来":{"docs":{},"。":{"docs":{},"这":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"读":{"docs":{},"取":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"中":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"则":{"docs":{},"会":{"docs":{},"按":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"替":{"docs":{},"代":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"江":{"docs":{},"涛":{"docs":{},"的":{"docs":{},"博":{"docs":{},"客":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"确":{"docs":{},"定":{"docs":{},"最":{"docs":{},"终":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"y":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"x":{"docs":{},"+":{"1":{"docs":{},"(":{"docs":{},"初":{"docs":{},"始":{"docs":{},"为":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"x":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"所":{"docs":{},"以":{"docs":{},"要":{"docs":{},"+":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"不":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"则":{"docs":{},"不":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}},"丢":{"docs":{},"失":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"迟":{"docs":{},"到":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"实":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"了":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"绕":{"docs":{},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"大":{"docs":{},"一":{"docs":{},"圈":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"问":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"一":{"docs":{},"上":{"docs":{},"来":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{},"通":{"docs":{},"过":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"这":{"docs":{},"样":{"docs":{},"设":{"docs":{},"计":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"复":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"没":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"时":{"docs":{},"展":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"错":{"docs":{},"乱":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"原":{"docs":{},"理":{"docs":{},"就":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"之":{"docs":{},"前":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"请":{"docs":{},"求":{"docs":{},"新":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"取":{"docs":{},"消":{"docs":{},"掉":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"并":{"docs":{},"从":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"新":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"说":{"docs":{},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"在":{"docs":{},"这":{"docs":{},"之":{"docs":{},"后":{"docs":{},"回":{"docs":{},"调":{"docs":{},"回":{"docs":{},"来":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"之":{"docs":{},"前":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"或":{"docs":{},"者":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"=":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"程":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},"选":{"docs":{},"项":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"编":{"docs":{},"译":{"docs":{},"、":{"docs":{},"链":{"docs":{},"接":{"docs":{},"、":{"docs":{},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},"、":{"docs":{},"打":{"docs":{},"包":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滤":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"网":{"docs":{},"关":{"docs":{},"防":{"docs":{},"护":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"⚠":{"docs":{},"️":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"想":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"操":{"docs":{},"作":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"当":{"docs":{},"前":{"docs":{},"仓":{"docs":{},"库":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"知":{"docs":{},"道":{"docs":{},"的":{"docs":{},"常":{"docs":{},"用":{"docs":{},"排":{"docs":{},"序":{"docs":{},"算":{"docs":{},"法":{"docs":{},"之":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}},"一":{"docs":{},"定":{"docs":{},"还":{"docs":{},"见":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"也":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"未":{"docs":{},"加":{"docs":{},"载":{"docs":{},"等":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"今":{"docs":{},"天":{"docs":{},"就":{"docs":{},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"带":{"docs":{},"来":{"docs":{},"一":{"docs":{},"个":{"docs":{},"终":{"docs":{},"极":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"偏":{"docs":{},"移":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"允":{"docs":{},"许":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"工":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{},"中":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"每":{"docs":{},"次":{"docs":{},"发":{"docs":{},"版":{"docs":{},"用":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"实":{"docs":{},"际":{"docs":{},"做":{"docs":{},"了":{"docs":{},"几":{"docs":{},"次":{"docs":{},"调":{"docs":{},"查":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"产":{"docs":{},"物":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"些":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"、":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"注":{"docs":{},"释":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"师":{"docs":{},"必":{"docs":{},"须":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"连":{"docs":{},"接":{"docs":{},"网":{"docs":{},"络":{"docs":{},"才":{"docs":{},"能":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"状":{"docs":{},"况":{"docs":{},"不":{"docs":{},"好":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"无":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"年":{"docs":{},"限":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"建":{"docs":{},"议":{"docs":{},"读":{"docs":{},"一":{"docs":{},"读":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"立":{"docs":{},"一":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"需":{"docs":{},"要":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"而":{"docs":{},"终":{"docs":{},"止":{"docs":{},"一":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"(":{"docs":{},"也":{"docs":{},"有":{"docs":{},"将":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"四":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"由":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"半":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"绑":{"docs":{},"定":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"拖":{"docs":{},"动":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"调":{"docs":{},"整":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"段":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"命":{"docs":{},"令":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"是":{"docs":{},"可":{"docs":{},"读":{"docs":{},"可":{"docs":{},"写":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"就":{"docs":{},"不":{"docs":{},"对":{"docs":{},"了":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"页":{"docs":{},",":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"解":{"docs":{},"密":{"docs":{},"很":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"和":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"整":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"来":{"docs":{},"缩":{"docs":{},"减":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"它":{"docs":{},"能":{"docs":{},"打":{"docs":{},"包":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"段":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"能":{"docs":{},"节":{"docs":{},"约":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"预":{"docs":{},"链":{"docs":{},"接":{"docs":{},"。":{"docs":{},"它":{"docs":{},"预":{"docs":{},"先":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"里":{"docs":{},"都":{"docs":{},"存":{"docs":{},"放":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"中":{"docs":{},"且":{"docs":{},"不":{"docs":{},"连":{"docs":{},"续":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"多":{"docs":{},"次":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"移":{"docs":{},"动":{"docs":{},"到":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"段":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"、":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"进":{"docs":{},"行":{"docs":{},"语":{"docs":{},"法":{"docs":{},"静":{"docs":{},"态":{"docs":{},"分":{"docs":{},"析":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"演":{"docs":{},"示":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"熟":{"docs":{},"悉":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"应":{"docs":{},"该":{"docs":{},"很":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"这":{"docs":{},"个":{"docs":{},"机":{"docs":{},"制":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"都":{"docs":{},"很":{"docs":{},"清":{"docs":{},"楚":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"的":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"支":{"docs":{},"付":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"大":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"所":{"docs":{},"讲":{"docs":{},"的":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"节":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"点":{"docs":{},"是":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},",":{"docs":{},"是":{"docs":{},"构":{"docs":{},"成":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"组":{"docs":{},"成":{"docs":{},"单":{"docs":{},"位":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"的":{"docs":{},"度":{"docs":{},":":{"docs":{},"结":{"docs":{},"点":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"数":{"docs":{},"目":{"docs":{},"称":{"docs":{},"为":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"度":{"docs":{},",":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"内":{"docs":{},"存":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"却":{"docs":{},"花":{"docs":{},"了":{"docs":{},"一":{"docs":{},"周":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}},"谁":{"docs":{},"先":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"越":{"docs":{},"狱":{"docs":{},"的":{"docs":{},"插":{"docs":{},"件":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"下":{"docs":{},"载":{"docs":{},"插":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"机":{"docs":{},"有":{"docs":{},"无":{"docs":{},"数":{"docs":{},"奇":{"docs":{},"葩":{"docs":{},"的":{"docs":{},"收":{"docs":{},"据":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"或":{"docs":{},"无":{"docs":{},"效":{"docs":{},"或":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"酌":{"docs":{},"情":{"docs":{},"处":{"docs":{},"理":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跟":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"截":{"docs":{},"图":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"一":{"docs":{},"模":{"docs":{},"一":{"docs":{},"样":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"完":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"身":{"docs":{},"份":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"密":{"docs":{},"钥":{"docs":{},",":{"docs":{},"以":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"之":{"docs":{},"后":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"被":{"docs":{},"黑":{"docs":{},"客":{"docs":{},"截":{"docs":{},"获":{"docs":{},"也":{"docs":{},"没":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{},"之":{"docs":{},"后":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"解":{"docs":{},"密":{"docs":{},"通":{"docs":{},"信":{"docs":{},"内":{"docs":{},"容":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"『":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"』":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"这":{"docs":{},"一":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仍":{"docs":{},"然":{"docs":{},"活":{"docs":{},"着":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"处":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"冷":{"docs":{},"启":{"docs":{},"动":{"docs":{},":":{"docs":{},"系":{"docs":{},"统":{"docs":{},"里":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"是":{"docs":{},"重":{"docs":{},"启":{"docs":{},"手":{"docs":{},"机":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"广":{"docs":{},"义":{"docs":{},":":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"标":{"docs":{},"到":{"docs":{},"首":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"播":{"docs":{},"相":{"docs":{},"结":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"抖":{"docs":{},"音":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"品":{"docs":{},"质":{"docs":{},"建":{"docs":{},"设":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":3.333333333333333}}}}}}}},"排":{"docs":{},"列":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"将":{"docs":{},"比":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},"小":{"docs":{},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"将":{"docs":{},"比":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},"大":{"docs":{},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"序":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"确":{"docs":{},"定":{"docs":{},"最":{"docs":{},"终":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"元":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"遍":{"docs":{},"处":{"docs":{},"理":{"docs":{},"称":{"docs":{},"为":{"docs":{},"一":{"docs":{},"“":{"docs":{},"趟":{"docs":{},"”":{"docs":{},"。":{"docs":{},"下":{"docs":{},"列":{"docs":{},"序":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{},"第":{"docs":{},"二":{"docs":{},"趟":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{},"(":{"docs":{},"d":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"桩":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"库":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"狭":{"docs":{},"义":{"docs":{},":":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"标":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"签":{"docs":{},"名":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"防":{"docs":{},"篡":{"docs":{},"改":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"精":{"docs":{},"准":{"docs":{},"统":{"docs":{},"计":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"终":{"docs":{},"点":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"办":{"docs":{},"法":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"将":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"一":{"docs":{},"级":{"docs":{},"划":{"docs":{},"分":{"docs":{},"。":{"docs":{},"而":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"拆":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"职":{"docs":{},"责":{"docs":{},"明":{"docs":{},"确":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"不":{"docs":{},"用":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"公":{"docs":{},"共":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},";":{"docs":{},"劣":{"docs":{},"势":{"docs":{},"是":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"倍":{"docs":{},",":{"docs":{},"维":{"docs":{},"护":{"docs":{},"成":{"docs":{},"本":{"docs":{},"增":{"docs":{},"加":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"目":{"docs":{},"前":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"名":{"docs":{},"称":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"了":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"镜":{"docs":{},"像":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"魔":{"docs":{},"数":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"定":{"docs":{},"位":{"6":{"4":{"docs":{},"位":{"docs":{},"/":{"3":{"2":{"docs":{},"位":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}},"选":{"docs":{},"择":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"添":{"docs":{},"加":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"使":{"docs":{},"用":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"指":{"docs":{},"导":{"docs":{},"其":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"其":{"docs":{},"实":{"docs":{},"与":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"更":{"docs":{},"加":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"能":{"docs":{},"够":{"docs":{},"很":{"docs":{},"好":{"docs":{},"地":{"docs":{},"解":{"docs":{},"决":{"docs":{},"上":{"docs":{},"述":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"接":{"docs":{},"受":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}}},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"替":{"docs":{},"换":{"docs":{},";":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"本":{"docs":{},"。":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"规":{"docs":{},"模":{"docs":{},"快":{"docs":{},"速":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"一":{"docs":{},"些":{"docs":{},"新":{"docs":{},"来":{"docs":{},"的":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"提":{"docs":{},"出":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"。":{"1":{"8":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"标":{"docs":{},"识":{"docs":{},"下":{"docs":{},"是":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"部":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"某":{"docs":{},"些":{"docs":{},"攻":{"docs":{},"击":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"和":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"工":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"会":{"docs":{},"被":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"宏":{"docs":{},"展":{"docs":{},"开":{"docs":{},";":{"docs":{},"处":{"docs":{},"理":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"教":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"日":{"docs":{},"志":{"docs":{},"获":{"docs":{},"得":{"docs":{},"。":{"docs":{},"大":{"docs":{},"致":{"docs":{},"过":{"docs":{},"程":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{},":":{"docs":{},"把":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"语":{"docs":{},"言":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"项":{"docs":{},"目":{"docs":{},"前":{"docs":{},"已":{"docs":{},"编":{"docs":{},"译":{"docs":{},"好":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"和":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"源":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"包":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{},"对":{"docs":{},"于":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},":":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"将":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"符":{"docs":{},"合":{"docs":{},"特":{"docs":{},"定":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"词":{"docs":{},"法":{"docs":{},"单":{"docs":{},"元":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渠":{"docs":{},"道":{"docs":{},"分":{"docs":{},"发":{"docs":{},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"诞":{"docs":{},"生":{"docs":{},"的":{"docs":{},",":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"片":{"docs":{},"连":{"docs":{},"续":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"界":{"docs":{},"限":{"docs":{},"寄":{"docs":{},"存":{"docs":{},"器":{"docs":{},"判":{"docs":{},"断":{"docs":{},"访":{"docs":{},"问":{"docs":{},"是":{"docs":{},"否":{"docs":{},"越":{"docs":{},"界":{"docs":{},",":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"基":{"docs":{},"址":{"docs":{},"寄":{"docs":{},"存":{"docs":{},"器":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},",":{"docs":{},"保":{"docs":{},"护":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"其":{"docs":{},"它":{"docs":{},"进":{"docs":{},"程":{"docs":{},"破":{"docs":{},"坏":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"译":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"单":{"docs":{},"播":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"粘":{"docs":{},"包":{"docs":{},"和":{"docs":{},"分":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992}}}}}},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"后":{"docs":{},"会":{"docs":{},"先":{"docs":{},"验":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"(":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"与":{"docs":{},"正":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{},"否":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"否":{"docs":{},"过":{"docs":{},"期":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"信":{"docs":{},"任":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"经":{"docs":{},"过":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"本":{"docs":{},"连":{"docs":{},"接":{"docs":{},"持":{"docs":{},"续":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"所":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"都":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"中":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"使":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"也":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"串":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"主":{"docs":{},"密":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"分":{"docs":{},"配":{"docs":{},"是":{"docs":{},"在":{"docs":{},"二":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"时":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"是":{"docs":{},"在":{"docs":{},"完":{"docs":{},"成":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"时":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"容":{"docs":{},"易":{"docs":{},"受":{"docs":{},"到":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"洪":{"docs":{},"泛":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"短":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"大":{"docs":{},"量":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"并":{"docs":{},"向":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"断":{"docs":{},"地":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"包":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"则":{"docs":{},"回":{"docs":{},"复":{"docs":{},"确":{"docs":{},"认":{"docs":{},"包":{"docs":{},",":{"docs":{},"并":{"docs":{},"等":{"docs":{},"待":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"源":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"需":{"docs":{},"要":{"docs":{},"不":{"docs":{},"断":{"docs":{},"重":{"docs":{},"发":{"docs":{},"直":{"docs":{},"至":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"包":{"docs":{},"将":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"占":{"docs":{},"用":{"docs":{},"未":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"请":{"docs":{},"求":{"docs":{},"因":{"docs":{},"为":{"docs":{},"队":{"docs":{},"列":{"docs":{},"满":{"docs":{},"而":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"引":{"docs":{},"起":{"docs":{},"网":{"docs":{},"络":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"系":{"docs":{},"统":{"docs":{},"瘫":{"docs":{},"痪":{"docs":{},"。":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"查":{"docs":{},"询":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"要":{"docs":{},"等":{"docs":{},"下":{"docs":{},"次":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"查":{"docs":{},"不":{"docs":{},"到":{"docs":{},"这":{"docs":{},"笔":{"docs":{},"订":{"docs":{},"单":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"收":{"docs":{},"据":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"已":{"docs":{},"付":{"docs":{},"款":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"号":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"讯":{"docs":{},",":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"购":{"docs":{},"买":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"密":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"订":{"docs":{},"单":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"订":{"docs":{},"单":{"docs":{},"推":{"docs":{},"入":{"docs":{},"支":{"docs":{},"付":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},",":{"docs":{},"图":{"docs":{},"形":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"建":{"docs":{},"立":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"用":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"很":{"docs":{},"耗":{"docs":{},"时":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"历":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"个":{"docs":{},"数":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"刚":{"docs":{},"开":{"docs":{},"始":{"docs":{},"双":{"docs":{},"方":{"docs":{},"都":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"弄":{"docs":{},"清":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"弄":{"docs":{},"明":{"docs":{},"白":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"只":{"docs":{},"用":{"docs":{},"两":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"报":{"docs":{},"文":{"docs":{},"中":{"docs":{},"放":{"docs":{},"入":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"根":{"docs":{},"本":{"docs":{},"就":{"docs":{},"不":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"疯":{"docs":{},"狂":{"docs":{},"着":{"docs":{},"重":{"docs":{},"复":{"docs":{},"发":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},",":{"docs":{},"也":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"会":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"就":{"docs":{},"处":{"docs":{},"于":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"应":{"docs":{},"答":{"docs":{},",":{"docs":{},"且":{"docs":{},"把":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"值":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"是":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"值":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"表":{"docs":{},"明":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}},"话":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"花":{"docs":{},"费":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"间":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"这":{"docs":{},"些":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"且":{"docs":{},"把":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"值":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}},"并":{"docs":{},"指":{"docs":{},"明":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"把":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}},"报":{"docs":{},"文":{"docs":{},"中":{"docs":{},"会":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"头":{"docs":{},"就":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"任":{"docs":{},"何":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"挥":{"docs":{},"手":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"需":{"docs":{},"要":{"docs":{},"四":{"docs":{},"次":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"非":{"docs":{},"常":{"docs":{},"的":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"状":{"docs":{},"态":{"docs":{},"时":{"docs":{},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"源":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"断":{"docs":{},"定":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"次":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{},"在":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},",":{"docs":{},"四":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"都":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"可":{"docs":{},"能":{"docs":{},"网":{"docs":{},"络":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"重":{"docs":{},"发":{"docs":{},"可":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"的":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"本":{"docs":{},"方":{"docs":{},"案":{"docs":{},"基":{"docs":{},"础":{"docs":{},"之":{"docs":{},"上":{"docs":{},"还":{"docs":{},"可":{"docs":{},"升":{"docs":{},"级":{"docs":{},"添":{"docs":{},"加":{"docs":{},"更":{"docs":{},"多":{"docs":{},"产":{"docs":{},"品":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"忠":{"docs":{},"告":{"docs":{},"大":{"docs":{},"家":{"docs":{},"请":{"docs":{},"勿":{"docs":{},"滥":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"未":{"docs":{},"来":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"修":{"docs":{},"改":{"docs":{},"该":{"docs":{},"系":{"docs":{},"统":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"著":{"docs":{},"作":{"docs":{},"权":{"docs":{},"归":{"docs":{},"作":{"docs":{},"者":{"docs":{},"所":{"docs":{},"有":{"docs":{},"。":{"docs":{},"商":{"docs":{},"业":{"docs":{},"转":{"docs":{},"载":{"docs":{},"请":{"docs":{},"联":{"docs":{},"系":{"docs":{},"作":{"docs":{},"者":{"docs":{},"获":{"docs":{},"得":{"docs":{},"授":{"docs":{},"权":{"docs":{},",":{"docs":{},"非":{"docs":{},"商":{"docs":{},"业":{"docs":{},"转":{"docs":{},"载":{"docs":{},"请":{"docs":{},"注":{"docs":{},"明":{"docs":{},"出":{"docs":{},"处":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"想":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"用":{"docs":{},"两":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"点":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},":":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"劫":{"docs":{},"持":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}},"摒":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"外":{"docs":{},"界":{"docs":{},"干":{"docs":{},"扰":{"docs":{},",":{"docs":{},"摆":{"docs":{},"脱":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"困":{"docs":{},"扰":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{},"电":{"docs":{},"子":{"docs":{},"签":{"docs":{},"证":{"docs":{},"机":{"docs":{},"关":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"、":{"docs":{},"权":{"docs":{},"威":{"docs":{},"机":{"docs":{},"构":{"docs":{},"的":{"docs":{},"签":{"docs":{},"字":{"docs":{},"和":{"docs":{},"有":{"docs":{},"效":{"docs":{},"期":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},"和":{"docs":{},"验":{"docs":{},"证":{"docs":{},"方":{"docs":{},"法":{"docs":{},"普":{"docs":{},"遍":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"x":{"docs":{},".":{"5":{"0":{"9":{"docs":{},"国":{"docs":{},"际":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"丑":{"docs":{},"了":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"的":{"docs":{},"确":{"docs":{},"保":{"docs":{},"持":{"docs":{},"了":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"整":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"让":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"有":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},"值":{"docs":{},"均":{"docs":{},"大":{"docs":{},"于":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}},"斜":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"旋":{"docs":{},"成":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"键":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"显":{"docs":{},"示":{"docs":{},"包":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"就":{"docs":{},"能":{"docs":{},"够":{"docs":{},"看":{"docs":{},"到":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"e":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"j":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"左":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"子":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},"值":{"docs":{},"均":{"docs":{},"小":{"docs":{},"于":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}},"斜":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"得":{"docs":{},"让":{"docs":{},"位":{"docs":{},"给":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"斜":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},":":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"叫":{"docs":{},"左":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"。":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},"都":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"叫":{"docs":{},"右":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"。":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"统":{"docs":{},"称":{"docs":{},"为":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},"是":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},">":{"docs":{},"=":{"0":{"docs":{},")":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"有":{"docs":{},"限":{"docs":{},"集":{"docs":{},"。":{"docs":{},"n":{"docs":{},"=":{"0":{"docs":{},"时":{"docs":{},"称":{"docs":{},"为":{"docs":{},"空":{"docs":{},"树":{"docs":{},"。":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"非":{"docs":{},"空":{"docs":{},"树":{"docs":{},"中":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"画":{"docs":{},"完":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"统":{"docs":{},"一":{"docs":{},"加":{"docs":{},"上":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"有":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"支":{"docs":{},"结":{"docs":{},"点":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"所":{"docs":{},"有":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"层":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"称":{"docs":{},"为":{"docs":{},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"觉":{"docs":{},"得":{"docs":{},"不":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"一":{"docs":{},"个":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"都":{"docs":{},"有":{"docs":{},"俩":{"docs":{},"了":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"了":{"docs":{},"之":{"docs":{},"前":{"docs":{},"说":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"为":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"常":{"docs":{},"考":{"docs":{},"考":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"从":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"带":{"docs":{},"测":{"docs":{},"试":{"docs":{},"了":{"docs":{},"下":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"渐":{"docs":{},"进":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"(":{"docs":{},"平":{"docs":{},"均":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},")":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"n":{"docs":{},"e":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"{":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"}":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"}":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}},"docs":{}}}}}}}},"docs":{},"\\":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"{":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"}":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"}":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"]":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"]":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.02976190476190476}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"}":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.017857142857142856}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.012121212121212121}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"额":{"docs":{},"外":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{},"下":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}},"":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"题":{"docs":{},"目":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"出":{"docs":{},"现":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"外":{"docs":{},"话":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"概":{"docs":{},"念":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},"述":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"今":{"docs":{},"年":{"docs":{},"上":{"docs":{},"半":{"docs":{},"年":{"docs":{},"的":{"docs":{},"公":{"docs":{},"众":{"docs":{},"号":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"还":{"docs":{},"记":{"docs":{},"得":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"强":{"docs":{},"收":{"docs":{},"过":{"docs":{},"路":{"docs":{},"费":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"愤":{"docs":{},"懑":{"docs":{},",":{"docs":{},"也":{"docs":{},"为":{"docs":{},"微":{"docs":{},"信":{"docs":{},"可":{"docs":{},"惜":{"docs":{},"不":{"docs":{},"已":{"docs":{},",":{"docs":{},"此":{"docs":{},"事":{"docs":{},"最":{"docs":{},"后":{"docs":{},"以":{"docs":{},"腾":{"docs":{},"讯":{"docs":{},"高":{"docs":{},"管":{"docs":{},"团":{"docs":{},"队":{"docs":{},"访":{"docs":{},"问":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"画":{"docs":{},"上":{"docs":{},"句":{"docs":{},"号":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},",":{"docs":{},"协":{"docs":{},"商":{"docs":{},"结":{"docs":{},"果":{"docs":{},"两":{"docs":{},"位":{"docs":{},"老":{"docs":{},"板":{"docs":{},"以":{"docs":{},"及":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"团":{"docs":{},"队":{"docs":{},"都":{"docs":{},"很":{"docs":{},"满":{"docs":{},"意":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"天":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"头":{"docs":{},"条":{"docs":{},"品":{"docs":{},"质":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"仔":{"docs":{},"细":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"张":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"每":{"docs":{},"次":{"docs":{},"在":{"docs":{},"买":{"docs":{},"早":{"docs":{},"餐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"支":{"docs":{},"付":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"一":{"docs":{},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"每":{"docs":{},"一":{"docs":{},"步":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坑":{"docs":{},"爹":{"docs":{},"之":{"docs":{},"处":{"docs":{},"从":{"docs":{},"以":{"docs":{},"下":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},"来":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"好":{"docs":{},"吧":{"docs":{},",":{"docs":{},"算":{"docs":{},"起":{"docs":{},"来":{"docs":{},"有":{"docs":{},"九":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"了":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"没":{"docs":{},"照":{"docs":{},"顾":{"docs":{},"到":{"docs":{},"的":{"docs":{},"请":{"docs":{},"各":{"docs":{},"位":{"docs":{},"补":{"docs":{},"充":{"docs":{},"。":{"docs":{},"这":{"docs":{},"九":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"都":{"docs":{},"是":{"docs":{},"致":{"docs":{},"命":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},"的":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"综":{"docs":{},"合":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"相":{"docs":{},"互":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"审":{"docs":{},"核":{"docs":{},"不":{"docs":{},"让":{"docs":{},"过":{"docs":{},"。":{"docs":{},"接":{"docs":{},"不":{"docs":{},"接":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},":":{"docs":{},"g":{"docs":{},"j":{"docs":{},",":{"docs":{},"z":{"docs":{},"s":{"docs":{},"b":{"docs":{},",":{"docs":{},"g":{"docs":{},"b":{"docs":{},"n":{"docs":{},",":{"docs":{},"z":{"docs":{},"j":{"docs":{},"z":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"调":{"docs":{},"起":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"开":{"docs":{},"始":{"docs":{},"调":{"docs":{},"起":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"这":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"掉":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"沙":{"docs":{},"盒":{"docs":{},"中":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"贝":{"docs":{},"聊":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":3.3409669211195925}}}},"购":{"docs":{},"买":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"倍":{"docs":{},"大":{"docs":{},"小":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"像":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"中":{"docs":{},"被":{"docs":{},"永":{"docs":{},"久":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"了":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"叠":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"父":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"善":{"docs":{},"用":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"掌":{"docs":{},"管":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"擅":{"docs":{},"长":{"docs":{},"并":{"docs":{},"行":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"有":{"docs":{},"捉":{"docs":{},"襟":{"docs":{},"见":{"docs":{},"肘":{"docs":{},"之":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},"—":{"docs":{},"—":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"若":{"docs":{},"干":{"docs":{},"层":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"瓶":{"docs":{},"颈":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"留":{"docs":{},"出":{"docs":{},"足":{"docs":{},"够":{"docs":{},"时":{"docs":{},"间":{"docs":{},"处":{"docs":{},"理":{"docs":{},"各":{"docs":{},"种":{"docs":{},"各":{"docs":{},"样":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"盖":{"docs":{},"住":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},",":{"docs":{},"从":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"上":{"docs":{},"制":{"docs":{},"造":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"得":{"docs":{},"益":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"人":{"docs":{},"工":{"docs":{},"智":{"docs":{},"障":{"docs":{},"翻":{"docs":{},"译":{"docs":{},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"不":{"docs":{},"能":{"docs":{},"放":{"docs":{},"在":{"docs":{},"分":{"docs":{},"类":{"docs":{},"中":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},"会":{"docs":{},"形":{"docs":{},"成":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"门":{"docs":{},"槛":{"docs":{},",":{"docs":{},"带":{"docs":{},"来":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"下":{"docs":{},"降":{"docs":{},"。":{"docs":{},"小":{"docs":{},"项":{"docs":{},"目":{"docs":{},"适":{"docs":{},"合":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"其":{"docs":{},"收":{"docs":{},"益":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"付":{"docs":{},"出":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"但":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"当":{"docs":{},"时":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"吗":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"还":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"生":{"docs":{},"成":{"docs":{},"变":{"docs":{},"量":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}},"窥":{"docs":{},"探":{"docs":{},"其":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"出":{"docs":{},"现":{"docs":{},":":{"docs":{},"以":{"docs":{},"下":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"结":{"docs":{},"果":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"$":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"/":{"docs":{},"$":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"友":{"docs":{},"盟":{"docs":{},"等":{"docs":{},")":{"docs":{},"会":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"抓":{"docs":{},"到":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"里":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"实":{"docs":{},"际":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"系":{"docs":{},"统":{"docs":{},"升":{"docs":{},"级":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"构":{"docs":{},"建":{"docs":{},"这":{"docs":{},"个":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"会":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},"制":{"docs":{},"简":{"docs":{},"析":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.5}}}}}},"篇":{"docs":{},"幅":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"只":{"docs":{},"关":{"docs":{},"注":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"处":{"docs":{},"理":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"来":{"docs":{},"提":{"docs":{},"高":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"!":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"→":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}},"官":{"docs":{},"网":{"docs":{},"浏":{"docs":{},"览":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"从":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"每":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},"都":{"docs":{},"重":{"docs":{},"启":{"docs":{},",":{"docs":{},"各":{"docs":{},"测":{"docs":{},"试":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}},"七":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"回":{"docs":{},"调":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"资":{"docs":{},"源":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"无":{"docs":{},"损":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"控":{"docs":{},"制":{"docs":{},"体":{"docs":{},"积":{"docs":{},",":{"docs":{},"体":{"docs":{},"积":{"docs":{},"不":{"docs":{},"大":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"允":{"docs":{},"许":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"的":{"docs":{},"重":{"docs":{},"复":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"时":{"docs":{},"机":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"之":{"docs":{},"一":{"docs":{},"就":{"docs":{},"是":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"单":{"docs":{},"独":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"放":{"docs":{},"入":{"docs":{},"壳":{"docs":{},"工":{"docs":{},"程":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"想":{"docs":{},"到":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"改":{"docs":{},"造":{"docs":{},"就":{"docs":{},"是":{"docs":{},"把":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"拆":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"循":{"docs":{},"环":{"docs":{},"双":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"达":{"docs":{},"到":{"docs":{},"提":{"docs":{},"升":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"质":{"docs":{},"量":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"消":{"docs":{},"除":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"无":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"实":{"docs":{},"现":{"docs":{},"跨":{"docs":{},"模":{"docs":{},"块":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"叫":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"应":{"docs":{},"用":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"主":{"docs":{},"流":{"docs":{},"方":{"docs":{},"式":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"近":{"docs":{},"年":{"docs":{},"来":{"docs":{},"一":{"docs":{},"直":{"docs":{},"是":{"docs":{},"业":{"docs":{},"界":{"docs":{},"积":{"docs":{},"极":{"docs":{},"探":{"docs":{},"索":{"docs":{},"和":{"docs":{},"实":{"docs":{},"践":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"自":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"研":{"docs":{},"发":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"系":{"docs":{},"统":{"docs":{},"等":{"docs":{},"方":{"docs":{},"向":{"docs":{},"深":{"docs":{},"耕":{"docs":{},",":{"docs":{},"支":{"docs":{},"撑":{"docs":{},"业":{"docs":{},"务":{"docs":{},"快":{"docs":{},"速":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"超":{"docs":{},"大":{"docs":{},"规":{"docs":{},"模":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"研":{"docs":{},"发":{"docs":{},"效":{"docs":{},"能":{"docs":{},"和":{"docs":{},"工":{"docs":{},"程":{"docs":{},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"里":{"docs":{},",":{"docs":{},"蘑":{"docs":{},"菇":{"docs":{},"街":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"体":{"docs":{},"验":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"体":{"docs":{},"验":{"docs":{},"最":{"docs":{},"差":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"随":{"docs":{},"意":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"与":{"docs":{},"成":{"docs":{},"果":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"会":{"docs":{},"其":{"docs":{},"作":{"docs":{},"用":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"八":{"docs":{},",":{"docs":{},"x":{"docs":{},"i":{"docs":{},"b":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"六":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"探":{"docs":{},"析":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"十":{"docs":{},",":{"docs":{},"补":{"docs":{},"记":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"却":{"docs":{},"少":{"docs":{},"见":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"极":{"docs":{},"少":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{},"整":{"docs":{},"个":{"docs":{},"界":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"困":{"docs":{},"难":{"docs":{},"、":{"docs":{},"复":{"docs":{},"用":{"docs":{},"困":{"docs":{},"难":{"docs":{},"、":{"docs":{},"启":{"docs":{},"动":{"docs":{},"慢":{"docs":{},"等":{"docs":{},"坏":{"docs":{},"处":{"docs":{},",":{"docs":{},"不":{"docs":{},"值":{"docs":{},"一":{"docs":{},"提":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"号":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"劣":{"docs":{},"势":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"仅":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"简":{"docs":{},"单":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"等":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"不":{"docs":{},"太":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"模":{"docs":{},"块":{"docs":{},"边":{"docs":{},"界":{"docs":{},"已":{"docs":{},"经":{"docs":{},"稳":{"docs":{},"定":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"很":{"docs":{},"小":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"将":{"docs":{},"其":{"docs":{},"降":{"docs":{},"级":{"docs":{},"到":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"改":{"docs":{},"造":{"docs":{},"开":{"docs":{},"始":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"年":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}},"优":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"算":{"docs":{},"是":{"docs":{},"具":{"docs":{},"有":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"特":{"docs":{},"色":{"docs":{},"的":{"docs":{},"相":{"docs":{},"对":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"了":{"docs":{},",":{"docs":{},"支":{"docs":{},"撑":{"docs":{},"了":{"docs":{},"包":{"docs":{},"括":{"docs":{},"零":{"docs":{},"售":{"docs":{},"在":{"docs":{},"内":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"大":{"docs":{},"型":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"年":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"几":{"docs":{},"次":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"一":{"docs":{},"味":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"过":{"docs":{},"早":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"管":{"docs":{},"理":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"等":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"偏":{"docs":{},"离":{"docs":{},"了":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"目":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"得":{"docs":{},"不":{"docs":{},"偿":{"docs":{},"失":{"docs":{},"的":{"docs":{},"。":{"docs":{},"更":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"在":{"docs":{},"可":{"docs":{},"控":{"docs":{},"的":{"docs":{},"改":{"docs":{},"造":{"docs":{},"代":{"docs":{},"价":{"docs":{},"下":{"docs":{},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"未":{"docs":{},"来":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"来":{"docs":{},"设":{"docs":{},"计":{"docs":{},"适":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"本":{"docs":{},"文":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"案":{"docs":{},"例":{"docs":{},"和":{"docs":{},"思":{"docs":{},"考":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"适":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"之":{"docs":{},"路":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尝":{"docs":{},"试":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"成":{"docs":{},"熟":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"第":{"docs":{},"一":{"docs":{},"版":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"设":{"docs":{},"计":{"docs":{},"方":{"docs":{},"案":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"行":{"docs":{},",":{"docs":{},"但":{"docs":{},"还":{"docs":{},"存":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{},"痛":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"也":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"各":{"docs":{},"种":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"在":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"零":{"docs":{},"售":{"docs":{},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"美":{"docs":{},"业":{"docs":{},"等":{"docs":{},"多":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"实":{"docs":{},"践":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"踩":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"坑":{"docs":{},",":{"docs":{},"也":{"docs":{},"收":{"docs":{},"获":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"宝":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"并":{"docs":{},"沉":{"docs":{},"淀":{"docs":{},"出":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"实":{"docs":{},"践":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"大":{"docs":{},"致":{"docs":{},"经":{"docs":{},"历":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{},"、":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"收":{"docs":{},"银":{"docs":{},"等":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"来":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"也":{"docs":{},"多":{"docs":{},"次":{"docs":{},"发":{"docs":{},"布":{"docs":{},"公":{"docs":{},"告":{"docs":{},"要":{"docs":{},"求":{"docs":{},"更":{"docs":{},"换":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"摸":{"docs":{},"索":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"2":{"0":{"1":{"7":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"沉":{"docs":{},"淀":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"几":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{},"期":{"docs":{},"间":{"docs":{},"有":{"docs":{},"过":{"docs":{},"对":{"docs":{},"已":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"独":{"docs":{},"立":{"docs":{},"发":{"docs":{},"版":{"docs":{},"的":{"docs":{},"。":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"和":{"docs":{},"代":{"docs":{},"码":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"他":{"docs":{},"们":{"docs":{},"很":{"docs":{},"有":{"docs":{},"效":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"选":{"docs":{},"择":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"统":{"docs":{},"跳":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"性":{"docs":{},"及":{"docs":{},"多":{"docs":{},"端":{"docs":{},"统":{"docs":{},"一":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"是":{"docs":{},"页":{"docs":{},"面":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"的":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"大":{"docs":{},"量":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"前":{"docs":{},"端":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"把":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"路":{"docs":{},"由":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"边":{"docs":{},"界":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"模":{"docs":{},"糊":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"发":{"docs":{},"生":{"docs":{},"你":{"docs":{},"中":{"docs":{},"有":{"docs":{},"我":{"docs":{},"我":{"docs":{},"中":{"docs":{},"有":{"docs":{},"你":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"(":{"docs":{},"图":{"docs":{},"一":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"都":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"将":{"docs":{},"各":{"docs":{},"个":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"划":{"docs":{},"分":{"docs":{},"为":{"docs":{},"相":{"docs":{},"对":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"收":{"docs":{},"敛":{"docs":{},"交":{"docs":{},"互":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"把":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"部":{"docs":{},"分":{"docs":{},"进":{"docs":{},"行":{"docs":{},"集":{"docs":{},"中":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"重":{"docs":{},"合":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"后":{"docs":{},"续":{"docs":{},"实":{"docs":{},"现":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"时":{"docs":{},",":{"docs":{},"分":{"docs":{},"不":{"docs":{},"清":{"docs":{},"应":{"docs":{},"选":{"docs":{},"择":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"调":{"docs":{},"用":{"docs":{},"封":{"docs":{},"装":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"阿":{"docs":{},"里":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"·":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}},"–":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"仓":{"docs":{},"库":{"docs":{},"都":{"docs":{},"有":{"docs":{},"全":{"docs":{},"量":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"网":{"docs":{},"络":{"docs":{},"获":{"docs":{},"取":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"与":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"能":{"docs":{},"快":{"docs":{},"速":{"docs":{},"定":{"docs":{},"位":{"docs":{},"导":{"docs":{},"致":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"所":{"docs":{},"在":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"社":{"docs":{},"区":{"docs":{},"也":{"docs":{},"在":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"使":{"docs":{},"用":{"docs":{},"更":{"docs":{},"加":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"算":{"docs":{},"法":{"docs":{},"来":{"docs":{},"替":{"docs":{},"代":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}},"迁":{"docs":{},"移":{"docs":{},"到":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"的":{"docs":{},"提":{"docs":{},"案":{"docs":{},",":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"是":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"次":{"docs":{},"要":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"使":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"更":{"docs":{},"方":{"docs":{},"便":{"docs":{},"设":{"docs":{},"置":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"便":{"docs":{},"利":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"里":{"docs":{},"面":{"docs":{},"最":{"docs":{},"后":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"最":{"docs":{},"后":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"开":{"docs":{},"而":{"docs":{},"来":{"docs":{},"的":{"docs":{},"多":{"docs":{},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}},"换":{"docs":{},"成":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"匹":{"docs":{},"配":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"卸":{"docs":{},"载":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"仍":{"docs":{},"复":{"docs":{},"现":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}},"抛":{"docs":{},"弃":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}},"依":{"docs":{},"赖":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"策":{"docs":{},"略":{"docs":{},"也":{"docs":{},"不":{"docs":{},"再":{"docs":{},"被":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"符":{"docs":{},"号":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"docs":{},"载":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"识":{"docs":{},"别":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"就":{"docs":{},"是":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"库":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"软":{"docs":{},"件":{"docs":{},"更":{"docs":{},"新":{"docs":{},"或":{"docs":{},"者":{"docs":{},"这":{"docs":{},"个":{"docs":{},"库":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"每":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},":":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"。":{"docs":{},"而":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"全":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"怪":{"docs":{},"异":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"案":{"docs":{},"例":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"效":{"docs":{},"率":{"docs":{},"很":{"docs":{},"慢":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"└":{"docs":{},"─":{"docs":{},"─":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.013054830287206266}}}}},"呃":{"docs":{},"。":{"docs":{},"。":{"docs":{},"。":{"docs":{},"还":{"docs":{},"是":{"docs":{},"希":{"docs":{},"望":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"爸":{"docs":{},"爸":{"docs":{},"能":{"docs":{},"够":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}},"希":{"docs":{},"望":{"docs":{},"本":{"docs":{},"文":{"docs":{},"能":{"docs":{},"够":{"docs":{},"对":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"此":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"们":{"docs":{},"有":{"docs":{},"所":{"docs":{},"帮":{"docs":{},"助":{"docs":{},",":{"docs":{},"也":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"大":{"docs":{},"家":{"docs":{},"对":{"docs":{},"本":{"docs":{},"文":{"docs":{},"指":{"docs":{},"正":{"docs":{},"不":{"docs":{},"足":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"月":{"docs":{},"起":{"docs":{},",":{"docs":{},"提":{"docs":{},"交":{"docs":{},"审":{"docs":{},"核":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"果":{"docs":{},"然":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"中":{"docs":{},"所":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"其":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"横":{"docs":{},"屏":{"docs":{},"截":{"docs":{},"图":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"成":{"docs":{},"由":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}},"竖":{"docs":{},"屏":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"百":{"docs":{},"度":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"置":{"docs":{},"空":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"解":{"docs":{},"决":{"docs":{},"不":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"或":{"docs":{},"无":{"docs":{},"法":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}},"姓":{"docs":{},"名":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"不":{"docs":{},"断":{"docs":{},"探":{"docs":{},"索":{"docs":{},",":{"docs":{},"努":{"docs":{},"力":{"docs":{},"为":{"docs":{},"全":{"docs":{},"球":{"docs":{},"数":{"docs":{},"亿":{"docs":{},"用":{"docs":{},"户":{"docs":{},"提":{"docs":{},"供":{"docs":{},"最":{"docs":{},"极":{"docs":{},"致":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"标":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"length":19647},"corpusTokens":["!","!((objc_class","!=","!__objc2__","!_cond.wait(until:","!cls))","!debugpoolallocation)","!defined(__cplusplus)","!dm_swizzleinstancemethod(#selector(setter:","!dm_swizzleinstancemethod(#selector(willmove(towindow:)),","!fastcacheoccupied分支表示支持快速缓存且快速缓存被占用了,将该synccacheitem数据写入快速缓存中","!newobj","!page","!sd_options_contains(options,","!target_os_simul","!timeout);","\"","\"\"","\"\"\"","\"${project_dir}/${infoplist_file}\"","\"${project_dir}/${infoplist_file}\")","\");","\",","\"1234\"","\"1234\";","\"ap","\"applic","\"app的bundleid\";","\"autoreleas","\"class","\"clperson.h\"","\"commit","\"daniels\";","\"dynamictintcolorkey\"","\"just","\"main","\"objc_autoreleasenopool()","\"over","\"print","\"set","\"unbalanc","\"unref","\"viewcontrollerprerender.h\"","\"yzsgoodsmodel.h\"","\"一个source读完,切换到下一个source\"","\"两个数组保存两种数据来源\"","\"从source里读取数据\"","\"创建了两个文件句柄,读和写。\"","\"接收到数据之后,写入文件。\"","\"旺财\")!","\"有可用数据了,需要回调通知。\"","\"移动开发前线\"","\"读取数据最开始的入口\"","\"这个回调获取有可用的数据的通知。\"","\"这个方法就会触发response的readdataoflength\"","#","#0","#0xf000000000000000","#3]","#4","#52,","#60,","#699","#8","#arm64","#binary_file_arch:","#class","#defin","#els","#endif","#file","#if","#ifdef","#import","#isa_mask","#object","#pragma","#selector(dm_settintcolor))","#selector(dm_willmove(towindow:)))","#selector(setter:","#selector(willmove(towindow:))))","#subclass","#superclass","#untreat","$","$(git","$appdir/$ipaname.ipa","$appdir/$projectname.app","$buildconfig","$buildnumber\"","$projectnam","$projectname.xcworkspac","%","%@","%@\",","%@\\npath","%@\\nunit","%@\\nunititem","%@\\nurl","%d","%d\",","%d\",b);","%d\",c);","%d\",person.age);","%d,","%d\\n\"","%lld\",","%lld,","%lu","%lu\",sizeof(struct1),sizeof(struct2),sizeof(struct3));","%p","%s","%s\"","%s\",","%s'","%s.","%s\\0\"","&","&&","&=","&__main_block_desc_0_data,","&_nsconcretestackblock;","&argv[argc+1];","&associations(manager.associations());","&cach","&childnamecontext;","&constants.dynamictintcolorkey)","&constants.dynamictintcolorkey,","&kcftypedictionaryvaluecallbacks);","&list_for_obj(object);","&load_images);","&loadoperationkey);","&loadoperationkey,","&lock_for_obj(object);","&map_2_images);","&personnamecontext;","&refcntstorag","&sidetables()[newobj];","&sidetables()[obj];","&sidetables()[obj];之后,执行到了array[indexforpointer(p)].value;,然后进行哈希算法获取到下标,再返回所需的sidet","&sidetables()[oldobj];","&sidetables()[xxxobj];","&tabl","&timeout)","&timinginfo);","'","'''","')","')[","'init'","'mapped'","'obj'","'obj'.","'var',","'x86_64':","(","(!","(!(option","(![self.deleg","(!__cfrunloops)","(!atomic)","(!cache)","(!cachedimag","(!cats)","(!cls)","(!data)","(!fastcacheoccupied)","(!imag","(!lookupimpornil(cls,","(!loop)","(!newobj)","(!obj)","(!okay)","(!oper","(!osatomiccompareandswapptrbarrier(null,","(!products.count)","(!receipt)","(!refer","(!referent)","(!self.downloadcalledcomplete)","(!sourcehandledthisloop)","(!stop","(!validoperationkey)","(!zone","(%p)","(&result","((addr","((char*)self","((constructor))这样的函数。","((entri","((id","((id)self)","((imag","((imp)allowsweakrefer","((malloc_zone_t","((option","((uint8_t","((uintptr_t)ptr","((warn_unused_result))","()","(*)(__rw_objc_sup","(*)(id,","(*)(void","(*allowsweakreference)(objc_object","(*allowsweakreference)(referent,","(*copy)(struct","(*dispose)(struct","(*dm_original_setbackgroundcolor)(uiview","(*imp)(id,","(*msg)(class,","(*refs)[key]","(*slot","(*snotifyobjcinit)(imag","(*stop","(.m)","(.m/.c/.swift","(.xcodeprog)","(/*","(0","(1)","(1)借用上面的分析流程一样,先看一下block对应的结构体","(1)首先看一下此时block对应的结构体","(1046479/1046479),","(1ul","(1ulis_swift","(2)","(2)main函数里的block赋值过程","(2)再看一下main函数中的block定义以及赋值的代码","(256/256),","(3)","(3)block内部的函数","(3)再看一下block内部封装的函数","(4)","(5)","(5.0.6)","(6)","(@available(io","([color","([keypath","([oper","([respond","([self.currentsourc","([skpaymentqueu","([uidevic","(^)(uiviewcontrol","(^addblockresult)(bool)","(^block)(int);","(^block)(int,","(^block)(void)","(^diddisplay)(calay","(^display)(cgcontextref","(^iscancelled)(void)","(^willdisplay)(calay","(__block_byref_a_0","(__bridg","(__builtin_expect(bool(x),","(__cfstring),以及运行时的元数据:class/protocol/method…","(__data,__objc_data)","(__source0diddispatchportlasttime)","(_selector)","(_target)","(_windowno2","(a","(addedcount","(addr","(address,","(allocwithzone)","(also","(aselector","(autoreleasepoolpag","(base)","(below","(binari","(bits.has_sidetable_rc)","(bits.nonpointer)","(bool(*)(objc_object","(bool)application:(uiappl","(bool)automaticallynotifiesobserversforkey:(nsstr","(bool)imagemanager:(nonnul","(bool)iskindofclass:(class)aclass","(bool)iskindofclass:(class)cl","(bool)ismemberofclass:(class)cl","(bool)moveitematpath:(nsstr","(bool)pointinside:(cgpoint)point","(bool)resolveinstancemethod:(sel)aselector","(bool)resolveinstancemethod:(sel)sel;","(bool)setupmodulesynchronously;","(cache)","(cachedimag","(cfrunloopref)_cfgettsd(__cftsdkeyrunloop);","(cfrunloopref)cfdictionarygetvalue(__cfrunloops,","(cgsize)getimagesize:(nsdata","(cl","(class","(class)class","(class_rw_t","(code","(coderjtao.github.io)","(completedblock)","(const","(context","(copy)","(crashifdeallocating)","(cstring),object","(cur","(cxxconstruct","(darkmodekit)","(data","(data)","(data.length","(deallocating)","(debugmissingpool","(debugnilsync)","(debugpoolalloc","(debugpoolallocation)","(description/templ","(dispatch_semaphore_t)","(dmdynamiccolor","(dmtraitcollection.currenttraitcollection.userinterfacestyl","(don't","(double)self.readedlength","(double)self.response.contentlength;","(dracarys.github.io)","(dyld","(eat)","(empty)","(entri","(error)","(expression)","(extern","(fastpath(!cl","(fastpath(cl","(fhasdashinit","(finished)","(first","(firstunus","(flush_cach","(for","(foundat","(gpu","(gpu)","(h5,","(hasarray())","(hasmsg)","(haveemptypoolplaceholder())","(havenew","(havenew)","(haveold","(haveold)","(hitview)","(hotpage())","(i","(icloudart.com)","(id","(id)alloc","(id)appdelegateclassname;","(id)autoreleas","(id)calloc(1,","(id)class_getsuperclass(objc_getclass(\"car\"))},","(id)copi","(id)copywithzone:(nszon","(id)forwardingtargetforselector:(sel)aselector","(id)forwardingtargetforselector:(sel)aselector;","(id)init","(id)malloc_zone_calloc","(id)new","(id)newobj));","(id)newobj,","(id)newobj;","(id)objectforkey:(nsstring*)key{","(id)performtarget:(nsstr","(id)self;","(id)this;","(id)valueforkey:(nsstr","(id*)","(if","(imag","(imageloadermacho*)image;","(imp)dm_setbackgroundcolor);","(inheritance)","(initialized)","(instancetype)defaultrender;","(instancetype)defaultrender{","(instancetype)init","(instancetype)initwithframe:(cgrect)fram","(instancetype)initwithlightcolor:(uicolor","(instancetype)initwithlightimage:(uiimag","(instancetype)sharedinstance;","(int","(int)[nsprocessinfo","(int32_t)increas","(int32_t)increase;","(int32_t)valu","(intermedi","(io","(iokit可能是注册监听了屏幕输出的端口)","(iscancelled())","(istaggedpointer())","(it","(item","(itemmax","(j","(jianshu.com)","(juejin.cn)","(key)","(ktvhcdataunititem","(left","(length","(loadable_classes_us","(loading)","(location,","(lockcount","(long","(long)((void","(long)_target;","(manifest","(masktobound","(max","(metal/opengl","(method_list_t","(min","(mlist)","(msb","(mutablecopy)","(n","(name.app)","(new_value)","(newobj","(next","(nil)并不执行加锁解锁操作,会导致线程崩溃。","(non","(nonatomic,","(nsarray*)getgoodslist","(nsarray*)getgoodslist;","(nsarray*)goods_getgoodslist","(nsarray*)goods_getgoodslist;","(nsdata","(nsexcept","(nsinteg","(nsinteger)getgoodscount","(nsinteger)getgoodscount;","(nsinteger)goods_getgoodscount","(nsinteger)goods_getgoodscount;","(nsmethodsignatur","(nsobject","(nsstring","(nsthread","(nsuinteg","(nsuinteger)hash","(nsuinteger)priority;","(nsuinteger)retaincount","(null)}","(nullabl","(nullable,","(obj","(obj)","(objc_object","(objc_object*)newobj);","(object","(offset","(old_association.hasvalue())","(oper","(operation)","(operations)","(option","(or","(outallocatedsize)","(outsid","(p","(page","(page)","(parent)","(play)","(prepareoptimizedreturn(returnatplus1))","(printf","(printpoolhiwat)","(printreplacedmethods)","(progressblock)","(property_list_t","(proplist)","(protocol_list_t","(protolist)","(pthread_equal(t,","(pushextraboundary)","(readonly)","(responder)","(result","(result)","(rethrow)","(rhino)","(rl)","(rua)","(run)","(safely)","(sdoperationsdictionari","(sdwebimagedownloadercompletedblock","(selector","(selector),实际上一个","(self","(self)","(self.alpha","(self.currentsource)","(self.currentsource.isfinished)","(self.error)","(self.isclos","(self.isclosed)","(self.isfinished)","(self.reader.isfinished)","(self.reader.isprepar","(self.response.contentlength","(self.sourcemanager.isfinished)","(sent","(shouldblockfailedurl)","(shouldquerycache)","(size_t","(skpaymenttransact","(slowpath(!obj))","(slowpath(checknil","(source)","(sourcehandledthisloop)","(std::vector::iter","(stop","(strip),是因为里面有些信息,如调试符号,是不需要带到线上去的。裁剪有多种级别,一般的配置如下:","(strong,","(strong,nonatomic)classnam","(syncdata","(target)","(target_os_osx","(task.diddisplay)","(tcl","(test)","(text),常量字符串","(thi","(throw","(timeout","(tl","(tls)","(token","(transactionset.count","(transcation.transactionstate)","(type","(typeof(msg))objc_msgsend;","(uicolor","(uiimag","(uikit","(uinavigationcontrol","(uint32_t","(uint64_t)imag","(uintptr_t)smainexecut","(uintptr_t)this;","(uintptr_t)tls_get_direct(sync_count_direct_key);","(uiview","(uiviewcontrol","(valu","(variabl","(vc","(void","(void)_cancelasyncdisplay","(void)_displayasync:(bool)async","(void)applicationwillenterforeground:(uiappl","(void)buyproduct","(void)callcacheprocessforoperation:(nonnul","(void)callcompletionblockswithimage:(nul","(void)calldownloadprocessforoperation:(nonnul","(void)callstorecacheprocessforoperation:(nonnul","(void)dealloc","(void)dealmemorywarnings:(id)notif","(void)display","(void)dm_swizzlesetbackgroundcolor","(void)doesnotrecognizeselector:(sel)aselector","(void)drawlayer:(calay","(void)formatedlogobject:(id)object","(void)forwardinvocation:(nsinvoc","(void)getproductinfo:(nsstr","(void)init","(void)initialize{","(void)ktv_download:(ktvhcdownload","(void)ktv_reader:(ktvhcdataread","(void)ktv_readerdidprepare:(ktvhcdataread","(void)ktv_readerhasavailabledata:(ktvhcdataread","(void)load","(void)load{","(void)methoda{","(void)methodb{","(void)networkrequestthreadentrypoint:(id)__unus","(void)observevalueforkeypath:(nsstr","(void)paymentqueue:(skpaymentqueu","(void)preparesourcemanag","(void)printlog{","(void)productsrequest:(skproductsrequest","(void)sd_cancelimageloadoperationwithkey:(nul","(void)sd_internalsetimagewithurl:(nul","(void)sd_setimageloadoperation:(nul","(void)sd_setimagewithurl:(nul","(void)sendmessag","(void)sendmessage;","(void)setdm_dynamicbackgroundcolor:(dmdynamiccolor","(void)setneedsdisplay","(void)setobject:(id)obj","(void)setproperty:(nsstr","(void)setup;","(void)setvalue:(id)valu","(void)showrenderedviewcontroller:(class)viewcontrollerclass","(void)tableview:(uitableview","(void)test","(void)testcas","(void)test{","(void)touchesbegan:(nsset","(void)touchescancelled:(nsset","(void)touchesended:(nsset","(void)touchesmoved:(nsset","(void)transcationdeferred:(skpaymenttransact","(void)transcationfailed:(skpaymenttransact","(void)transcationpurchased:(skpaymenttransact","(void)transcationpurchasing:(skpaymenttransact","(void)transcationrestored:(skpaymenttransact","(void)viewdidload","(void)viewdidload{","(void*)0,","(void*)1);","(void*)empty_pool_placeholder)","(void*)lockcount);","(void*)obj,","(void*)referent,","(void*)src","(wakeupport","(weak,","(whi","(yyasynclayerdisplaytask","(yzsgoodsmodel*)goodsbyid:(nsstring*)goodsid","(yzsgoodsmodel*)obj;","(zhihu.com)","(zone)","(一)概念及实现","(三)稳定性","(两个函数要配合使用)","(也是一个核心原理)","(二)算法复杂度","(分类1)","(即将退出loop)","(后编译的category,插入的方法在每个类大方法数组最前面)","(后进先出)","(启动路径上难免会读很多字符串),从而规避这个解密的耗时。抖音的重命名方案:","(垂直同步信号)","(基于","(基于port)","(多边形绘制)、catextlayer(文本绘制)、cagradientlay","(如下图)。下图中部分页被标记为","(宿主类1)","(宿主类2)","(对象)","(当然你也可以起个别的名字)。同时因为","(很多接口还是基于阿里的需求提供的,我们用不到,会形成理解成本)。原因三其实是最关键的,就是模块化","(效果上感觉像成员变量)","(没有则创建","(注:","(渐变绘制)","(硬件层面),不需要","(编译状态)","(软件层面)","(进程间通信)","(重签微信应用实战)","(雷神里的彩虹桥)","(雷神里的彩虹桥)。在过程中我们深刻体会到",")",")(关联策略)","),",");",")invocation;和",")methodsignatureforselector:(sel)sel方法,来转发它没实现的方法。这也是nsproxy的主要功能,负责把消息转发给真正的target的代理类,nsproxy正是代理的意思。",")或者把它绘制到","*","*)","*)&__cfrunloops))","*)&__nsconstantstringimpl__var_folders_7__p19yp82j0xd2m_1k8fpr77z40000gn_t_main_2cca58_mi_0,((int","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_0,","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_1,","*)&a,","*)((char","*)(bit","*)(pthread_destructor_iter","*))","*))__cffinalizerunloop);","*);","*)[[dmdynamiccolorproxi","*)_selector);","*)_windowno2.rootviewcontroller;","*)actionnam","*)aninvoc","*)applic","*)block;","*)cacheddata","*)cachedimag","*)calloc(sizeof(class_rw_t),","*)chang","*)cl","*)cls)","*)coder","*)color;","*)colorwithalphacomponent:(cgfloat)alpha","*)context","*)darkcolor","*)darkcolor;","*)darkimag","*)darkimage;","*)data","*)dm_colorwithlightcolor:(uicolor","*)dm_dynamicbackgroundcolor","*)dm_imagewithlightimage:(uiimag","*)dm_namespace:(dmnamespace)namespac","*)download","*)downloadeddata","*)downloadedimag","*)dstpath","*)error","*)error;","*)event","*)event;","*)getrendered:(class)viewcontrollerclass{","*)hittest:(cgpoint)point","*)httpresponseformethod:(nsstr","*)imag","*)imagedata","*)imagemanag","*)imageurl","*)imageurl;","*)indexpaths;","*)initwithlightcolor:(uicolor","*)invoc","*)key","*)key,","*)key;","*)keypath","*)key{","*)launchopt","*)layer","*)lightcolor","*)lightimag","*)loadimagewithurl:(nul","*)loop,","*)method","*)method_getimplementation(method);","*)methodsignatureforselector:(sel)aselector","*)methodsignatureforselector:(sel)sel","*)name","*)networkrequestthread","*)newasyncdisplaytask;","*)obj","*)objc_msgsend)((id)objc_getclass(\"appdelegate\"),","*)objc_msgsend)((id)person,","*)objc_msgsend)((id)self,","*)objc_msgsendsuper)((__rw_objc_super){(id)self,","*)object;","*)oper","*)params;","*)parentcontrol","*)path","*)placehold","*)productidentifi","*)properti","*)property{","*)queue","*)readdataoflength:(nsuinteger)length","*)reader","*)realloc(array(),","*)referent_id;","*)request","*)resolvedcolor","*)responder;","*)respons","*)result","*)sd_operationdictionari","*)sourceappl","*)srcpath","*)tableview","*)targetnam","*)this+size);","*)this+sizeof(*this));","*)tls_get_direct(key);","*)tls_get_direct(sync_data_direct_key);","*)token;","*)touch","*)transact","*)transcat","*)url","*)urlstr","*)weak_register_no_lock(&newt","*)zone","*)zone,","**","**)","**)&result,","**)error","**)referrer_id;","***********************main.m*************************","**.m","**begincategorymethodlists()","**endcategorymethodlists(class","**ktvhcdatanetworksource和ktvhcdatafilesourc","**listp","**methodlist","**mlist","**proplist","**protolist","**referr","**value)","**其产生的所有事件都将被","*,","*/","*/)","*__cself)","*__forwarding;","*__isa;","*_blocks_head;","*_blocks_tail;","*_buckets;","*_height。看到这里这里要存储的是一个地址,该地址应该就是外部static变量height的地址值。","*_map;","*_myrend","*_networkrequestthread","*_perrundata;","*_person,","*_property;","*a","*add(id","*array","*autoreleasefast(id","*autoreleasefullpage(id","*autoreleasenopage(id","*baseproperties;","*bitree;","*bundl","*cach","*cache;","*callback","*cats,","*child;","*childnamecontext","*class;","*class_methods;","*cls;","*codesigcmd","*color)","*completionblock","*compress","*ctx","*ctxt){","*currentset","*darkcolor;","*data","*data()","*data,","*data;","*datarequest","*desc,","*dest","*dest;","*downloadeddata,","*downloadedimage,","*dynamiccolor","*encryptcmd","*entry;","*error","*error,","*exception)","*failedurls;","*filesourc","*fp,","*fresh","*funcptr;","*good","*goodsid","*height;成员变量,构造函数里面对应的参数是int","*hitview","*hotpage()","*identifi","*imag","*image,","*imageurl)","*info)","*instance_methods;","*isa;","*it;","*item","*ivar","*key","*key,","*launchscreennam","*layer);","*layer,","*lchild,","*lib","*libcount","*lightcolor;","*list","*listp","*listp;","*locat","*location,","*location;","*lock","*lockp","*method_typ","*mlist","*name","*name;","*nav","*networksourc","*newdata)","*newobj)","*newparent)","*newtable;","*next;","*no2","*objc_autoreleasepoolpush(void){","*offset;","*oldtable;","*oper","*operationdictionari","*outallocateds","*p","*p)","*p);","*p1","*page","*page)","*page;","*paramet","*parent","*path","*payment","*person","*person;","*personnamecontext","*person。通过终端命令xcrun","*person】","*person被认为是强指针,等价于_strong","*person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。","*person,而弱指针需要显式地表示为__weak","*player","*pool","*product","*properties;","*property;","*proplist","*protocol","*protocols;","*protolist","*proxyurl","*push()","*rchild;//左右孩子指针","*receipt","*receipturl","*ref","*refer","*referr","*referrer_id)","*referrer_id,","*referrers;","*reinterpret_cast*>(sidetablebuf);","*renderedviewcontrollers;","*request","*resolvedcolor;","*resolvedimage;","*respond","*respons","*result","*ro","*ro;","*runloop","*runningoperations;","*rw","*segcount","*sel;","*sel;,可以把sel看做是方法名字符串。","*self,","*sentinel","*sharedmanager;","*slot","*slot;","*sourc","*stop)","*stop;","*storyboard","*string","*string2","*stringwithformat1","*subview","*super,","*superclass;","*tableforpointer(const","*target;","*task","*test","*tl","*tmpblock","*token)","*transaction,","*transactionset","*transcat","*type;","*types;","*unit","*unititem","*url","*urlstr","*validoperationkey","*vc","*vc))block;","*vc))block{","*vc1","*vtable;","*weak_entries;","*weak_table,","*windowno2;","*zone,bool","*函数太长","*类似","*)。","+","++apple;","++lib)","+1","+1/","+=","+_age偏移量,获得_age的地址后从而进行间接访问的,所以在oc代码中,_ag","+alloc","+alloc.","+initi","+load","+resolveinstancemethod",",",",(key)",",(关联的值)",",dyld::_main",",最终都是找到了",",继续遍历",",重新赋值",",重点来看",".",".*","..","..)","...","...)","...);","...)的形式。","....","......","...乱序输出","...按顺序输出","...是否按序输出与串行队列还是并发队列有关","...省略掉.",".0",".a",".app",".black)",".dsym",".dylib",".git",".h",".h:",".h文件",".i",".m",".m:",".m文件",".normal)",".o",".objc_association_copy_nonatomic)",".s",".value时,说明当前绘制任务已经被放弃,就需要及时的做返回逻辑。",".white,",".这里加载共享缓存有几种情况","/","/*","/**","/*中序遍历左子树*/","/*二叉树的中序遍历递归算法*/","/*二叉树的前序遍历递归算法*/","/*二叉树的后序遍历递归算法*/","/*先后序遍历左子树*/","/*再先序遍历左子树*/","/*再后续遍历右子树*/","/*子类1*/","/*子类2*/","/*显示结点数据,可以更改为其他对结点操作*/","/*最后中序遍历右子树*/","/*最后先序遍历右子树*/","/*父类*/","//","//!!","//\"no","//...","//....","//.h","//.m","///","///代码","//1.创建队列","//12345","//13","//2.创建timer","//3.设置timer首次执行时间,间隔,精确度","//4.设置timer事件回调","//5.默认是挂起状态,需要手动激活","//_class_t","//array()","//associationshashmap不存在","//block的定义","//block的调用","//classa为framework中的某各类","//code","//deleg","//global","//goods模块所有对外提供的方法封装在一个category中","//goods模块提供实现goodsmoduleservice的对象,","//goods模块提供的所有对外服务都放在goodsmoduleservice中","//haveemptypoolplaceholder的本质","//https://stackoverflow.com/questions/24952549/do","//kroutegoodsdetail","//kroutegoodslist","//kroutemembersearch","//mediator提供基于nsinvocation的远程接口调用方法的统一封装","//memcpi","//memmove,内存挪动","//oc","//oc方法在swift中不可用","//push了一个空的池子,添加哨兵对象","//realloc","//sale","//sidetable_retaincount()函数实现","//synccacheitem数组","//thread","//xxxx","//yzsalemoduleservice.m内","//不会产生静态初始化","//不需要添加","//业务方依赖mediator模块,可以直接调用相关方法","//业务模块可以直接调用相关接口","//也会存在不安全","//交互位置","//代码","//会产生静态初始化","//会导致死锁,要使用递归锁","//传统方式只能定位到指定bundle,比如main","//使用栈区的数组存储队列","//做一次强转","//先修改age和height的值","//先修改age的值","//先加载宿主类的load方法(按照编译顺序,调用load方法)","//写","//判断点击位置是否在当前范围内","//协议列表","//取消自动发送通知","//同步读取指定数据","//否则为64","//告诉编译器,即使这个变量/方法","//和__unused相反","//图片下载器","//在tables里面,根据当前对象指针获取对应的sidet","//如下代码","//如果associationshashmap已经存在","//如果set方法传值是nil","//如果不使用方法的返回值,进行警告","//如果没有使用返回值,编译的时候给出警告","//字符串","//安全","//实例方法列表","//宿主类名称","//宿主类对象,里面有isa","//将block的底层结构struct","//将goodsmoduleservice放在某个公共模块中,对所有业务模块可见","//属性列表","//带描述信息的弃用","//常量","//并在+load方法中注册","//异步栅栏调用设置数据","//弃用api,用作api更新","//引用计数的map表","//弱引用表","//当前mode","//所有mode的集合","//打包","//指定想要响应事件的","//控制响应的范围,扩大","//提供具体实现","//更改值","//最后编译的分类,最先添加到分类数组中","//最大队列数量","//构造函数","//标识当前","//死锁","//没有找到resolveclassmethod方法,直接返回。","//没有池子被push","//没问题","//注册服务","//测试服务器相关的代码","//添加引用计数","//添加新值","//生产服务器相关代码","//用于全局控制当前管理器的","//用于在图像加载完成后进行图像变换,并将变换后的图像存储到缓存中。","//用于对当前","//相关操作方法","//第一种情况:autoreleasepool首次push的时候返回的,也就是最顶层的page执行pop会执行这一部分","//第三种情况:也就是我们经常碰到的情况","//第二种情况:在非arc的情况下,在新创建的线程中不使用autoreleasepool,直接调用autorelease方法时会出现这个情况。此时没有pool,直接进行autorelease。","//类方法列表","//缓存处理","//编译成.app","//获得引用计数","//要点","//该对象在该线程中被加锁的次数","//该缓存条目对应的syncdata","//该缓存此时对应的已使用缓存大小","//该缓存此时对应的缓存大小","//返回sidet","//返回最终响应的事件","//这就是哈希算法了","//这里是做类型转换","//递归锁的特点是可以重入","//通过路由url跳转到商品列表页面","//遇到__unavailable的变量/方法,编译器直接抛出error","//队列数量","//默认使用","//默认情况下,imagecach","//默认情况下,是把","/epluspan4phone.build/epluspan4phone.app.xc","/private/var/mobile/containers/data/application/02cce9fd","/private/var/mobile/containers/data/application/1c4b15fb","/private/var/mobile/containers/data/application/573e7fe9","/private/var/mobile/containers/data/application/e7cb1946","/users/huangwenchen/library/developer/xcode/deriveddata/epluspan4phon","/usr/libexec/plistbuddi","0","0)","0))","0),","0);","0)];","0)获取系统提供的并发队列","0,","0.01。","0.1","0/*not","00","00000001","0000000102bd8070","0000000103113f68","00。","00,则数组不包含任何元素,因此返回","01","01,","01.","01401,","01403","01、快速排序","02","02.","02、算法思想","03","03,","03.","03138580","03138878","03、算法实现","04.","05.iap","06.iap","0:","0;","0b1111","0b111表示有扩展的标记位,扩展标记位占8位","0s,也可以写自己的","0x00000008","0x00000010","0x00000029","0x00000038","0x00000080","0x00000109","0x00000149","0x00000218","0x00000510","0x00000fd8","0x000012c8","0x00001520","0x000019c0","0x00001a50","0x000020e8","0x000022d8","0x00004a9a","0x00006e34","0x00007a30","0x0000a500","0x0000d56c","0x0000e760","0x00010498","0x00010908","0x000129c0","0x00015cc0","0x0001ad78","0x0002d840","0x0003e140","0x00041ef7","0x00053a4c","0x0005af70","0x00071693","0x00129280","0x0077ebc3","0x0077ebc3,而二者相加的下一个位置正好是stub","0x10","0x1000021b0","0x1000021b0,大小是","0x1000022c0","0x100002340","0x100780d74","0x100780d74。","0x100781d4c","0x1007837a0","0x10079e518","0x1007e040f","0x1007e7243","0x1007f76dc","0x100805e40","0x1008065c2","0x100816000","0x100817000中,它在内存中的结构如下:","0x1008774d4","0x10087bf6e","0x10087c0b8","0x100889628","0x10089c000","0x10089c010","0x10089d2d8","0x10089e7f8","0x10089e840","0x1008dc980","0x10090a1c0","0x10090c498","0x10090c4a8","0x10090c6c0","0x10090c6c8","0x10090cbd8","0x10090cbe0","0x100a35e60","0x100a46768","0x100a467a0","0x100a48888","0x100a4a248","0x100a4a248,就能找到","0x100a54748","0x100a6a420","0x100a71e60","0x100accde0","0x1010。运行时类对象的地址已经知道了,bind","0x1010,那么","0x1017718a3,0x1017718a3","0x103113f68","0x10313bb80","0x10。但是","0x10,加上","0x7","0x79是ascii对应的y字符的值","0x\\w{9}","0xa000000000000791","0xcb47b8d98a2fa15f","0xf","0xff","0xffffff,","0xffffff,优先级在","0。","0,这个行为叫做","0,那么这些","1","1)","1))","1),","1)/2加上","1);","1)、category的方法没有“完全替换掉”原来类已经有的方法,也就是说如果category和原来类都有methoda,那么category附加完成之后,类的方法列表里会有两个methoda","1)、可以调用,因为附加category到类的工作会先于+load方法的执行","1)、在类的+load方法调用的时候,我们可以调用category中声明的方法么?","1)生成(generate)—","1+parent","1,","1.","1.+[uiimag","1.0","1.0)","1.0,","1.0(1996","1.1","1.1.","1.2","1.2.","1.3","1.4","1.5","1.app启动过程","1.app进程的mach","1.categori","1.category的特点","1.dispatch_group_async","1.fluentdarkmodekit","1.ios底层原理总结","1.ios底层原理:weak的实现原理","1.ios引用计数管理之揭秘计数存储","1.ios特有概念taggedpoint","1.nsobject","1.osspinlock","1.pthread_mutex","1.weak创建过程","1.串行+同步","1.串行队列","1.串行队列使用栅栏函数","1.动态类型:","1.基本使用","1.基本数据类型:atom","1.多线程原理","1.如果operation不存在或者被取消,什么也不处理","1.子线程在使用autorelease对象时,如果没有autoreleasepool会在autoreleasenopage中懒加载一个出来。","1.定义及使用","1.带你深入了解oc对象创建过程","1.成员变量","1.探索associatedobject关联对象的内部实现","1.方法缓存存在什么地方?","1.深入理解object","1.线程安全","1.自动释放池的前世今生","1.谜一样的","1.进程的定义","1.通过runtime加载某个类的所有category数据","1/**","1/3:","1/60","10","10,","10,因为c函数的参数都是值传递,所以这里是将此时外部变量a的值10传给了block的构造函数__main_block_impl_0,因此block内部的成员变量age会被赋值成10。","10.0,苹果开启了一个新的功能:预绑定(prebinding),用于找到系统中每个","10.13","10.osi","100","100%","100)","1000","100m","1034279,","10:18:54.252949+0800","10;","10};","10等价于","10,则需要使⽤到上⾯的","10,然后在block内部使用了这个age,而且我在调用block之前,先将age的值修改成了20,那么此时程序运行会是什么结果呢","10,那么","11","11,","11.0","1111","11]","11。","11,即指向下一个位置。","12","12,","12.0,","121","1234","1234。为了执行函数,首先要访问__text触发一次","123];","12。dyld2","13","13,","135","13,所以我们重点看下","14","14,","144.","145.","14;","15","15%。","15,","16","16,","16k,6","16m","17","17,","1777.684814","1793.544922","17:","17:28:00.519862+0800","17:28:00.520032+0800","17:28:00.520047+0800","17:39:10.354050+0800","17:39:10.354237+0800","17:39:10.354252+0800","17:39:10.354263+0800","17:39:10.354274+0800","17:39:10.354285+0800","17:57:33.305655+0800","17:57:33.305950+0800","17:57:33.306476+0800","17}","18","18)","18,","1828.953857","1850.614990","1895.146729","1897.723877","18:17:12.034392+0800","18:17:12.034555+0800","18:17:12.034569+0800","18:17:12.034627+0800","18:17:12.034645+0800","18:17:12.034658+0800","19","19,","190de0ca85c16aef74c490127b94fa8ff04e168","1934.873047","1946.458984","1956.969971","19:44:46.003313+0800","19:44:46.003442+0800","1;","1\\.","1]","1]))","1].strip()","1]nums[fast]","1]nums[slow−1]","1]为有序区,a[i…n]","1]的元素后移,并将a[i]赋值给a[j]。","1cb2","1ffd332b","1n−1","1struct","1s,2s,4s,8s......","1};","1、app从点击屏幕到完成渲染,中间发生了什么?","1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。","1、ktvhchttpserver:","1、tag","1、tcp面向连接(如打电话要先拨号建立连接);udp是无连接的,即发送数据之前不需要建立连接","1、weak的原理在于底层维护了一张weak_table_t结构的hash表,key是所指对象的地址,value是weak指针的地址数组。","1、一个添加了web图片加载和缓存管理的uiimageview分类","1、主线程中任务执行:任务1、sync、任务3、","1、二叉查找树的缺点","1、仅加载到当前进程","1、使用ios自带的avurlasset的avassetresourceloader来实现。","1、具有二叉查找树的全部特性。","1、具有二叉查找树的特点。","1、初始化配置","1、提交任务","1、申请一个新的栈,记为stack,申请一个变量cur,初始时令stack为空,cur等于头节点。","1、申请一个栈,记为s1,然后将头节点压入s1中。","1、申请一个栈,记为stack,将头节点压入stack,同时设置两个变量h和c。在整个流程中,h代表最近一次弹出并打印的节点,c代表当前stack的栈顶节点,初始时令h为头节点,c为null。","1、界面卡顿的实质","1、要发送的数据大于tcp发送缓冲区剩余空间大小,将会发生拆包。","1、首先申请一个新的栈,记为stack。","1个节点。(k>=1)","1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left","1操作","1操作),接着判断是否有sidetable,如果有再加上存在sidetable中的计数;","1阻塞线程,等待signal再执行下去","1️⃣","1️⃣、","1️⃣、const","1)n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。","1)代理负责生产对应的","1)叶子只能出现在最下一层。出现在其它层就不可能达成平衡。","1)叶子结点只能出现在最下层和次下层。","1)在二叉树的第i层上最多有2(i","1)客户端发起一个http请求,连接到服务器的443端口。","1)已知前序遍历序列和中序遍历序列,确定一棵二叉树。","1)有且仅有一个特定的称为根(root)的结点;","1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。","1)的对象其引用计数优先存在isa的extra_rc中,大于524288便存在sidetable的refcountmap或者说是densemap中;","1,2","1,sdmemorycach","1,不行,给我调整!","1,但是wait之后信号量为","1,但是wait之后信号量为0不会阻塞线程,所以进入i=1","1,例如,如果对象的引⽤计数为","1,例如:sha","1,如果我们有","1,并根据是否开启指针优化,处理进位/借位的情况;","1,这时还算平衡,这时再添加一个元素","1:","1:包含swift代码;","2","2)","2)、category的方法被放到了新方法列表的前面,而原来类的方法被放到了新方法列表的后面,这也就是我们平常所说的category的方法会“覆盖”掉原来类的同名方法,这是因为运行时在查找方法的时候是顺着方法列表的顺序查找的,它只要一找到对应名字的方法,就会罢休,殊不知后面可能还有一样名字的方法。","2)、加载顺序是父类先+load,然后子类+load,然后分类+load,+load的执行顺序是先类,后category,而category的+load执行顺序是根据编译顺序决定的。","2)、这么些个+load方法,调用顺序是咋样的呢?","2)绑定(bind)—","2,","2.","2.0","2.0);","2.0,","2.0》的描述是:","2.0(2004","2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;","2.1","2.1.","2.1.1","2.1.2","2.1.2.1","2.1.2.2","2.1.2.3","2.1.2.4","2.1.2.5","2.1.3","2.1.4","2.1.5","2.1.6","2.2","2.3","2.4","2.5","2.6","2.7","2.@synchron","2.atom","2.cocoapods原理总结","2.context的使用","2.dispatch_group_ent","2.mach","2.nsproxy的理解和使用","2.object","2.oc内存管理","2.oc语言基础","2.source1回调又触发了一个source0回调,将接收到的iohidevent对象封装成uievent对象,此时app将正式开始对于触摸事件的响应。","2.weak","2.weak创建流程","2.x","2.x,但在一些特殊场景下也可能会有一些潜在问题。在适配时我们需要注意以下几点:","2.x,所以有些现存接口会进入降级模式,这些接口的执行效率将会特别慢。所以在使用时,我们需要注意避免这样的接口。另外,有些针对于","2.串行+异步","2.分类中可以添加哪些内容","2.动态绑定:","2.同步和异步:","2.在runloop的run:beforedate,以及一些source的callback中,有autoreleasepool的push和pop操作,总结就是系统在很多地方都差不多autorelease的管理操作。","2.多线程意义","2.多线程生命周期","2.如果有error则直接回调错误信息,并把当前url加入到filedurls中。","2.并发队列","2.并发队列使用栅栏函数","2.把所有category的方法、属性、协议数据,合并到一个大数组中","2.普通oc对象:","2.检测安全","2.深入理解runloop","2.父类方法的缓存只存在父类么,还是子类也会缓存父类的方法?","2.线程的定义","2.自定义定时器","2.设计模式","20","20,","2000000,低于常见的其他","2004)","2005","2007","2007)","2010","2011","201103l","2014","2016","2017","2018","2019","2020","2050.655762","2067.84","2067。","2075.978027","20;","21","2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。","2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。","2155.601074","2168.324951","2198.915039","21:","22","2218.141113","221,可以看到","2237.258057","2243.837158","2261.447998","2268.033936","2294.206055","23","2302.843750","2305.270264","2322.465088","2333.105957","2340.742920","2352.54","2357.508789","2358.933350","2371.049805","2377.906250","2382.412842","2384.422852","2385.695068","24","2424.213135","2465.007812","25","2538.381836","255","2552.829834","256","256,git","26","26.","263,","2639.933105","264","2659.640625","27","28","28,","28,然后变成这样:","28:","29","2;","2\\.","2]","2i","2i+1>n,则该结点无右孩子结点,","2i>n,则该结点无左孩子,","2msl等待状态","2、dyld","2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。","2、ktvhcdatareader和ktvhcdatasourcemanag","2、tag","2、tcp提供可靠的服务。也就是说,通过tcp连接传送的数据,无差错,不丢失,不重复,且按序到达;udp尽最大努力交付,即不保证可靠交付","2、uikit","2、weak","2、yyasynclayerdeleg","2、一个异步图片下载器","2、主队列:viewdidload、任务2、","2、从s1中弹出的节点记为cur,然后先把cur的左孩子压入s1中,然后把cur的右孩子压入s1中。","2、先把cur节点压入栈中,对以cur节点为头的整棵子树来说,依次把整棵树的左边界压入栈中,即不断令cur=cur.left,然后重复步骤2。","2、共享缓存是第一次被加载","2、合适的回调时机","2、在客户端搭建local服务器,local服务器作为中间者,代替客户端请求服务器数据,并将获取到的数据缓存,再提供给客户端。","2、平衡二叉树","2、当一个","2、待发送数据大于mss(最大报文长度),tcp在传输前将进行拆包。","2、根节点是黑色的;","2、每个节点的左子树和右子树的高度差至多等于1。","2、每次令c等于当前stack的栈顶节点,但是不从stack中弹出节点,此时分以下三种情况。","2、然后将头节点head压入stack中。","2。","2。此时,若","2️⃣","2️⃣、","2️⃣、intptr_t","2)m>0时,子树的个数没有限制,但它们一定是互不相交的。","2)二叉树中如果深度为k,那么最多有2(k)","2)左子树和右子树是有顺序的,次序不能任意颠倒。","2)已知后序遍历序列和中序遍历序列,确定一棵二叉树。","2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集t1、t2、......、tn,其中每一个集合本身又是一棵树,并且称为根的子树。","2)最下层的叶子结点集中在树的左部。","2)服务端把自己的信息以数字证书的形式返回给客户端(证书内容有密钥公钥,网站地址,证书颁发机构,失效日期等)。证书中有一个公钥来加密信息,私钥由服务器持有。","2)设置","2)非叶子结点的度一定是2。","2:","2:sdk版本低于10.11;","3","3)","3)缓存数据(buffer","3,","3.","3.0","3.0,dyld","3.1","3.1,","3.13","3.2","3.2。","3.3","3.3,在","3.4","3.4。","3.5","3.6","3.7","3.7.1","3.7.2","3.8","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","3.dispatch_barrier_sync/dispatch_barrier_async区别","3.dispatch_group_wait使用","3.io","3.nslock","3.oc中的runloop","3.runtim","3.source0回调内部将触摸事件添加到uiapplication对象的事件队列中。事件出队后,uiapplication开始一个寻找最佳响应者的过程,这个过程又称hit","3.weak销毁过程","3.为什么","3.主队列","3.内联函数,与宏的区别","3.如果一切正常,则把错误请求从filedurls中移除,并把下载好的图片数据传递到缓存处理程序。","3.将合并后的分类数据(方法、属性、协议),插入到类原来数据的前面","3.就算插入没有pop也没关系,在线程exit的时候会释放资源,执行autoreleasepoolpage::tls_dealloc,在这里面会清空autoreleasepool。","3.并发+同步","3.进程与线程的关系和区别","3.锁的作用","3/*block_field_is_object*/);","30","300","300ms,猜测是","300、400","30;","30,它就需要在","31","32","32,","32byte,里面有两个指针:内部指针,指向__text,__cstring中字符串的位置;外部指针","33","34","35","37","379.502930","382.000244","386.897949","399.669922","3\\.","3]","3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。","3、tag","3、tcp面向字节流,实际上是tcp把数据看成一连串无结构的字节流;udp是面向报文的","3、uikit","3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片","3、一直重复步骤2,直到stack为空,过程停止。","3、不断重复步骤2,直到发现cur为空,此时从stack中弹出一个节点,记为node。打印node的值,并让cur=node.right,然后继续重复步骤2。","3、共享缓存不是第一次被加载","3、在整个过程中,每一个从s1中弹出的节点都放进第二个栈s2中。","3、对象释放时,调用cleardeallocating函数根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。","3、异步绘制的核心逻辑","3、每个叶子节点都是黑色的空节点(nil),也就是说,叶子节点不存数据。","3、每次从stack中弹出栈顶节点,记为cur,然后打印cur节点的值。如果cur右孩子不为空的话,将cur的右孩子先压入stack中。最后如果cur的左孩子不为空的话,将cur的左孩子压入stack中。","3、自定义","3、要发送的数据小于tcp发送缓冲区的大小,tcp将多次写入缓冲区的数据一次发送出去,将会发生粘包。","3个阶段方法;不同方法在不同周期会刷新布局显示出来。","3️⃣","3️⃣、","3)n0=n2+1","3)倒数第二层若存在叶子结点,一定在右部连续位置。","3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。","3)在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。","3)验证证书的合法性","3,最终","3,第三方","3:runtime读取image时发现这个image包含__objc_rawisa段;","3?核心的理由有三点:性能、安全性和可测试性。什么是理论上启动一个","4","4)","4)启用(enable)或者(disable)—","4,","4.","4.1","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2","4.2.1","4.2.2","4.2.3","4.3","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.block","4.categori","4.nsrecursivelock","4.weak销毁流程","4.全局队列","4.单链表与顺序结构","4.多线程实现方案","4.寻找到最佳响应者后,接下来的事情便是事件在响应链中的传递及响应了,关于响应链相关的内容详见[事件的响应及在响应链中的传递]一节。事实上,事件除了被响应者消耗,还能被手势识别器或是target","4.并发+异步","4.最后,如果finished==yes,则把当前operation从runningoperations中移除。","4.栅栏函数注意点","4.线程池的原理","4.进程与线程的关系图","4.锁的分类","40","40.200928","400m","400ms。","407.436035","409.042969","4095","4096","4096,一旦超过这个尺寸就会调用cpu进行资源处理,所以纹理尽量不要超过这个尺寸","40c9","419","419,关于","421","421.780762","426.408691","42ce","435.476318","439.666016","43f4","440.330811","441.053955","443.14","443.190186","444f","44;","453.924072","47","478.447998","478b","479cc9cc8bad@3x.ktx","47]","48.425049","48.640625","48ff","490.614014","4;","4d69","4e84","4k,这是","4~47","4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。","4、不断重复步骤2和步骤3,直到s1为空,过程停止。","4、不断重复步骤3,直到stack为空,全部过程结束。","4、任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。","4、及时的结束无用的绘制","4、多核设备带来的可能性","4、当stack为空并且cur为空时,整个过程结束。","4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。","4、支持动态gif图","4、文章中介绍了sidetable、weak_table_t、weak_entry_t这样三个结构,它们之间的关系如下图所示。","4、每一条tcp连接只能是点到点的;udp支持一对一,一对多,多对一和多对多的交互通信","4个字节)。为了节省内存,ios通常直到真正绘制的时候才去解码图片。根据你加载图片的方式,第一次对","4次挥手过程详解","4️⃣","4️⃣、_objc_init","4)在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。","4)如果结点度为1,则该结点只有左孩子,即没有右子树。","4)生成随机密码(rsa签名)","4:开发者自己添加了objc_disable_nonpointer_isa=yes到环境变量中;","5","5)","5)设置指(set","5,","5.","5.dispatch_semaphor","5.gcd和nsoperation的区别","5.runloop","5.static区别","5.主队列+同步","5.触摸事件历经坎坷后要么被某个响应对象捕获后释放,要么致死也没能找到能够响应的对象,最终释放。至此,这个触摸事件的使命就算终结了。runloop若没有其他事件需要处理,也将重归于眠,等待新的事件到来后唤醒。","5.队列的定义","50%+","50.403320","508.499023","51.270020","51.363770","515.513916","52","53.313965","54.635010","54.883789","55.749756","56","56.13","57.637207","570425344),","58.913818","59.484863","59.97)。io","598.571777","5b3b","5c","5d05609b383fffc5f9f36f65de0d7d7d3df91ce6","5f65","5struct","5、tcp首部开销20字节;udp的首部开销小,只有8个字节","5、从s2中依次弹出节点并打印,打印的顺序就是后序遍历的顺序了。","5、异步线程的管理","5、支持webp格式的图片","5、每个节点,从该节点到达其可达的叶子节点是所有路径,都包含相同数目的黑色节点。","5个参数","5️⃣","5)同样结点数目的二叉树,完全二叉树深度最小。","5)生成对称加密算法","5)若对含","5:某些不能使用non","6","6)","6)绘图(draw)","6,","6.","6.categori","6.memory内存管理","6.nscondit","6.主队列+异步","6.深入了解runloop","6.线程间通讯","6.队列和线程的关系","60","60,","600","63.152832","63.797852","6312","63之间,这就是通过哈希函数来获取到了sidetable的下标,然后再根据value取到所需的sidetable。","64","64.150146","652baf18601eecf42521a1361a8815576bc8eb55","68","68.835938","6;","6ae4","6s","6、tcp的逻辑通信信道是全双工的可靠信道,udp则是不可靠信道","6、后台图片解压处理","6。还维护了可变字典","6:父类关闭。","7","7)删除除(delete)—","7,","7.","7.1.","7.2.","7.3.","7.4.","7.nsconditionlock","7.互斥锁和自旋锁的区别","7.全局队列+同步","7.带着问题看源码","7.线程和runloop的关系","72","72,","75","750","77","779.028809","78.262207","7、确保同样的图片url不会下载多次","7或者0","8","8,","8.","8.0","8.0)","8.autoreleasepool的实现","8.os_unfair_lock","8.thread","8.全局队列+异步","8.影响任务执行速度的因素","8565","88fcf7848323/library/caches/snapshots/baidu.testlaunchscreen","8;","8a15","8eee","8、确保伪造的图片url不会重复尝试下载","8,关闭","9","9))","9,","9.","9.0,","9.0.0","9.互斥锁性能对比","90%","9193","93%","93%的设备是","93a8","94.","96920d11","96fa","98f7b5b1","9d72","9fc3b84622cd/library/caches/snapshots/baidu.testlaunchscreen1/test.png","9、确保主线程不会阻塞","9。如果引⽤计数⼤于",":","::",":cfbundlevers",":rtype:",":type",":行数",":非基于port的",";","=","==","=>","=nums[fast−1],说明",">",">=",">>",">__forward",">_age,说白了,这里还是需要用到self,因此block还是需要对self进行捕获的。",">_finish",">_progress",">_readedlength",">_respons",">a)++;",">a;",">add(obj)",">add(obj);",">add(pool_boundary);",">begin()",">begin());",">bits.fastinstancesize());",">canallocfast()))",">canallocnonpointer();",">check();",">child",">child)",">child);",">child;",">cleardealloc",">clearflags(rw_has_default_awz);",">count",">count;",">count;//宿主类,分类的总数",">data",">data()",">data();",">data);",">data;",">debug",">depth",">doesnotrecognizeselector:",">doinitialization(context);",">empty()",">empty())",">end())",">erase(j);//擦除",">fastcheck();",">find(key);",">flag",">forceflat()",">forward",">full()",">full())",">full());",">getentryfromlc_main();",">getisa();",">getpath());",">getrealpath(),",">getstate()",">hascustomawz()))",">hascustomawz()。",">hascustomrr())",">hascxxctor();",">hascxxdtor();",">hiwat",">initinstanceisa(cls,",">initisa(cls);",">instancesize(extrabytes);",">ios性能优化——图片加载和处理",">ip】的映射方式,那就是httpdns。",">isa()",">isbundle();",">isinitialized())",">ismetaclass())",">ismetaclass());",">ismetaclass();",">isrealized());",">istaggedpointer())",">istaggedpointer());",">kill();",">lchild);",">lessthanhalffull())",">list",">list[",">list[cach",">list[i]",">list[i];",">lists,",">lists[0]));",">lock();",">lock()并不是在底层对锁进行了封装,而是在查找过程前后进行了加锁操作",">lockcount",">machheader());",">machheader(),",">methods.attachlists(mlists,",">methodsformeta(ismeta);",">methodsignatureforselector:",">mutex)",">mutex.lock();",">mutex.tryunlock();",">next",">next));",">next,",">next;",">nextdata",">nextdata)",">notifyobjc()",">num_ref",">objc_destructinst",">object",">object_dispos",">out_of_lin",">parent)",">parent;",">perform",">person,",">person;",">properties.attachlists(proplists,",">propertiesformeta(ismeta,",">protect();",">protocols.attachlists(protolists,",">protocols;",">rchild);",">releaseuntil(stop);",">ro",">rootautorelease();",">rootdealloc",">rootisdeallocating();",">rootretaincount();",">second",">second;",">setdata(rw);",">setflags(rw_has_default_awz);",">sethasassociatedobjects();",">setinfo(rw_loaded);",">setneverunloadrecursive();",">setweaklyreferenced_nolock();",">sidetable_cleardealloc",">superclass)",">superclass);",">table.refcnts.erase(it)",">threadcount",">threadcount);",">unlock();",">unprotect();",">used++;",">used].data",">used].lockcount",">used];",">value的形式,以sel为key,函数实现的内存地址",">weak_table,",">weakbind(glinkcontext);",">右",">右子树,中序是",">右子树,后序是",">呈现树",">堆上的block",">左",">左子树",">弱指针__weak",">弱指针运行结果\">",">强指针clperson",">强指针运行结果\">",">栈上的block",">根",">深入理解runloop",">渲染树",">父节点",">苹果官方文档","?","?,则为隐式的可失败的初始化器","@\"//goods/goods_list\"","@\"123123123\";","@\"1234\",编译到最后的二进制的时候是会存储在两个","@\"hello","@\"test\"));","@\"test\",","@\"v@:@\");","@2x","@2x和@3x图","@2x和@3x图是苹果一个优化显示效果的机制,当","@3x","@autoreleasepool","@catch","@class","@end","@implement","@implet","@interfac","@objc","@option","@param","@properti","@protocol","@requir","@return","@rpath,那么恶意修改路径或者将一些库插入到特定的地方,攻击者就可以毁坏","@selector(dm_dynamicbackgroundcolor),","@selector(key),","@selector(sendmessage))","@selector(setbackgroundcolor:));","@selector(test);","@strongify(operation);","@synchron","@synchronized(nil)","@synchronized(nil);","@synchronized(obj)","@synchronized(self)","@synchronized可能是日常开发中用的比较多的一种互斥锁,因为它的使用比较简单,但并不是在任意场景下都能使用@synchronized,且它的性能较低","@synchronized在底层维护了一个哈希链表进行data的存储,使用recursive_mutex_t进行加锁","@synchronized详解","@synchronized,这儿比你想知道的还要多","@synthes","@tri","@weakify(operation);","@“//goods/goods_detail?goods_id=%d”","@“//member/member_search”","[","[(id)[nsobject","[(id)[sark","[0,0,1,1,1,2,2,3,3,4]","[0,1,2,3,4]","[0]","[1,1,2]","[1,2]","[1175]/umsocial_sdk_4.4/libumsocial_sdk_4.4.a(umsocialjob.o)","[1188]/iphonesimulator10.1.sdk/system/library/frameworks//foundation.framework/found","[1]","[1]http://blog.csdn.net/hello_hwc/article/details/50036323","[2]","[2]/epluspan4phone.build/object","[2]http://blog.csdn.net/hello_hwc/article/details/46425503","[3,","[3]","[3]https://github.com/leomobiledeveloper/blogs/blob/master/demoprojects/scripts/autoipa.sh","[3],使用的时候,需要拷贝到工程的根目录","[4]https://developer.apple.com/documentation/uikit/uiviewcontroller?language=objc","[5]","[6]","[7]","[8]","[[[nsbundl","[[class","[[clperson","[[dmdynamiccolor","[[dmdynamiccolorproxi","[[goodslistviewcontrol","[[ktvhcdatanetworksourc","[[ktvhcdatarequest","[[ktvhcdatasourcemanag","[[ktvhcdataunititem","[[ktvhcdataunitpool","[[ktvhchttprespons","[[ktvhcurltool","[[mediat","[[mnperson","[[nsarray","[[nsbundl","[[nslock","[[nsmaptabl","[[nsnotificationcent","[[nsobject","[[nsrecursivelock","[[nsthread","[[skpaymentqueu","[[skproductsrequest","[[uinavigationcontrol","[[uiwindow","[]","[_networkrequestthread","[_sentinel","[a","[aninvoc","[aobject","[array","[avplay","[baidu.testlaunchscreen]","[bfmodule(yzgoodsmoduleservice)","[bifrost","[bobject","[calay","[callalloc(self,","[calyer","[catransact","[cl","[class","[classobj","[completedblock","[currentset","[deleg","[dynamiccolor","[error.domain","[i/2]","[imageload","[invoc","[ktvhcerror","[ktvhcpathtool","[ktvhttpcach","[layer","[layer.deleg","[lock","[manag","[method_t,],","[method_t,method_t,method_t],","[method_t,method_t],","[methodlist","[mnperson","[mnstudent","[mnteacher","[modul","[nav","[networksourc","[newvalu","[nonmetaclass","[nsbundl","[nsdata","[nsfilehandl","[nsmachport","[nsmutablearray","[nsmutabledictionari","[nsmutableset","[nsobject","[nsrunloop","[nsset","[nsstring","[nsthread","[nsurl","[obj","[object","[oper","[operationdictionari","[person","[progressblock","[recursivelock","[request","[respond","[root]","[router","[runloop","[sark","[sdimagecach","[sdwebimagedownload","[self","[self.callbackblock","[self.child","[self.connect","[self.currentsourc","[self.deleg","[self.downlaodtask","[self.downloadqueu","[self.failedurl","[self.imagecach","[self.imageload","[self.navigationcontrol","[self.person","[self.read","[self.renderedviewcontrol","[self.request","[self.resolvedcolor","[self.runningoper","[self.sourcemanag","[self.unititem","[self.writinghandl","[servicemanag","[skpayment","[sourc","[subview","[super","[transaction.target","[uiimag","[uiscreen","[uistoryboard","[uiview","[ulwbigresponsebutton","[ulwcategorycontrol","[unbalanc","[unit","[vc.view.lay","[view","[view.lay","[viewcontrollerclass","[viewcontrollerprerend","[x0]","[x10,","[x17,","[yysentinel","[渲染原理]当你被问到下面问题,你能够回答出来么?","[译]","\\","\\ne","\\textit{fast}fast","\\textit{nums}[0]nums[0]","\\textit{nums}[\\textit{fast}","\\textit{nums}[\\textit{fast}]","\\textit{nums}[\\textit{fast}]nums[fast]","\\textit{nums}[\\textit{slow}","\\textit{nums}[\\textit{slow}]nums[slow],然后将","\\textit{nums}num","\\textit{slow}slow","\\textit{slow}slow,返回","]","^","^(){","^(int","^(size_t","^bool()","^int(int","^{","_","__atautoreleasepool","__attribtue__","__attribute__","__attribute__((__availability__(swift,","__attribute__((__blocks__(byref)))","__attribute__((__warn_unused_result__))","__attribute__((always_inline))id_class_createinstancefromzone(class","__attribute__((constructor))","__attribute__((deprecated(_msg)))","__attribute__((deprecated))","__attribute__((noinline))","__attribute__((noinline,used))","__attribute__((unavailable))","__attribute__((unused))","__attribute__((used))","__attribute__语法格式为:attribute((attribut","__autoreleasepool;","__block","__block,因为是使用","__block_byref_a_0","__block_impl","__block修饰的变量成了对象","__block修饰的属性在底层会生成响应的结构体,保存原始变量的指针,并传递一个指针地址给block——因此是指针拷贝","__block修饰符原理:","__bss","__builtin_expect是gcc提供给程序员使用,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。","__cflock(&loopslock);","__cfport","__cfrunloop","__cfrunloop_is_calling_out_to_a_timer_callback_function__函数被吊起的。从函数名看出,它们确实是属于timer事件(cfrunlooptimerref)","__cfrunloop_is_servicing_the_main_dispatch_queue__()","__cfrunloopcreate(pthread_main_thread_np());","__cfrunloopcreate(t);","__cfrunloopdoblocks();","__cfrunloopdoobservers(cfrunloopexit);","__cfrunloopdoobservers(kcfrunloopafterwaiting);","__cfrunloopdoobservers(kcfrunloopbeforesources);","__cfrunloopdoobservers(kcfrunloopbeforetimers);","__cfrunloopdoobservers(kcfrunloopbeforewaiting);","__cfrunloopdoobservers(kcfrunloopentry);","__cfrunloopdoobservers(runloop,","__cfrunloopdosource0();","__cfrunloopdosource1();","__cfrunloopdotimers();","__cfrunlooprun(","__cfrunloopservicemachport();","__cfstring","__cfunlock(&loopslock);","__common","__const","__cplusplu","__cself","__cstring","__data","__data.__bss","__data.__cfstr","__data.__common","__data.__const","__data.__data","__data.__la_symbol_ptr","__data.__objc_classlist","__data.__objc_imginfo","__data.__objc_protolist","__data.__objc_protoref","__data.__objc_selfref","__data.__objc_superref","__data.nl_symbol_ptr","__data,__cfstring,存储","__deprec","__deprecated;","__deprecated_msg(_msg)","__dyld_start","__eh_fram","__entitl","__flags;","__forwarding存在意义","__forwarding存放的是自己本身的地址","__gcc_except_tab","__got","__guard_setup(apple);","__has_feature(objc_fixed_enum)","__has_feature(ptrauth_calls)","__init__(self,","__iohideventsystemclientqueuecallback()","__iohideventsystemclientqueuecallback()函数会将事件交给source0处理,source0会调用__uiapplicationhandleeventqueue()函数,函数内部会做具体的处理操作。","__la_symbol_ptr","__main_block_copy_0(struct","__main_block_copy_0,","__main_block_desc_0","__main_block_desc_0*","__main_block_desc_0_data","__main_block_desc_0结构体里面多了两个彩蛋","__main_block_dispose_0","__main_block_dispose_0(struct","__main_block_func_0(struct","__main_block_impl_0","__main_block_impl_0(void","__main_block_impl_0),","__main_block_impl_0*);","__main_block_impl_0*,","__main_block_impl_0*dst,","__main_block_impl_0*src)","__main_block_impl_0直接般到main.m里面","__mod_init_func","__mod_init_func,stat","__nl_symbol_ptr","__null,","__objc2__","__objc_catlist","__objc_classlist","__objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。","__objc_classlist获取所有类的地址。","__objc_classnam","__objc_classref","__objc_classrefs段记录了引用类的地址,__data","__objc_classrefs获取到引用类的地址。","__objc_const","__objc_data","__objc_forward_handler@pag","__objc_forward_handler@pageoff]","__objc_imageinfo","__objc_ivar","__objc_methnam","__objc_methtyp","__objc_msgforward","__objc_msgforward_impcach","__objc_msgsend_uncach","__objc_msgsend_uncached,","__objc_nlcatlist","__objc_nlcatlist,实现","__objc_nlcatlist,实现+load","__objc_nlclslist","__objc_nlclslist,实现","__objc_nlclslist,实现+load","__objc_protolist","__objc_protoref","__objc_selref","__objc_superref","__result_use_check","__size;","__strong","__stub","__stub_help","__swift__","__swift_unavailable(_msg)","__text","__text.__const","__text.__cstr","__text.__objc_classnam","__text.__objc_methnam","__text.__objc_methtyp","__text.__stub","__text.__stubs_help","__text.__text","__text,__cstring,存储实际的字符串","__text,__cstring,存储实际的字符串\"1234\"","__unavail","__unsafe_unretain","__unus","__unwind_info","__use","__ustr","__weak","__x86_64__","_age","_base;","_block_item","_block_object_assign((void*)&dst","_block_object_assign函数会根据auto变量的修饰符(__strong、__weak、__unsafe_unretained)做出相应的操作,形成强引用(retain)或者弱引用","_block_object_dispose((void*)src","_block_object_dispose函数会自动释放引用的auto变量(release)","_cancelasyncdisplay];","_cancelasyncdisplay是取消绘制,稍后解析实现逻辑;","_category_t","_cf_forwarding_prep_0和___forwarding___这两个方法会先被调用了,之后调用了forwardingtargetforselector:。","_cfgettsd(__cftsdkeyrunloopcntr))","_cfrunloopget0(pthread_self());","_cfrunloopget0(pthread_t","_cfsettsd(__cftsdkeyrunloop,","_cfsettsd(__cftsdkeyrunloopcntr,","_class_createinstancefromzone(cls,","_class_initialize(_class_getnonmetaclass(cls,","_class_resolveclassmethod","_class_resolveclassmethod(class","_class_resolveclassmethod(cls,","_class_resolveclassmethod和_class_resolveinstancemethod实现类似,这里就只看_class_resolveclassmethod的实现。","_class_resolveinstancemethod(cls,","_class_resolvemethod","_class_resolvemethod(class","_class_ro_t","_class_t","_cmd","_cmd);","_cmd,","_commonmodeitems;","_commonmodes;","_cond","_cond.broadcast()","_cond.lock()","_cond.unlock()","_conditionvariablepointer.allocate(capacity:","_counterpart;","_cstring","_currentmode;","_data","_displayasync:_displaysasynchronously];","_displayasync是异步绘制的核心方法。","_displaysasynchron","_downloadqueu","_downloadqueue,默认的最大并发数为","_dyld_objc_notify_init","_dyld_objc_notify_regist","_dyld_objc_notify_register(&map_images,","_dyld_objc_notify_register(_dyld_objc_notify_map","_dyld_objc_notify_unmap","_dyld_start","_fin","_fin(id","_got","_imp;","_imp_implementationwithblock_init();","_imp为value来存储方法。","_ioqueu","_iskey","_iskvoa方法","_iskvoa用来标识是否是在观察者状态的一个标志位","_key","_key;","_la_symbol_ptr","_lock;","_lock;//自旋锁,保证线程安全","_main(const","_map_2_imag","_mask;","_method_list_t","_modes;","_modes和_commonmod","_mutexpointer.allocate(capacity:","_myrend","_myrender.renderedviewcontrol","_myrender;","_networkrequestthread","_networkrequestthread;","_nonnul","_nullabl","_nullable(nsdictionari","_objc_autoreleasepoolpop()","_objc_autoreleasepoolpush()","_objc_class_$_episodestatusdetailitemview","_objc_class_$_ttbasecontrol","_objc_class_$_ttepisodestatusdetailitemview","_objc_class_\\$_(.+)\")","_objc_class_\\$_(.+)')","_objc_classlist","_objc_classnam","_objc_constructorfree(obj,","_objc_debug_taggedpointer_classes@pag","_objc_debug_taggedpointer_classes@pageoff","_objc_debug_taggedpointer_ext_classes@pag","_objc_debug_taggedpointer_ext_classes@pageoff","_objc_fatal(\"cannot","_objc_fatal(\"id2data","_objc_inform(\"miss","_objc_inform(\"nil","_objc_init","_objc_init(void)","_objc_istaggedpointer(const","_objc_ivar_$_ulwcategorycontroller._liveapi","_objc_methodnam","_objc_methtyp","_objc_msgforward)","_objc_msgforward_impcach","_objc_msgforward_impcache用来进行消息转发,但是其真正的核心是调用_objc_msgforward。","_objc_msgsend","_objc_msgsend,","_objc_rootalloc(self);","_objc_rootdealloc","_objc_rootinit(self);","_objc_sync_exit。","_objc_tag_ext_index_mask","_objc_tag_ext_slot_count","_objc_tag_ext_slot_mask","_objc_tag_index_mask","_objc_tag_mask","_objc_tag_mask)","_objc_tag_mask;","_objc_tag_slot_count","_objc_tag_slot_mask","_object_set_associative_reference(id","_object_set_associative_reference(object,","_occupied;","_os_object_init","_per_run_data","_policy;","_prop_list_t","_properti","_property;","_protocol_list_t","_pthread;","_read_imag","_rethrow","_runtime;","_sentinel","_sentinel;","_sleeptime;","_stub","_stub_help","_swift_cfthreadref?","_sync_exit","_sync_exit(_sync_obj);","_sync_exit(id","_sync_obj","_testarray","_text","_thread","_thread:","_timer","_uiapplicationhandleeventqueue()会把","_uiapplicationhandleeventqueue()进行应用内部的分发。","_unused;","_urloper","_urloperations,key","_valu","_value:","_value;","_wakeupport;","_windowno2=","_winthread;","_yzg_goodsmodel,","_yzs_goodsmodel.","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()。这个函数里会遍历所有待处理的","`addoperation:`","`downloadoperationcanceltoken`,","`failedurls`","`operation.completionblock`","`runningoperations`","`sdcallbacksdictionary`","`sdwebimagecombinedoperation`","`sdwebimagedownloadtoken`","`try`()","a);","a)可以减少单个文件的体积","a.","a.5,","a.out","a562","a5e0ba0c047e/library/splashboard/snapshots/baidu.testlaunchscreen","a834","a;","a_view","abcdefghij","abdhiejcfg","abi.h中","abort","abortpolicy直接抛出rejectedexecutionexeception异常来阻止系统正常运行","above.","abstract","access","accord","ack","ack包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传。如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。","ack状态的b收不到对已发送的fin+ack报文段的确认,服务端超时重传fin+ack报文段,而客户端能在2msl时间内收到这个重传的fin+ack报文段,接着客户端重传一次确认,重新启动2msl计时器,最后客户端和服务端都进入到closed状态,若客户端在tim","ack状态的服务器收不到对fin","ack的确认报文。服务器会超时重传这个fin","ack,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2msl,而是在发送完ack之后直接释放关闭,一但这个ack丢失的话,服务器就无法正常的进入关闭连接状态。","acquir","acquire)","acquire);","acquire:","acquired.","acquirevalue(value,","act","act)","action","action:(nsstr","action:@\"getgoodscount\"","action:@\"getgoodslist\"","action:@\"goodsbyid:\"","action模式捕捉并消耗掉。其中涉及对触摸事件的响应优先级","activ","activity,","actual","ad","add","add_class_to_loadable_list(cls);","adddepend","addedcount","addedcount)","addedcount,","addedcount;","addedlists,","addhandlersforprogress:progressblock","addimag","addimage(image);","addobject:@123];","addobject:callbacks];","addobject:obj];","addobject:operation];","addobject:source];","addobject:url];","addobjectsfromarray:filesources];","addobjectsfromarray:networksources];","addobserver:_myrend","addobserver:forkeypath方法之后,系统会动态创建","addobserver:self","addoperation:operation];","addpayment:payment];","addport:[nsmachport","addr","address","addtransactionobserver:self];","adrp","advanc","advanceinsertsortwithbinarysearch(int[]","af3.x,废弃了","afbb52dbddb3@3x.ktx","afnetworking/nsurlconnection/afurlconnectionoperation.m","afterdelay0];","afterdelay:]","afterdelay]事件的函数调用栈,发现它们都是通过","ag","again","again.","again!怎么这么多!连","age(_age),这是c++的语法,作用时将参数_age自动赋值给成员变量ag","age)","age);","age,","age:","age;","age;,就是","age成员变量","aimp,","alignas(cachelinesize)","alignas(cachelinesize);","alignof(syncdata),","all_image_info","alloc","alloc/allocwithzon","alloc]","alloc];","alloc]init];","alloc]。当再次调用callalloc时候defaultawz为ture,hascustoawz为false这样会进入到下一个流程。","alloc],内部也是调用","allocated;","allocating,","allocator.","allocinit","allocwithzone:nil],","allocwithzone:nil].","allocwithzone:nil];","allocwithzone=false)","alloc实现","allow","allowsedgeantialias","alpha","alpha:","alpha,最后和底下其他","alreadi","alsr","alway","always_inlin","analysis),输出抽象语法树(ast),过程中会校验语法是否错误。","andi","android","anim","animated:no];","animated:yes];","animation:","animation、gpu","animation会创建一个opengl","animation会对数据进行拷贝,以进行字节对齐。","animation会提交这个","animation会请求分配一个纹理,同时确保cor","animation使用未压缩的位图数据来渲染图层。","animation图层的任何结构,所以必须","animation并仅仅是字面意思的核心动画,而是整个显示核心都是围绕quartzcore框架中的cor","animation必须创建一个内存中等大小的寄宿图片。然后一旦绘制结束之后,","animation必须对渲染树种的每个可见图层通过opengl循环","animation提交隐式事务,这会涉及创建已设置为层内容的所有图像的副本,根据图像:","animation提前渲染图层的离屏绘制。","animation是依赖于opengl","animation的合成器会联合opengl","animation的渲染。","animation)","annotation:(id)annot","anoth","any)","anyon","aobject","api","api_available(macos(10.5),","api中方法名里面含有usingblock的方法参数时","api总结","api的方法参数的时候","api,但是被__deprec","api,可以处理触摸事件、按压事件(3d","api,我们无法得知,并且其生成时机也早于我们应用代码可控制时机,也就意味着我们无法控制系统生成启动图的行为,换句话说就是即使我们的","app","appdeleg","appdelegateclassnam","appdelegateclassname);","appdelegateclassname;","appear","append_referrer(entry,","appl","apple'","apple);","apple,","apple[],","apple源码,如图:","applic","applifecycl","appropri","appsmachhead","appsmachheader,","appsslid","appsslide,","appstorereceipturl];","apps(wwdc14","app。","app。所以这部分工作需要被搬到进程外来完成,比如搬到一个","app。目前我们在上海、北京、杭州、深圳均有招聘需求,内推可以联系邮箱:","app从点击到启动","app从点击屏幕(硬件)到完全渲染,中间发生了什么?越详细越好","app启动和内存加载","app启动详细","app响应阶段","app的默认","app,app","app,pag","app,sect","app,其实不适合用","app,只有一次。这里有以下几个问题:","app,并通过","app,开始执行","app,我们也没法给用户发货。","app,我们会在","app,来完全取代","app,由","app,跳转到支付宝","app,进程内引擎会在首次启动时启动一个","app,通知购买成功,并把收据写入到","app,那么我们可能一个月没法给用户发货。","ar","arc","arc...","arch","arch:","archier","archieve中提到一句想要理解kvo,必须先理解kvc,因为键值观察是建立在键值编码的基础上","architectur","archiv","arc环境","aren’t","arg)","arg]","arg],classobj","argc,","args)","arguments:@[safe(application),","arguments:@[safe(application)]];","argv,","argv[])","argv[],","arg)","arm","arm.s、objc","arm64","arm64.s的实现。由于汇编不熟,里面的实现只能连看带猜。","arm64.s等文件中,是通过汇编实现的。这里主要看在arm64即objc","arm7","arm7/arm64","arm_v7","armv7","arr)","arr[j","arr[j];","arr[low]","array","array()","array.length","array[indexforpointer(p)].value;","array[left]","array[right]","array[right];","array[stripecount];","array];","array_t::bytesize(newcount)));","as?","asasynctransaction(group)","ascend","ascii","ascustomawz作用是判断当前类有没有实现allocwithzone方法。它是通过类的结构体objc_class中的hascustomawz方法判断的:","asdk","aselector,","aselector满足某个条件","aselector,否则依然会抛出doesnotrecognizeselector:异常;若找不到,则返回nil。","aslr","asnod","assembl","assert(!dest","assert(!hotpage());","assert(!isfuture());","assert(!istaggedpointer());","assert(!obj","assert(!par","assert(cl","assert(data);","assert(dest","assert(obj);","assert(pag","assertionfailure(darkmodemanager.messageforswizzlingfailed(class:","asset","asset.xcasset","assiciationshashmap","assign","assign)","assign,","assign:","assign,所以这里选择objc_association_assign","associ","associatedobject","associatedobject关联对象","associatedobject关联对象的内部实现","association.","associations.end())","associations.find(disguised_object);","associations[disguised_object]","associationshashmap","associationshashmap::iter","associationsmanag","assum","assumpt","asyncdisplaykit","asyncdisplaykit(texture)","asyncdisplaykit原理","atautoreleasepoolobj","atindex:0];所以objc_msgsend遍历方法列表查找sel","atom","atomic)","atomic,","atomic保证变量在取值和赋值时的线程安全","atomic保证赋值获取是线程安全,是对成员属性的直接的获取安全,并不代表操作和访问安全.","atomic修饰的属性绝对安全吗?","atomic原理","atomic只能保证setter、getter方法的线程安全,并不能保证数据安全","atomic只能保证setter、getter时线程安全,所以更多的使用nonatomic来修饰","atomic是自旋锁,即当上一线程没有执行完毕(被锁住),下一线程会一直等待(不会进入睡眠状态),当上一线程执行完毕,下一线程立即执行。他区别于互斥锁,互斥锁在等待的时候,会进入睡眠状态,当上一个线程执行完毕,睡眠状态就会被唤醒,然后再执行。","attachcategories(class","attachlists(list*","attribtu","attribut","attribute)","attribute。","attribute)","authent","authority)机构给服务端进行颁发,ca机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。","authority,缩写","auto","auto&","autolayout比frame更消耗资源","automat","automaticallynotifiesobserversforkey:key];","automaticallynotifiesobserversforkey为yes时注册观察属性会生成动态子类nskvonotifying_xxx","autoreleas","autorelease(id","autoreleasefast","autoreleasefast(obj);","autoreleasefast(pool_boundary);","autoreleasefast分为三种情况:","autoreleasefullpag","autoreleasefullpage(obj,","autoreleasefullpage会从传入的page开始遍历整个双向链表,如果page满了,就看它的child节点,直到查找到一个未满的autoreleasepoolpage。接着使用autoreleasepoolpage构造函数传入parent创建一个新的autoreleasepoolpage的节点(此时跳出了while循环)。","autoreleasenewpag","autoreleasenewpage(pool_boundary);","autoreleasenewpage分为两种情况:","autoreleasenopag","autoreleasenopage(obj);","autoreleasepool","autoreleasepool(beforewaiting)","autoreleasepool,","autoreleasepoolpag","autoreleasepoolpage(autoreleasepoolpag","autoreleasepoolpage(nil);","autoreleasepoolpage(page);","autoreleasepoolpage::autorelease((id)this);","autoreleasepoolpage::pop(ctxt)","autoreleasepoolpage::push()","autoreleasepoolpage::push();","autoreleasepoolpage:pop(ctxt);","autoreleasepoolpage。","autoreleasepoolpage的","autoreleasepool并没有特定的内存结构,它是通过以autoreleasepoolpage为节点的双向链表。","autoreleasepool结构","autoreleasepool结构如图所示:","autoreleasepool(自动释放池)是oc中的一种内存自动回收机制,它可以延迟加入autoreleasepool中的变量release的时机。","autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池push和pop","autorelease方法","avail","available.","avg","aview,","avoid","avplay","a⾥存有struct","a、b、c,则需执行3次","b","b){","b)可以把不同的功能组织到不同的category里","b.","b.2,","b.eq","b.h","b.le","b;","back","backgroundcolor","backgroundcolor,可以放心使用","backward","bad","bad,","badpop(token);","baidu.testlaunchscreen\\","band","base","base)","basedonclassorviacustomsetimageblock:setimageblock","based渲染流程","based的基本渲染逻辑;","basemethodlist","basemethodlist;","basemethods,","baseprotocol","baseprotocols;","base;","batch*/,","bb","bbdb","be","bec9aef7c41a@3x.ktx","beehiv","befor","before:","beforewait","beforewaiting(准备进入休眠)","beforewaiting(即将进入休眠)","begin","begin()","begin();","begin/end","begin];","beginlists();","below,","best","better","better,","between","bf","bfs(root):","bifrost","bifrost.","bifrostmoduledefaultpriority;","bifrostmoduleprotocol","bifrostmoduleprotocol,令每个模块的","big","binari","binary_file_arch","binary_file_arch)","binary_file_arch):","binary_file_arch.startswith('arm'):","bincompat","bind","bind_at_link会降低","bind_at_link,在","bind_at_load","bindurl:kroutegoodslist","bind。","bind之类的符号,把上述结果写入缓存。这样,在应用启动的时候,就可以直接从缓存中读取数据,加快加载速度。","bind:修复外部指针。这个比较好理解,因为像","bit","bit)","bit;","bitcod","bitcode,苹果会做进一步优化。若有新的后端架构,依旧可以用这份优化过的","bitmap","bitmap(通常也被称为","bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。catransact","bitmap,进而呈现到屏幕上","bitnod","bitnode,","bitnode{","bits(value)","bits.canallocfast();","bits.data();","bits.extra_rc;","bits.hasdefaultawz();","bits.setdata(newdata);","bits;","bits,它相当于","bl","blob","block","block!\");","block();","block(10);","block(50,100);","block(valu","block(vc1);","block,","block,timer等事件.这可以解释滑动过程中,nstimer为什么会停止,因为滑动过程中runloop处于","block[13997:1263406]","block[4064:375528]","block[4725:476530]","block_size;","block代码块执行的时候,通过全局变量名直接访问。","block作为cocoa","block作为gcd","block作为函数参数返回的时候","block使用全局变量","block内部为其增加了一个int","block原理解读(三)","block地层结构图中的第一个成员就是一个isa指针,所以我们可以将block当成一个对象来看待。isa常见的就是_nsconcretestackblock,_nsconcretemallocblock,_nsconcreteglobalblock这3种","block对于self的处理","block底层结构为","block底层结构如下","block捕获auto变量","block捕获对象类型","block捕获局部static变量","block是封装了函数调用以及函数调用环境的oc对象","block有3种类型","block本质","block本质上也是一个oc对象,它内部也有个isa指针","block构造函数里面传入的,就是外部的这个height的地址值。","block没有对全局变量进行捕获行为,只需要在要用的时候,直接通过变量名访问就行了,因为全局变量时跨函数的,可以直接通过变量的名字直接访问。","block生命周期","block的任务,无论任务中哪一个,最终都要提交到主线程中处理.先分派viewdidload到主线程,由于队列fifo,viewdidload的调用结束又要等待block的调用结束,block又在等待viewdidload","block的底层结构如下","block的深入分析block的使用场景","block的调用即是函数的调用","block类型","block,然后执行","block,绘制代码可以随时调用该","blog","blpaymentmanag","bobject","bool","bool(^iscancelled)()","bool(^iscancelled)(void));","bool*","boolean","bool等","bound","br","break","break;","breakpoint","breakpoint_function(","broadcast()","broadcast会唤醒所有正在等待的线程","bss,存放为初始化的全局变量,即常说的静态内存分配","bst","bt","bucket_t","bucket_t是以数组的方式存储方法列表的","buffer","buffer,","buffer)。进一步来说,其实所有","buffer)在内的其他帧缓存,当渲染后的后帧缓存完成后,前后帧缓存会互换。(这部分操作由操作系统来完成)","buffer)的特定帧缓存中的像素颜色元素的控制。","buffer,作为像素数据存储区域,而这也是","buffer,再到","buffer,只能暂时先放在另一块内存之中,说起来都属于","buffer,后一层覆盖前一层,就能得到最终的显示结果(值得一提的是,与一般桌面架构不同,在","buffer,最后把内容画上去(这只是我的猜测,实际情况可能更复杂)。不过如果我们能够预先告诉","buffer,而是先暂存在另外的内存区域,之后再写入","buffer,那么这个过程被称之为离屏渲染。","buggy\");","build","build.log","builder。它的底层机制决定了它在开发启动、app","buildnumber=$(($buildnumb","buildnumber=$(/usr/libexec/plistbuddi","built","bundl","bundle.","bundle:bundle];","bundle:nil];","bundleforclass:","bundleforclass:classa];","bundle中资源","bundle需要通过bundleforclass获取","button","button.settitlecolor(color,","button.titlecolor(for:","buttonaction:","buyproduction:","b、c","b,b⾥有char、int","c","c);","c)可以由多个开发者共同完成一个类","c++","c++,object","c++源码","c,","c.2,","c1.0","c2.0中的新语法:properties。它帮我们自动生成getter和sett","c;","c_view","ca","ca::context::commit_transaction();","ca::layer::display_if_needed();","ca::layer::layout_and_display_if_needed();","ca::layer::layout_if_needed();","ca::transaction::commit();","ca::transaction::commit:以后),cpu执行drawrect,通过context将数据写入back","cach","cache)","cache,","cache.","cache;","cache;用来缓存曾经调用过的方法,可以提高方法的查找速度。","cache[1],什么是","cache_init();","cache_key_t","cache_t","cacheddata,","cacheddata:(nul","cacheddata:cacheddata","cacheddata:nil","cachedimage,","cachedimage:(nul","cachedimage:cachedimag","cachedimage:nil","cacheimag","cachekey","cachekey,","cachekeyfilt","cachekeyfilter:cachekeyfilter];","cachekeyfilter;","cachekeyforurl:","cachekeyforurl:url","cachelookup","cacheseri","cacheserializer;","cachetype)","cachetype,","cachetype:(sdimagecachetype)cachetyp","cachetype:cachetyp","cachetype:sdimagecachetypenon","cache),它会弱引用被缓存对象,当缓存被清理之后,我们还可以在","cadisplaylink","calay","calayerdeleg","calayer与ios动画","calayer会生成一个back","calayer基于coreanimation,","calayer提供内容,专门负责处理触摸等事件,参与响应链","calayer的display方法中,首先会判断layer的delegate方法displaylayer:是否实现,如果代理没有响应这个方法,则进入到系统绘制流程;如果代理响应了这个方法,则进入到异步绘制流程","calayer的职能","calayer,对外暴露了一个方法可开闭是否异步绘制。","calc.rb","call","call_category_loads();","call_class_loads();","call_load_method","call_load_methods(void)","callabl","callalloc","callalloc(class","callalloc(cls,","callbackforfailed:error];","callbackforhasavailabledata];","callbackforprepared];","callbacks;","callbacks[kcompletedcallbackkey]","callbacks[kprogresscallbackkey]","callbacksforkey:kcompletedcallbackkey];","callback,这里会先处理几种情况:","callbadallochandler(cls);","callcacheprocessforoperation:oper","callcompletionblockforoper","callcompletionblockforoperation:oper","callcompletionblock。","calldownloadprocessforoperation:oper","callerrunspolicy将任务回退到调用者","calls.","callstorecacheprocessforoperation:oper","calls(以前是","canallocfast","canallocfast'","canallocfast()","canallocfast作用是判断当前类是否可以快速开辟内存,需要注意的是这里永远不会调用,因为canallocfast内部返回的是false。具体实现如下:","cancel","cancel];","cancelprefetchingforrowsatindexpaths:(nsarray","cancel。其强引用由","cancel。如果是返回错误并结束。","candid","canmakepayments])","canrequestimageforurl:url];","capacity:0];","care","case","case:","cashapelay","cat","catch","categori","categories]","category:","category_list","category_list,并将","category_t,里面存储着分类的各种信息,包括","category和+load方法","category如何加载","category的加载处理流程","category被附加到类上面是在map_images的时候发生的","catextlayer:直接将字符串使用cor","catransact","catransaction(2000000)","catransformlayer:能够用于构造一个层级的3d结构","cats);","caus","ca是证书的签发机构,它是公钥基础设施(publ","ca认证链","ca证书","ca证书详解","ca)签发的服务器公开证书,证书中包含了公钥。客户端会使用这个公钥加密接下来的握手过程,直到协商生成一个新的对称密钥。证书中还包含了该证书所应用的域名范围(common","cell","cell,弹出领取津贴,我们分","central","cf","cf_export","cf_options(cfoptionflags,","cfabsolutetim","cfbundleversion\"","cfdataref)imagedata,","cfdictionarycreatemutable(kcfallocatorsystemdefault,","cfdictionarysetvalue(__cfrunloops,","cfdictionarysetvalue(dict,","cfmutabledictionaryref","cfmutablesetref","cfrelease(dict);","cfrelease(imageref);","cfrelease(mainloop);","cfrelease(newloop);","cfrelease(observer);","cfrelease(source);","cfrunloopact","cfrunloopactivity)","cfrunloopaddobserver(runloop,","cfrunloopdealloc","cfrunloopgetcurr","cfrunloopgetcurrent();","cfrunloopgetcurrent();获得当前线程的runloop对象","cfrunloopgetcurrent(void)","cfrunloopgetmain();","cfrunloopgetmain();获得主线程的runloop对象","cfrunloopmoderef","cfrunloopmoderef——其内部主要包括四个容器,分别用来存放source0、source1、observer以及tim","cfrunloopmoderef:runloop的运行模式","cfrunloopobservercreate(cfallocatorgetdefault(),","cfrunloopobserverref","cfrunloopobserverref——监听者,runloop状态变更的时,会通知监听者进行函数回调,ui界面的刷新就是在监听到runloop状态为beforewaiting时进行的。","cfrunloopobserverref:观察者,能够监听runloop的状态改变","cfrunloopref","cfrunloopref——这个就是runloop对象","cfrunloopref都代表runloop对象,nsrunloop是基于cfrunloopref的一层oc包装,cfrunloopref是开源的","cfrunloopref:代表runloop的对象","cfrunloopsourc","cfrunloopsourceref——分为source0和source1","cfrunloopsourceref:就是runloop模型图中提到的输入源/事件源","cfrunlooptimerref","cfrunlooptimerref——timer事件,包括我们设置的定时器事件、[performselector:","cfrunlooptimerref:就是runloop模型图中提到的定时源","cfrunloopwakeup","cfruntimebas","cftyperef","cgcontext","cgcontextref","cgcontext,而不是直接到了","cgfloat","cgimag","cgimagegetheight(imageref);","cgimagegetwidth(imageref);","cgimageref","cgimagesourcecreateimageatindex()","cgimagesourcecreateimageatindex(source,","cgimagesourcecreatewithdata","cgimagesourcecreatewithdata((__bridg","cgimagesourcecreatewithdata()","cgimagesourceref","cgimage位图","cgpoint","cgrect","cgrect,","cgrectgetwidth(full),","cgsize","cgsizemake(width,","chain","chain响应链传递一层层给根视图appdelegate处理。","chain派发。如果其不能处理事件,则交给手势处理或响应者链传递。","chameleon","change);","change:(nsdictionari","char","char*","char**","charles'","check","check)","check:","check_for_fork();","checkallmoduleswithselector:_cmd","checkenvironmentvari","checkifexistmessagesinmaindispatchqueue();","checknil,","checkout","checkpod","checksharedregiondis","checksum","check,如果为空就是调用lreturnzero,lreturnzero里调用messenger_end_nil*/","child","child(nil),","childnamecontext)","children","ci(持续集成)来说,十分有用。io","cl","clang","clang(swift","clang是实际的编译命令","clang,swift","class","class'","class(class),也就是","class(meta)","class)","class,","class.","class/method","class;","class]","class]));","class]);","class];","class]])","class]];","class],但是真正执行方法的对象还是aobject。","class_addmethod(self,","class_createinst","class_createinstance(class","class_createinstance(cls,","class_data_bits_t","class_getinstancemethod(self,","class_list_pointers(path,","class_ref_pointers(path,","class_ro_t","class_ro_t,这样我们即可以在运行时为","class_rw_t","class_rw_t*","class_rw_t中是如何存储方法的","class_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,其中包含了类的初始内容以及分类的内容。","class_symbols(path):","classname.c","classname.h。这样,编译器能大大提高","classname.m","classname.o","classname,而不是","classrwt","class。","class。下文会对此详细介绍。","class。可以这样理解,类是","class不相等。","class存储类的类方法(+),class的isa指针指向meta","class方法用于指回动态子类的父类","class的信息则由metaclass所有;","class(class),即","class(meta)。root","class(meta)的","class(meta)的父类是","class)","class)中寻找。这也就是为什么说,图","class),通过传入类(结构体)参数,会动态修改在该类中的一个","class)?","class,","class,class","class,和","class,所以和","clblock","clean","clear","cleardealloc","clearexclusive(&isa.bits);","client","clienthello","cliptobound","clone","close","close];","close_wait","close)造成的。所谓的半关闭,其实就是tcp提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。","closur","closure)”","closure):这是一个新引入的概念,指的是","clperson","cls)","cls);","cls){","cls,","cls;","cmd","cmp","cn),用于客户端验证身份。","cocoa","cocoapod","code","code)","code:","codegen","codesigcmd","codesigcmd,","coding.——key","cold","coldest","collectionview","collid","collis","color","color);","color:","colorwithalphacomponent:alpha]","colorwithalphacomponent:alpha]];","colorwithlightcolor:(uicolor","com.apple.compilers.llvm.clang.1_0.compil","com.apple.dt.xcod","combineoper","command","command+b),会执行如下过程","commandbuffer,接受opengl","commit","commit()","commit];","commit(提交位图)","commit(提交),打包","commit,这个","commit,首帧渲染数据打包发给","commmon","commom","common","common.","commonmode不是实际存在的一种mod","commonmode的特殊性","common,和前面提到的简化","common,用于放置一些通用业务和全局的基类。app","companion`","compat","compatiblewithtraitcollection:nil];","compilec","complet","completed:(nonnul","completed:(nul","completed:^(uiimag","completed:completedblock];","completed:nil];","completedblock","completedblock(image,","completedblock,","completedblock。","completedblock),并设置当前","completedblock),然后,将","completion:(nul","completion:(void","completion:^(id","completion:^(uiimag","completion:completedblock","completionblock","completionblocks)","complexparams,","complexparams:(nul","complexparams:nil","compositing操作,合并1、2的纹理;","composition,设置","compress","compressed,","con","concurr","cond","condit","condition,","condition:","configur","configureprocessrestrict","confirmed,armv7","conform","conformstoprotocol:@protocol(sdwebimageoperation)])","connect","connectivity:","connect,上传后会对__text段加密,加密会减弱","consid","consol","const","const*","constant","constexpr","constraint","constraints”来触发","constraints”标记(可以被","constrait","containspoint:和","content","context","context(字典)","context)","context);","context,","context.notifysingle(dyld_image_state_dependents_initialized,","context.notifysingle(dyld_image_state_initialized,","context:(nul","context:(sdwebimagecontext","context:(void","context:childnamecontext];","context:context","context:null];","context:personnamecontext];","context[sdwebimagecontextcachekeyfilter];","context[sdwebimagecontextsetimageoperationkey];","context使用总结:","context是","continu","continue;","control","conveni","convertpoint:point","cookies技术","copi","copy)","copy)nsstr","copy)void","copy,","copy;","copy];","copywithzone:nil];","copy函数","copy函数内部会调用_block_object_assign函数","copy到了堆上,","core","coreanim","coreanimation。这样一来,多线程间数据同步会增加一定的复杂度","coreanimation提交会话,包括自己和子树(view","coreanimation(通过","coregraph","corelib","corepools","cornerradiu","cornerradius+clipstobounds,原因就如同上面提到的,不得已只能另开一块内存来操作。而如果只是设置","cornerradius。另一个好处是,我们可以灵活地控制裁剪和缓存的时机,巧妙避开","cornerradius(如不需要剪切内容,只需要一个带圆角的边框),或者只是需要裁掉矩形区域以外的内容(虽然也是剪切,但是稍微想一下就可以发现,对于纯矩形而言,实现这个算法似乎并不需要另开内存),并不会触发离屏渲染。关于剪切圆角的性能优化,根据场景不同有几个方案可供选择,非常推荐阅读","correctli","cost","count","count;","counter","count、对象大小","cpp","cpu","cpu_subtype_t","cpu_type_t","cpusubtyp","cpusubtype;","cputyp","cputype;","cpu”","cpu会将处理视图和图层的层级关系打包,通过ipc(内部处理通信)通道提交给渲染服务,渲染服务由opengl","cpu和gpu通过总线连接,cpu中计算出的往往是bitmap位图,通过总线由合适的时机传递给gpu,gpu拿到位图后,渲染到帧缓存区framebuffer,然后由视频控制器根据vsync信号在指定时间之前去帧缓冲区提取内容,显示到屏幕上。","cpu工作内容:","cpu渲染职能","cpu渲染职能主要体现在以下5个方面:","cpu的调度","cpu阶段","cpu:","crash","crashifdeallocating)","crashifdeallocating);","crashifdeallocating:","crashifdeallocating:如果被弱引用的对象正在析构,此时再弱引用该对象,是否应该crash","crash。","crash的原因:过度释放。","crash,结合上面的代码我们知道消息转发会调用___forwarding___这个内部方法。___forwarding___方法调用顺序是forwardingtargetforselector:","crash,苹果提供了一个链接器标志","crash;而","creat","create.","crsetcrashlogmessage2(null);","crsetcrashlogmessage2(thi","ctmediat","ctor","ctors,","cur","cur.left","cur.left:","cur.right","cur.right:","cur:","current","currentdevice].systemversion.floatvalu","currentmode,","currentrunloop];","currentrunloop];获得当前线程的runloop对象","currentthread]","currentthread]);","custom","cv","cview","cxxconstruct","cycl","c、c++","c作为m和v之间的连接,","c则是控制器.","c在查找方法的时候会顺着list依次寻找,并且category的方法在原始方法list的前面,需要先被找到,如果直接用hash存方法,方法的顺序就没法保证。","c引用计数本质","c的方法列表是一个list,是有顺序的;object","c还需要及时提交相应更新到界面展示.","c,因为原理上大同小异。","c:categori","d","d)可以按需加载想要的categori","d.5,","d0,","d1","d1,","d2","d2,","d3","d3,","d8","d9d48845","d;","d_view","daemon","daemon,之后就可以使用启动闭包了。总之大部分情景下,这些工作都在","dangl","dark:","darkcolor:(uicolor","darkcolor:[self.darkcolor","darkcolor:darkcolor];","darkcolor:self.darkcolor];","darkcolor;","darkcolor。对于这种属性设置,需要在设置","darkcolor。这样","darkimage:(uiimag","darkimage。","data","data\",","data()","data(nil),","data)","data)—","data,","data.length;","data;","data;//数据","datarequest:datarequest];","datawithcontentsofurl:receipturl];","data。","data,数据段,读写,存储","date)","date.distantfuture)","date.distantpast)","ddebug=1","deadlock.","dealloc","dealloc:","deallocating;","deallocating:标志对象是否正在释放内存。","deallocation.\",","dealloc之后isa指向元类","dealloc之后动态子类不会销毁","dealloc方法用于释放时对isa指向进行操作","debug","debug\");","debug\",","debug/releas","debug:","debugmissingpools)","debugpoolallocation);","debugprint(\"equal\")","debugprint(\"not","declar","declarations翻译过来就是成员变量的声明","declaration,就是","def","default","default(包括首次读取),并使用3个分页。","defaultcenter]","defaultimagecache;","defaultimageloader;","defaultqueue]","defaultstringencod","defaultstringencoding];","defer","defin","defined(isa_bitfield)","degrad","deinit","delay","deleg","delegate:self","delegate;","delegatequeue:self.internaldelegatequeue];","delegate、创建动画等等,非常消耗资源。uiview","delegate,也就是","delet","delta","delta;","demo","demo.","demo[91107:2281575]","demo[91308:2303030]","demo[91661:2331296]","demo[92064:2370496]","demo{","deny(1)","depend","dependends,依赖动态库列表","depth(par","depth;","desc","desc;","descriptor","design","design?","design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。","dest","dest;","detail","details...","detect","dev/2019","develop","development;","diagnost","dict","dict,","dictionari","dictionarywithcapacity:3];","didfailwitherror:(nserror","didfinishlaunch","didfinishlaunchingwithoptions:(nsdictionari","didfinishlaunchnotif","didfinishlaunchnotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到","didreceivedata:(nsdata","didreceiveresponse:(ktvhcdatarespons","didreceiveresponse:(skproductsrespons","diff","differ","directori","directories:","disassembl","discardpolicy直接丢弃任务","disguise(object);","disguised_object","disguised_ptr_t","disguisedptr","disoldestpolicy丢掉等待最久的任务","dispaly]方法调用的时候,他会检查","dispalyerlayer方法是否被实现了,若没有实现则我们调用系统的绘制方法。首先","dispatch","dispatch_after()","dispatch_appli","dispatch_apply()","dispatch_apply(10,","dispatch_apply前","dispatch_apply后","dispatch_apply将指定的block追加到指定的队列中重复执行,并等到全部的处理执行结束——相当于线程安全的for循环","dispatch_apply的线程0","dispatch_async","dispatch_async()","dispatch_async(concurrent_queue,^{//任务});","dispatch_async(dispatch_get_global_queue(0,","dispatch_async(dispatch_get_main_queue(),","dispatch_async(dispatch_get_main_queue(),^{","dispatch_async(dispatch_get_main_queue(),^{})","dispatch_async(global_queue,^{","dispatch_async(queue,","dispatch_async(serial_queue,^{//任务});","dispatch_async(yyasynclayergetdisplayqueue(),","dispatch_async(队列,任务)","dispatch_barrier_async","dispatch_barrier_async()","dispatch_barrier_async(concurrent_queue,^{","dispatch_barrier_async(concurrent_queue,^{//写操作});","dispatch_barrier_async(queue,","dispatch_barrier_async:前面的任务执行完毕才会来到这里","dispatch_barrier_sync","dispatch_barrier_sync()","dispatch_barrier_sync:作用相同,但是这个会堵塞线程,影响后面的任务执行","dispatch_cancl","dispatch_cancle:","dispatch_get_global_queue()","dispatch_get_global_queue(0,","dispatch_get_global_queue(dispatch_queue_priority_default,","dispatch_get_main_queue()","dispatch_get_main_queue(),","dispatch_get_main_queue();","dispatch_group_async()","dispatch_group_async(group,","dispatch_group_create()","dispatch_group_create();","dispatch_group_enter()/","dispatch_group_enter(group);","dispatch_group_enter和dispatch_group_leave成对出现,使进出组的逻辑更加清晰","dispatch_group_leav","dispatch_group_leave()","dispatch_group_leave(group);","dispatch_group_notify()","dispatch_group_notify(group,","dispatch_group_notify在dispatch_group_async执行结束之后会受到通知","dispatch_group_t","dispatch_group_t:调度组将任务分组执行,能监听任务组完成,并设置等待时间","dispatch_group_wait()","dispatch_group_wait(dispatch_group_t","dispatch_group_wait(group,","dispatch_main_async_safe(^{","dispatch_once(&oncepredicate,","dispatch_once(&oncetoken,","dispatch_once()","dispatch_once_t","dispatch_queue_concurrent);","dispatch_queue_concurrent);创建并发队列","dispatch_queue_create(\"com.hackemist.sdimagecache\",","dispatch_queue_create(\"felix\",","dispatch_queue_create(\"parallel\",","dispatch_queue_create()","dispatch_queue_priority_background:","dispatch_queue_priority_default:","dispatch_queue_priority_high:","dispatch_queue_priority_low:","dispatch_queue_serial);","dispatch_queue_serial)创建串行队列","dispatch_queue_t","dispatch_resum","dispatch_resume(_timer);","dispatch_resume:","dispatch_resume和dispatch_suspend调用次数需要平衡","dispatch_semaphore_creat()","dispatch_semaphore_create():创建信号量","dispatch_semaphore_create(0);","dispatch_semaphore_signal()","dispatch_semaphore_signal():释放信号量,信号量加1。当信号量>=","dispatch_semaphore_t","dispatch_semaphore_wait()","dispatch_semaphore_wait():等待信号量,信号量减1。当信号量时会阻塞当前线程,根据传入的等待时间决定接下来的操作——如果永久等待将等到信号(signal)才执行下去","dispatch_sourc","dispatch_source_cr","dispatch_source_create(dispatch_source_type_timer,","dispatch_source_create:","dispatch_source_get_data","dispatch_source_get_data:","dispatch_source_merge_data","dispatch_source_merge_data:","dispatch_source_set_event_handl","dispatch_source_set_event_handler(_timer,","dispatch_source_set_event_handler:","dispatch_source_set_timer(_timer,","dispatch_source_t","dispatch_source是一种基本的数据类型,可以用来监听一些底层的系统事件","dispatch_suspend","dispatch_suspend:","dispatch_sync","dispatch_sync()","dispatch_sync(concurrent_queue,^{","dispatch_sync(concurrent_queue,^{//任务});","dispatch_sync(global_queue,^{","dispatch_sync(queue,","dispatch_sync(serial_queue,^{//任务});","dispatch_sync(serialqueue,^{","dispatch_sync(队列,任务)","dispatch_sync,都会在当前线程上执行该任务,而不继续走下去,直到任务执行完成","dispatch_time(dispatch_time_now,","dispatch_time_forever);","dispatch_time_now);","dispatch_time_now,","dispatch_time_t","dispatch,它是纯","dispaylay","dispaylayer:]","display]","display],而这个方法会判断是否实现了displaylayer这个方法,如果没有实现,那么走系统调用,如果实现了就为我们提供了异步绘制的入口。具体可以参看下面的流程图","display];","display],如果","displaylink","displaysasynchronously;","display(绘制","display(绘制),源头是","display,drawrect","dispose函数","dispose函数内部会调用_block_object_dispose函数","distanc","distinguish","distribut","dladdr()","dlclose()","dlopen()","dlopen()、dlsym()、dladdr()、all_image_infos。","dlrelease,它可能并不会真的关闭","dlsym()","dm_","dm_dynamicbackgroundcolor,","dm_dynamictintcolor","dm_dynamictintcolor:","dm_original_setbackgroundcolor","dm_original_setbackgroundcolor(self,","dm_setbackgroundcolor(uiview","dm_settintcolor(_","dm_settintcolor(color)","dm_updatedynamiccolor","dm_updatedynamiccolors()","dm_updatedynamicimag","dm_updatedynamicimages()","dm_willmove(towindow","dm_willmove(towindow:","dmdynamiccolor","dmdynamiccolorproxi","dmdynamiccolorproxy。","dmdynamiccolorproxy)赋值给","dmdynamicimageproxi","dmdynamicimageproxy。","dmdynamicimageproxy,由","dmnamespac","dmnamespace,","dmtraitcollectiondidchang","dmuserinterfacestyledark)","dn","dns造成的域名劫持问题和调度不精准问题。","dns,能够避免local","do","doc.","document","document.onload","document.onload事件也提前,2357","documentation,","doesnotrecognizeselector\",","dog:","doimageinit(context);","doiniti","domain","domodinitfunct","domodinitfunctions(context);","domodinitfunctions函数,内部会调用全局c++对象的构造函数,即","don't","done","done.","done:","done;","done分析:","don’t","dos/ddo","dosomething];","doubl","double)","down","download","downloaddata","downloadeddata:(nul","downloadeddata:downloadeddata","downloadedimage:(nul","downloadedimage:downloadedimag","downloadimagewithurl:url","downloadoperationcanceltoken","draw","drawincontext:]方法,进而调用[uiview","drawincontext中绘制的东西放入到纹理的位图数据中。","drawincontext方法时,cor","drawlayer:incontext:","drawrect","drawrect:]方法。","drawrect:方法),需要分配一个内存占用较高的上下文context,与此同时,calay","drawrect];","drawrect方法内为何第一行代码总要获取图形的上下文?","drawrect)","drawrect,此时打开","dsym","dtor","dtor);","duplicate()","duplicate),单独一个","dure","dyld","dyld2","dyld2的过程是:加载dyld到app进程,加载动态库(包括所依赖的所有动态库),rebase,bind,初始化object","dyld3","dyld3.0。dyld(动态连接器)的更新对","dyld3::scopedtim","dyld3。","dyld3的out","dyld3,dyld3","dyld3,官方数据","dyld3,官方数据[3]显示,过去四年新发布的设备中有","dyld::_main","dyld::_main()","dyld::_main(appsmachheader,","dyld::registerobjcnotifiers(mapped,","dyld::throwf(\"malform","dyld_image_info","dyld_image_st","dyld_image_state_dependents_initialized;","dyld_image_state_initialized)","dyld_image_state_initialized;","dyld_initializer_support","dyld_insert_librari","dyld_print_env,","dyld_print_opt","dyld_register_image_state_change_handler(dyld_image_state_bound,1/*batch*/,","dyld_register_image_state_change_handler(dyld_image_state_dependents_initialized,","dyldbootstrap","dyldbootstrap::start","dyldbootstrap::start()","dyldsmachheader,","dyld。","dyld。dyld","dyld将应用进程加载到内存中时","dyld,dyld","dyld,即处理由","dyld,把入口地址设为_dyld_start","dylib","dylib。并且,苹果的平台有一些防止","dynam","dynamically动态库文件、mach","dynamiccolor","dynamiccolor?","dynamictintcolorkey","d开头的,指的是预编译宏,通过这些宏可以实现条件编译","e","e)","e776f56b3e60","e;","e;}","e_view","each","eba0","ececut","ed3de6492ad1@3x.ktx","editor","elf","else:","emb","empti","empty()","empty_pool_placehold","empty_pool_placeholder)","empty_pool_placeholder);","encryptcmd","encryptcmd)","encryption_info_command**","end","end()","end();","end_entri","endian","ensur","entitlements:","entrant","entri","entry(即将进入loop),其回调内会调用","entry);","entry,","entry.cat","entry.hi","entry.hi);","enum","enumerateobjectsusingblock:^(yytransact","environ_init();","environment\"","environment—a","envp","envp,","envp;","envp[],","epluspan4phone,目录如下","equal","equal\")","error","error);","error,","error.","error.cod","error:(nserror","error:(nul","error:error","error:error];","errorforexception:exception];","error,callcompletionblock","es","es)","es)来生成","essenti","establish","es交互","es作为cor","es做gpu渲染,coregraphics做cpu渲染,但在本文中,以及官方文档都是将opengl与gpu分开说明。","es和gpu组成。","es坐标是以浮点数来存储,即使是其他数据类型的顶点数据也会被转化成浮点型;","es处理完毕的渲染指令;","es层和uiview层、statusbar层等,在后帧缓存混合产生最终的颜色,并切换前后帧缓存;","es应用开发实践指南:ios卷》,因为篇幅过长,就不赘述opengl的原理。","es是对图层进行取色,采样,生成纹理,绑定数据,生成前后帧缓存。","es渲染职能","es纹理,并确保在这个图层中的位图被上传到对应的纹理中。当你重写","es进行纹理生成和着色。生成前后帧缓存,再根据显示硬件的刷新频率,一般以设备的vsync信号和cadisplaylink为标准,进行前后帧缓存的切换。","es阶段","es,现在慢慢转到了","etc.","event(如果有)并在此前通知","event先告诉source1(mach_port),source1唤醒runloop,","event,其","event,随后用","everyth","example,","example:","example:00000001030bcd20","example:00000001030cec80","exception\",","exception\\nerror","exception_init();","exchang","exclusion,缩写mutex)防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒","execut","execv","exist","exit","exit(即将退出loop)","exo","expens","explor","export","ext","extens","extension(扩展)","extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随之一起消亡。extension一般用来隐藏类的私有信息,你必须有一个类的源码才能为一个类添加extension,所以你无法为系统的类比如nsstring添加extension。","extern","extra","extra_rc","extra_rc:当表示该对象的引⽤计数值,实际上是引⽤计数值减","extrabytes){","extrabytes,","eznmxzawtlhpmadnbyhafnpqpizo/build/intermediates/epluspan4phone.build/debug","f","f.close()","f.write(","f.write(\"\\n\")","f.write(unref_symble+\"\\n\")","f8c4a62eafbc/library/splashboard/snapshots/baidu.testlaunchscreen","facad","facaded.","facebook","fact","failabl","failed\\nerror","failedurl","failedurlslock;","failedurls。","failedurls:","fals","false,","false/*checknil*/)","false/*checknil*/,","false;","far","fasm","fast","fast)","fast_","fast_data_mask","fast_data_mask);","fast_has_default_rr","fast_is_swift","fast_requires_raw_isa","fastbot:行进中的智能","fastcacheoccupi","fastpath(x)","fat","fatal","fatalerror(\"init(coder:)","father","father,然后从这个","fault","fault。","fault造成时间的损耗","fault),分配物理内存,有需要的话会从磁盘","fault),因此阻塞进程。此时就需要先加载数据到物理内存,然后再继续访问。这个对性能是有一定影响的。","fault,将指令从磁盘加载到物理内存中并进行验签操作(app","featur","fetch","fetch_cache(no);","fetch_cache(yes);","fetching,","fhasinitializers);","field","file","file(.o)顺序写文件,按照","file:","filehandleforreadingatpath:self.unititem.absolutepath];","filehandleforwritingatpath:self.unititem.absolutepath];","filepath","filepathwithurl:self.request.url","files:","filet","filetype;","file,我们可以窥探二进制文件中布局。","fill。","fill,是因为全局变量的初始值往往都是","filter_super_class(unref_symbols):","fin","fin_wait1","find","finder","finish","finished\",","finished)","finished);","finished,","finished:(bool)finish","finished:finish","finished。执行","finishtransaction:transcation];","first","firstsubclass;","firstunus","firstunused;","fishhook","fixm","fixup","fixup,包括","fixup:bind","flag","flag1\");","flags;","flags=0)","flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的","flags,这些","float)的简单指针。可以在.h","fluentdarkmodekit","fluentdarkmodekit的代理","flush_caches)","flushcaches(cls);","fmessag","fobjc","follow","for(int","for(unsign","for:","for?","forget)”的原则。","forked:(nsstr","forkey:(nsstring*)key{","forkey:(nul","forkey:key];","forkey:validoperationkey];","forkeypath:@\"name\"","forkeypath:@\"name\"];","forkeypath:@\"person.number\")","forkey用于简单路径,forkeypath用于复合路径(比如key是对象,可以直接赋值给这个对象的属性.eg:setvalue:@100","form","format","format\";","formatedlogobject:stringwithformat1];","formerli","formode:nsdefaultrunloopmode];","forward","forwardingtargetforselector","forwardingtargetforselector:aselector];","forwardingtargetforselector:方法,将协议方法的","forwardingtargetforselector:用于将","forwardingtargetforselector:的使用逻辑非常简单,应用场景包括:","forwardingtargetforselector:阶段完成更省事儿;如果需要更高阶的玩法,或许真的只有","forwardingtargetforselector:,可以通过组合的方式,模拟出多继承的某些特性。","forwardinvoc","forwardinvocation:aninvocation];","forwardinvocation:就不同了,在它身上可以动的手脚比较多,不光可以修改","forwardinvocation:方法,用户可以在此过程中修改","forwardinvocation:的代价比较大一些,毕竟还会触发","forwardinvocation:的入参。","forwardinvocation:能满足需求。","forwardinvocation:要和","for循环","for循环在block内部对同一个对象进行了多次锁操作,直到这个资源身上挂着n把锁,最后大家都无法一次性解锁——找不到解锁的出口","for循环才会,runloop才会进行休眠,如果说是按照系统的autoreleasepool来说,应该是休眠前才释放,但是,文中demo内存并没有显示出循环中内存暴涨,这也说明了,手动autorelesepool","for循环遍历链表,如果有符合的就goto","found","found,","found;","found?","foundat","foundation.framework,afnetworking.framework,alipay.fframework","foundation.framework,afnetworking.framework…","foundation:","foundation下载到源码来一探究竟","foundation框架下关于runloop的5个类:","fp","fp;","fps),也就是减小","frame","frame)","frame/bounds/transform)等实际上都是","framewithnosav","framework","framework,例如","framework,运行脚本来链接三方库的静态","framework,需要注意资源读取的问题。因为传统的资源读取方式无法定位到","frame、修改","framing),我们重新回顾一下粘包问题出现的核心原因:","free","free(mlists);","free(proplists);","free(protolists);","free,不走引用计数那一套逻辑,由系统来处理释放","frombundl","frombundle);","fsck","fsegmentsarraycount","fstate","fstate;","fuckingclangwarn","full","full()","full.","func","function","function.","futur","fxperson","fxperson,实例对象isa指向","f开头的,指定了采用arc等信息。这个也就是为什么你可以对单独的一个.m文件采用非arc编程。","gcd","gcdtimer如果存在循环引用,使用weak+strong或者提前调用dispatch_source_cancel取消tim","gcdtimer没有repeat,需要封装来增加标志位控制","gcdtimer需要强持有,否则出了作用域立即释放,也就没有了事件回调","gcdtimer默认是挂起状态,需要手动激活","gcd仅仅支持fifo队列,不支持异步操作之间的依赖关系设置。而nsoperation中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整","gcd优点:gcd主要与block结合使用。","gcd全称是grand","gcd实现简单线程同步,包括子线程分派,实现多读单写情景,nsoperation方便任务状态控制,添加依赖移除依赖,nsthread多用于常用线程","gcd是底层的c语言构成的api,而nsoperationqueue及相关对象是objc的对象。在gcd中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而operation作为一个对象,为我们提供了更多的选择;","gcd更接近底层,gcd在追求性能的底层操作来说,是速度最快的","gcd的两个核心概念是:任务和队列.","gcd的优势:","gem","gener","geometr","gestur","gesturerecognizer:shouldberequiredtofailbygesturerecognizer:","gesturerecognizer:shouldreceivepress:","gesturerecognizershouldbegin:","getbit(uintptr_t","getgoodslist];","gethostinfo","getisa()","getisa();","getproductinfo:nil];","getrendered:viewcontrollerclass];","getter","getter=isrunning)","getter。","getter方法亦是如此:atomic修饰的属性进行加锁处理","get类似","git","git:","git://","git?","github","github.com","gitlab","git、svn","git,代码提交的","given","gl","glinkcontext);","glinkcontext.bindflat","glinkcontext.linkingmainexecut","glinkcontext.prebindusag","global","go","good","good,","goodmodelprotocol,","goods.name;","goods.price;","goods;","goods_getgoodslist];","goodsbyid:goodsid];","goodsmodul","goodsmoduleservic","googl","goto","gpu","gpu。","gpu。除此以外,有时候也会遇到","gpu会根据生成的前后帧缓存数据,根据实际情况进行合成,其中造成gpu渲染负担的一般是:离屏渲染,图层混合,延迟加载。","gpu工作内容:","gpu执行绘制指令","gpu渲染职能","gpu用来采集图片和形状,运行变换,应用文理和混合,最终把它们输送到屏幕上。","gpu能处理的最大纹理是4096","gpu阶段","gpu:","graphic","graphics中,都需要对它解压,这样的话,对于一个较大的图片,都会占用一定的时间。","graphics会将你在","graphics写入图层","graphics绘制","graphics绘制就会变得十分缓慢,所以在一个对性能十分挑剔的场景下这样做十分不好。","graphics)","green","grep","group","group,","group}","group}/1ffd332b","group}/96920d11","group}/98f7b5b1","group}/d9d48845","group}/。","group};","group:需要等待的调度组","gseventreceiverunloopmode:","guard","guid","guide中有一段底层实现原理的叙述","guide是这么描述context的","guy","h5","half","handl","handle_msg;","handler","handleurl:kroutegoodslist];","handleurl:urlstr","handleurl:urlstr];","handshake),客户端或服务器均可主动发起挥手动作。","handshake)其实就是指建立一个tcp连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立tcp连接,并同步连接双方的序列号和确认号,交换tcp窗口大小信息。","happen","hard","hardcod","hardcode,","hardcode.","has_assoc","has_assoc:关联对象标志位,0没有,1存在。","has_cxx_dtor","has_cxx_dtor:该对象是否有","has_sidetable_rc","has_sidetable_rc。","has_sidetable_rc:当对象引⽤技术⼤于","hascustomawz","hascustomawz()","hascustomrr","hascxxctor","hascxxctor)","hascxxdtor","hascxxdtor);","hascxxtor()和hascxxdtor","hasdefaultawz()","hasdefaultawz()的方法实现如下:","hasdefaultrr()","hash","hash。这里将","hash算法","hasiniti","hasmsg","hate","haveemptypoolplaceholder()","havenew:","havenew:weak指针是否需要指向一个新引用","haveold:","haveold:weak指针之前是否已经指向了一个弱引用","hdibjeafcg","head","head)","header","headers:request.allheaderfields];","headers,分析依赖的动态库,查找需要rebas","height","height);","height值是我们在外部重新为其赋的20。","held","here.","here...","hidden","hidjebfgca","hierarchy)的layout状态等;","high","hit","hittest","hittest:insidepoint","hittest:point","hittest:withevent:","hittest:withevent:和pointinside:withevent:方法寻找出操作初始点所在视图。查找最合适的view的过程是一个递归的过程。","hittest:withevent:方法内部会通过调用这个方法,来判断点击区域是否在视图上,是则返回yes,不是则返回no。","hittest:来判断是否一个触点在图层的范围之内。","hittestview:%@\",view);","hittestview:(null)","hittestview:>","hitview;","hiwat(par","hiwat;","hold","hook","hot","hotpag","hotpage());","hotpage();","hotpage();获取。","http","http://iphonedevwiki.net/index.php/dyld_shared_cach","http://lists.llvm.org/pipermail/llvm","http://sns.whalecloud.com/sina2/callback","http://www.ichenfei.com/2019/05/02/%e4%ba%8c%e5%8f%89%e6%a0%91%e7%9a%84%e5%89%8d%e4%b8%ad%e5%90%8e%e5%ba%8f%e9%81%8d%e5%8e%86%e7%9a%84%e9%9d%9e%e9%80%92%e5%bd%92%e5%ae%9e%e7%8e%b0(python)/","httpconnect","httpdn","httpdns使用http协议进行域名解析,代替现有基于udp的dns协议,域名解析请求直接发送到阿里云的httpdns服务器,从而绕过运营商的loc","httpdns是一款递归dns服务,与权威dns不同,httpdns并不具备决定解析结果的能力,而是主要负责解析过程的实现。","httpdns是通过ip直接请求http获取服务器a记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟。httpdns和localdns最大的区别在与:前者使用http协议进行域名解析;后者协议运行在udp协议之上,使用端口号53。","httpdns深度解析","httprespons","https://developer.apple.com/support/app","https://draveness.me/whi","https://juejin.cn/post/6844904079957688328","https://juejin.im/post/5a3b14f36fb9a045104aa6c8","https://juejin.im/post/5c87a218f265da2dd868cfcd","https://juejin.im/post/5d4136295188255d5861d0e4","https://juejin.im/post/5dd24e3ff265da0bbc3067a","https://medium.com/@jasonyuh/%e5%85%b3%e4%ba%8e%e7%a6%bb%e5%b1%8f%e6%b8%b2%e6%9f%93%e7%9a%84%e6%b7%b1%e5%85%a5%e7%a0%94%e7%a9%b6","https://mp.weixin.qq.com/s/32w4orjwvrkkxwsczjkxga","https://stackoverflow.com/questions/42677534/swizzl","https://www.jianshu.com/p/0a4e5b944d7d","https://www.objc.io/issues/5","https协议:点外卖的过程原来这么复杂","https和http的区别主要如下:","https是安全的http.","https的验证流程","https运行流程","https都是用了哪些加密手段?","http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了ssl(secur","hysteresis:","h、ecc等。在客户端与服务器相互验证的过程中用的就是非对称加密算法","h右子树为空,则返回至d,此时第二次到达d,故输出d;","h右子树为空,则返回至h,此时第三次到达h,故输出h;","i++)","i.","i/o创建cgimageref内存映射数据。此时,图像尚未解码。","i/o详解的文章","i;","i=0;","i=0时有可能先打印,也可能会先发出wait信号量","i=1时有可能先打印,也可能会先发出wait信号量","i=1,则该结点是二叉树的根,无双亲,","iap","iap,交易是一样的。但是验证交易这一环需要移动端来驱动我们自己的服务器来进行查询,这是第一个坑,先记一笔。另外一点,iap","iap,同时也会对比支付宝和微信支付,从而引出","iap,苹果不是和你商量,而是强制要求,爸爸说怎么样,就怎么样。当然,这篇文章解决不了这个问题,所以也只是说说而已。上面说了微信公众号的事情,虽然它不是","iar","icon","icon,会将这个程序启动。","id","id)(image.cgimage);","id)addhandlersforprogress:(nul","id)handleurl:(nonnul","id)oper","id.","id2data(id","id2data(obj,","id2data先将返回对象syncdata类型的result准备好,后续进行数据填充","id_objc_rootalloc(class","id_objc_rootinit(id","identifier\"","id,默认值为当前","if([key","if(self)","if(t==null)","if(vc)","ignor","ii.","iii.","im","imag","image,","image:","image;),图像数据会被解码,变成rgb的颜色数据。","imageasset","imagecache;","imagecontext","imagecontext)。","imagedata","imagedata,","imagedata:(nul","imagedata:nil","imagedata。","imageload","imageloader*","imageloader::kusenoprebinding;","imageloader::rpathchain(null,","imageloader;","imageloadermacho","imageloadermacho*","imageloadermacho::doinitialization(const","imageloadermacho::instantiatemainexecutable(mh,","imageloadermacho::sniffloadcommands(const","imagemanager:self","imagenam","imagenamed:","imagenamed:@\"icon_name\"","imageref","imagerefresh","imageurl)","imageurl);","imageurl,","imageurl:url];","imagewithcontentsoffile:","imagewithcontentsoffile:]使用imag","imagewithdata:","imagewithlightimage:(uiimag","image、data","image。","image,包括可执行文件、动态库等,imageload","immutable对象","imp","imp;","impl.flag","impl.funcptr","impl.isa","impl;","implement","implementation.","implemented\")","implement),用于实现这几个方法,然后","implicit","import","imp代表函数的具体实现,存储的内容是函数地址。也就是说当找到imp的时候就可以找到函数实现,进而对函数进行调用。","imp,此时会进入一个for循环,沿着类的父类一直往上找,直接找到","in","inbundle:bundl","incache,","includ","incontext:(cgcontextref)ctx;方法进行绘制。但通常我们会使用uiview的drawrect方法","incontext:(cgcontextref)ctx方法,否则调用","incorrectli","increas","increase];","increase方法是使用","independ","index","index)","index,","indexforpoint","indexforpointer(const","indexpath","indicator。调用","info","info.plist","infocount,","infodictionary]","infolist[])","infoplist","infoq","infrastructure,pki)的核心。ca是负责签发证书、认证证书、管理已颁发证书的机关。","init","init'","init()","init(_","init(_:light:dark:)","init(age:","init(condition:","init(frame:","init(name:","init,","init;","init?(coder:","init?(name:","init]","init])","init];","init]时,","init]的时候,调用了那些方法","initi","initialize\");","initialize,","initialize]","initialize],","initializemainexecut","initializemainexecutable();","initializer.","initializers)","initializers),表示在某些情况下会创建实例失败。","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在+load","initializer,做一些最基本的初始化:","initializer:","initialize实现原理","initialize方法,所以调用父类的initialize,","initialize,加载","initialize,加载or调用的时候,都会先调用父类对应的","initialize,因为是mnteacher的调用,所以会先让父类mnperson","initialize:","initwithcoder:方法实现序列化,打开","initwithconnection:self","initwithframe:","initwithframe:cgrectoffset(full,","initwithframe:fram","initwithframe:frame])","initwithframe:,导致父类nsobject的指定初始化器","initwithkeyoptions:nspointerfunctionsstrongmemori","initwithlightcolor:[self.lightcolor","initwithlightcolor:lightcolor","initwithlightcolor:self.lightcolor","initwithpath:path","initwithproductidentifiers:identifiers];","initwithrequest:request];","initwithrootviewcontroller:[uiviewcontrol","initwithsources:sourc","initwithtarget:self","initwithurl:url","init退化成便利初始化器。所以当调用[[uiview","init里面必然调用了","inlin","inline_referr","inline_referrers[1]","inline_referrers[i])","inline_referrers[weak_inline_count];","inline。","inordertraversal(self,","inordertraverse(bitre","inordertraverse(t","input","insert","insertobject:category_method","insertunititem:self.unititem];","insid","insidepoint","inst)","inst),","inst);","inst,","installing,保证只有我们在安装到设备上的时候,才会执行这段脚本。重命名脚本的名字为","instanc","instance_s","instancemethodsignatureforselector:@selector(sendmessage)];","instances","instancesize;","instancesrespondtoselector:等来确定对象是否可以对某个sel做出响应,而在oc消息转发机制被触发之前,对应的类","instancestart;","instancetype)initwithcoder:(nscod","instance的信息由class所有;","instanti","instantiatefromloadedimage(const","instantiatefromloadedimage(mainexecutablemh,","instantiatemainexecut","instead.\");","instrument","int","int(^block)(int)","int)","int*","int,","int.","int32_t","int:","int[]","int[]{2,","interfac","intermedi","intern","interview","interview03","into)","intptr_t","introduct","invalidateinstrinsiccontentsize方法自动设置)。如果它认为这些约束需要被更新,它会立即触发","invoc","invok","invoke];","invokewithtarget:[bobject","invokewithtarget:self.resolvedcolor];","in。","in。假如我们把方法","in,runloop","in,从而提升启动速度。","in,从而提升启动速度。链接器","in,其实也比较容易理解,因为启动的会读写二进制中的很多内容。pag","in,影响","in,把对应的文件内容读入物理内存。","io","iohidev","iokit.framework","iokit将触摸事件封装成一个iohidevent对象,并通过mach","ioqueu","ios(2.0),","ios/android","ios10","ios10.0","ios12之前打印指针的值能很清晰的看到数据等信息,ios12之后系统则打印的完全看不懂了,看了源代码发现苹果是做了混淆,让我们不能直接得到值,从而避免我们去很容易就伪造出一个tag","ios12之后输出:","ios13.0","ios7","ios7/ios7","ios9.x","ios9后,","ios:关于sup","ioscodelearning[18165:5967575]","ioscodelearning[34431:7234182]","ios中__block","ios中kvo分为自动监听和手动触发两种形式","ios中runloop的api","ios中,使用","ios事件响应链中hit","ios事件处理,看我就够了~","ios只会当视图控制器的视图显示到屏幕上时才会加载它。这对内存使用和程序启动时间很有好处,但是当呈现到屏幕上之前,按下按钮导致的许多工作都会不能被及时响应。比如控制器从数据库中获取数据,或者视图","ios启动优化《原理篇》","ios启动图异常修复方案","ios图片加载速度极限优化—fastimagecache解析","ios底层探索:isa结构分析","ios底层探索:结构体内存对齐","ios性能优化系列篇之“列表流畅度优化”","ios技术总结","ios探索","ios渲染视图的核心是cor","ios界面渲染流程分析","ios的","ios系统为我们提供的几钟多线程技术各自的特点是怎样的","ios系统当中主要提供3种,gcd、nsoperation&nsoperationqueue、nsthread,一般使用","ios结构体内存对齐","ios触摸事件全家桶","ios,android,weex/rn);","ios,tvos,watcho","io,把数据读入物理内存","ip","ipa","ipad","ipa,重命名为.","ipc","ipc内部通信(进程间通信)","ipc通信","iphon","iphone4","iphoneo","iphoneos/.build/","iphonesimulator/epluspan4phone.build","iphonesimulator10.1.sdk","iphone时这个值为8","ip列表更换方便。","ip直连方案有下面几大优势:","iquot","ir","ir(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。c","ir)、优化器(优化","ir)、后端(生成汇编","ir,ir","ir:到这里","isa","isa()","isa();","isa,","isa.h","isa;","isa_bitfield;","isa_t","isa_t()","isa_t(uintptr_t","isa_t、cls、","isa。(isa","isa指针","isa指针保存着指向类对象的内存地址,类对象全局只有一个,因此每个类创建出来的对象都会默认有一个isa属性,保存类对象的地址,也就是class,通过class就可以查询到这个对象的属性和方法,协议等;","isa指针是什么?","isa是什么","isa本质是一个isa_t的类型,那isa_t是一个联合体位域结构","isa,所以,我们得到的结果是:son。","isa,指向类对象的,这就是为什么可以对","iscancelled()","iscancelled);","iscompatiblemacho","iscompatiblemacho((const","isequaltostring:@\"age\"]){","isequaltostring:@\"name\"])","isequaltostring:sdwebimageerrordomain]","isfinished==y","isinsid","isinside:%d\",isinside);","isinside:0","isinside:1","isinside;","iskey","iskindofclass","iskindofclass:[dmdynamiccolor","iskindofclass:[ktvhcdatafilesourc","iskindofclass:[nsobject","iskindofclass:[sark","iskindofclass:[uiviewcontrol","iskindofclass:aclass];","iskindofclass,第一次","iskindofclass,第一次判断先判断","ismemberofclass","ismemberofclass:[nsobject","ismemberofclass:[sark","ismeta","isn","isn(c)。此时客户端处于","isn(initi","isn(s)。同时会把客户端的","issu","isswift()","isysroot","it++)","it=sallimages.begin();","item","item.length","item.offset","item.offset;","itemmax","itemmin","itemmin)","itself","itun","ivar","ivar)","ivar_list_t","ivar_offset);","ivar_t","ivarlayout;","ivars;","ivar,然后调用","i为叶子结点,则返回到d,d左右子树已经访问完毕,则返回到b,进而到b右子树,第一次到达e,故输出e;","j","january/129268.html","javascript,python","job.","journey","jpeg/png","js","json","json,","juejin.cn","jump()","kcfrunloopbeforewait","kcfrunloopbeforewaiting);","kcfrunloopcommonmodes);","kcfrunloopcommonmodes:","kcfrunloopdefaultmode:","kcfrunloopentri","kcfrunloopexit","kcfrunloopexit,","keep","keepalivetim","keepalivetime参数的时间单位","key","key)","key,","keys,","keywindow遍历subviews的hittest:withevent:方法,找到点击区域内合适的视图来处理事件。","key。可以说,","key和runloop","key)并用公钥加密,让服务端用私钥解密,解密后就用这个对称密钥进行传输了,并且能够说明服务端确实是私钥的持有者。","key,做成了一个弱引用散列。","key,所有指向它的弱引用指针数组作为","key:关联对象的key,一般传入一个常量的地址作为唯一标识","key:关联对象的key,传入设置时候传入的key","knilpthreadt))","know","known","ktvhcdatafilesource的readdataoflength实现比较明显,就是单纯从文件里读取数据。","ktvhcdatanetworksourc","ktvhcdataread","ktvhcdatarequest","ktvhcdatasourcemanag","ktvhcdataunit","ktvhchttpconnect","ktvhchttprespons","ktvhclogdatanetworksource(@\"%p,","ktvhclogdatareader(@\"%p,","ktvhclogdatasourcemanager(@\"%p,","ktvhcloghttpconnection(@\"%p,","ktvhcloghttpresponse(@\"%p,","ktvhcmakerange(offset,","ktvhcrang","ktvhcrangegetlength(obj.readrange);","ktvhttpcach","ktvhttpcache的使用比较简单:","ktx。","kvc","kvc原理及自定义中有提到自动生成的setter方法会根据修饰符不同调用不同方法,最后统一调用reallysetproperty方法,其中就有一段关于atomic修饰词的代码","kvo","kvo使用三部曲:","kvo使用及注意点","kvo初探","kvo原理——isa","kvo原理及自定义","kvo对被监听对象无侵入性,不需要修改其内部代码即可实现监听","kvo是使用isa","kvo是基于runtime机制实现的","kvo的这套实现机制中苹果还偷偷重写了class方法,让我们误认为还是使用的当前类,从而达到隐藏生成的派生类","kvo(key","l","l:","l=none,","landscap","lang=en_us.u","languages,","last_ack","launch","launched】,接着运行工程,在控制台应用中搜索","launchiamge。","launchscreen.storyboard","layer","layer.cont","layer依次画好,","layer树的变化","layer)协议用于对http协议传输的数据进行加密","layer)必须是静态的,因为一旦发生变化(如","layer)都还没有被组合到一起,怎么可能在第一步就画出只有完成最后一步之后才能知道的形状呢?这样一来又只能另外申请一块内存,把本体内容都先画好,再根据渲染结果的形状,添加阴影到","layer,rend","layer,以及圆角、阴影、group","layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改","layouifneeded]","layout","layoutifneed","layoutifneeded()","layoutifneeded,以确保在动画开始之前传播所有的布局更新。在","layoutifneeded,则布局和重绘会立即发生并在函数返回之前完成(除非有正在运行中的动画)。这个方法在你需要依赖新布局,无法等到下一次","layoutifneeded,并且两次之间没有更新视图,第二个调用同样不会触发","layoutsublayers];","layoutsublayers],这时候","layoutsubview","layoutsubviews()","layoutsubviews];","layoutsubview。如果你在同一个","layout”","layout(ui布局,文本计算)","layout(布局),源头是","layout,viewdidload","lazi","lc_dyld_info_onyl","lc_load_dylib","lc_load_dylinker,找到","ld","ldr","leak","leaks\"","leav","leetcod","left","len","len(filter_prefix)","len(lst):","len(nums)","len(reserved_prefix)","len(subclass_name)","len(superclass_name)","len(unref_symbles))","length","length=0","leopard","lessthanhalffull()","level","lexttag","lexttag:","lgetisadon","lgetisadone:","lgstruct1","lgstruct1、lgstruct2两个结构体拥有的变量数量跟类型都大同小异,到底是什么原因导致两个结构体在内存大小的表现上会有截然不同的结果?lgstruct3的内存大小又是如何计算出来的?","lgstruct2","lgstruct3","lib","libcount","libcount,","libdispatch","libdispatch_init","libobjc","librari","library/splashboard/snapshots/","library,是因为链接的过程中只需要符号就可以了,所以","libsystem","libsystem)","libsysteminiti","libsystem,因为他是所有依赖的源头。","lifecycl","lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。","lifetime),它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为tcp报文段以ip数据报在网络内传输,而ip数据报则有限制其生存时间的ttl字段。","light:","lightcolor","lightcolor;","lightimag","lilo","limit)","limit:","line","line[0:4][::","line[0])","line[16:].strip().split('","line[2])","line[8:12][::","lines:","link","link(smainexecutable,","linkcontext&","linkedit_data_command**","linkedit,启动","linkedit,找到","linker","linker动态链接器文件、mach","linkmap","linkmap,这样在生成的","link。","linu","linux","linux/unix","lion10.7","list","list()","list))","list.","list2tn(lst,","list[0];","list[int]","list[int])","list[int]:","list_array_tt","list_for_obj(obj)","list_point","list_pointers.union(pointers)","listen","list的方法还保存了除了selector和imp之外其他很多属性","liter","littl","liveapi]","lldb","llvm","llvm.","llvm。","lnilortag","lnilortagged:","load","load\");","load(分类2)","load(分类3)","load(分类4)","load.h","load:","load];","load]啊,这个就是","load],父类就会收到调用。","load_imag","load_images(enum","load_images,","load_images.","load_images_nolock","load_images里面执行call_load_methods函数,循环调用所用类以及分类的load方法。","loaddyldcach","loader","loaderoperation。在新建任务前,如有取到","loadexclusive(&isa.bits);","loadimagewithurl:","loadimagewithurl:url","loadinserteddylib(*lib);","loadmethodlock.assertlocked();","loadview()","load只会加载一次吗,而且他还不走","load可能其实有点奇怪,不是说","load实现原理","load方法调用机制解析","load里了!","local","locat","location);","location,","location:表示__weak指针的地址(我们研究的就是__weak指针指向的内容怎么置为nil)","lock","lock()","lock(befor","lock(before:","lock(fork_unsafe_lock)","lock(whencondit","lock(whencondition:","lock).","lock,","lock.","lock;","lock];","lock_for_obj(obj)","lock_init();","lockcount","lockcount++;","lockcount;","lockcount表示被锁的次数,意味着能多次进入,从侧面表现出了递归性","lockp","lock,其加减锁的时机是在加入缓存的时候实现的,线程缓存找不到任何内容时,会加一个自旋锁。但是","log","logger","logger;","logger;//不会产生静态初始化","logout","log,可以发现","long","long)data.length);","long)data.length,","long,","look","lookupimporforward","lookupimporforward会返回一个imp,它的函数实现比较长,但是注释写的非常清楚。它的实现主要由以下几步(这里直接从缓存获取开始):","lookupimpornil(cls,","loop","loop;","loopslock,","loop)可以在大部分的架构上很有效率地达成。","low","low;","lowest","lreturnzero","lreturnzero:","lru","lsb","lsl","lst:","lst[i]","lvvm","m","mac","mac(messag","mach","mach_absolute_time();","mach_head","mach_header_64","mach_init();","mach_msg_trap","mach_port","mach_port_t","machine)","macho","macho_header*","machoview","mach内核编程","maco","magic","magic(),","magic;","magic_t","magic:⽤于调试器判断当前对象是真的对象还是没有初始化的空间。","main","main()","main(){","main()函数调用之前,其实是做了很多准备工作,主要是dyld这个动态链接器在负责,核心流程如下:","main(int","main(string[]","main.cpp","main.cpp,可以看到block的内捕获到的person指针如下","main.m","mainbundle]","maindispatchqueueport)","mainexecutablemh,","mainexecutableslide,","mainloop","mainloop);","mainqueue,block。在循环的合适时机,会以","mainrunloop];","mainrunloop];获得主线程的runloop对象","mainrunloop是一个60fps的回调,也就是说每16.7ms(vsync信号时间)会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawrect),这些cpu的工作。然后将这个缓冲区交给gpu渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。","mainscreen].bounds.size,","mainscreen].bounds;","mainscreen].scale);","mainscreen].scale;","main}","make","maketobound","malloc","malloc(cat","manag","manager;","mani","manifest.lock","manifest.lock)。","manifest.lock,用来检查","map","map2_imag","map_imag","map_images_nolock","mapcachepriv","mapcachesystemwid","mapped,","mapped;","mapsharedcach","map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:fil","mark","mark:","mask","mask;","mask_t","mask,去对比表中每个","mask,我们知道","mask:计数辅助量。","masonri","master","match","match.","matuschak","max","max)","max_hash_displac","max_hash_displacement;","max_hash_displacement:hash","max_queue_count","maximumpool","mcount","mcount);","mcount,","me?","mediat","mediator(goods)","mediator,","medium","memcpy(array()","memmove(array()","memori","memory:","memset((void*)pag","merg","messag","message\",","message)","message.","message=_msg)))","messageforward","messenger_end_nil","messenger_end_slow","messenger_start","meta","metaclass是单一职责和扩展性:","metal.","metal入门教程总结","metal入门教程(八)metal与opengl","metal可以发现,早在","metal渲染引擎","metal),显然","metaphor","mete","method","method,","method1","method1,","method2,","method3","method3.","method],运行时会将它翻译成objc_msgsend(id","method_array_t","method_imp","method_list_t","method_list_t,method_list_t里面最终存放的是method_t","method_nam","method_setimplementation(method,","method_t","method_t是一个方法的封装,里面包括了名称(sel),返回值,参数,与函数体(实现)","method_t结构体中可以看到三个成员变量,我们依次来看三个成员变量分别代表什么。","methodb];","methodizeclass","methodlist","methodlists、protocol","methods)","methods;","methodsignatureforselector:aselector];","methodsignatureforselector:sel];","methodsignatureforselector:的返回值不为空,就会进入","methodsignatureforselector:配套使用,后者为nsmethodsignature对象,该对象携带","methodsignatureforselector:,构建nsmethodsignature和nsinvocation实例。","methods、","methodtablelookup","methodwitharg,","methodwitharg:","methodwitharg:arg];","metrickit","metricskit","mgjrouter,","mh)","mh,","mid","min","min;","miss","mix","mlist;","mlists,","mlists[mcount++]","mlock;","mmap","mmap()","mmu","mndog","mnperson","mnperson+test.m","mnperson{","mnstudent","mnteacher","mode","model","mode的时候,就结束当前","mode,启动完成后就不再使用。","mode,没有实际作用。","mode,用于","mode,通常主线程是在这个","mode,通常用不到。","mode,那","modul","module.","moduleprotocol","moduleservi","moduleservic","moduleservice.h","moduleservice.h,","moduleservice。将对其它模块的接口的反射调用,放入各个模块的","modulesevic","module的接口","module远程调用good","monkey","more","more_categori","more_categories);","more_categories;","moron","mov","move","movi","mp.weixin.qq.com","mr,","ms","ms,","msb","msg","msg(_class_getnonmetaclass(cls,","msg)","msg_send()","msl是maximum","ms,相应的","ms,还需要进一步考虑","multi","multipli","multiplier;","multithread","mutablecopi","mutablecopy)","mutablecopywithzone:nil];","mutable对象","mutex","mutex)","mutex,","mutex;","mutex_tt","mutex_tt;","mutex即对象所关联的锁","mutex可以得出@synchronized是递归锁","mvc","mvc因其复用性,","mvc最早存在于桌面程序中的,","mvvm、mvp","myblock","myblock;","mybutton","mybutton;那么生成的实例变量就是_mybutton。","mybutton;那么生成的实例变量就是mybutton;如果没写@synthes","myobject.var","myth","myview","myview:","m是指业务数据,","n","n/a","n0表示度数为0的节点数,n2表示度数为2的节点数。","nagl","name","name)!","name,","name.isempti","name:","name:(nsstr","name:@\"daniels\"];","name:uiapplicationdidreceivememorywarningnotif","name;","namespac","name,简称","name;","nativ","natur","nav;","navig","navigationstart的性能,443","ncmds;","necessary.","need","needed.","needs:","needs=none):","needsaddedlibsystemdepency(*libcount,","negative)","neroxie的个人博客","netstat","never","new","new.h","new.mm文件中的_class_lookupmethodandloadcache3。该函数会调用lookupimporforward函数。","new.m中找到逻辑。","new]","new];","new]];","new_entry.inline_referrers[0]","new_entry.out_of_lin","new_entry.refer","new_entry;","new_valu","new_value);","newasyncdisplaytask];","newcount","newcount;","newest","newloop","newloop);","newloop;","newobj","newobj)","newobj:所引用的对象,即例子中的person","newrequestwithrange:range];","newtabl","newtable);","newvalu","newvalue)","newvalue);","newvalue,","newvalue;","next","next(begin()),","nextdata","nextdata;","nextdata指的是链表中下一个syncdata","nextresponder];","nextsiblingclass;","nextsource];","nextstep","nightmar","nil","nil)","nil);","nil){","nil.","nil;","nil。","nil或者重新创建source都会造成crash。正确的方式是在激活状态下调用dispatch_source_cancel(source)释放当前的sourc","nil,","nil,会自动创建。然后会将当前实例的类名作为","nil,因为","nil,无需取消注册","nil,没有强制要求额外为每个属性(成员变量)赋值,方便的同时也缺少了代码的安全性。","nit","nit.append(cur.right)","nit.append(root)","nm","nm:","nm命令可以得到地址和对应的类名字。","nn。将快指针","no);","no,","no,hittest","no,禁止用户操作的视图.","no/*initialize*/,","no/*resolver*/))","no/*resolver*/);","no2","no2.hidden","no2.rootviewcontrol","no2.windowlevel","no2;","no;","no;//","nocopy_t","node","node.right","nofram","non","nonatom","nonatomic,","none","none:","nonnull)","nonpoint","nonpointer_isa和散列表","nonpointer:表示是否对","nop","normal","normal/x86_64/ulwbigresponsebutton.o","normally.","noth","nothing;","notifybatchpartial(dyld_image_state_bound,","notifysingl","now","no。","no,则结束下载并调用","no,和在不在屏幕上没有关系","no,如果想要uiimageview响应交互事件,将属性设置为","no:直接进入","ns_assume_nonnull_begin","ns_assume_nonnull_end","ns_designated_initi","ns_designated_initializer;","ns_enforce_nsobject_designated_initi","ns_swift_name(dynamiccolor)","ns_swift_name(init(_:light:dark:))","ns_swift_name(init(_:light:dark:));","ns_swift_unavailable(\"us","nsarray","nsbundl","nscach","nsclassfromstring(@\"yzgoodsmanager\");","nscoder)","nsconcretemallocblock","nsconcretestackblock","nscondition()","nscondition:","nsconditionlock","nsconditionlock可以设置锁条件,而nscondition只是无脑的通知信号","nsconditionlock是nscondition加线程数的封装","nscondition和nsconditionlock是条件锁,当满足某一个条件时才能进行操作,和信号量dispatch_semaphore类似","nscondition是一个条件锁,可能平时用的不多,但与信号量相似:线程1需要等到条件1满足才会往下走,否则就会堵塞等待,直至条件满足","nscondition是对mutex和cond的一种封装(cond就是用于访问和操作特定类型数据的指针)","nscopi","nsdata","nsdictionari","nsdictionary*)complexparam","nsdistantobject)","nsec_per_sec));","nsec_per_sec);","nsec_per_sec,","nserror","nsexception)","nsglobalblock(也就是_nsconcreteglobalblock)","nsinteg","nsinvoc","nskeyvalueobservingoptionold)","nskvonorifying_a。","nskvonorifying_a类,同时将a的isa指针指向","nskvonotifying_fxperson","nslock","nslock、nsrecursivelock、nscondition和nsconditionlock底层都是对pthread_mutex的封装","nslock在afnetworking的afurlsessionmanager.m中有使用到","nslock是对互斥锁的简单封装,使用如下:","nslog","nslog((nsstr","nslog(@\"","nslog(@\"%@","nslog(@\"%@\",","nslog(@\"%@\",objc_getassociatedobject(person,","nslog(@\"%d","nslog(@\"%lu","nslog(@\"%p","nslog(@\"%p,%p\",","nslog(@\"0x%6lx","nslog(@\"1\");","nslog(@\"2\");","nslog(@\"3\");","nslog(@\"4\");","nslog(@\"5\");","nslog(@\"a_touchesbegan\");","nslog(@\"a_touchescancelled\");","nslog(@\"a_touchesended\");","nslog(@\"a_touchesmoved\");","nslog(@\"a_view","nslog(@\"ag","nslog(@\"a的值为%d\",a);","nslog(@\"b","nslog(@\"c","nslog(@\"dispatch_apply前\");","nslog(@\"dispatch_apply后\");","nslog(@\"dispatch_apply的线程%zu","nslog(@\"gcdtimer\");","nslog(@\"i","nslog(@\"io","nslog(@\"load","nslog(@\"mnperson","nslog(@\"mnstud","nslog(@\"mnteach","nslog(@\"releas","nslog(@\"test","nslog(@\"timeout=%ld\",","nslog(@\"value——%d\",","nslog(@\"主线程","nslog(@\"刷新页面\");","nslog(@\"加锁前\");","nslog(@\"加锁后\");","nslog(@\"延迟1s的任务2——%@\",","nslog(@\"延迟2s的任务1——%@\",","nslog(@\"开始——%@\",","nslog(@\"执行任务1\");","nslog(@\"执行任务2\");","nslog(@\"执行任务3\");","nslog(@\"按时完成任务\");","nslog(@\"栅栏结束——%@\",","nslog(@\"没有收据,","nslog(@\"没有正在出售的商品\");","nslog(@\"用户禁止应用内付费购买\");","nslog(@\"离开a_view","nslog(@\"第一次结束——%@\",","nslog(@\"第二次结束——%@\",","nslog(@\"请求一完成\");","nslog(@\"请求二完成\");","nslog(@\"超时\");","nslog(@\"进入a_view","nsmallocblock(也就是_nsconcretemallocblock)","nsmaptabl","nsmaptable>","nsmaptable,对","nsmethodsignatur","nsmutablearray","nsmutablearray>","nsmutabledictionari","nsmutableset","nsnotificationcent","nsobjct","nsobject","nsobject,","nsobject.mm","nsobject,nsobject","nsobject,若仍未找着,就","nsoper","nsoperationqueu","nsoperation支持kvo,可以观察任务的执行状态","nsoprationqueu","nsprogress、","nsproxi","nsproxy专门为消息转发而生","nsproxy是一个抽象的超类,它定义了一个对象的api,用来充当其他对象或者一些不存在的对象的替身。通常,发送给proxy的消息会被转发给实际对象,或使proxy加载(转化为)实际对象。","nsproxy的子类可以用于实现透明的分布式消息传递(例如,nsdistantobject),或者用于创建开销较大的对象的惰性实例化。","nsproxy类,类中包含两种uicolor颜色,利用这个动态消息转发,根据当前主题颜色,返回不同颜色","nsproxy,它将所有的事件转发到","nsrecursivelock","nsrecursivelock使用和nslock类似,如下代码就能解决上个问题","nsrecursivelock在yykit中yywebimageoperation.m中有用到","nsrescursivelock","nsrunloop","nsrunloopcommonmod","nsrunloopcommonmodes其实不是一个具体的模式,它可以理解成一个标签,被打上这种标签的具体mode会被放入到runloop内部的一个容器成员_commonmodes里面,它是一个cfmutablesetref,默认情况下,_commonmodes内部装着kcfrunloopdefaultmod","nsrunloop的类方法c\u0010urrentrunloop获取当前线程的","nsset","nsstaticblock(也就是_nsconcretestaticblock)","nsstring","nsstringencod","nsstringfromclass(((class","nsstringfromclass([self","nsstringfromclass([sup","nsstringfromclass(viewcontrollerclass);","nsstringfromselector(sel2);","nstaggedpointerstr","nsthread","nstimer","nsurl","nsurlcach","nsurlconnection。因为nsurlconnection中,执行回调的要在子线程,可能回调回来线程已经销毁无法做回调.3.x版本中,使用了","nsurlsession,能指定queue回调,所以避免了问题","nsurl。","null","null)","null),","null);","null)创建串行队列(gcd底层会讲到)","null,","null;","nullabl","nullable)","num","num){","num_entries;","num_ref","num_refs、","num_refs:引用数值。这里记录弱引用表中引用有效数字,因为弱引用表使用的是静态","number","number)是固定的吗?","number),以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果","number:","number,表示这是一个","nums:","o","o(1)","o(1)o(1)","o(logn)","o(logn)。","o(logn),不过却不是最佳的,因为平衡树要求每个节点的左子树和右子树的高度差至多等于1,这个要求实在是太严了,导致每次进行插入/删除节点的时候,几乎都会破坏平衡树的第二个规则,进而我们都需要通过左旋和右旋来进行调整,使之再次成为一颗符合要求的平衡树。","o(logn),性能已经相当好了。","o(logn),我这里就不细讲了,后面的文章可能会讲。","o(n),可想而知,我们必须不能让这种情况发生,为了解决这个问题,于是我们引申出了平衡二叉树。","o(n^2)","o(nlogn)","o,","oberv","obj","obj)","obj);","obj){","obj,","obj1","obj;","obj_object","objbyservice:@protocol(goodsmoduleservice)];","objc","objc.io:","objc2","objc2.0","objc2_unavailable;","objc_association_assign","objc_association_assign);","objc_association_copi","objc_association_copy_nonatom","objc_association_copy_nonatomic);","objc_association_retain","objc_association_retain_nonatom","objc_association_retain_nonatomic);","objc_associationpolici","objc_associationpolicy)","objc_autoreleasenopool(obj);","objc_autoreleasepoolpop","objc_autoreleasepoolpop(atautoreleasepoolobj);","objc_autoreleasepoolpop(ctx);","objc_autoreleasepoolpop(pool);","objc_autoreleasepoolpop(void","objc_autoreleasepoolpush","objc_autoreleasepoolpush();","objc_autoreleasereturnvalue(value);","objc_available(10.6,","objc_cach","objc_class","objc_class.mm","objc_class的真实定义实际的代码我们可以从","objc_class,objc_class","objc_class,但由于对象的内存地址不一样,所以它们的实例变量存储位置也不一样,从而实现对象与类之间的多对一关系。","objc_destructinst","objc_enum(uintptr_t,","objc_exception_throw(rethrow);","objc_export","objc_getassociatedobject","objc_getassociatedobject(,","objc_getassociatedobject(id","objc_getassociatedobject(self,","objc_getproperty(id","objc_initweak(&p1,","objc_initweak()","objc_initweak(id","objc_isa_availability;","objc_ivar","objc_ivar_list","objc_method","objc_method_list","objc_msb_tagged_point","objc_msgsend","objc_msgsend(&__main_block_impl_0(__main_block_func_0,","objc_msgsend(mnteacher,@selector(mnteacher)),这就跑到mnteach","objc_msgsend(objc_msgsend(objc_getclass(\"clperson\"),","objc_msgsend(person,","objc_msgsend,","objc_msgsend_uncach","objc_msgsendsuper(struct","objc_msgsendsuper2()","objc_msgsendsuper2(struct","objc_msgsendsuper2的声明在objc","objc_msgsend的实现在objc","objc_msgsend(object,","objc_object","objc_object::rootautorelease()","objc_object::rootautorelease2()","objc_object::rootretaincount()","objc_object::sidetable_retaincount()","objc_object、objc_class、class_rw_t、class_ro_t","objc_object中有一个isa指针,那么objc_class继承objc_object,也就同样拥有一个isa指针","objc_object的真实定义","objc_object,即","objc_object,有一个","objc_protocol_list","objc_release(obj);","objc_release(oldvalue);","objc_release(prev);","objc_removeassociatedobject","objc_removeassociatedobjects(id","objc_retain(*slot);","objc_retain(newvalue);","objc_retain(obj);","objc_selector","objc_setassociatedobject","objc_setassociatedobject(","objc_setassociatedobject(id","objc_setassociatedobject(obj,","objc_setassociatedobject(person,","objc_setassociatedobject(self,","objc_storestrong(id","objc_storeweak","objc_storeweak()","objc_sup","objc_super的定义如下:","objc_sync_ent","objc_sync_enter(_sync_obj);","objc_sync_enter(id","objc_sync_exit","objc_sync_exit(id","objc_sync_exit(sync_exit);","objc_sync_exit。","objc_sync_exit两个方法","objc_sync_nil","objc_sync_nil();","objc_sync_nil(void)","objc_sync_not_owning_thread_error","objc_sync_not_owning_thread_error;","objc_sync_success","objc_sync_success;","objc_tag_1","objc_tag_cgcolor","objc_tag_first52bitpayload","objc_tag_first60bitpayload","objc_tag_index_t","objc_tag_index_t;","objc_tag_last52bitpayload","objc_tag_last60bitpayload","objc_tag_nsatom","objc_tag_nscolor","objc_tag_nsd","objc_tag_nsindexpath","objc_tag_nsindexset","objc_tag_nsmanagedobjectid","objc_tag_nsnumb","objc_tag_nsstr","objc_tag_photos_1","objc_tag_photos_2","objc_tag_photos_3","objc_tag_photos_4","objc_tag_reserved_264","objc_tag_reserved_7","objc_tag_uicolor","objc_tag_xpc_1","objc_tag_xpc_2","objc_tag_xpc_3","objc_tag_xpc_4","objcassoci","objcassociation(policy,","object","object)","object,","object.","object:nil];","object;","object_dispos","object_getclass","object_getclass(id","object_getclass(object));","object_getclass(self);","object_getclassname((id)referent));","object_getclassname(obj));","object_getinstancevariable(myobject,","object_getivar(myobject,","object_getmethodimplementation((id)referent,","object_setclass(self,","objectassociationmap","objectassociationmap::iter","objectassociationmap;","objectclass","objectclass.md","objectforkey:@\"uilaunchstoryboardname\"];","objectforkey:@\"url\"]];","objectforkey:key];","objects:","object指的是当前加锁的对象","object,它就会如下图所示移动到下一个为空的内存地址中:","object:宿主对象","obj传入sdatalist","observ","observer,","observer;","observers:","observers:没有事件要处理,","observer。当一个触摸事件到来时,runloop","observer,监听了","observer,监视的事件和","observer;","observing,","observing)是苹果提供的一套事件通知机制,这种机制允许将其他对象的特定属性的更改通知给对象。ios开发者可以使用kvo","oc","oc内存管理","oc协议列表","oc对象创建过程","oc源码:","oc特有的类型。从本质上讲,","oc的函数调用成为消息发送,属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,oc可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而c语言在编译阶段就会报错)。","offscreen","offset","offset);","offset,","offset:self.request.range.start];","ofobject:(id)object","often.","okay","old","old_associ","old_association(0,","oldcount","oldobj","oldobj)","oldobj,","oldobj;","oldstat","oldtabl","oldvalu","oldvalue;","on","onc","oncepredicate;","oncetoken;","only。","onthread:","onto","oom","op,","opac","opacity=0.5,并复制一份在旁边作对比。左边关闭","opacity(默认行为)的被标记为","opacity,其实从名字就可以猜到,alpha","opacity,右边保持默认(从","opaque,","open","open(script_path+\"/result.txt\",\"w\")","opengl","opengl/met","openurl:(nsurl","open)。","open),接收这个syn并发回下一个syn的另一端执行被动打开(pass","oper","operation.cacheoper","operation.iscancelled)","operation.isfinish","operation.loaderoper","operation;","operations,","operations;","operation。","operation。实现了一个","operation,利用","operator[]","optim","optimizations.","optimizeobjc:","optimizeobjc。","option","options,","options:(nskeyvalueobservingoptionnew","options:(nskeyvalueobservingoptionnew)","options:(sdwebimageoptions)opt","options:0","options:downloaderopt","options:opt","optionsprocessor;","order","order_fil","order_file[2]","order_file[2]的","order:初始化调用顺序","organ","orient","os","os.popen(\"/usr/bin/otool","os.popen('/usr/bin/otool","os.popen('fil","os.popen('nm","os_unfair_lock","osatom","osatomicdecrement32barrier(&result","osatomicincrement32(&_value);","osatomicincrement32()","osatomicincrement32()是原子自增方法,线程安全。在日常开发中,若需要保证整形数值变量的线程安全,可以使用","osatomicincrement32barrier(&result","osspinlock","osspinlock不再安全,底层用os_unfair_lock替代","out","out_of_lin","out_of_line=0","out_of_line_","out_of_line:最低有效位,也是标志位。当标志位","outermost","output","outsid","out)的线性表,在具体应用中通常用链表或者数组来实现。装载线程任务的队形结构。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加","ov","over","overrid","overwrit","ov可以获取到类的继承关系。","o。每次进行了","o。链接的过程并不产生新的代码,只会做一些移动和补丁。","o中的段信息,需要注意的是模拟器和真机对应的可执行文件,数据的存储方式不同需要加以区分。","o文件","o文件中__data","o(logn)。","o,而是提供一个只包含符号等信息的","o,虚拟内存,mmap,pag","p","p1","p;","packageappl","paddedt","page","page\"意味着没有没有池子被push或者说push了一个空的池子","page);","page,","page.","pageforpointer(token);","page:page1/page2,其中绿色的","param1:重复次数","param2:追加的队列","param3:执行任务","parameterbuffer,接受分块完毕的tile和对应的渲染参数;","parameters)","params:(nsdictionari","params:@[goodsid]];","params:nil];","parent","parent(newparent),","parent;","parsequery:request.url.query];","part","particular","pass","pass,pass","pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了","pass,由于","past,","path","path)","path).read().split('","path).readlines()","path);","path,","path.","path=\"...\"","path,@rpath","path,直接依赖的了别的模块,以便重用复杂模型类的情况。","payload","paymentwithproduct:products.firstobject];","pc","pch","pe","peformselector","per","perform","performance,","performselector","performselector:","performselector:@selector(getgoodslist)];","performselector:@selector(printlog)","performselector:transaction.selector];","performselector:withobject:afterdelay:","performselectors的事件.","performtarget:@\"yzgoodsmodule\"","performtarget:@“goodsmodule”","person","person(_person)","person,","person.ag","personnamecontext)","person,关联的","phase","phases、build","phases:用于控制从源文件到可执行文件的整个过程,如编译哪些文件,编译过程中执行哪些自定义脚本。例如","phase:以","pic","pipelin","pipeline。","pipeline,因为启动优化的重点还在运行时。","pist","pixel","place","placehold","placeholder.","placeholderimage:(nul","placeholderimage:nil","placeholderimage:placehold","playerwithurl:proxyurl];","plist","plu","png或jpeg。b.","png或者jpeg压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于图片宽","pod","point","pointer","pointers)","pointers)—","pointers.add(''.join(line[12:16][::","pointers.add(''.join(line[4:8][::","pointers.add(line[1]","pointers.add(line[3]","pointers_from_binary(line,","pointer不参与retain/release;","pointer不需要引用计数,苹果会直接将对象的指针值作为引用计数返回;","pointer且关闭了non","pointer初探","pointer和是否进行优化的情况(prepareoptimizedreturn这个后面也会提到),如果不满足这两个条件才会进入缓存池。","pointer对象","pointer对象的类,它的定义在objc_tag_index_t中","pointer技术。","pointer技术的nsstring,那程序就没有问题。","pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。","pointer是一个特殊的指针,不指向任何实质地址。","pointer是苹果在64bit设备提出的一种存储小对象的技术,用于优化nsnumber、nsdate、nsstring等小对象的储存","pointer有长度限制,过长会依然会采用对象的形式保存","pointer没有isa指针,它不是一个对象,只是一个伪装成对象的普通变量而已。","pointer的","pointer的值的,可读性非常好,但是12之后再打印就发现完全看不懂了。","pointer的加密","pointer的对象没有isa指针,有的是isa_t的结构体;","pointer的类,gcd等;","pointer的话,直接返回isa本身;","pointer目前有这么几个判断条件,这些都可以在runtime源码objc","pointer,","pointer,且开启了指针优化,此时引用计数先从extra_rc中去取(这里将取出来的值进行了+1操作,所以在存的时候需要进行","pointer,如果说上面的self.target指向的是一个tag","pointer,对象的值就是指针;","pointer,没有开启了指针优化,使用sidetable_retaincount()函数返回。","pointer,苹果会直接将其指针值作为引用计数返回;","pointer,那么会对isa的其他成员赋值,否则只会对cls赋值。","pointer,那该对象的引用计数就使用sidetable来存。","pointer;需要留意的是不同的架构标记位不太一样,有的是用最低位、有的使用最高位。","pointinsid","pointinside:point","pointinside:withevent:","pointinside:withevent:]","pointinside检测到该","pointinside返回","policy)","policy);","policy:关联的规则,主要是内存管理的规则","pool","pool.","pool1","pool2","pool3","pool]","pool_boundari","pool_boundary)","pool_boundary);","pool_boundary:","pool_sentinel","pool_sentinel。","pool_sentinel(哨兵对象)","pool_sentinel:","pools:","pool的情况下,","pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)","pop","pop(coldpage()","pop(pool1)","pop(pool2)","pop(pool3)","pop(top)","pop(void","popped,","popviewcontrolleranimated:no];","port","port(ipc","port]","portabl","port”,而每个source1都有不同的对应端口):","port传来的系统事件的,source0是用来处理用户事件的。","port传递给springboard进程。","port发过来的事件,唤醒main","port将iohidevent事件转发给这个程序。","port接受到springboard进程传递来的触摸事件,主线程的runloop被唤醒,触发了source1回调。","posit","posix_memalign((void","possibl","post","postordertraversal(self,","postordertraverse(bitre","postordertraverse(t","powerpc,后来增加了","practice,","pre","prefer","prefetch","prefetchrowsatindexpaths:(nsarray","premain","preordertraversal(self,root):","preordertraverse(bitre","preordertraverse(t","prepare(图片解码)","prepare];","prepared\",","preparemethodlists(cls,","prepare(准备),这个过程中会完成图片的解码","prepare,图片解码发生在这一步","prerend","present","present,","pressure\");","prev","prev)","prev:","prevent","previou","previous","previouslyinitializedclass","printf","printf(\"%c\",","printf(\"1234\");","printf(\"felix","printhiwat();","printreplacements(cls,","prioriti","priority;","privat","private.h文件","private:","probabl","process","processinfo].activeprocessorcount;","processiniti","process。","process会做如下事情:分析mach","process):宏替换、删除注释、展开头文件,产生","process,也就是在程序进程内执行的,也就意味着只有当应用程序被启动的时候,dyld2才能开始执行任务。dyld3则是部分out","process,部分in","product","program","progress","progress:(nul","progress:combinedprogressblock","progress:nil","progress:progressblock","project","project.","propcount","propcount);","properli","properti","properties;","property;","property_array_t","property_list_t","propertylocks[slot];","propety属性","proplist;","proplists[propcount++]","proprecess。然后点击图中蓝色的加号,可以分别为","protect();","protocl","protocol","protocol,","protocol_array_t","protocol_list_t","protocols;","protocol,不符合我们编译隔离的需求。但既然我们可以拷贝粘贴复杂对象代码,是否也可以拷贝粘贴","protocount","protocount);","protolist;","protolists[protocount++]","proud","provid","provided,","proxi","proxyurlwithoriginalurl:originalurl];","ps:关于多核设备的线程性能问题,后面分析源码会讲到","pthread","pthread_cond_broadcast(cond)","pthread_cond_destroy(cond)","pthread_cond_init(cond,","pthread_cond_signal(cond)","pthread_cond_timedwait(cond,","pthread_cond_wait(cond,","pthread_main_thread_np();","pthread_mutex_destroy(&_lock);","pthread_mutex_destroy(mutex)","pthread_mutex_init(&_lock,","pthread_mutex_init(mutex,","pthread_mutex_lock(&_lock);","pthread_mutex_lock(mutex)","pthread_mutex_t","pthread_mutex_unlock(&_lock);","pthread_mutex_unlock(mutex)","pthread_mutex就是互斥锁本身——当锁被占用,而其他线程申请锁时,不是使用忙等,而是阻塞线程并睡眠","pthread_rwlock_destroy(&lock);","pthread_rwlock_init(&lock,","pthread_rwlock_rdlock(&lock);","pthread_rwlock_t","pthread_rwlock_tryrdlock(&lock);","pthread_rwlock_trywrlock(&lock);","pthread_rwlock_unlock(&lock);","pthread_rwlock_wrlock(&lock);","pthread_self()","pthread_self()))","pthread_self(),","pthread_t","pthreadpointer(pthread_main_thread_np()),","pthreadpointer(t));","pthreadpointer(t),","ptr)","ptr_minus_1;","ptr_minus_2;","ptrdiff_t","public","public:","pull","purg","purpos","push","push()","push/pop,","pushed,而是作为子","pushextraboundari","pushviewcontroller:fresh","pushviewcontroller:vc","push代码如下:","push执行的时候首先会进行判断,如果是需要每个pool都生成一个新page,即debugpoolallocation为yes,则执行autoreleasenewpage方法,否则执行autoreleasefast方法。","qos_class_background","qos_class_default","qos_class_user_initi","qos_class_user_initiated,低于用户交互相关的qos_class_user_interactive。","qos_class_util","quartzcore:ca::transaction::observer_callback:","queri","queryimageforkey:key","queue","queue);","queue)和并发队列(concurr","queue):","queue,","queue.append(l)","queue.append(r)","queue.append(root)","queue.pop(0)","queue:","queuecount","queuecount;","queues[max_queue_count];","quicksort","quicksort(array,","r","r:","r=none):","race","random","randomc","randomization)和边界检查;","rang","raw","rc","rc;","re","re.compile(\"\\s*superclass","re.compile(\"\\w{16}","re.compile('(\\w{16})","re_class_nam","re_class_name.findall(line)","re_subclass_nam","re_subclass_name.findall(line)","re_superclass_nam","re_superclass_name.findall(line)","read","readdataoflength:length];","readi","readonli","readonly)","readonly,","readwrit","real","realiz","realizeallclass","realizeclass","reallysetproperty(id","rearrang","rebas","rebasedyld(dyldsmachheader,","rebase,主要耗时在","rebase:修复内部指针。这是因为","rebind_symbol","receiv","receiver:","receiver;","receiver,在","receiver,还可以修改入参,甚至是返回值。nsinvocation#invoke会触发","receiver,还可以篡改入参、返回值;当然,","receiver,那还不如把转发操作提前到第二步。因为第三步只是修改了调用目标,这项改动放在第二步会更为简单,不然的话,还得创建并处理完整的nsinvocation。","recogn","record","rect中通过uigraphicsgetcurrentcontext()","rect之后,通过context将数据写入back","recurs","recursive_mutex_t","recursive_mutex_t(fork_unsafe_lock);","recursivebind","recursivebindwithaccount","recursiveiniti","recursiveloadlibrari","red”","ref","ref_point","ref_pointers.union(pointers)","refcnt","refcnt_result","refcnt_result;","refcnts;","refcntstorag","refcountmap","refcountmap::iter","refer","referenc","reference:","referencecount","referent)))","referent;","referent_id","referent_id,","referent_id;","referent,找到对应的","referr","referrer);","referrer;","refresh","refs;","registerinterposing(glinkcontext);","registerobjcnotifi","registerobjcnotifiers(_dyld_objc_notify_map","registerservice:@protocol(service_protocol)","registr","reinterpret_cast","reinterpret_cast(p);","releas","release)","release);","release:","released,","releaseuntil","releaseuntil(id","releasevalue()(old_association);","reli","reloadallimag","remain","remov","remove_referrer(entry,","removeallobjects];","removeduplicates(nums);","removeduplicates(self,","removeobject:url];","removeobjectforkey:key];","removeobserver:self","removetransactionobserver:self];","rename_section,__text,__const,__rodata,__const\",","rename_section,__text,__cstring,__rodata,__cstring\",","rename_section,__text,__gcc_except_tab,__rodata,__gcc_except_tab\",","rename_section,__text,__objc_classname,__rodata,__objc_classname\",","rename_section,__text,__objc_methname,__rodata,__objc_methname\",","rename_section,__text,__objc_methtype,__rodata,__objc_methtype\"","rename_section,把","render","renderbuffer,存储渲染完毕的像素;","renderedviewcontrol","renderer,调用片元着色器,进行像素渲染;","renderincontext:","renderincontext:uigraphicsgetcurrentcontext()];","rendering)的知识点。一般来说,绝大多数人都能答出","renderserv","renderserver解析提交的子树状态,生成绘制指令","renderserver,renderserv","renderserver,启动结束","repeat","repeatedli","replac","repo","repositori","representation)。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。","reqeust","request","request.deleg","request.url);","request\\nmethod","requestimagewithurl:url","requir","requiresrawisa()","res.append(cur.val)","res.append(node.val)","res.append(root.val)","res.append(temp.val)","res1","res1,","res2","res2,","res3","res3,","res4","res4);","reserv","reserved;","reset","resize、和作为子","resize,动画),之前辛苦处理得到的缓存就失效了。如果这件事频繁发生,我们就又回到了","resolution)策略。也就是说在二进制文件中,printf","resolv","resolveclassmethod:sel]","resolvedcolor","resolvedimag","resolvedimage,这样在外界看来","resolveinstancemethod:aselector];","resolveinstancemethod:sel]","resolveinstancemethod:或者resolveclassmethod:方法,然后用objc_msgsend执行上述方法。","resolveinstancemethod为对象临时添加一个方法,并把对应属性值保存到内部的一个","resolve)的过程即调用_class_resolvemethod,如果失败,进入第","resources,运行脚本来拷贝三方库的资源文件","respond","respondstoselector:@selector(imagemanager:shoulddownloadimageforurl:)]","respondstoselector:或者","respons","response,","response.products;","response;","response\\nrespons","responsedidabort:self];","responsehasavailabledata:self];","response(第一响应者),指的是当前接受触摸的响应者对象,是响应者的开端。响应者链和事件分发的使命都是找出第一响应者。","result","result)","result);","result:","result;","result[0]","ret","retain","retain/release/autorelease/retaincount/_tryretain/_isdeallocating/retainweakreference/allowsweakrefer","retain/release的实质","retain实现","reth)","rethrow(reth)","rethrow;","retiancount","retri","retry:","retry;","return","return;","returned.","return。","review","rewrit","right","right),虽然我们可以通过代码控制页面不跟随设备方向旋转,但是这会导致系统为应用分别生成横屏和竖屏的启动图,从而导致一个问题:","rl","rl;","ro","ro;","roadmap","rollback","root","root):","root,","root.left","root.right","root.val:","root:","rootautorelease2();","rootdealloc","rootview","rootviewcontrol","rootviewcontroller,之后再复用从缓存中拿到的","rootviewcontroller,始终有","routecompletion)completion;","ro,其中存储了当前类在编译期就已经确定的属性、方法以及遵循的协议。(如果是当前类有category扩展,则新增的属性方法会放在","rr.","rr/alloc","rsa密码体制就是公钥密码体制,rsa的一对公钥和私钥都可以用来加密和解密。","rua~\");","rule","rules:指定了不同的文件类型该如何编译。一般我们不需要修改这里的内容。如果需要对特定类型的文件添加处理方法,可以在这里添加规则。","run","run];","rundyldinitializers(dyldsmachheader,","runiniti","runloop","runloopmode内部核心内容是4个数组容器,分别用来装source0,source1,observer和timer,runloop对象内部有一个_currentmode,它指向了该runloop对象的其中一个runloopmode,它代表的含义是runloop当前所运行的runloopmode,所谓“运行”也就是说,runloop当前只会执行_currentmode所指向的runloopmode里面所包括的事件(source0、source1、observer、timer)","runloop、upd","runloop。","runloop与autoreleasepool","runloop与ui刷新","runloop与线程是一一对应的——一个runloop对应一个核心的线程,为什么说是核心的,是因为runloop是可以嵌套的,但是核心的只能有一个,他们的关系保存在一个全局的字典里","runloop与线程是一一对应的,一个runloop对应一个核心的线程。每个","runloop中source0和source1的区别","runloop中,cor","runloop为value,一对一存储在字典中,下次获取的时候,则直接返回字典内的runloop","runloop原理","runloop启动时只能选择其中一个mode作为currentmode。","runloop响应用户操作","runloop在主界面即将显示前由系统启动(主界面","runloop对象","runloop对象的获取","runloop将事件交给source1处理,source1会调用__iohideventsystemclientqueuecallback()函数。","runloop就是线程中的一个循环,runloop在循环中会不断检测,通过input","runloop并将这个消息交给source1处理,source1调用__iohideventsystemclientqueuecallback()函数,在函数内部会将事件交给source0处理,并调用source0的__uiapplicationhandleeventqueue()函数。","runloop总是运行在某种特定的cfrunloopmoderef下,意思是每次runloop开始时候会选择一个mode,执行这个mode里面的","runloop是一个事件驱动的大循环,它会把来自用户的交互事件、系统内部事件、计时器事件加入到事件队列中,并循环地从事件队列中取出事件进行处理,当所有的事件都处理完毕时,就会进入休眠状态,直到被新到来的事件唤醒。","runloop是来管理线程的——当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务","runloop是来管理线程的,当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。","runloop是通过内部维护的事件循环来对事件/消息进行管理的一个对象","runloop来处理。","runloop每分钟会被唤醒一次","runloop状态总共有以下几种","runloop的内部结构与运行原理什么是runloop","runloop的结构","runloop相关类","runloop第一个","runloop观察者的集合。runloop","runloop详解","runloop迭代.新的一轮runloop创建一个新的","runloop迭代结束进行释放。何为","runloop顾名思义,就是运行循环。首先它根程序运行过程有关系","runloop,可以通过","runloop,在处理完重要逻辑(即","runloop,继续执行这个","running;","runningoper","runningoperationslock;","runningoperations。","runningoperations:会将在上面的方法中会生成的一个","runtim","runtime,","runtime.h","runtime=io","runtime_init();","runtime。","runtime和其它的初始化代码。","runtime学习:面试题狙击","runtime简介","runtime简称运行时,其中最主要的是消息机制。","runtime,注册","runtime,由于闭包已经初始化了大部分,这里只会注册","runtloop运行流程","rw","rw_has_default_awz;","rw_has_default_awz是用来标记用户有没有自己实现allocwithzone方法。由于类是有懒加载的概念的,所以第一次给该类发送消息之前,该类是没有加载的,因此当类收到alloc消息的时候,进入到hascustomawz时并没有默认实现allocwithzone方法,所以hascustomawz返回true,因此会直接进入到[cl","rw_loaded)","rw_realized|rw_realizing;","s","safari,序号后面的图形,表示本阶段","safe","safe(launchoptions)]];","safelyremoveoperationfromrunning:operation];","safelyremoveoperationfromrunning。此时如果存在","safelyremoveoperation。","sallimages.end();","sallimages.size()","sallimages;","same","sandbox:","sark","save","scale","scale);","scale;","schedule_class_load(cl","schedule_class_load(class","scheme","scheme】","score","score:","screen","scribble,","script","script_path","scrollview","sd_cancelimageloadoperationwithkey:","sd_cancelimageloadoperationwithkey:key];","sd_cancelimageloadoperationwithkey:validoperationkey];","sd_cancelimageloadoperationwithkey:取消上一次任务,保证没有当前正在进行的异步下载操作,","sd_internalsetimagewithurl:url","sd_lock(self.callbackslock);","sd_lock(self.failedurlslock);","sd_lock(self.runningoperationslock);","sd_operationdictionary];","sd_operationdictionary]这个调用,这个方法的实现是给当前view通过关联对象的技术关联了一个nsmaptable对象,用来存储请求链接接对应的请求操作类型如nsmaptable。源码如下:","sd_operationdictionary,key","sd_setimage:","sd_setimage:placehold","sd_setimageloadoperation:oper","sd_setimageloadoperation:内部实现如下:","sd_setimagewithurl:url","sd_unlock(self.callbackslock);","sd_unlock(self.failedurlslock);","sd_unlock(self.runningoperationslock);","sdatalist","sdatalists;","sdatalists[obj].data","sdatalists[obj].lock","sdcallbacksdictionari","sdexternalcompletionblock)completedblock","sdimagecache.sharedimagecache。","sdimagecachedecodeimagedata(nsdata","sdimagecachedecodeimagedata,进行了图片解码的处理。","sdimagecachequerydiskdatasync));","sdimagecachequerymemorydatasync)","sdimagecachetyp","sdimagecachetypeall。","sdimagecoderhelp","sdimageloaderdecodeimagedata","sdimageloaderdecodeimagedata(nsdata","sdimageloaderprogressblock)progressblock","sdimagemanag","sdinternalcompletionblock)completedblock","sdinternalcompletionblock)completedblock;","sdk","sdks.","sdk版本","sdk,支付宝的","sdmemorycach","sdoperationsdictionari","sdoperationsdictionary;","sdoperationsdictionary。它会存储当前实例的所有","sdsetimageblock)setimageblock","sdwebimag","sdwebimagecombinedoper","sdwebimagecontext","sdwebimagecontextimagecache。","sdwebimagecontextimageloader。","sdwebimagecontextquerycachetyp","sdwebimagedelayplaceholder))","sdwebimagedownload","sdwebimagedownloader.shareddownloader。","sdwebimagedownloadercompletedblock)completedblock","sdwebimagedownloaderoper","sdwebimagedownloaderprogressblock)progressblock","sdwebimagedownloadtoken","sdwebimageerrorcachenotmodified)","sdwebimagefromcacheonli","sdwebimagefromcacheonly);","sdwebimagefromloaderonli","sdwebimagefromloaderonly)","sdwebimageindicator,并判断是否开启。","sdwebimagemanag","sdwebimagemanager。","sdwebimageoper","sdwebimageopt","sdwebimageoptionsresult。","sdwebimagerefreshcach","sdwebimagerefreshcached);","sdwebimagerefreshcached。","sdwebimageretryfailed))","sdwebimageretryfailed。则将","sdwebimageretryfailed,则直接返回","sdwebimage常见问题","sdwebimage源码学习","search","searchbst(self,","second,","secondari","section","sections:","section。","section,分别存放不同类型的数据。","secur","see","segcount","segcount,","segement","segment","segment/sect","segment,每个","sel","sel)","sel))","sel))(void","sel);","sel,","sel1","sel1,sel2);","sel2","sel_allowsweakrefer","sel_allowsweakreference);","sel_getname(sel1);","sel_registername(\"age\")));","sel_registername(\"alloc\")","sel_registername(\"class\"))));","sel_registername(\"class\")));","sel_registername(\"copy\")","sel_registername(\"init\")","sel_registername(\"setage:\"),","sel_registername(\"test\");","sel_resolveclassmethod,","selector","selector\"","selector:","selector:@selector(dealmemorywarnings:)","selector:@selector(networkrequestthreadentrypoint:)","selector;","selector];","selector。在继续往下执行转发机制之前,本类有机会新增一个处理此","selector(未声明的)selector","selector,从而影响滑动的流畅性。","selector,其返回值为boolean类型,表示这个类是否能新增一个实例方法用以处理该","selector,在这一步中,runtim","selector,默认情况下上述两种方式产生的事件是关联到nsrunloopcommonmodes,因此在","self","self);","self,","self.ag","self.array","self.class);","self.cont","self.contentsscal","self.currentsourc","self.currentsource);","self.darkcolor","self.darkcolor;","self.delegate;","self.dm_dynamicbackgroundcolor","self.downlaodtask","self.downloadlength","self.downloadlength,","self.error)","self.goodscell.nam","self.goodscell.pric","self.init(condition:","self.init(name:","self.init(white:","self.left","self.lightcolor","self.lightcolor;","self.nam","self.readinghandl","self.request.range.end);","self.request.range.end;","self.request.range.start;","self.right","self.scor","self.sd_latestoperationkey","self.searchbst(root.left,","self.sourcemanag","self.testarray","self.unit.unititems;","self.unititem","self.unititem);","self.unititem.length);","self.urloperations[url]","self.val","self.view","self.waitingrespons","self.writinghandl","self;","self,然后第二个就是父类的","sel仅仅代表方法的名字,并且不同类中相同的方法名的sel是全局唯一的。","sel代表方法\\函数名,一般叫做选择器,底层结构跟char","sel作为key","sel可以通过@selector()和sel_registername()获得","sel,加载","sem","send","sendmessage];","sentinel.value;","senv.dyld_bind_at_launch,","senv.dyld_insert_librari","senv.dyld_insert_libraries;","sequenc","seri","server","serverhello","server交给gpu去渲染,将back","server数据返回体,遵循httpresponse协议,实现协议方法","server的,内部使用第三方库httpserver实现:","servic","servicemanag","session","session419","set","set()","setage:10],所以证明了,给分类声明属性之后,并没有添加其对应的实现!","setarray((array_t","setarray:","setbackgroundcolor","setcompletionblock:^{","setcontext","setdata(class_rw_t","setemptypoolplaceholder();","sethascustomawz()","sethasdefaultawz()","sethotpage(nil);","sethotpage(page);","sethotpage(parent);","sethotpage(this);","setimageblock:(nul","setimageblock:nil","setlayoutifneed]","setname:@\"afnetworking\"];","setneeddisplay])时,它会向","setneedsdispay","setneedsdisplay","setneedsdisplay()","setneedsdisplay]","setneedsdisplay];","setneedsdisplay]方法,给layer上打上一个脏标记,意味着需要重绘。但是只有在下一次runloop即将结束的时候才会调用[calay","setneedslaylout","setneedslayout","setneedslayout()","setneedslayout]/","setneedsupdateconstraint","setneedsupdateconstraints()","setneverunloadrecursive();","setobject","setobject:fresh","setobject:oper","setobject:vc","settarget:self.target];","setter","setter:","setterkey(keyset方法)","setter方法用于观察键值","settings:这一栏下是对编译的细节进行设定,包含","settings:配置编译和链接相关的参数。特别要提到的是","settintcolor:","setup","setup.","setupallmodules];","setvalue:forkey与setvalue:forkeypath的区别:","setwithobject:productidentifier];","sevic","sexecpath);","sha","sha1","sha1sum","shadowpath","shadow,其原因在于,虽然","share","shareddownloader]","sharedimagecache]","sharedinstance]","shift","shiftcl","shiftcls:存储类指针的值。开启指针优化的情况下,在","short","shortcut","shouldblockfailedurl","shouldblockfailedurl:(nonnul","shouldblockfailedurlwithurl:url","shouldcacheorigin","shouldcacheoriginal。","shoulddownload","shoulddownloadimageforurl:(nonnul","shoulddownloadimageforurl:url]);","shouldquerycach","shouldquerydisksync","shouldraster","shouldrasterize,减少触发的次数","shouldrasterize,只会弄巧成拙。","shouldrebas","show","showbuildoperationdur","side_table_rc_on","side_table_rc_one(4,位计算)","side_table_rc_pin","side_table_rc_shift;","side_table_rc_shift;(将向右偏移操作)","sideload","sidet","sidetable&","sidetable::locktwo(oldtable,","sidetable::unlocktwo(oldtable,","sidetable_cleardeallocating3","sidetable_getextrarc_nolock();","sidetable_lock();","sidetable_retaincount();","sidetable_unlock();","sidetables()","sidetables()[this];","sidetable的结构","sidetable里有一个自旋锁,如果把所有的类都放在同一个sidetable,有任何一个类有改动都会对整个table做操作,并且在操作一个类的同时,操作别的类会被锁住等待,这样会导致操作效率和查询效率都很低。而有多个sidetable的话,操作的都是单个table,并不会影响其他的table,这就是分离锁。","signal","signal()","signal操作是唤醒一个正在休眠等待的线程","simpread","singl","sinserteddylibcount","size","size);","size,","size;","size_t","sizeof(*mlists));","sizeof(*pag","sizeof(*proplists));","sizeof(*protolists));","sizeof(__block_byref_a_0),","sizeof(array()","sizeof(struct","sizeof(syncdata));","sizeofcmds;","skpayment","skpaymenttransactionobserv","skpaymenttransactionstatedeferred:","skpaymenttransactionstatefailed:","skpaymenttransactionstatepurchased:","skpaymenttransactionstatepurchasing:","skpaymenttransactionstaterestored:","skproductsrequest","skproductsrequestdeleg","sleep","sleep(1);","sleep(2);","sleepandwaitforwakingupports();","slide","slide);","slide,","slide=0x1000,这时候字符串在运行时的地址就是","slideofmainexecutable(appsmachheader);","slideofmainexecutable(dyldsmachheader);","slide。","slide,需要把内部的指针指向加上这个","slock","slock;","slot","slotlock","slotlock.lock();","slotlock.unlock();","slow","slower","slowpath(x)","slowpath和fastpath","smainexecut","snapshot","sniffloadcommand","snotifyobjcinit","snotifyobjcmap","snotifyobjcunmap","snow","socket","sockets:基于端口的通信是在两个线程之间进行通信的一种更为复杂的方法,但它也是一种非常可靠的技术。更重要的是,端口和套接字可用于与外部实体(例如其他进程和服务)进行通信。为了提高效率,使用","solution(object):","solution:","someth","something.","son","sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序","sourc","source,","source0","source0:","source0并不能主动触发事件。使用时,你需要先调用cfrunloopsourcesignal,将这个source标记为待处理,然后手动调用cfrunloopwakeup来唤醒runloop,让其处理这个事件。","source0:包括","source1","source1:","source1包括系统事件捕捉和基于port的线程间通信。什么是系统事件捕捉?又如何理解基于port的线程间通信?其实,我们手指点击屏幕,首先产生的是一个系统事件,通过source1来接受捕捉,然后由springboard程序包装成source0分发给应用去处理,因此我们在app内部接受到触摸事件,就是source0,","source1和source0的区别:","source1收到系统事件后,都会调用source0的函数,所以最终这些事件都是由source0处理的。","source1是runloop用来处理mach","source1能主动触发事件。其中它有一个mach_port_t,mach_port是用于内核向线程发送消息的。","source1:包括","sourceapplication:(nsstr","sources(nstimer)","sources:","sources(定时源)两种来源等待接受事件;然后对接受到的事件通知线程进行处理,并在没有事件的时候进行休息。","sources(输入源)和tim","source在挂起状态下,如果直接设置sourc","source:定时器事件源,用来生成周期性的通知或回调","source:监听mach端口事件源","source:监听信号事件源,当有unix信号发生时会通知","source:监听文件或socket事件源,当文件或socket数据发生变化时会通知","source:监听自定义事件源","source:监听进程事件源,与进程相关的事件通知","space","special","specialization.","specif","specifi","spinlock.","spinlock_t","spinlock_t&","spinlock_t(自旋锁),","spinlock_t。","splashboard","splashboard.framework","splashboard,生成新的启动图,并缓存至沙盒目录,而我们在沙盒目录中也找到了新生成的启动图文件。","springboard","springboard.app","springboard是","springboard进程因接收到触摸事件,触发了主线程runloop的source1事件源的回调。","src","ssl","ssl/tl","ssl。ssl","ssl如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到ca证书","ssl的加密机制:在使用ssl的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为des、3des,aes等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有rsa、elgamal、ecc等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请网上搜索相应的资料。","stack","stack.append(cur)","stack.append(cur.left)","stack.append(cur.right)","stack.append(root)","stack.pop()","stack1","stack1.append(cur.left)","stack1.append(cur.right)","stack1.pop()","stack1:","stack2","stack2.append(cur.val)","stack2[::","stack:","stack后是否会被渲染,取决于所在的","stack的方式外,","stack里不能","stand","start","start(const","start];","startglue)","startglue);","startup","state,","static","static_entri","static_init();","std::map","std::string","std::vector","step","stop","stop)","storag","storage)","storage,在ios中每个线程都拥有自己的tls,负责保存本线程的一些变量,","store","store(cgcontextref),每个layer都有一个content,这个content指向的一块缓存称为back","store/","storecacheprocess。","storecachetype、originalstorecachetype、transformer、cacheserializer,判断是否需要存储转换后图像数据、原始数据、等待缓存存储结束。","storeweak","storeweak(id","storeweak最主要的两个逻辑点(源码太长,这里不贴了)","store。如果layer有delegate,则调用delegate的","store。当back","store中的bitmap数据显示在屏幕上","store中的bitmap数据显示在屏幕上。","store写完之后,通过rendserver交给gpu去渲染,将back","store写完后,通过rend","store(位图)传给gpu。","store),而当设备屏幕进行刷新时,会从","storyboard","storyboard.instantiateinitialviewcontroller;","storyboardwithname:@“sb_name”","storyboardwithname:launchscreennam","storyboard,asset","storyboard,需要持久化为文件,使用","straight","stret","string","string)","string,","string:","string?","stringwithformat:@\"kroutegoodsdetails\",","stringwithformat:@\"y\"];","string,会显式的存储到数据段中,例如,","stripecount","stripecount;","stripedmap","stripedmap&","stripedmap[]","stroageimage:]","strong","strong)","strong,","strong——weak","strong的源代码如下:","struct","structure.","stub","stuck","student:","studio,","subclass","subclass(class)","subclass_match_result","subclass_match_result:","subclass_match_result[0]","subclass_nam","subclass(class),subclass(class)的","subclass(meta),subclass(meta)的","subclass)的","subset","subvers","subversion?","subview","subview3","subviews)","subviews[i];","subviews,一层一层的获取到,然后根据当前的模式进行修改颜色。对于不在页面上显示的","summari","super","super,","super.cont","super.contents;","super.init(frame:","super.init(name:","super::duplicate();","super;","super_class","super_class:","super_class;","super_class为指向当前类的父类。","superclass","superclass(class)","superclass.","superclass/subclass","superclass;","superclass_match_result","superclass_match_result:","superclass_match_result[0]","superclass_nam","superview","support","support_direct_thread_key","suspend","svn","swift","swift)","swiftc,二者的后端都是","swift。swift","swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于","swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在","switch","switch(why)","swizzl","swizzlesettintcoloronce:","swizzlewillmovetowindowonce:","swizzling)","swizzling技术实现的","symbol","symbol)","symbols:","symbols[address]","symbols[unref_pointer]","symbols,主二进制","symbols,二方静态库","symbols,动态库","symbols,起始地址也是","symroot=$buildapptodir","syn","syn_rcvd","syn_recv","syn_send","sync","sync_exit(arg)","sync_exit;","synccach","synccache;","synccacheitem","synccacheitem;","synccacheitem用来记录某个syncdata在某个线程中被加锁的记录,一个syncdata可以被多个synccacheitem持有","synccache用来记录某个线程中所有synccacheitem,并且记录了缓存大小以及已使用缓存大小","syncdata","syncdata*","syncdata;","syncdata。","syncdata,并且会调用命名为自旋锁的互斥锁","synchron","synclist","synclist()","synclist。","synclist结构体,内部data就是syncdata","synthes","syn攻击是什么?","syn,此时服务器处于","sys.path[0].strip()","system","system),演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用","t","t&","t)","t1","tabl","table.","table.lock();","table.refcnts.end())","table.refcnts.find(this);","table.refcnts.find[this];","table.refcnts[this];","table.unlock();","tableview","tableview:prefetchrowsatindexpaths:","tableview,是个不小的性能挑战","table。其实其中的","table。而在","table,也叫哈希表),是根据关键码值(key","tag","taggedpoint","taggedpointer技术,不使用isa","tag的值的mask以及一些其他的左移右移位","take","talk","tapaction:","target","target;","target_os_iosmac)","target_os_iphon","targetnam","target使用strong进行了修饰,block是会截获对象的修饰符的;","target(右键","target,将","target,选择","target;这两个方法的使用都比较直接简单,不太能整出花样。","task","task.diddisplay(self,","task.display(context,","tbd","tcl","tcls;","tcp","tcp&udp","tcp(传输控制协议)","tcp/udp区别以及udp如何实现可靠传输","tcphandshak","tcp。","tcp一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。","tcp不像udp一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。","tcp与udp区别总结","tcp主要靠停止等待协议实现的","tcp允许通信双方的应用程序在任何时候都能发送数据,因为tcp连接的两端都设有缓存,用来临时存放双向通信的数据。当然,tcp可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于mss)","tcp协议的特点","tcp和udp是osi模型中的运输层中的协议。tcp提供可靠的通信传输,而udp则常被用于让广播和细节控制交给应用的通信传输。","tcp和udp的比较","tcp提供全双工通信","tcp粘包","tcp粘包,拆包及解决方法、丢包的原因及解决办法","tech@bytedance.com","techniques》","telemtyp","temp","temp)","temp.left","temp.right","temp;","templat","test","test,","test[23738:8888825]","testing事件传递","testlaunchscreen(403)","testlaunchscreen(630)","testmod","test遍历视图栈里的视图,顺序为视图层次的逆顺序,用respond","test,test","text","text,","textur","text,data,linkedit,也支持自定义:","text,代码段,只读可执行,存储函数的二进制代码","text,代码段,只读可执行,存储函数的二进制代码(text),常量字符串(cstring),object","thing","this,","this;","thread","thread(pthread_self()),","thread.","thread;","thread_loc","threadcount);","threadcount;","threadcount表示使用该对象进行加锁的线程数","threadfactori","through","throw","tiger","tiler,调用顶点着色器,把顶点数据进行分块(tiling);","time).","time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。","time:","time_wait","time_wait状态也成为2msl等待状态。每个具体tcp实现必须选择一个报文段最大生存时间msl(maximum","timeout","timeout)","timeout);","timeout=49","timeout)时间","timeout:等待的超时时间(即等多久)","timer","timer(dbg_dyld_timing_objc_init,","timer(如果有)、sourc","timer;","timerport)","timers:","timer会唤醒","timespecfrom(date:","tintcolor","tintcolor)))","tintcolor),","tip","tips:catransact","tips:启动最佳时间是","titlecolor","tl","tls_get_direct(key);","tls_init();","tls_set_direct(sync_count_direct_key,","tls_set_direct(sync_data_direct_key,","tls,是一种在加密信道进行","tmp/com.apple.dyld","tnq","tnq.append(cur.right)","to:","todo:","togeth","tohandler:^id","token","tool]","top","topath:(nsstr","touch)、远程控制事件、硬件运动事件。","touchesbegan:touch","touchesbegan:withevent:","touchescancelled:","touchescancelled:touch","touchesended:touch","touchesended:withevent:","touchesmoved:touch","toview:subview];","tracing),用于定为","trackingmode,nstimer默认添加在defaultmode,所以不执行","transact","transactions)","transactionset","transactionset;","transaction。如果用户内存中的位图数据没有字节对齐","transaction,这个transaction会自动在主线程的下一个","transcationdeferred:transcation];","transcationfailed:transcation];","transcationpurchased:transcation];","transcationpurchasing:transcation];","transcationrestored:transcation];","transcationst","transform","transformer;","transformer。","transit","transpar","transport","tree","tree)","treenod","treenode(lst[0])","treenode(lst[i])","treenode)","treenode,","treenode:","tree)发生变化,会生成一个","tri","tricki","true","true);","true,","true,size_t","true/*allocwithzone*/);","true;","true。","true,rend","trylock(whencondit","ttl","tvos(9.0));","two","type","typedef","typeof(self)weakself","types包含了函数返回值,参数编码的字符串。通过字符串拼接的方式将返回值和参数拼接成一个字符串,来代表函数返回值及参数。","typically,","t查看.a","ubfx","udp","udp(用户数据报协议)","udp协议的特点","udp如何实现可靠传输","udp是面向报文的","udp没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如ip电话,实时视频会议等)","ugli","ui","uiapplic","uiapplicationdeleg","uiapplicationmain(argc,","uiapplication开始往下遍历到每个","uiapplication接收到事件,将事件传递给keywindow。","uiapplication,启动","uiblureffect,同样无法通过一次遍历完成,其原理在","uibutton","uibutton()","uicolor","uicolor(.dm,","uicolor)","uicolor,","uicolor,但是在","uicolor,并且可以根据系统的模式返回对应的颜色。","uicontrol","uievent","uigesture/处理屏幕旋转/发送给","uigesturerecogn","uigraphicsbeginimagecontextwithoptions([uiscreen","uigraphicsbeginimagecontextwithoptions(size,","uigraphicsendimagecontext();","uigraphicsgetcurrentcontext();","uigraphicsgetimagefromcurrentimagecontext();","uiimag","uiimageview","uiimageview的userinteractionenabled默认为","uiimage持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。","uiimage),消耗内存较多,所以应该在使用完及时释放,并在需要的时候重新生成,否则很容易导致","uiimage,但是可以根据当前的模式返回不同的","uiinitializationrunloopmode:","uikit","uikit。uikit","uikit会将这个conext推到系统的context堆栈中,如果在draw","uilabel","uinavig","uinavigationcontrol","uint16_t","uint32_t","uint64_t","uint8_t","uint8_t*)mh,","uintptr_t","uintptr_t*","uirespond","uiresponder是","uiscrollview","uistoryboard","uitableviewdatasourceprefetch","uitrackingrunloopmode:","uitrakingrunloopmode这两个mode,等于说这两个mode是具有nsrunloopcommonmodes标记的,因此都被添加进了_commonmodes,根据上面的代码,timer将不会被添加到某个具体的mode里,而是会被放入runloop的_commonmodeitems这个容器里。只要app运行在_commonmodes所包含的某个mode下,就会去处理_commonmodeitems里面的事件。当然,所运行的那个mode自己本身所包含的事件也是会被处理的,","uiview","uiview+webcach","uiview+webcacheoper","uiview.self,","uiview/calay","uiviewcontrol","uiviewcontroller.view","uiviewcontrollerd","uiviewcontroller没有hittest:withevent:方法,所以控制器不参与查找响应视图的过程。但是控制器在响应者链中,如果控制器的view不处理事件,会交给控制器来处理。控制器不处理的话,再交给view的下一级响应者处理。","uiviewcontroller的viewwillappear:和viewdidappear:不在同一次","uiviewcontroller需要可以安全的编写","uiview上,执行","uiview与calayer动画原理","uiview与calayer的区别?","uiview刷新与渲染机制","uiview如何显示内容","uiview的子视图也会遍历其subviews的hittest:withevent:方法,以此类推。","uiview的绘制原理","uivisualeffect,而是另外实现模糊效果(cigaussianblur),并手动管理渲染结果","uiwindow","uiwindow?)","uiwindowlevelstatusbar","ui、事件和转场等逻辑,将动态部分(网络请求)的发起逻辑写在转场结束之后。","ui事件唤醒","ui刷新(beforewaiting)","ui控件的绘制工作","ui视图","ui触摸事件与事件响应","unavailable,","unbalanc","unconfirm","understand","unfair","union","unit","unit,","unititems)","unitwithurl:self.request.url];","univers","unix","unknown","unlock()","unlock(withcondit","unlock];","unmap_imag","unmap_image);","unmapped)","unmapped);","unmapped;","unordered_map","unref_point","unref_pointers:","unref_symbl","unref_symbles:","unref_symbol","unref_symbol.startswith(filter_prefix):","unref_symbol.startswith(reserved_prefix):","unref_symbols.add(unref_symbol)","unref_symbols.remove(superclass_name)","unref_symbols:","unsign","until","untri","unus","unwind","up","updat","updateconstraint","updateconstraints()","updateconstraints()。这个方法和","updateconstraintsifneeded()","updatedtransactions:(nsarray","updatelength:self.downloadlength];","upvalues)","uri:(nsstr","url","url.absolutestr","url:(nonnul","url:url","url:url];","urlforresource:@\"file_name\"","urlwithstring:[paramet","url。","url,valu","url;如果","us","usag","usage)","used.","used;","userinteractionen","username=","usual.","uuid…","v","v1","v1.0","v1.0:","v2","v2.0:","v2;","v3.0:","v@:","val","val)","val:","valid","validoperationkey","validoperationkey;","validoperationkey。","validoperationkey,一般","valu","value)","value);","value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。","value,","value;","valueoptions:nspointerfunctionsweakmemori","values.","value——10","value保存到字典中","value,保存着","value,因为","value:被关联的对象","var","var_1;","var_2","var_3","var_4","variabl","variable)","vc","vc.view中间层,负责事件分发、响应链,","vc;","vc,","veri","version","version;","view","view,","view.backgroundcolor","view.layer.cont","view;","viewcontrol","viewcontrollerclass","viewcontrollerclass。否则会奔溃","viewcontrollerprefetch,增加额外复杂度。","viewcontrollerprerend","viewcontrollerprerender的逻辑分析解释为什么会有提速,在使用viewcontrollerprerender时,需要特别留意什么地方,以免掉入误区。","viewcontroller。","viewcontroller内部逻辑相同,详见","viewcontroller加载严选首页两种方式测试,保持","viewcontroller性能表现并不是瓶颈,所以目前业界对","viewcontroller的方式;第二次之后使用预热的","viewcontroller(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top","viewcontroller,但是不易过多,容易引起内存紧张","viewcontroller,因为","viewcontroller,如果第一次使用。","viewcontroller,池子,在必要时候","viewcontroller,然后再执行真实的","viewcontroller,隐藏的","viewcontroller,需要划分职责,在viewdidload里搭建框架,,而在另一个单独的接口如本","viewdidapp","viewdidiload","viewdidload","viewdidload()之后,整个","viewdidload];","viewdidload添加到主队列上,提交到主线程上执行.viewdidload执行到某个时段时候,同步提交一个任务到一个串行队列上面,由于是同步提交任务,意味着要在当前线程执行,所以串行队列提交的任务也是在主线程上面执行,串行队列任务在主线程上执行完之后,再继续执行viewdidload后面的任务","viewlayoutmarginsdidchang","viewwillappear:执行后启动);","view。","view布局与约束时机","view的应用","view等一系列控件颜色,","view绘制渲染机制和runloop什么关系","view)到窗口(uiwindow","view,uidropshadowview,uitransitionview。","view,使用","view,只能通过替换","view,右边打开","view,那么系统就会把这个","void","void(^block)(void)","void(^clblock)(void);","void(^clblock)(void);//➕➕➕","void*)()","volatil","vritual","vs","vs.","vsync","vtabl","vtable,加速方法的调用","v是指用户界面,","wait","wait()","wait(until","wait操作会阻塞线程,使其进入休眠状态,直至超时","wait状态不等待一段时间,而是发送完ack报文段后立即释放连接,则无法收到服务端重传的fin+ack报文段,所以不会再发送一次确认报文段,则服务端无法正常进入到closed状态。","wakeupport","want","warc","warn","warning.","warning,建议程序员自行修正不对齐的指针。不过","watchos(2.0),","way","wc","weak","weak_entri","weak_entry_for_refer","weak_entry_for_referent(weak_table,","weak_entry_remove(weak_table,","weak_entry_t","weak_entry_t,然后对其弱引用指针进行操作。","weak_inline_count","weak_referrer_t","weak_referrer_t;","weak_register_no_lock","weak_register_no_lock(weak_table_t","weak_tabl","weak_table;","weak_table_t","weak_unregister_no_lock","weak_unregister_no_lock(&oldt","weak_unregister_no_lock(weak_table_t","weakcach","weakcachelock","weakcache(stong","weakcache(strong","weakivarlayout;","weakly_referenc","weakly_referenced:对象是否被指向或者曾经指向⼀个","weaktabl","weaktable在每个sidetable中以结构体","weak修饰时,runtime会维护一个hash表(也称为weak表),用于存储对象的所有weak指针,hash表的key是该对象的地址,value为weak指针的地址(这个地址的值是所指对象的地址)数组。(备注strong是通过runtime维护的一个自动引用计数表)","weak关键字:","weak对外界的对象进行强引用或者弱引用。","weak的实现原理","weak的实现原理总结:","weak置空原理","weak)又存储了一份缓存。","weak:","webp","webview","weird","whatev","whether","which)","while(*appl","while循环。","whose","why'","why)","why?","width","will/didfinishlaunch,这里主要是业务代码耗时","willfinishlaunch","willfinishlaunchingwithoptions:(nsdictionari","willmove(towindow:)","window","window)","window:","window,才会触发预热","witherror:(nonnul","withev","withevent:(nul","withevent:(uiev","withevent:event];","withextension:@\"txt\"];","withmodule:self.class]","withobject:","withobject:nil","without","wl,","wno","won't","workarounds/)","workflow","workingrelease];","workqueu","workspac","world","world\",","worth","write","writedata:data];","write,class_ro_t","written","wundeclar","wwdc","wwdc18","wwdc2014","w开头的,指的是编译的警告选项,通过这些你可以定制化编译选项","x","x,","x0","x0,","x1,","x10","x10,","x11,","x13","x13,","x16","x16,","x17","x17,","x86_64","x86_64制定了编译的架构,类似还有arm7等","x86,x86_64,arm,arm64","xcconfig","xcode","xcodebuild","xcodeproject,然后配置编译期脚本,来保证三方库能够正确的编译连接。","xcode,然后编译,你会在这里看到编译时间。","xcode,终端输入以下指令","xcrun","xib","xib,图片等资源文件到结果目录","xml","xpc","xxx","xxxx;","xxxxx;","xxx;那么self.mybutton其实是操作的实例变量xxx,而不是_mybutton了。","y","ye","year","yellow”","yes)","yes);","yes,","yes,隐藏的视图.","yes/*cache*/,","yes;","yes。","yes。这样做,可以只编译当前的版本,比如","yes,会将其存入","yes,新建下载任务并将其保存在","yes:先确认存储类型是否为原始数据,存储时如果","yet.","yyasynclay","yyasynclayer.h","yyasynclayerdeleg","yyasynclayerdisplaytask","yyasynclayerdisplaytask是绘制任务管理类,可以通过willdisplay和diddisplay回调将要绘制和结束绘制时机,最重要的是display,需要实现这个代码块,在代码块里面写业务绘制逻辑。","yyasynclayergetdisplayqueue()","yyasynclayergetdisplayqueue()方法如何获取的异步队列,也先不用管iscancelled()判断做的一些提前结束绘制的逻辑,这些后面会讲。","yyasynclayer原理","yyasynclayer基于异步绘制:","yydispatchqueuepool","yykit的yymemorycach有使用到pthread_mutex","yyrunloopobservercallback(cfrunloopobserverref","yyrunloopobservercallback,","yysentinel","yysentinel.h","yytext","yytransact","yytransaction()","yytransaction.h","yytransactionsetup()","yzappdeleg","yzggoodsmodel,开单模块将其强转为","yzsgoodsmodel","zero","zh_cn):","zip","zone","{","{...}","{//push了一个空的池子","{//临时作用域开始","{//倒序遍历,最先访问最后编译的分类","{//如果set方法传值不是nil","{_rethrow","{default","{default\\","{number","{}","{}中代码","|","|=","||","}","}()","});","}//临时作用域结束","};","}];","}_fin_force_rethow(_rethrow);","}else{","}struct1;","}struct2;","}struct3;","};","~","~/library/developer/xcode/deriveddata/","~_fin()","~_sync_exit()","·","–","—","——","——uivisiualeffectview","“","“;”","“color","“precomposite”","“updat","“切圆角”","“剪”","“危险代码”","“同名”","“启动闭包(launch","“圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如:","“如何在保证开发质量和效率的前提下做到无代码依赖的跨模块通信”。目前业界常见的模块间通讯方案大致如下几种:","“完善”","“懒惰的符号解析”","“新开一块","“无法生成启动图,因为当前应用不支持任何有效的方向”,此种情况下系统生成启动图时机为首次启动应用时,大家可以自行实验下。","“每一帧都需要离屏渲染”","“没有绝对正确的架构,只有最合适的架构”","“画家”","“画家算法”,按次序输出到","“的形状一致,这就意味着需要先知道","“的操作,有很多文章和视频也称之为","“砸壳”,砸的就是这一层","“离屏”,但是通常提到的离屏渲染是发生在","“离屏渲染”。","“离屏渲染”(因为像素数据是暂时存入了","“空间换时间”","“组件”。","“网络层”","“覆盖”","“覆盖”,宿主类的同名方法还是存在","“转发层”","“软件渲染”,而真正的离屏渲染发生在","“面向协议编程”","“,把每一层依次输出到画布","”","…","……","………………(省略,节省篇幅)","→","↓","√默认关键字","①","①objc_initweak","②","②storeweak","③","③weak_register_no_lock","④append_referr","└──","├──","▐","⚠️","⾃旋锁避免了进程上下⽂的调度开销,因此对于线程只会阻塞很短时间的场合是有效的","、","、double等元素,那b应该从8的整数倍开始存储。)","、initi","、properti","、sdimageloaderprogressblock。","。","。[注意是用assign关联对象(@property中用assign也会导致崩溃)]","。不需要考虑数组中超出新长度后面的元素。","。其中的","。其中,文件编号和上文的编号对应","。即o(log2n)","。在保存图片时,为了节省空间,通常会将图片编码(压缩)后再进行存储。如果读取的图片数据为压缩后的数据的话,那就需要对其进行解码成位图(bitmap)数据。","。它会给有内容更新的视图设置一个内部的标记,但在视图重绘之前就会返回。然后在下一个","。接下来如上面","。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。","。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它做错误的解释。","。(i>=1)","《core","《effect","《图解http》知识点摘录","」设计思想","【``run】","【arc环境","【launch】,将其设置为【wait","【译】object","一.","一、如何优化","一、背景","一、背景和问题","一个autoreleasepoolpage节点对应着一个线程,属于一一对应关系。","一个autoreleasepoolpage节点最大的位置","一个runloop对象里面包含了若干个runloopmode,runloop内部是通过一个集合容器_modes来装这些runloopmode的。","一个uiimageview添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?","一个为uiimageview提供一个分类来支持远程服务器图片加载的库。","一个值得注意的是,多线程处理时,对应线程可能使用相同的obj","一个典型的例子是,我们经常会使用","一个启动闭包缓存服务:系统","一个类的内部结构如下,","一个自动变量(auto)的存储空间位于函数栈空间上,在函数开辟栈空间时被创建,在函数结束时销毁,而block的调用时机有可能发生在函数结束之后的,因此就无法使用自动变量了,所以在block一开始定义赋值的过程里,就将自动变量的值拷贝到他自己的存储空间上。","一个自定义的","一个视图的布局指的是它在屏幕上的的大小和位置。每个","一个视图的显示包含了颜色、文本、图片和","一个证书中含有三个部分:\"证书内容,散列算法,加密密文\",证书内容会被散列算法hash计算出hash值,然后使用ca机构提供的私钥进行rsa加密。","一个进程(程序)的所有任务都在线程中执行,每个进程至少有一个线程(主线程)。线程是cpu调度(执行任务)的最小单位,其实质就是一段代码(一个任务)。","一个进程内的引擎,来运行启动闭包:它所做的一切是验证启动闭包,将动态链接库映射出去,然后跳转到","一个进程外的","一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉,所以多进程要比多线程健壮","一些列","一些可忽略不计的操作都会引","一些推荐阅读","一启动就会","一套通用的多线程api","一定会触发离屏渲染吗?","一定要使用","一对多的通知广播。比如","一小段时间再回到主线程上执行,对于性能较差的设备,主线程","一开始,栈空间的block有一个__block_byref_a_0结构体,","一张包含很多内容的表","一文看懂https、证书机构(ca)、证书、数字签名、私钥、公钥","一旦有可用数据,就通过delegate的方式一直回调,通知response类有可用数据。","一旦缓存超过","一样有","一样,也没实现initi","一样,但优先级比","一棵典型的二叉树如下图所示:","一次","一次完整的http请求所经历的7个步骤","一次性执行","一次(父类的","一步一步带你揭开main函数之前的面纱","一目了然,只是将集合中的任务分别执行。","一看便知,该类扮演的是计数的角色,值得注意的是,","一系列以","一般会用","一般可以将编程语言分为两种,编译语言和直译式语言。","一般在创建单例对象的时候使用","一般在开发过程中我们使用全局队列","一般情况下,对被截获变量进行赋值操作需要添加","一般我们需要对现有的类做扩展,可以通过继承、类别等方式去实现;当我们使用类别的方式扩展,如果对现有的类增加属性的话,编译器是不会生成实例变量;类别的结构体中没有ivar的结构体,同时类的ivar设计的是一个const","一般来说造成卡顿的原因,就是cpu负担过重,响应时间过长。主要原因有以下几种:","一般来说,我们就像下面的示例一样来使用:","一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象","一起返回。","一道多线程安全的题目","七,prerend","三.","三、dyld","三、yysentinel","三、业界常见模块化方案","三、互斥锁","三、解决方案","三次握手","三次握手和四次挥手","三次握手的其中一个重要功能是客户端和服务端交换","三次握手过程中可以携带数据吗?","三次握手(three","上","上。","上一次提交的","上下载源码。","上不会跟随设备方向旋转,但","上也有复现);","上介绍","上传","上删除该缓存目录,发现同样无权限。","上半部分,所有阶段是线性的;下半部分,可以做到并行,尤其是第三个","上可以使用系统自带的","上可执行文件的格式,","上图中大致流程为,检测到无可用缓存启动图,预热","上图第","上大部分系统","上宣布自","上对第三方","上执行,所以执行效率很高。","上执行,所以执行效率较高。","上文提到了,dysm","上文提到的文件","上是需要支持设备方向旋转,所以我们的处理是:","上曾经介绍过版本控制系统必须具有的三个特性:","上滚动(layoutsubview","上的","上的修改打包,一起发给","上的修改,合并成一个事务,通过","上的大部分","上的方案涉及到图片宽高获取,而相信大家阅读到这里也知道了缓存图格式有ktx,但该图片无法直接使用uiimage接口进行加载,这里我们通过多机型、多系统地查看了ktx图片的元数据,发现总结其中的规则,通过取固定段的字节计算其宽高,或直接使用imageio相关的接口可以获取其宽高,参考:","上的更改。用户交互和布局更新间的延迟几乎不会被用户察觉到。io","上的演讲就此嘲讽过","上的过程。","上被调用)","上设置","上这几个类相互之间的关系,可以通过如下的图来描绘.","上述bucket_t列表我们称之为散列表(哈希表)","上述三点中的后两点是非常容易理解的,虽然很多人可能会疑惑为什么性能对于一个日常使用频率不高的版本控制工具如此重要,但是没有人拒绝性能的提升(尤其是在免费的情况下)。","上述代码在外层加个for循环,问输出结果?","上述代码系统内部会自动三件事:","上述函数会根据当前传入的类的是不是一个元类,在_class_resolveinstancemethod和_class_resolveclassmethod中选择一个进行调用。注释也说明了这两个方法的作用就是判断当前类是否实现了","上述图像渲染流水线中,除了第一部分","上述方法分三种情况选择不同的代码执行:","上述源码中,method_array_t、property_array_t、protocol_array_t其实都是二维数组,来到method_array_t、property_array_t、protocol_array_t内部看一下。这里以method_array_t为例,method_array_t本身就是一个数组,数组里面存放的是数","上述的几个特性对于一个好的版本控制系统来说缺一不可,我们会依次介绍它们的重要性以及","上述过程中有几个比较重要的函数:","上述问题在团队规模扩大,新同学到来时格外明显,经常需要答疑讲解。甚至有一次业务项目时间特别紧张时,有些小伙伴私下更改模块间头文件","上面代码一运行就会崩溃,原因是因为在某一瞬间testarray释放了为nil,但哈希表中存的对象也变成了nil,导致synchronized无效化","上面判断了并不会为空","上面打上一个脏标记","上面方法里的","上面有提到一个集合:","上面的","上面的流程可能是这样的:","上面的测试代码,在12之前输出:","上面的视图中subview1、subview2、subview3是同级视图,都是superview的子视图。我们给subview1加上uitapgesturerecognizer手势,并且通过subview1action:方法接收回调,点击上面的subview3后,方法调用如下。","上面讨论block对于局部变量的处理,在看一看对于全局变量,情况又是如何","上面讲了两个很大的坑,接下来看一看","上,人们必须使用第三方的封装函数来适配标准的","上,我们通过代码仅生成竖屏启动图,然后直接替换全部的缓存启动图,即启动时不管设备方向如何,展示的始终为竖屏启动图;","上,我们通过代码同时生成竖屏及横屏启动图,接着分别使用这两张图进行替换,同时在替换时进行校验,只有当替换的启动图与缓存启动图宽高一致时才执行,即竖屏只替换竖屏、横屏只替换横屏。","上,是","上,由于有","下","下clperson","下一个main","下一步是调用","下不会被禁用","下图是","下次使用缓存","下载","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做“砸壳”,砸的就是这一层","下载微信,然后获得","下载数据","下载结束后回到","下运行的。","下面","下面也有详细列出.","下面再看看结构体__block_byref_a_0的构造","下面列举一些常见的","下面找","下面指向的操作会改变旧值","下面来看一下主队列和全局队列的使用情况:","下面的一段代码是在开发中常见的weak的使用","下面的代码输出什么?","下面的情况呢","下面看看回调里面做了些什么:","下面这段代码要求使用信号量来按序输出(当然栅栏函数可以满足要求)","不一样,并不是指向父类的指针,只是一个","不为","不会与即将进行的操作发生冲突。保证当前的控件上有且只有一个最新的任务。","不会启动;","不会开启线程","不会等待异步操作完成;","不使用context作为观察值","不使用栅栏函数","不允许多继承,基于","不分配","不只uibutton是直接由uiapplication派发事件的,所有继承自uicontrol的类,都是由uiapplication直接派发事件的。","不可变","不可用。但是和是否在屏幕可见没关系","不可靠传输,不使用流量控制和拥塞控制","不可靠性","不同","不同产品的业务形态不一样,对于抖音来说,首页的数据加载完成就是视频的第一帧播放;对其他首页是静态的","不同加载图片的方式,在这一步的操作上会有一定的差异。","不同的","不同的扩展程序,所以在","不同类中相同名字的方法,所对应的方法选择器是相同的。","不同系统、不同机型测试,均有复现,排除该问题只发生在特定机型或系统上;","不在正在运行的","不多","不存在继承","不存在,我们需要创建一个对应的syncdata。最后创建","不宜占用太多主线程资源,避免对当前界面打开产生负面影响。","不对交易信息做处理。","不影响","不接","不擅长做这件事,所以我们需要尽量避免它,就误以为这就是需要避免离屏渲染的原因。但是根据苹果工程师的说法,cpu","不支持在本地提交文件,这一点背后的设计哲学就与","不支持弱引用,该过程需要暂停","不改变修饰对象的引用计数","不断增加了平台和架构:dyld2","不是在内存峰值时候释放","不是当前监听的","不是被","不是触点view,则","不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说","不满","不用担心,我从来不会只讲原理不留源码,我已经将我司的源码整理出来,你使用时只需要拽到工程中就可以了,下面开始我们的内容","不用等待当前语句执行完毕,就可以执行下一条语句","不直接做成散列表呢,做成list,还要单独缓存,多费事?","不相等。第三次","不相等。第四次循环之后,退出循环,所以第三行的","不相等。第四次循环,nsobject","不着急","不等,第二次","不管是创建上下文、重绘带来的内存重新分配、ipc","不管是类对象还是元类对象,类型都是","不能为系统类添加扩展","不能使用非oc对象作为加锁条件——id2data中接收参数为id类型","不能直接给","不要使用额外的数组空间,你必须在","不论在任何内存位置,都可以顺利访问同一个__block变量.","不设置背景色","不过是初始配置并且将任务装入集合。","不过,与平衡树不同的是,红黑树在插入、删除等操作,不会像平衡树那样,频繁着破坏红黑树的规则,所以不需要频繁着调整,这也是我们为什么大多数情况下使用红黑树的原因。","不过,如果你要说,单单在查找方面的效率的话,平衡树比红黑树快。","不需要分配新值","不需要查找缓存,直接进入下载。","与","与meta","与uiview不同,calayer着重于图层的绘制,大致为以下职能:","与一个","与一个页面绑定,需要时通过","与其他版本控制工具的对比文章和讨论都已经有着相当久的年头了,我们目前面对的开发场景与几年前有很多不同,而这些不同的版本控制工具也各自演化,不过作者始终认为","与其所有子结构组合之后的形状。更关键的是,阴影需要显示在所有","与启动又有什么关系呢?","与本身不等。接着第二次循环判断","与离屏","与路由","丑了点,但的确保持了平衡。","专门用于储存小对象","专题","且","且tls无需锁保护,","业务功能的大部分资源可以通过无损压缩控制体积,体积不大的资源允许一定程度上的重复。","业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能","业务模块化时机","业务模块化的效果之一就是个业务模块可以单独打包,放入壳工程运行。很容易想到的一个改造就是把各个模块拆到不同的","业务模块化设计通过对各业务模块的解耦改造,避免循环双向依赖,达到提升开发效率和质量的目的。但业务需求的依赖是无法消除的,所以模块化方案首先要解决的是如何在无代码依赖的情况下实现跨模块通信的问题。io","业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自","业务逻辑回调","业界的","业界里,蘑菇街的","两个成员不用多说,第一个是为了防止竞争选择的自旋锁,第二个是协助对象的","两个段存在:__text存函数二进制,cstring存储字符串","两个理由:","两大模块组成。前者负责与","两种模式设置预处理宏。","两者是没有关系的,可以这么理解:","两颗星星,一个)","严格说来,上图中的","个","个.","个mnperson","个串行队列实现并发","个串行队列来调度,而不用一个并行队列。","个任务,也就是最多有","个元素,里面存储了sidetable,元素的内容为","个动态链接库,所以这个步骤包含了较大的工作量。","个动态链接库,这个方法会浪费大量内存。所以苹果预计在未来的版本中废弃这个方法,同时苹果将会提供相应的替代接口。","个字母组成的","个左右),所以我们为每个模块创建了一个","个线程是相互不竞争","个组件的结合:","个结点的完全二叉树从上到下且从左至右进行","个绘制任务时,可以开辟多个线程在后台异步绘制,绘制成功拿到位图回到主线程赋值给","个节点","个节点的二叉查找树,正常的情况下,查找的时间复杂度为","个节点的平衡树,最坏的查找时间复杂度也为","个项目要","个,所以对启动速度的影响可以忽略不计。而且前文提到,每个模块本来也需要注册自己的外观类(modul","中","中,","中”","中。","中。好处很多,比如单独的权限控制,独立的版本号,万一发版时发现问题可以及时","中。管理非常方便规范,别的模块","中。这就是","中不同模块的开发发版节奏也基本一致,所以多","中不符。苹果对旧的二进制做了一些兼容,但是链接器将会禁止新的二进制使用这些方案,所以可能会出现链接错误。","中业务模块数量不会很多(我们几个","中仅添加一张背景图,给其设置约束铺满全屏,竖屏时正常显示,但横屏时就异常了。(ps:大家可以关闭系统旋转锁定,参考横屏冷启淘宝及微信的解决方案)有一种解决方案是","中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在","中使用","中修改多个模块的代码。修改完成后,要多次执行提交、打版本号以及集成测试等操作,很不效率。同时因为涉及到多个","中共生成四张截图,分别为对应着浅色主题下竖屏启动图、浅色主题下横屏启动图、深色主题下竖屏启动图、深色主题下横屏启动图,竖","中具体的方法可以帮助避免或者可以调试这类问题。下面的图展示出了","中列出的需要加载哪些库文件","中创建一个","中利用","中包含了类信息、对象的引⽤计数等。","中取出","中只有一个","中叫做","中可以定义一个可失败的初始化器(failabl","中可以找到","中可以看到","中可以自由调整","中同步或者异步地执行磁盘查询。","中同步的返回一个预先被渲染的","中声明其数据结构:","中声明的。","中存储的内容大致如上图所示","中实现了","中对于如何选择圆角渲染策略的流程图,非常实用","中对这些操作进行了改进。这就可能导致","中寻找。以此类推,直到根类","中就会重绘,而不需要显式的","中已经取不到这个对象了。为了解决这个问题,sdmemorycach","中序遍历","中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。","中我们也有详细讲述过","中所支持的设备方向决定。如果在","中找到","中找到了_objc_sync_ent","中找到更详细的解释:","中接口改变导致的依赖模块的修改,其实成本很低,改起来很快。此时我们开始思考之前追求的编译隔离是否适合当前阶段,是否有实际价值。","中接触","中提到:","中插入脚本,来做一些定制化的构建,比如","中放入所需的初始化代码。可以在合适的地方将初始化","中方法的结构","中显示。","中更新,就在系统调用视图们的","中有","中有一个","中未使用的类,源码链接:xuezhulian/classunref。","中未勾选任何方向,那么系统会输出","中某些行为的结果和","中每个类本身也是一个对象。如上面所看到的,这意味着类结构也必须以一个isa指针开始,从而可以和objc_object在二进制层面兼容,之后这个结构的下一字段必须是一个指向父类的指针(对于基类则为nil)。","中比较多)中有这样一张图:","中注册了一个","中注册了两个回调","中注册并保存了","中添加","中添加了","中添加了一个","中用于处理用户事件的","中的","中的一个方法,这个方法会返回","中的一篇文档。","中的两个配置项:","中的代码会执行一些操作,比如创建和调整视图层级、设置","中的代码在多线程的情况下线程安全","中的元类(meta","中的函数指针中","中的参数。","中的变化","中的各个段进行了二级划分,","中的多张弱引用散列表。","中的大部分只是一个常规的","中的对象,它仅包含一个","中的属性在运行期间就不能改变了,再添加方法时,会修改","中的指定初始化器会在后面被ns_designated_initializer修饰,以下为nsobject","中的方式。","中的方法,属性以及协议列表均为空。这时需要","中的方法:","中的方面名称。","中的更新延迟。但是由于在处理事件和对应","中的某时刻的","中的渲染逻辑。以下是我根据自己的理解画的","中的源码如下:","中的类型强转风险也没有了。","中的缓存判断),这里判断了其指针指向的类对象是否有效,无效直接释放,不再往深层调用函数。","中的调用顺序?以及出现继承时他们之间的调用过程?","中的这些","中的那些方法。所以我们定义了一个继承","中的预绑定被抛弃了。","中看到(中间代码省略):","中移除,调用","中类也是一个对象。","中给出了官方计算方式:","中继续添加就可以了","中能被攻击的部分,并且能提升","中自动开启了。","中苹果的解释,mask","中获取到被缓存对象,就算对象被释放,因为弱引用也不会造成野指针问题。这是典型的","中被调用;","中设置新","中说","中读取生成好的","中读取,很有可能读取的时候还没有注册。","中调用了","中通过编译设置","中间代码:codegen","中预设一些脚本(checkpod","中(或者叫消息转发层)。这样危险代码只存在某几个文件里,可以特别地进行","中,class","中,ivar_t","中,mach","中,objc_class","中,一切都是在","中,其成员","中,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手","中,初始化的时候不需要保证所有属性(成员变量)都有值","中,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值","中,可以使用required修饰初始化器,来指定子类必须实现该初始化器。需要注意的是,如果子类可以直接继承父类的指定初始化器和便利初始化器,所以也就可以不用额外实现required修饰的初始化器","中,在初始化方法前面添加了一个自定义的枚举","中,如果子类没有直接继承父类的指定初始化器和便利指定初始化器,则必须实现父类中required修饰的初始化器","中,如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。必须重写旧的定初始化器,在里面调用新的指定初始化器","中,如果存在继承,并且子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,那么就需要新创建一个指定初始化器,或者重写父类的指定初始化器,并且在里面调用父类的指定初始化器","中,子类会直接继承父类所有的初始化方法","中,子类可以把父类的指定初始化器重写成便利初始化器","中,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器,那么就不会继承父类的指定初始化器和便利指定初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器","中,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利指定初始化器","中,对象的方法并没有存储于对象的结构体中(如果每一个对象都保存了自己能执行的方法,那么对内存的占用有极大的影响)。","中,必须在初始化完成后才能调用实例属性,调用实例方法","中,我们可以看出它真正创建的是一个","中,我们甚至不需要打开一个单独的文件;对于第三方","中,搜索","中,方法实质上是一个","中,方法的调用采用如下方式:","中,曾发生过好几次小伙伴改别人的模块改出问题的例子(虽然有","中,根据下载","中,滚动的每一帧变化都会触发每个","中,类实际上是一个","中,类本身也是一个对象。objc_class","中,系统会遍历所有已标标记的视图,并调用它们的","中,系统就会执行这些","中,维护了一个","中,缺失符号会导致","中,苹果发布了","中,苹果已经介绍了从","中,苹果给","中,设备主存和","中,选择","中,通过","中,都可以有多个指定初始化器和多个便利指定初始化器。如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器","中,都需要在便利初始化器中调用指定初始化器","中,除了","中,需要一直等到","中,首次调用缺失符号时","中,默认大部分的尺寸是全屏。","中:","串行&同步线程0","串行&同步线程1","串行&异步线程0","串行&异步线程1","串行/并发和同步/异步的排列组合","串行队列","串行队列:任务一个接一个的执行","串行队列同步执行,既在当前线程中顺序执行","串行队列异步执行,开辟一条新的线程,在该线程中顺序执行","串行队列:线程执行只能依次逐一先后有序的执行,等待上一个执行完再执行下一个","为","为下载","为下载的","为为一个对象分配内存,初始化实例变量后,在这些对象的实例变量的结构体中的第一个就是","为了保证客户端发送的最后一个ack报文段能够到达服务器。因为这个ack有可能丢失,从而导致处在last","为了对比,我们再分别看一下下面三种","为了执行这个简单的函数,系统要额外付出两次","为了有依据的推断响应事件的实现和传递机制,我们做以下测试。","为了节约空间","为了解决这个问题,作者使用了大量的判断来及时的结束无用的绘制,可以看看源码或者是上文贴出的异步绘制核心逻辑代码,会发现一个频繁的操作:","为了调用class里的方法,该class的isa指针也必须指向一个包含了该class方法列表的class。","为了避免一个","为了防止一些三方库的误伤,还可以去过滤一些前缀,或者是是仅保留带有某些前缀的类。","为了防止切换到","为了防止这种情况,数字证书就出现了,它其实就是基于上上面所说的私钥加密数据,公钥解密来验证其身份。","为什么","为什么time_wait状态需要经过2msl才能返回到close状态?","为什么不直接使用业界的","为什么不直接用一张sidetable,而是用sidetables去管理多个sidetable?","为什么二方库在出静态库的时候要选择","为什么会产生离屏渲染?","为什么你应该使用","为什么分类会","为什么我们在开头我们说","为什么我们要在使用","为什么既要使用一个extra_rc又要使用sidetables?","为什么有了二叉查找树/平衡树还需要红黑树","为什么有了平衡树还需要红黑树?","为什么苹果需要引入","为什么要使用","为什么要引入关联对象?","为什么要设计metaclass","为什么要进行三次握手","为什么返回数值是整数,但输出的答案是数组呢?","为什么这么设计(why’","为什么这样呢?大家可以想一个问题,假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的","为什么闭包能提高启动速度呢?","为什么需要三次握手,两次不行吗?","为什么需要异步绘制?","为何要避免离屏渲染","为例","为例.","为例,","为例,你可以在","为例,我们来看下构建流程:","为协议遵循者提供默认实现。譬如某个协议定义了多个方法,有必要为这几个方法提供默认实现;具体做法是定义一个类(假设为","为啥打印三次呢","为图形处理器制的缓存生成一个独一无二的标识符。","为图片裁剪圆角","为子系统中的一组接口提供一个一致的界面,","为它的右子树后,根节点的左右子树高度差为","为尽量减少拷贝粘贴频率,我们将每个模块对外提供的接口服务,路由定义,通知定义,以及复杂对象","为引用计数。","为当前定的缓存分配并初始化","为我们提供了便捷方法用于返回其中的","为接下来的运算使用一个缓存。","为无序区。(i从1开始)","为根节点的树,明显右边太重,左边太稀,想要保持平衡就","为根节点,当添加","为止。如果找到返回,否则进入第","为消息的接收体,它可能是一个对象,也可能是一个类。若为对象,则是实例方法(","为索引所存储的值地址","为维度定义了构建的流程。可以在","为这个方案提供了对应的解法:shouldrasterize。一旦被设置为","主二进制,找到","主方法。传入一个","主程序代码","主程序已经实例化完毕","主程序的实例化就已经完成了","主线程可以做其他工作","主结构体__main_block_impl_0的变化","主要会做两个大的初始化:","主要使用的api:","主要函数","主要包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。","主要处理几种任务:source0,source1,timer,gcd","主要方法","主要是和系统加载、链接有关*/","主要是因为并行队列无法精确的控制线程数量,很有可能创建过多的线程,导致","主要有两个版本:dyld2","主要解决","主要进行了istaggedpointer和deallocating条件判断","主要需要保证报文无差错,不丢失,不重复,按序到达。","主队列","主队列&异步线程0","主队列&异步线程1","主队列:跟主线程相关的队列,主队列里面的内容都会在主线程中执行","主队列同步执行,会造成死锁(’主线程’和’主队列’相互等待,卡住主线程)","主队列和全局队列单独考虑,组合结果以总结表格为准","主队列异步执行,不开辟新的线程,顺序执行","主队列:绑定主线程,所有任务都在主线程中执行、经过特殊处理的串行的队列","举一个基于链接优化启动速度的例子:","举个例子:","举个例子:一个","举例","之前不要设置","之前会先调用父类的","之前对","之前就已经被预编译,并且引入到每一个.","之前的业务模块化方案没有使用","之前调用的,以前我们很难调试它们。而现在,这个工具能提供每一个静态初始化程序的时间,帮助我们找到耗时最长部分。","之前,会先调用父类的","之前,首先我们来回顾一下","之后","之后会去加载可执行文件,二进制文件常被称为","之后会进行裁剪","之后再写入到","之后对其置为","之后有一个偏移量","之后的","之后进入重点,那就是开始从缓存中读取图片:","之后进行一系列的传递会传递到最深层的方法:","之后,gpu会渲染对齐后的位图数据,展示在屏幕上。","之后,一样发送一个","之后,会发送","之后,在","之后,就会处于","之后,并且没有任何操作向系统表明需要刷新视图,那么就不会调用","之后,系统的设计风格慢慢从扁平化转变成圆角卡片,即刻的设计风格也随之发生变化,加入了大量圆角与阴影效果,如果在处理上稍有不慎,就很容易触发离屏渲染。为此我们采取了以下一些措施:","之后,轮到mnteacher","之后,首先会执行","之外的平台,dlclose()","之所以能成功是因为","之所以花这么大篇幅讲原理,是因为任何优化都一样,只有深入理解系统运作的原理,才能找到性能的瓶颈,下一篇我们会介绍下如何利用这些原理解决实际问题,欢迎关注~","之所以要引入","之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如","之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。","之间是一一对应的,其关系是保存在一个","之间的上下文切换。如果无法避免,也可以通过有效利用","之间的约束","也不会卸载。所以在","也不会引起编译问题,连改名这一步都省去了。以商品模型为例,为它定义一个","也不允许不对齐的结构体。这些都对启动时间的优化有一定帮助。","也不等。","也会编译,编译后加载速度会变快","也会通过其","也可以通过sel_getname()和nsstringfromselector()将sel转成字符串","也在","也将会使用","也就是","也就是我们这里的","也就是说","也就是说弱绑定一定发生在","也就是说,同样是给颜色进行赋值,但是","也就是说,树的两个左子树的高度差别不会太大。","也就是说,第一次握手不可以放数据,其中一个简单的原因就是会让服务器更加容易受到攻击了。而对于第三次的话,此时客户端已经处于","也就是递归进行符号绑定的过程","也就简单明了了.","也收不到支付成功的通知,就没法通知","也是在这一步生效","也是将事件转发到","也有一个指向自己的父类的指针","也有了?","乱序执行,开辟线程","了。同时因为用的是同一个协议对象,所以","了。这时候很多动态库还没有加载进来,会首先对这些动态库","了吧,程序一运行,runtim","了解了系统函数的整个加载过程","了解系统对结构体内存对齐的原则后,我们回过头再看一下文章一开头的三个结构体lgstruct1、lgstruct2和lgstruct3。","了,未来第三方","事件。","事件。这个","事件传递","事件传递优先级","事件到来后先会执行hittest和pointinside操作,通过这两个方法找到第一响应者,这个在上面已经详细讲过了。当找到第一响应者并将其返回给uiapplication后,uiapplication会向第一响应者派发事件,并且遍历整个响应者链。如果响应者链中能够处理当前事件的手势,则将事件交给手势处理,并调用touches的cancelled方法将响应者链取消。","事件响应","事件响应链","事件响应链&runloop原理","事件响应链&原理","事件处理机制与图像渲染过程","事件并由","事件开始时,就已经完成","事件循环指,没有消息需要处理时,休眠以避免资源占用,有消息需要处理时,立刻唤醒","事件拦截","事件控制","事件机制","事件源,让线程不退出一直保活。直到","事件的主要由:响应连","事件的生命周期","事件转发","事件逐级传递","事件通过uitouch进行传递,在事件到来时,第一响应者会分配对应的uitouch,uitouch会一直跟随着第一响应者,并且根据当前事件的变化uitouch也会变化,当事件结束后则uitouch被释放。","事件,回调去执行一个很长的函数:","事件,回调去执行一个很长的函数:ca::transaction::observer_callback(__cfrunloopobserver*,","二.","二、dyld","二、什么是业务模块化(组件化)","二、自旋锁","二、问题分析定位","二分查找排序是稳定的,不会改变相同元素的相对顺序。","二分查找插入位置,因为不是查找相等值,而是基于比较查插入合适的位置,所以必须查到最后一个元素才知道插入位置。","二分查找插入排序的原理:是直接插入排序的一个变种,区别是:在有序区中查找新元素插入位置时,为了减少元素比较次数提高效率,采用二分查找算法进行插入位置的确定。","二分查找插入排序耗时的操作有:比较","二分查找最坏时间复杂度:当2^x>=n时,查询结束,所以查询的次数就为x,而x等于log2n(以2为底,n的对数)。即o(log2n)","二分法插入排序","二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i","二叉搜索树与平衡二叉树","二叉查找树","二叉查找树、平衡树(avl)","二叉查找树中序遍历得到结果是递增排序的结点序列。","二叉查找树又称二叉搜索树,二叉排序树,特点如下:","二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图","二叉树","二叉树基础","二叉树定义","二叉树性质","二叉树排序","二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。","二叉树特点","二叉树的中序遍历","二叉树的前中后序遍历的非递归实现","二叉树的前序遍历","二叉树的后序遍历","二叉树的存储结构","二叉树的访问次序可以分为四种:","二叉树的遍历一个重点考查的知识点。","二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。","二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。","二叉树遍历","二叉链表","二次封装的","二维数组(","二进制文件的内容","二进制文件,并且完成了所有符号查找的工作;最后它将这些工作的结果创建成了启动闭包。这是一个普通的","二进制重排","二进制重排原理","二进制重排,主要是优化我们启动时需要的函数非常分散在各个页,启动时就会多次page","于是我们就需要调整当前的树结构,让它进行旋转。","于是,通过平衡树,我们解决了二叉查找树的缺点。对于有","互不可见。","互斥锁","互斥锁(mutual","互斥锁又分为:","互斥锁在线程获取锁但没有获取到时,线程会进入休眠状态,等锁被释放时线程会被唤醒","互斥锁在递归调用时会造成堵塞,并非死锁——这里的问题是后面的代码无法执行下去","五.","五、yyasynclay","五、总结","交互,后者负责资源加载及缓存处理。","交易中.","交易失败.","交易延期.","交易成功.","交易没有发生变化,仅仅是重启一下,收据信息就会发生改变。","交易结果出来到通知","亦可以使用dispatch_queue_create(\"xxx\",","产生了离屏渲染,但是","产生的条件","人。业务模块化改造后会形成一定的开发门槛,带来一定的开发效率下降。小项目适合模块化改造吗?其收益是否能匹配付出呢?但考虑到当时","人工智障翻译:实例变量不能放在分类中","什么时候需要","什么是","什么是http协议无状态协议?怎么解决http协议无状态协议?","什么是mvc?","什么是元类(meta","什么是半连接队列?","什么是卡顿?苹果官方文章","什么是离屏渲染?","什么是联合体?","仅仅是一个编译指示器。但是消息的接收者","仅支持单播传输","今天的绝大多数开发者都已经在日常开发中使用","今年上半年的公众号打赏事件,大家可还记得?我们对苹果强收过路费的行为愤懑,也为微信可惜不已,此事最后以腾讯高管团队访问苹果画上句号。显然,协商结果两位老板以及他们的团队都很满意。","今年,苹果发布了","今日头条品质优化","介绍了与对象相关联的","仍然对开发效率有一定影响。","仍然活着,只不过处于","从","从32位迁移到64位cpu,逻辑上虽然不会有任何变化,但是所占有的内存空间却会翻倍。下面以nsnumber对象为例,大家可以清晰看出nsnumber对象在内存空间上的变化情况:","从apple查询用户点击购买的产品的信息.","从cachelookup的注释有两处:","从keywindow开始,向前逐级遍历子视图,不断调用uiview的hittest:withevent:方法,通过该方法查找在点击区域中的视图后,并继续调用返回视图的子视图的hittest:withevent:方法,以此类推。如果子视图不在点击区域或没有子视图,则当前视图就是第一响应者。","从next指针开始,一个一个向前调用objc_release,直到碰到push时压入的pool为止。","从object中根据key获取关联的对象的valu","从self定位到别的","从一个nib文件中加载,或者涉及io的图片显示,都会比cpu正常操作慢得多。","从一个更广阔的视角看,离屏渲染也仅仅是渲染性能优化中的一部分,而能否保证","从上方可以得出,调用","从上述代码可以得出以下几点:","从上述代码可以知道push,pop都是操作","从上述代码看出整体stripedmap是一个哈希表结构,表外层是一个数组,数组里的每个位置存储一个类似链表的结构(synclist),syncdata","从上述精简后的代码可以得出以下几点:","从上面两种创建对象的方法可以看出第一种方式对象的创建是在alloc中,init方法只是返回已经创建的对象。通过new方法创建的对象本质还是alloc和init的结合。","从上面的代码中可以看到,方法内部是遍历了所有需要完成回调的completedblock,然后回调出去。","从上面的代码可知,获取引用计数的时候分为三种情况:","从上面的代码我们可以知道,既然当前内存中不存在autoreleasepoolpage,就要从头开始构建这个自动释放池的双向链表,也就是说,新的autoreleasepoolpage是没有parent指针的。","从上面的定义我们可以知道receiver即消息的实际接收者,","从上面的源码中可以看出请求图片的回调回来后:","从上面的源码可以看出,","从上面的源码我们看到,对象调用autorelase方法,最后会变成autoreleasepoolpage的autorelease函数。autoreleasepoolpage的autorelease的本质就是调用autoreleasefast(obj)函数。只不过push操作插入的是一个pool_boundari","从上面的过程可以看到,tl","从中可以看出一个imagedownloaderoperation可以有多个回调block。","从今年开始,系统","从名字就可以看出:这两个类,一个是负责从直接从本地文件提供数据,一个是负责从网络读取之后提供数据","从多个角度增加了安全性,增加了代码签名支持,地址空间配置随机加载(address","从头梳理","从字典里面拿,将线程作为key从字典里获取一个loop","从定义可以得知:当利用","从实现原理可知,二分查找插入排序是在原输入数组上进行后移赋值操作的(称“就地排序”),所需开辟的辅助空间跟输入数组规模无关,所以空间复杂度为:o(1)","从底到高传递事件(addsubview顺序倒序遍历","从异步操作之间的事务性,顺序行,依赖关系。gcd需要自己写更多的代码来实现,而nsoperation已经内建了这些支持","从弱引用的","从无序区中取出第一个元素,即a[i],使用二分查找算法在有序区中查找要插入的位置索引j。","从日志中我们了解到,应用安装后,springboard","从服务器返回类可以看到,数据的入口是从ktvhcdatareader的readdataoflength获取的。","从根结点出发,则第一次到达结点a,不输出a,继续向左访问,第一次访问结点b,不输出b;继续到达d,h;","从根结点出发,则第一次到达结点a,故输出a;","从测试数据可见,使用预加载的方式显著的提升了","从测试数据来看,从点击到最后加载完毕,大概节省了","从源代码和注释中,我们可以发现:","从源码来看就是对互斥锁的简单封装","从现在开始,接下来整个","从等待中醒来","从给出的英文说明,可以看出:实例(instance)是针对","从运行的结果我们看到,已经正常的排序结束了,说明这个算法已经满足了我们的要求,而且详细的代码分析也已经加上了注释,我想大家应该都能看懂。只要记住核心的几个点就可以了,这里我在重复说明一下:","从这两图中可以得出一个结论:观察者注册前后fxperson类没发生变化,但实例对象的isa指向发生变化","从这个方法里我们可以看到,读取数据又走到了ktvhcdatasourcemanager中去。","从这俩个回调方法里看,你会发现category在map_images会加载完毕,而load_images会调用+load方法。","从这里可以看出,作者使用一个“低姿态”侵入主线程","从逻辑上来说,探测链是最先发生的机制,当触摸事件发生后,io","仓库都有全量的变更数据,我们不需要通过网络获取仓库的相关信息,与中心化的版本控制工具相比,在出现问题时我们也能快速定位导致问题的变更所在。","仔细看一下下面这张图,这是我们每次在买早餐使用支付宝支付的流程图。下面我们来一步一步看一下每一步对应的操作原理。","代理","代码","代码不存在这个问题。","代码中,if","代码大致做了如下事情,初始化的时候去添加支付结果的监听,并在","代码实现","代码层面的优化","代码很短,全文摘录,以下以注释的方式详细解读。","代码执行结果和消息重定向测试的运行结果一致。_cf_forwarding_prep_0和___forwarding___这两个方法又再次被调用了,之后代码会先执行forwardingtargetforselector:(消息重定向),消息重定向如果失败后调用methodsignatureforselector:和forwardinvocation:方法签名。所以说___forwarding___方法才是消息转发的真正实现。","代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用","代码段","代码段中,@synthesize的作用就是让编译器为你自动生成setter与getter方法,@synthes","代码瘦身实践_","代码的。但它有额外的服务注册过程,可能会影响启动速度,性能弱于基于反射的接口封装方案。这里对启动速度的影响究竟有多少呢?我们做了个测试,在","代码运行结果肯定是","代码隔离的思考","代表意义","以","以afnetworking2.x","以uibutton为例,uibutton也是通过hittest的方式查找第一响应者的。区别在于,如果uibutton是第一响应者,则直接由uiapplication派发事件,不通过respond","以uiimageview为例。当其显示在屏幕上时,需要uiimage作为数据源。","以上三步完成后,dyld","以上两点思路也是","以上仅仅是对该题简单回答,其中的原理以及瓶颈和优化,后面会详细介绍。","以上机型都是","以上流程均无法挽救就崩溃并报错","以上的三个问题都是集中式的主仓库带来的,它们是中心化的系统无法避免的问题,这些集中式版本控制系统的缺点非常影响它的使用体验,这也是为什么","以上的系统,队列的优先级为","以下代码省略不影响阅读","以下代码输出的结果是啥","以下代码运行结果","以下因素都会对任务的执行速度造成影响:","以下图为例,方法","以下的代码会输出什么结果?","以下的系统,通过dispatch_set_target_queue()函数设置优先级为dispatch_queue_priority_default(第二个参数如果使用串行队列会强行将我们创建的所有线程串行执行任务)。","以下的触摸事件更底层的解释:","以下:library/caches/snapshots/${product_bundle_identifier};","以下:png。","以下:无权限。","以关联对象代码为例:","以其使用成本成为大部分用户选择,但是性能问题却一直成为他人的诟病。","以内,因为启动动画时长是","以单","以及","以及indulge_in的yyasynclayer剖析","以及他们的所有子视图的","以及他的子","以及其他元素,可以提高加载","以及其他的版本控制工具。","以打电话给查号台为例:","以执行实际的绘制和调整,并更新","以抖音为例,用户感受到的启动时间:","以按钮点击触发事件为例,点击屏幕的时候,首先系统内部捕获到这个点击事件,这是在source1中处理的,source1会包装成事件丢到事件队列中,交给source0处理。","以明文的形式写在文件里,是一件很危险的事情。","以键值对的形式存储在","任务","任务一个接一个执行,不开辟线程","任务一个接一个执行,不开辟线程(同并发+同步)","任务一个接一个执行,会开辟线程","任务与队列","任务乱序执行,开辟线程","任务乱序执行,开辟线程(同并发+异步)","任务会交给rejectedexecutionhandler来处理","任务执行的复杂度","任务的优先级","任务阻塞队列","优先级从高到低依次为dispatch_queue_priority_high、dispatch_queue_priority_default、dispatch_queue_priority_low、dispatch_queue_priority_background","优势是实现简单,非常适合处理一对多的通讯场景。","优化","优化了加密过程,不会对包大小和启动耗时有影响)。","优化以及","优化后完整流程图如下:","优化器会进行","优化器(optimizer):会进行","优化工作的一个节点,一个节点做些事,一起加起来就构成了","优化方案围绕着","优化的直接插入排序(二分查找插入排序,希尔排序)","优点","会","会产生悬垂指针:仍然指向内存地址,如果没覆盖后还调动变量就会crash","会传递一个","会保证在下一次更新周期中更新约束。它通过标记“updat","会做一些优化工作,在","会判断镜像是否实现了","会占去启动耗时的很大一部分,我们来看看单个","会去调用它。","会发现它创建的子系统都叫","会变成","会合成","会和","会在","会在下一个周期中(重点!!!)被调用,而不需要开发者手动操作。这些自动通知系统","会在图片第一次渲染到屏幕上的时候进行解码,并缓存解码后的图片数据。缓存数据存储在全局缓存中,不会随着uiimag的释放而释放。","会在未来一个预定时间向线程同步分发事件。线程可以用","会在这个阶段执行。","会在这里调用,autolayout","会完成对镜像中所有类的加载和预处理,它最终会调用","会对上传","会将传入对象的地址加以封装起来,并且其中也有访问全局弱引用表的入口。","会将具体操作转换成发送给","会开启线程执行block任务","会影响","会影响被缓存的","会成为启动性能的瓶颈。","会执行","会执行wait之后的代码","会把","会把任务用","会把启动流程交给","会有一些逻辑要在启动之后","会根据滚动方向的变化实时改变缓冲区的位置;在向下滚动时,下面的","会消耗其相当一部分计算时间,并且我们也不愿意因此阻塞用户操作,因此一般来说","会直接将","会破坏各业务模块的完整性,同时也会影响","会立即调用","会自动利用更多的cpu内核(比如双核、四核)","会自动管理线程的生命周期(创建线程、调度任务、销毁线程)","会被裁剪,去掉一些不必要的信息","会触发","会触发该函数","会触发该函数.","会触发该方法.","会让视图在下一周期调用","会话秘钥","会话都使用对称秘钥进行加密,传输应用层(http)内容","会调用","会调用block内部的copy函数","会调用block内部的dispose函数","会调用,autolayout","会调起支付宝","会负责后续的工作","会走到","会返回","会通过","会遵循","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新/下载","会默认打开),然后打开","传入","传入值为2时,可以通过三次才堵塞","传给","传统操作系统的i/o操作为标准i/o,即缓存i/o。在这种i/o模型下,数据先从磁盘拷贝到内核空间的缓冲区,然后从内核空间缓冲区拷贝到用户的内存空间。这种方式的优点是减少了磁盘操作,提高性能。但因为数据在传输过程中需要在用户内存空间和内核空间间进行多次数据拷贝操作,造成很大的cpu及内存开销。","传统方式","传统的","传统的dns系统存在很多问题,最常见的就是dns劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是dns劫持,因为dns解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按","传统的多处理服务定义了先进先出(fifo)队列抽象,用于管理传入和传出数据。尽管消息队列既简单又方便,但是它们不如其他一些通信技术高效","传输性能的算法。因为网络","传输方式","传送来自其他应用或线程的异步事件/消息;","传送的是基于定时器的同步事件,可以定时或重复发送。","传送门","传递了三个参数","传递给设备显示系统。值得注意的是:当重绘时需要抹除这个上下文重新分配内存。","传递过程","传递链","传递链:有系统向最上层view传递,appl","伪模式,这是一个占位的","但不会使","但不能保证self.index+1也是安全的","但人难免有遗漏)。后来我们是通过","但介于业界习惯称之为组件化,所以我们继续使用这个术语。本文下面所用名词,“模块”","但只有","但如果我们把","但是category则完全不一样,它是在运行期决议的。","但是值得注意的是,在","但是对于一些情况,如文字(coretext","但是对于整个","但是引入了","但是我们看到了这么个东西","但是有些","但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。","但是这时的","但是除了可执行文件外","但是,你现在是[mnteacher","但是,在这段代码运行之后","但系统是如何生成的,调用了什么样的","但编译隔离和代码隔离真的没有价值吗?当然不是,主要是我们当前阶段并不需要。过早的调整增加了成本却没有价值产出,所以并不合适。实际上我们还有一些业务模块是跨","但还没有加载","但这样改造后又发生了一件事。某个新来的同学,直接在","但这种方式存在大量的","位⽤来存储类指针。","位头文件","位来为对象分配地址。而且由于地址要按字节在内存中按字节对齐,所以掩码的后三位都是","位的","位的内存空间,","位的情况","位的指针","位系统了","位置","位置代码独立","位转换成","位还是","位(从","位,对应的处理器是什么、文件类型是什么","位,所以可以使用最后三位来存储关于当前类的其他信息:","住,直到","体会其作用:","体验与成果","体验中通常体验最差的","体验的瓶颈问题,不要随意使用","何时触发","作为","作为ack","作为严选用户体验的重要载体,app","作为主要渲染框架,对于文字和图片的异步渲染操作交由框架来处理。关于这方面可以看我之前的一些介绍","作为分布式的版本控制系统能够让开发者离线工作和本地提交,不仅能够避免直接提交大量代码带来的风险,还能帮助我们限制对主仓库的授权,减少由于命名空间导致的冲突问题;","作为抽象类,它不实现初始化方法,并且会在收到任何它不响应的消息时引发异常。因此,具体子类必须实现一个初始化或者创建方法,并且重写","作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,appl","作为渲染结果的","作为版本号,这一方面是因为一个分布式系统中没有全局时钟和版本的概念,另一个方面","作为版本控制工具的话,你可能无法体会使用集中式版本控制工具的局限性,假设我们使用的是一个集中式的版本控制系统的话,所有的开发者都必须连接到同一个服务器上才能进行开发和提交:","作为编译器前端,llvm(low","作为编译器后端。","作为网络加载时间的开始标志,以","作为自己","作为自己的页面统跳方案,达到解耦的目的。","作为页面加载完毕的标志;","作用。","作用域之后,就会销毁;","作用如上图","作者和提交人的名字、邮件等信息;","作者:shishu","作者:猿人谷","你一定还见过如下代码:","你可以使用如下所示的命令来生成当前仓库","你可以想象内部操作如下:","你可以灵活的控制代码块的编译选项。","你可以通过","你应该知道的常用排序算法之快速排序","你是否也碰到了启动图不更新、未加载等异常问题,今天就给大家带来一个终极解决方案。","使得可以快速确认一些信息,比如当前文件用于","使用","使用cgbitmapcontextcreate()方法创建一个上下文对象","使用cgbitmapcontextcreateimage()生成cgimageref对象。","使用cgcontextdrawimage()方法绘制到上下文","使用context传递信息","使用context传递信息,更安全、更可扩展","使用dispatch_get_main_queue()获取主队列","使用dispatch_queue_create(\"xxx\",","使用dispatch_source自定义定时器注意点:","使用httpdns,可以有效解决传统dns的dns劫持、访问时间延迟等问题。","使用nslock","使用nsoperation和nsoperationqueue的优点:","使用source0的情况:","使用source1的情况:","使用weak","使用weak,在后续operation下载操作回调后,获取这个operation。如果view已经重用或者消失,则不会设置图片避免混乱。","使用串行队列,使用串行队列的话,其实内部是靠dispatch_obj_barrier_bit设置阻塞标志位","使用了","使用了哪些动态链接库,其中各个符号的偏移量,代码签名在哪里等等。","使用互斥锁nslock异步并发调用block块,block块内部递归调用自己,问打印什么?","使用全局队列时由于对全局队列造成堵塞,可能致使系统其他调用全局队列的地方也堵塞从而导致崩溃(并不是只有你在使用这个队列)","使用全局队列起不到栅栏函数的作用","使用原子自增函数osatomicincrement32()对局部静态变量counter进行自增,然后通过取模运算轮询返回队列。","使用哈希表的原因就是为了避免多个obj之间的竞争,其哈希函数是基于obj而不是其他。当我们使用","使用响应者和响应者链来处理事件","使用图层关联的视图而不是单独使用","使用场景都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak","使用多线程调用,合理利用cpu计算位置,布局,层次,解压等,再合理调度gpu进行渲染,gpu负担常常要比cpu大,合理调度cpu进行计算可以减轻gpu渲染负担,使应用更加流畅。","使用如下:","使用当前定并启用的缓存中的数据渲染","使用快慢双指针,快指针在满之后后面遍历数组,由于数组是有序的,快指针向后遍历时,若碰到当前下标与慢指针值不一样时,就将当前值前移到慢指针位置,知道快指针遍历完数组,原理其实就是将不同的数向前提前,不扩大数组空间","使用快速缓存","使用时出错,在本","使用更加面向对象","使用栅栏函数","使用用户身份信息生成数字签名","使用的","使用的是","使用的,比如","使用缓存中的数据。","使用评率","使用起来也很简单:","使用轻量级对象,比如calayer代替uiview","使用递归锁nsrecursivelock替换nslock","使用难度大","使用静态的二进制文件。相比于静态的二进制文件,引入动态链接库可以实现代码共用,节约内存和磁盘空间;各个动态链接库的更新变得比较容易,易于库的维护;动态链接库在构建时不需要合并到可执行文件中去,能大大缩减可执行文件的体积。","使用预加载弹窗的","使用预加载方式","例如","例如下面的图片(注意,图片中黑色的、空的叶子节点没有画出)(图片来自极客时间)","例如可执行文件","例如对于使用","例如工程中有一个","例如用户点击了某个应用程序的","例如,之前写的一个","例如,对于text","例如,我们通过","例如,我的","例如:图一就是一颗平衡树了,而图二则不是(节点右边标的是这个节点的高度)","例如:对于图3.8描述的二叉树:","例题:若一棵二叉树的前序遍历为abcdef,中序遍历为cbaedf,请画出这棵二叉树。","依次画好,然后把四个角","依次类推,平衡二叉树在添加和删除时需要进行旋转保持整个树的平衡,内部做了这么复杂的工作后,我们在使用它时,插入、查找的时间复杂度都是","依次返回给调用方。这方法是不是很机智。这一点也可从请求结果的代码中得到验证:","依次遍历从","依然是self。最终在","依赖于最新加入的","依赖库数量","便利初始化器","便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在初始化时更方便设置相关的属性(成员变量)。既然便利初始化器是为了便利,那么一个类(结构体、枚举)就可以有多个便利初始化器,这些便利初始化器里面最后都需要调用自身的指定初始化器","便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器","保存主线程","保存了失败的请求","保存了当前页所在的线程","保存了所有指向指定对象的","保持。","保持一致,如果不同,说明当前的","保持原状即可,从下标","保持界面流畅的技巧","保活原理来说:","保留字段","保证原子操作的自旋锁","保证客户端发送的最后一个ack报文段能够到达服务端。","保证引用对象是否有效","信号后,会通过","信号由硬件时钟生成,每秒钟发出","信号量","信号驱动的,vsync","信息。可执行文件加载完成后,系统会调用","信息上操作的风险。理解","信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如sha1,md5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。","修改","修改图片名,前几次正常,之后依旧偶现;","修改文件路径来控制修改权限才解决了这个问题。后续介绍有赞移动基础设施建设的文章中会有更多相关细节。","修改输入数组","修饰基本数据类型,如int,","修饰对象类型时,不改变其引用计数","修饰属性的关键字","修饰的是一个数组,对数组赋值获取是安全的,但是对数组进行操作(添加对象,移除对象)是不保证线程不安全的.而且采用atomic消耗比较大","修饰符","修饰符(注意是赋值!!,","倍大小","倒序下一个,如此反复,直到遍历到最后","值。可能由","值为","值作为校验","值依托于_selector和_target的内存地址,那就意味着两点:","值就相同。","值得一提的是会调用","值得一提的是,对于","值得一提的是,除了修改","值是否为","值,runtim","值,然后解密客户端发送来的信息,检查这两个值是否对应。如果对应,就向客户端发送一个","假如尚未实现的方法不是实例方法而是类方法,那么","假设rootview、superview、button都实现touches方法,并且button添加buttonaction:的action,点击button后的调用如下。","假设数组","假设有上面的视图结构,superview的subview超出了其视图范围,如果点击subview在父视图外面的部分,则不能响应事件。所以通过重写pointinside:withevent:方法,将响应区域扩大为虚线区域,包含superview的所有子视图,即可让子视图响应事件。","假设这个并发队列创建了两个线程a和b,由于是异步的,可以同时执行。因此会出现这么一个场景,在线程a中,代码执行到了objc_retain(obj),但是在线程b中可能执行到了objc_release(prev),此时prev已经被释放了。那么当a在执行到objc_release(prev)就会过度释放,从而导致程序crash。","偏移","做","做不到的?","做了哪些事?","做了大量的工作,尽量把渲染工作转换成适合","做了转换,将声明方式做出了如下调整。","做任何绘制。ca","做优化,生成机器码","做到服务端可配置","做最终的处理结果","做的事情就是记录一系列事件,并且在合适的时机调用这些事件。","做的组件化,这时候编译选项在对应的.","做的组件化,这时候编译选项在对应的.xcconfig","做的,app","偶尔使用","像","像素数据,已经在渲染中被永久覆盖了。这就意味着,对于每一层","允许","元类是必不可少的,因为它存储了类的类方法。每个类都必须有独一无二的元类,因为每个类都有独一无二的类方法。","元类的类是什么?","元类,就像之前的类一样,它也是一个对象。你也可以调用它的方法。自然的,这就意味着他必须也有一个类。","元素上限阀值。","元素相同时,也插入在后面的位置","充分利用设备的多核","先不用管","先从","先初始化父列","先判断线程池工作队列是否已满","先将前面的lock锁解开","先找基准点","先找第一个中间元素,满足左边的比他小,右边比他大,第二趟就是看第一个元素分割的两半,再同样找是否在子序列中,有一个中间元素满足左边的都比他小,右边的比他大;","先把父","先看编译结果","先编译的类,优先调用","先编译的类,优先调用load","先调用宿主类的","先调用宿主类的+","先调用类的","先调用类的load","光栅化","光栅化(rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。(应用:较为广泛的应用于深度学习卷积神经网络的结构中)","入口","全名","全局","全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的","全局变量、共享内存块和对象:","全局变量不会被block捕获,","全局变量和静态变量在一块区域,","全局哈希表查找","全局声明互斥锁","全局声明读写锁","全局队列","全局队列&同步线程0","全局队列&同步线程1","全局队列&异步线程2","全局队列&异步线程3","全局队列:一个特殊的并发队列","全局队列和自定义并行队列在异步执行的时候会根据任务系统决定开辟线程个数;","全局队列:系统提供的并发队列","全方位解读block","全权负责显示内容","八,xib","六,原因探析","共享缓存","共享缓存功能,访问时先判断是否已缓存到主存中才通过","共同引用计数的变量(对于对象结果,在今后的文中提到)。这里主要看","共同组成了一个链条,我们只要验证当前的提交版本是否合法,就能够信任整条链路上的全部提交,如果本地仓库的磁盘损坏,我们可以通过当前的提交记录从远程仓库上获取相同的代码并且通过下面的命令来验证仓库中的数据是否发生了损坏:","关于","关于_objc_msgforward在objc中并没有其相关实现,只能看到_objc_forward_handler。其实_objc_msgforward的实现是在cfruntime.c中的,但是开源出来的cfruntime.c并没有相关实现,但是也不影响我们对真理的追求。","关于arc下,不显示指定属性关键字时,默认关键字:","关于uiview动画以及calayer的动画这里推荐两篇文章:","关于两种类型优先级的对应关系是这样的:","关于如何用","关于应用的砸壳","关于滨野纯的访谈","关于离屏渲染的深入研究","关于离屏渲染的解释","关于这个","关于这个请看","关联对象","关联对象(二)","关联对象value到object","关联对象其实就是","关联对象就是在不改变类的结构的情况下,将类需要关联的对象存储在关联表中,那么类别中添加的属性的值的存取就可以通过关联来解决","关联对象并不是存储在被关联对象本身内存中","关联对象并不是存储在被关联对象本身的内存中的","关联对象由","关联对象的原理","关联对象的底层数据结构","关联对象的本质","关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略","关联对象,存储在全局的一个统一的associationsmanager中","关联的","关联策略,等价于属性声明","关键字","关键字(使用runtime分析)","关键字修饰的常量","关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为","关键字的底层实现原理","关键点","关键词是从父类的方法列表当中找,调用父类的那个方法。但是这两种方式的事件调用者都是当前的实例","其ios平台渲染核心原理的重点主要围绕前后帧缓存、vsync信号、cadisplaylink","其中","其中,","其中uiview不接受事件处理的情况有","其中在主队列viewdidload里面的任务3执行结束才会执行任务2;而主线程中是执行完sync才会执行任务3。也就是任务2等待任务3执行,任务3再也等待任务2执行,造成死锁","其中它的__forwarding指针指向自身","其中它的__forwarding指针指向自身,","其中最常见的问题就是离屏渲染:","其中浅色结点表示结点不存在。那么图3.8所示的二叉树的顺序存储结构如图3.9所示:","其中的对象指针,就是代码中的","其中第一个成员","其中解密是大头,io","其中还有一个指向常量的指针","其中通过两个宏定义去取得synclist中的data和lock——stat","其中需要重写","其中,superclass","其中,∧表示数组中此位置没有存储结点。此时可以发现,顺序存储结构中已经出现了空间浪费的情况。","其中,段分为两种","其中:[cp]","其他对象的isa指针还是类指针。","其他库链接绑定完成之后","其他方法的替换","其他的都是一些定义,用来通过位运算来获取tag的值、ext","其他还有一些,类似","其他:main","其动态性体现在几个方面:","其它","其它优化","其实","其实不是真正的","其实也很好理解,因为block本身就在栈上,自己都随时可能消失,怎么能保住别人的命呢?","其实从功能角度,远程接口的网络层,完全可以取代路由","其实代码中的slowpath和fastpath删除后并不会影响这段代码的功能,slowpath和fastpath的添加就是为了告诉编译器if条件语句中是大概率事件还是小概率事件,从而让编译器对代码进行优化。","其实内部会调用","其实对","其实是","其实根据二进制顺序有关","其实真正开始读取就是从","其实第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据","其实还有一些文件也是使用的","其实通过","其实除了解决多次离屏渲染的开销,shouldraster","其实,上面我门讨论的这个block外部变量age是一个局部auto变量,也叫自动变量。除了auto变量,c语言里面还有局部static变量(静态变量)和全局变量,接下来我们就看看,block对于这几种变量的使用,做了如何的处理。","其指向的地址设置成符号地址","其本质就是一个哈希表,外层是一个数组,数组里的每个位置存储一个类似链表的结构","其本质应该是一个链表的头结点,因为使用","其次。为什么要解密呢?","其次,将这个operation添加到正在运行的操作容器中:","其流程如下","其渲染层次依次为:图层树","其第二个参数赋值给了","其质量和稳定性难以保障。最终我们采用了一个","具体内容如下","具体内容的显示。","具体可以看下面的例子),","具体可查阅ios底层学习","具体可点击链接查看:https://developer.apple.com/news/?id=03262020b","具体如下(实现为升序):","具体实现:","具体来说就是:","具体查看","具体类型","具体过程","具体过程是系统会把","具备唤醒线程的能力","内","内“领取津贴”弹窗慢的问题时,我思考了这个问题,所以查阅了","内。app","内各子系统之间耦合严重,","内大多是","内存中的5大区","内存中的5大区分别是什么?","内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。","内存地址","内存对齐的原则","内存浪费","内存的管理和保护工具","内存管理","内存管理之weak原理探究","内存缓存","内容","内容传输的协议。","内容包括区域的位置、符号表、动态符号表等。","内容或者是布局,那么就有在过时","内容的下方,那么根据画家算法,下层必须先被渲染,而此时阴影的本体(layer","内容需要添加圆角和裁切,所以可以不需要用到离屏渲染技术。但如果加上了背景色、边框或其他有图像内容的图层,就会产生为","内提交的所有任务。","内核态:","内调用两次","内资源,需要通过","内部","内部会基于nsmethodsignature实例构建一个nsinvocation对象,作为回调","内部函数的日志记录表示形式,它是","内部可以提交结果到另一个空闲的帧缓冲区了;接着","内部并没有属性,当调用属性方法时,它内部是通过运行时","内部方法,用来产生可用的","内部有一持有一个_lock,他其实是一个","内部的函数顺序写函数。","再一次到来的时候,切换帧缓冲区......","再初始化子类(可能最终调用的是父类的初始化方法)","再把结果放到","再来看一下","再次确保是否有同步的方法需要调用","再看一下ktvhcdatasourcemanager的readdataoflength方法:","再看一下yyimage的源码,其流程也大致为:","再继续搜索","再者网络环境时好时坏,但是","再调用分类的的","再调用分类的的+","再调用渲染框架","再调用渲染框架(metal/opengl","写@property声明属性,其实是做了三件事","写入硬盘。","写入辅助信息(.hmap","写操作","写法","写者写者互斥","写者是排他性的,⼀个读写锁同时只能有⼀个写者或多个读者(与cpu数相关),但不能同时既有读者⼜有写者。在读写锁保持期间也是抢占失效的","写起来仍然有些麻烦。而且需要额外写单测保证质量。","冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动","准备syncdata","准备工作","准备提交(prepare)","准备(quartzcore/cor","减少到","减少图层数量","减少重复计算布局,减少修改frame等","几个核心类实现:","几乎不用","出了他们的{}","出现之前,next","出现在","出现时,posix","出现的时候,很多系统还没有使用大型","出错,callcompletionblockforoper","函数","函数。","函数。main","函数中","函数中。它不需要解析","函数中有一系列","函数之前发生了什么","函数之前的一些初始化,主要包括","函数之前的一些初始化,主要包括+load","函数会需要该指针","函数入口","函数内部会判断,是否有程序在前台显示,如果有则通过mach","函数名","函数地址.","函数多了,page","函数将其管理起来,并更新内存分布信息。","函数将可执行文件加载进内存中,加载过程分为三步:","函数属性","函数开始之后的处理流程。","函数执行完毕之后","函数执行这之间的工作:app","函数把心的对象进行注册操作,完成与对应的弱引用表进行绑定操作。","函数指针copy,也就是__main_block_copy_0(),内部调用了_block_object_assign()","函数指针dispose,也就是__main_block_dispose_0(),内部调用了_block_object_dispose()","函数的内存地址","函数的地址,最后","函数的地址,直接调用","函数的地址,首次访问","函数获取确定的","函数调用之前的启动速度瓶颈。","函数转换","函数里要做的最重要的事情就是初始化","函数,但是,还是可以调用的!","函数,它做的是方法查找,因为分类的方法优先放在前面,所以通过选择器查找到分类的方法之后直接调用,宿主类的方法看上去就像被","函数,生产一个","函数,生产一个cpp文件,窥探其底层结构(编译状态)","分为","分为三种:","分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标","分布式","分布式对于一个版本控制工具非常重要,如果你从开发程序以来就一直使用","分布式对象:","分布式对象是一种","分布式的方式更加符合版本控制系统的工作场景;","分开存放的,相当于把以上方案里的","分担一部分工作,提高整体效率。","分支;","分析","分析:","分析:前序遍历第一个输出结点为根结点,故a为根结点。早中序遍历中根结点处于左右子树结点中间,故结点a的左子树中结点有cb,右子树中结点有edf。","分类下:","分类中原理解析","分类中可以添加哪些内容","分类中,设置了一个关联属性","分类也是可以添加属性的","分类将附加到类对象的方法列表中,整合的时候,分类的方法优先放到前面","分类底层原理详细研究","分类的加载处理流程主要有下面三步:","分类的在编译后,方法并不会直接添加到类信息中,而是要在程序运行的时候,通过","分类的方法列表","分类里面,生成属性,只会生成方法的声明,不会生成成员变量","分解体积庞大的类文件","分配","分配新值","分钟理解完全二叉树、平衡二叉树、二叉查找树","切换到","列表。","列表。若有,则返回;否则,到其父类寻找。以此类推,直到根类,若在根类中仍没有该方法,则","列表中。","列表中,之后会遍历","列表赋值。","列表,而不是","列表,里面就是","列表,验证服务器端的证书是否可信。如果认为可信(具体的验证过程在下一节讲解),客户端会生成一串伪随机数,使用服务器的公钥加密它。这串随机数会被用于生成新的对称密钥","则3.13所示二叉树的中序遍历输出为:","则3.13所示二叉树的前序遍历输出为:","则会创建一个新的","则会对通过","则会随","则使用由","则图3.13所示二叉树的后序遍历输出为:","则图3.6所示的二叉树可以采用图3.12表示。","则抛弃下载的","则是用于存储关联对象的数据结构","则有一堆的限制。","则通过设置","则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。","刚开始双方都处于","刚开始客户端处于","创建","创建.","创建response作为loc","创建一个","创建一个cgimageref对象","创建一个dict","创建上下文","创建了一个基于","创建事件源","创建信号量","创建信号量时传入值为1时,可以通过两次才堵塞","创建分页,将代码读取到物理内存中,并且这些分页中的部分代码不会在启动阶段被调用。如下图所示,假设我们在启动阶段需要调用","创建启动闭包","创建多个不同的","创建好之后,以线程为key","创建对象的两种方法","创建源","创建线程执行任务","创建缓存等,最差情况下即","创建自动释放池。其","创建自己的connection类继承自httpconnect","创建调度组","创建队列","初始化","初始化一个","初始化一个新的页","初始化之后,将当前页标记为hotpage,然后会先向这个page中添加一个pool_boundary的标记,来确保在pop调用的时候,不会出现异常。","初始化之后,就进入了我们熟悉的","初始化互斥锁","初始化函数。","初始化完成后调用","初始化时加入参数name,这个方法已经成为新的指定初始化器","初始化时,runtime会调用objc_initweak函数,初始化一个新的weak指针指向对象地址;","初始化构造器保证所有弱引用的","初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值,否则会报错。","初始化的核心规则展开而来,swift","初始化读写锁","初始化过的可变数据","初始化,在","删减了部分代码:","删除object的所有的关联的对象","删除对象的关联对象函数","删除无用的类","删除有序数组中的重复项","删除重复元素,在删除重复元素之后,每个元素只出现一次,并返回新的长度,上述操作必须通过原地修改数组的方法,使用","删除重复出现的元素,使每个元素","判断","判断当前","判断是同步查询还是异步查询","判断消息是否终结。","判断绘制任务是否已经被取消。","利用","利用信号量","利用信号量的api来进行代码改写","利用这个全局声明的变量","到","到了这里","到内核,内核创建进程。接着会把主二进制","到原来的方法列表中","到底能不能预加载?","到来准备切换帧缓冲区时,若空闲的帧缓存区并未收到来自","到自动释放池的栈顶,并且返回这个","到自己模块中,也不需要改名,操作成本非常低。然后商品模块内就可以使用这个","到自己模块内部,就可以直接依赖并调用接口了。而且如果将来需要从服务器拉取相关配置,一个文件会方便很多。但是也需要考虑如果以上内容都放入同一个头文件,会不会导致文件过大的问题。当时分析模块间交互是有限的,否则就需要考虑模块划分是否合适。所以问题应该不大。从结果来看,目前我们最大的","到虚拟内存的时候,起始地址会有一个随机的偏移量","到虚拟内存,找到","到达h,h左子树为空,则返回到h,此时第二次访问h,不输出h;","到达h,h左子树为空,则返回到h,此时第二次访问h,故输出h;","到这里,cocoapod","到这里,我们知道","制定了编译采用的io","制的内存复制数据到分配的内存)。","刷新页面","前三个","前后帧缓存&vsync信号","前帧缓存决定了屏幕上显示的像素颜色,会在适当的时候与后帧缓存切换。","前序遍历","前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。","前文已经提过并发执行异步队列会开辟线程,而任务也会因为任务复杂度和cpu的调度导致各个乱序执行完毕,比如上图中的任务3明明是先于任务4执行,但是晚于任务4执行完毕","前端负责预处理,词法语法分析,生成","前端(frontend):语法分析,语义分析和生成中间代码。在这个过程中,也会对代码进行检查,如果发现出错的或需要警告的会标注出来。","前言","前面。","前面我们说过,synclist","前面提到替换图片时,需保持缓存目录下文件名不变,所以这里最简单的办法就是遍历缓存目录下的文件名,接着以这些文件名直接写入替换的图片。","前面提到过在","前面提过,在","前面讲到的page其实就是hotpage,通过autoreleasepoolpag","前,中,后只是指父节点遍历的顺序,前序就是","剪裁操作。","功能:","功能简介:","加上注释大概是","加个互斥锁","加入到","加入我们","加载也使用","加载共享缓存","加载共享缓存库","加载共享缓存库。","加载到内存中","加载到开始链接主程序的时候","加载到虚拟内存里。接着会对每个","加载到进程的地址空间里,然后把后续的启动过程交给","加载动态库","加载可执行文件。系统会去判断可执行文件的类型,选择相应的","加载命令大小*/","加载命令条数","加载失败,就不会弹出弹窗。","加载插入动态库","加载流程","加载程序","加载程序所需的动态库","加载类、分类的时候调用(只会调用一次)","加载进内存时","加载镜像","加速两部分。","加速(使用预加载)和","加锁","加锁前","加锁后","加锁对象不能为nil,否则加锁无效,不能保证线程安全","加锁操作,防止多线程中竞争冲突","加锁,用汇编指令ldxr来保证原子性","劣势是","劣势是仅适用于简单通讯场景。复杂数据传输,同步调用等方式都不太方便。","动作执行及复杂数据传输。比如商品模块向开单模块传递商品数据模型并进行价格计算。","动态子类观察的是setter方法","动态子类重写了观察属性的setter方法","动态将分类的方法合并到类对象、元类对象中","动态库","动态库一起,链接出最后的","动态库共享缓存区","动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是","动态库,所以","动态方法解析——通过调用resolveinstancemethod和resolveclassmethod来动态方法决议——实现消息动态处理","动态消息转发思想,当切换主题色时候,从","动态链接","动态链接器","动画同时进行的问题。","动画和另外一个","动画需要这个)","劫持:由于","包内容了。","包含","包含哪些接口即可。","包含的所有.o。","包含该二进制文件的一般信息","包就是一个普通的压缩包。","包括触摸事件处理、[performselector:","包的内容","包裹磁盘读取的代码。","包,可以用ar","匹配","区别","区别于功能模块","区域会是非滚动方向(trailing)的两倍,asdk","区域如下,可以看到,代码段的","区域就是上面的两倍,向上滚动时,上面的","区域就是下面的两倍。","十,补记","协议","协议与具体实现绑定起来。","协议中的粘包是如何发生的:","协议以及应用层协议出发,分析我们经常提到的","协议传输数据时,tcp","协议发送","协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从","协议天然支持:","协议头带来的额外开销,但是使用该算法也可能会导致应用层协议多次写入的数据被合并或者拆分发送,当接收方从","协议数据传输的核心机制","协议是基于字节流的传输层协议,其中不存在消息和数据包的概念;","协议是面向字节流的协议,它可能会组合或者拆分应用层协议的数据;","协议是面向连接的、可靠的、基于字节流的传输层通信协议,应用层交给","协议有粘包问题","协议栈中读取数据时会发现不相关的数据出现在了同一个数据段中,应用层协议可能没有办法对它们进行拆分和重组。","协议注册的模块间通讯方式,对开发效率基本无损。","协议的","协议的定义并且缺乏设计应用层协议的经验。本文将从","协议的数据并不会以消息为单位向目的主机传输,这些数据在某些情况下会被组合成一个数据段发送给目标的主机。","协议的错误理解,忽略了","协议粘包问题","协议粘包问题是因为应用层协议开发者的错误设计导致的,他们忽略了","协议造成的,它的出现是因为应用层协议设计者对","协议遵循者的","协议,udp","协议,然后就传递给网络层了","协议:","单一原则,设计模式(负责相应的功能)","单层","占1个字节,从12位置开始,此时12是1的整数倍,则","占1个字节,从8位置开始,此时8是1的整数倍,则","占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则","占2个字节,从16位置开始,此时16是2的整数倍,则16","占4个字节,从8位置开始,此时8是4的整数倍,则","占4个字节,从9位置开始,但是此时9不是4的整数倍,因此需要往后继续寻找,找到最接近的能整除4的12位置,则","占8个字节,从0位置开始,则","占用空间很小,一般存放在内存的低地址空间,我们平时编写的所有代码,就是放在这个区域","卡顿,列表卡顿、掉帧原理","即","即使使用_target效果也是一样,因为默认使用strong修饰符隐式修饰;","即使看不懂汇编代码,但是从上面的注释我们可以猜测,消息机制会先从缓存中去查找。","即便是从父类取到的方法,也会存在类本身的方法缓存里。而当用一个父类对象去调用那个方法的时候,也会在父类的metaclass里缓存一份。","即刻大量应用","即刻客户端中有大量的圆角、阴影等效果","即刻的优化","即发出连接释放报文段(fin=1,序号seq=u),并停止再发送数据,主动关闭tcp连接,进入fin_wait1(终止等待1)状态,等待服务端的确认。","即可。","即可。我们","即可响应事件。","即可,这就是二进制文件重排的核心原理。","即多种架构都可读取运行","即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ack=1,seq=u+1,ack=w+1),客户端进入time_wait(时间等待)状态。此时tcp未释放掉,需要经过时间等待计时器设置的时间2msl后,客户端才进入closed状态。","即将进入休眠","即将进入休眠或者即将退出时遍历执行,相同的方法接收者","即将进入休眠(或者退出)时,关注该事件的","即服务端收到连接释放报文段后即发出确认报文段(ack=1,确认号ack=u+1,序号seq=v),服务端进入close_wait(关闭等待)状态,此时的tcp处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入fin_wait2(终止等待2)状态,等待服务端发出的连接释放报文段。","即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(fin=1,ack=1,序号seq=w,确认号ack=u+1),服务端进入last_ack(最后确认)状态,等待客户端的确认。","即用户安装应用后,系统会自动生成启动图并缓存至沙盒目录,接着用户启动应用时,我们通过代码将沙盒目录下缓存的启动图文件全部替换为我们通过代码生成的启动图。","即线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步","即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。像内置的明确的基本类型都属于静态类型(int、nsstring等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run","即针对nsstring、nsnumber、nsdate、nsindexpath这些类型,都支持tag","却少见预加载的策略。极少数场景是这样的:整个界面包含多个","卸载应用重新安装,大概率恢复正常,仍复现;","卸载的机制,比如如果","压缩的图像数据被解码成其未压缩的位图形式","原代码","原因,关联的对象是","原因:","原地","原型","原型引用","原子性","原子性修饰的属性进行了spinlock加锁处理","原文:","原文地址","原文链接","原来的方法列表","原理","原理分析:","原理就是","原生触摸事件从","去做绑定的操作","去加载我们需要的图片,并把获取的结果回调给了上一级调用方。从上面的代码可以看到,获取图片的同时返回了一个operation,这个operation就是标识获取当前url图片的一个操作。之后会把这个operation放在当前view的operationdictionary中:","去寻找","去显示;如果此处有动画,ca","去检测是否兼容","去生成。","去除了判断","参与判断引用计数辅助量","参数","参数。","参数名","参数确定是否需要查找缓存。","参数,是一个回调","参考","参考资料","参考资料:","参考静态链接器的警告,修复所有不对齐的指针","又包含有一个自选锁、一张全局的引用计数表、一张全局的弱引用表。","又被划分成很多个","又通过其","又通过调用","及","及以上,也就是说至少都是每个逻辑像素长度对应两个物理像素长度。所以很多美工会只切","及以上:ktx","及以上:library/splashboard/snapshots/${product_bundle_identifier}","及以上:有权限;","及其以上的","友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含","双击","双向链表","双指针","双方同处于一个流水线中,协作完成整个渲染工作。","反之则交给饱和策略去处理","反射的代码明显会极大损害开发质量与效率,与目标背道而驰。所以,模块化解耦需求的更准确的描述应该是","发布情况下)。","发布至今,苹果对它进行了不断的优化和升级,即迭代出了","发生tcp粘包或拆包有很多原因,现列出常见的几点,","发生在","发起一笔支付交易,此时,第一件事,我们要去我们自己的服务器上创建一个订单信息。同时服务器会组装好一笔交易交给我们。关于组装交易信息,有两种做法,第一种就是支付宝推荐我们做的,由我们服务器来组装交易信息,服务器加密交易信息,并保存签名信息;另一种做法是,服务器返回商品信息给","发送到服务器,","发送方的udp对应用程序交下来的报文,在添加首部后就向下交付ip层。udp对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文","发送消息会有以下⼏个流程:","发送第一个syn的一端将执行主动打开(act","发送网络请求(但是完成加载耗时只少","取值","取出","取到图片后,停止","取差集","取得的cgcontextref就是calayer生成的这个实例。所有的绘制操作也会在这块context上生效。","取消","取消掉正在执行的操作operation如下调用:","变成","变成了","变成根节点,12","变相地实现了操作缓存目录,大家可以查看","变量","变量a","变量a:doubl","变量b:char","变量b:int","变量c:char","变量c:int","变量d:short","变量e:内嵌的lgstruct1结构体,lgstruct1内部最⼤元素的大小是8字节,需要从8的整数倍位置开始存储,存储方式同上lgstruct1结构体,则","变量属性","变量已经销毁了,所以程序崩溃了,这也说明了","变量有值","变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接","变量,dylib","叠在一起,然后在父","另一个是使用","另外","另外,","另外如果使用","另外比较适合","另外,为什么还需要路由","另外,我们发现每个模块对初始化顺序也有需求。比如账号模块的初始化可能要优先于别的模块,以便别的模块在初始化时使用其服务。所以我们也对","另外,每个模块单独","另外,由于","另外,苹果还建议更多使用","只不过这并不包含uicontrol子类以及uigesturerecognizer的子类,这两类会直接打断响应者链。","只会给数据增加一个","只使用了其中的","只出现一次","只剩下一个","只去除","只应该被重载,绝不要在代码中显式地调用。通常你只应该在","只接收按键(锁屏/静音等),触摸,加速,接近传感器等几种","只支持fifo","只是一个命名为自旋锁的互斥锁","只是一般没人手动调用load","只是多了一个保留字段","只是收敛了","只是模块化整体设计的冰山一角。我们也推荐读者所在团队,如果有时间可以尝试自己实现模块化工具,bifrost","只有","只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。","只有在表示创建失败的时候才有返回值,并且返回值为nil。","只有当从磁盘取到缓存时,才会对图片进行解码。","只生成一次或重复多次事件。重复的","只用做参考即可。","只能以声明的形式存在,多数情况下,寄生于宿主类的.","只能以声明的形式存在,多数情况下,寄生于宿主类的.m文件中","只能是一对一通信","只要回调","只要是同步方式提交任务,无论是提交到并发队列还是串行队列,最终都是在当前线程执行","可以为系统类添加分类","可以使某些攻击者无法事先获知地址","可以使用","可以分为三部分:","可以动态地为已有类添加新行为。apple还推荐了category的另外两个使用场景","可以取消操作:在运行任务前,可以在nsoperation对象调用cancel方法,标明此任务不需要执行。但是gcd队列是无法取消的,因为它遵循“安排好之后就不管了(fir","可以处理多个事件。","可以存在多个指定初始化器","可以定位文件位置","可以得出结论:","可以得知:","可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活,也就是为啥","可以把它看作是发送消息的过,其中","可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,","可以指定操作的优先级:操作的优先级表示此操作与队列中其他操作之间的优先关系,我们可以指定它","可以指定操作间的依赖关系:例如从服务器下载并处理文件的动作可以用操作来表示。而在处理其他文件之前必须先下载“清单文件”。而后续的下载工作,都要依赖于先下载的清单文件这一操作。","可以方便的打开相应页面。","可以有更细粒度的权限管理。我们因为在一个","可以猜测主队列的优先级是大于或等于qos_class_user_interactive的,让这些串行队列的优先级低于主队列,避免框架创建的线程和主线程竞争资源。","可以理解为当前正在使用的","可以理解为,因为只有","可以理解成","可以理解成一个字典结构,将","可以直接将","可以直接将从","可以看出其实正常获取数据的是ktvhcdatafilesource和ktvhcdatanetworksource两个类。","可以看出来","可以看出,两个source的实现比较类似,只不过ktvhcdatanetworksource多了一个从网络获取数据写入文件的步骤,其实最终提供数据还是通过文件读取的方式。","可以看出,它是将源视频的url替换成了自己定义格式的url,这时我们其实请求的就是local服务器了。","可以看出,这个函数仅仅是一个深层函数的调用入口,而一般的入口函数中,都会做一些简单的判断(例如","可以看到","可以看到canallocfast返回false,于是来到了下一流程:class_createinstance。","可以看到两个方法,","可以看到我们生成的","可以看到打印代码里面使用的age,实际上就是block内部的成员变量age,不是我们在外面定义的那个age,因此,当block被赋值之后,其成员变量age被赋值成了当时构造函数传进来的参数10,所以最终打印出来值就是10,不论外部的age再如何的修改。外部的age跟block的成员变量age是两个不同的变量,互不影响。","可以看到,block输出的","可以看到,在","可以看到,在对stripecount取余后,所得到的值根据机器不同,会在0","可以看到,控制台的打印结果如下:","可以看到,最终这个方法返回的是,调用这个方法的","可以看到,这个方法里面调用了uiview+webcache分类里面的一个方法:","可以获得以下信息:","可以让图片的size跟frame一致","可以让我们在本地创建分支并且没有命名空间冲突的问题;","可以让我们在本地进行提交以支持离线工作;","可以让提交通过","可以设置是否需要立即进行解码(kcgimagesourceshouldcacheimmediately),如果设置为不需要立刻解码,则会在将图片渲染到屏幕上时才进行解码。(设置为立即解码会阻塞主线程,造成性能问题,详见","可以适当给与帮助","可以通过","可以通过file命令获取到arch。","可以通过touchesbegan、pressesbegan、motionbegan、remotecontrolreceivedwithevent等方法,获取到对应的回调消息。uiresponder不只用来接收事件,还可以处理和传递对应的事件,如果当前响应者不能处理,则转发给其他合适的响应者处理。","可以通过添加符号断点,来直观的查看这几个方法的调用关系,如图","可以通过设置","可以通过设置环境变量objc_disable_tagged_pointers来有开发者决定是否使用这项技术","可以通过重写对应的方法,控制这个遍历过程。通过重写pointinside:withevent:方法,来做自己的判断并返回yes或no,返回点击区域是否在视图上。通过重写hittest:withevent:方法,返回被点击的视图。","可以配置","可以采用使用缓存的@synchronized,因为它对对象进行锁操作,会先从缓存查找是否有锁syncdata存在。如果有,直接返回而不加锁,保证锁的唯一性","可伸缩图片","可变","可失败的初始化器,如果把","可执行文件","可执行文件、mach","可执行文件中会预留出一段空间","可执行文件是包含","可执行文件的支持架构的","可执行文件的格式,典型的","可执行文件被称为","可是又被其他线程所修改","可是这个","可能一直处于忙的状态,所以这个","可能会想到用信号量","可能会有同学想问,我不懂编译的过程,写代码也没问题啊?这点我是不否定的。但是,充分理解了编译的过程,会对你的开发大有帮助。本文的最后,会以以下几个例子,来讲解如何合理利用","可能是因为历史问题,以前cpu是32位的,isa中能存储的引用计数就只有$2^7=128$。因此在arm64下,引用计数通常是存储在isa中的。","可能有人会有疑惑,为什么这里需要使用","可能的绘画操作。","可能还是会有一些问题,所以各个第三方","可靠传输","可靠传输,使用流量控制和拥塞控制","可靠性","可靠性对于一个版本控制系统来说也至关重要,专业的云服务商提供的磁盘都不一定能够保证我们数据的可靠性,避免数据损坏和丢失等问题,我们作为普通用户和开发者,更需要通过一些机制来保护我们的代码不会被损坏,如果版本控制系统不能为我们提供保护或者一致性的校验,我们可能就会遇到只有在编译或者打开文件时才会发现文件损坏的窘境。","可靠性能帮助我们能够及时发现数据因磁盘故障而丢失或者损坏;","右子树","右子树上所有结点值均大于根结点","右斜树","右旋成","右键","右键图中的wechat,选择显示包内容,然后就能够看到实际的","各模块边界已经稳定,即使模块化改造出现问题,也可以用很小的代价将其降级到传统的中介者模式,所以改造开始了。","合并多个分支是一件非常容易并且快速的事情,它能在几秒钟以内将两个复杂的分支进行比较和合并,不需要等待较长的时间。","合并渲染(离屏渲染等)","合成一个大的文件,提高加载性能的缓存文件。","合成器来控制显示的最终外观","合法性判断。因为,这里的","合法性检查。主要是检查可执行文件是否合法,是否能在当前的","合理利用","合适的注册及初始化方式。","同","同一个","同一个程序包中同时为多种架构提供最理想的性能。","同一时间,cpu只能处理一条线程,只有一条线程在工作(执行)","同时为了哈希不冲突,还使用加盐操作进行加锁","同时为新的","同时使用)","同时创建一个特殊的模块","同时平时定期通过自动化工具检测无用资源,以及重复资源的大小,以便及时优化包体积。","同时让项目中的所有开发者具有写权限其实是一件危险的事情,我们并不是知道这些开发者是否有着足够的经验操作主仓库,一旦出现操作上的失误,所有的成员都将面临这一失误带来的风险;","同时还创建了一个yysentinel实例。","同时,root","同时,我们希望各业务模块不需要去理解所依赖模块的内部复杂实现。比如","同样会在图片第一次渲染到屏幕上的时候进行解码。底层会调用到","同样会导致线程安全问题。","同样你可以使用","同样因为","同样的两个","同样的能在swift源码中找到关于nscondition部分","同样的,在被添加到","同样的,将我们刚才讲到的operation传入到这个方法中。我们看一下这个方法中做了什么:","同样,可以在xcode里面通过lldb的bt指令,查看nstimer事件和[performselector:","同样,我们也可以插入自己的脚本,来做一些额外的事情。比如,每次进行","同样,我们再来看看","同样,我们同样也可以定义其他预处理变量,","同样,者也帮我我们理解了为什么对于局部的变量,block需要对其采取“捕获”行为,正是因为局部变量定在与函数内部,无法跨函数使用,所以根据局部变量不同的存储属性,要么将其值直接进行拷贝(auto),要么对其地址进行拷贝(static)。","同步/异步和串行/并发","同步:只能在当前线程中执行任务,不具备开启新线程的能力","同步串行","同步异步","同步执行","同步执行任务:","同步栅栏函数","同步:打电话给查号台,问某个地方的电话号码,接线员会告诉你稍等,然后为你查号,此时你的电话没有挂断,其他的电话也不能打进来,等到接线员查找到了你要找的电话号,告诉你后,才将电话挂断","同理","同理,若是类方法,则从对象所属类的","名称","名称了。","后+load的类的方法,后添加到方法列表,而这时的添加方式又是插入顶部添加,即","后帧缓存绘图,也不会让应用直接复制前帧缓存和后帧缓存之间的切换。操作系统为自","后序遍历","后序遍历中最后访问的为根结点,因此可以按照上述同样的方法,找到根结点后分成两棵子树,进而继续找到子树的根结点,一步步确定二叉树的形态。","后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。","后的","后移赋值。时间复杂度如下:","后端基于","后端(backend):针对不同的架构,生成对应的机器码。","后续更新越狱篇章攻防会详细讲述和演示","后续逆向文章会带着大家自己写一个越狱插件","后续逆向文章越狱篇里会实际操作演练","后续通讯过程是用对称加密","后请求结果仍旧命中了","后面参与编译的category数据,会在数组的前面","后,","后,再和原来的颜色进行对比,结果是否相等?","后,需要再次调用","后,首先将调用其本类的resolveinstancemethod:方法,该方法定义如下:","向e左子树,故输出j;","吗,怎么还能调用这个方法?","否则runtime会使用一张散列表来管理引用计数。","否则可能会导致竞争状况,数据损坏或崩溃。","否则将该synccacheitem存入该线程对应的synccache中","否则类方法,实际方法都在同一个流程中,类对象、元类对象能够复用消息发送流程机制;","否则,编号为","否则,编号为2i+1","否则,重用之前的","启动","启动上做的一系列优化。","启动主线程的","启动之前做完的。在","启动之前完成了。","启动之前,符号解析的结果已经在启动闭包内了,所以","启动优化《原理篇》","启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以","启动到","启动后(唤醒后)会依次处理","启动图未渲染成功,表现为每次启动均为白屏,并且线上也有复现,这是我们遇到的主要问题(该问题我们在某些知名","启动图未能更新,启动后仍展示旧启动图,这个问题相信有不少同学遇到。","启动图相信大家都非常熟悉,版本迭代中不免会遇到更换启动图的需求,本以为这是件很简单的事情,但实际操作时却遇到了各种毫无头绪的异常问题,如启动图不更新、启动图未成功渲染等。","启动时会有性能损耗,不过也为我们做了一个例子——","启动时候需要调用,为了执行对应的代码,系统必须进行两个","启动时矫正这些不对齐的指针,但矫正是一个复杂的工作。所以静态链接器会产生一个","启动时间影响大概是","启动时间:本次讨论的启动时间,指的是","启动时间:过去,现在和未来","启动是","启动有两种定义:","启动流程","启动的定义","启动的时候,mach","启动的时候,才会重新通知我们有未验证的订单。这个周期根本没法想象,如果用户一个月不重启","启动的种类","启动的路径上会触发很多次","启动过程中,会调用各种函数,由于这些函数分布在各个","启动速度优化(二进制重排)","启动速度提升超","启动速度断崖式下降的原因之一。","启动闭包(launch","启用(enable)","启用了","呃。。。还是希望苹果爸爸能够","告诉","告诉链接器如何去加载这个","呢?","呢?如果接触过后端的服务化改造,会发现和移动端的业务模块化很相似。dubbo","呢?我们先来看一下渲染的大致流程","呢?我们看一下使用的","呢?是因为像","周期内可以视为重复调用。","周期多次的绘制请求为一个。","命令。","命令为我们生成","命令可以查看文件类型","命令可以检查下结果","命令对照表,其中包括了两个不同工具对于检出仓库、更新本地仓库、本地提交和向主仓库提交几个最常用的简单命令:","命令将某一个仓库中的全部数据下载到本地并在本地创建分支、修改和提交,也可以选择将新的改动推送到其他的节点上或者等待其他节点的拉取。","命令来检测","命令,将题干的代码转化为如下代码:","命名空间","和","和_objc_sync_exit","和_objc_sync_exit。让我们来看看其具体实现","和layoutsubview","和uiview的指定初始化器","和两个_objc_sync_exit。由此可知,当代码离开","和之前的元素都不同,因此将","和之前的设备都是","和其他编程语言一样","和其子","和其所有子","和其被加的自旋锁","和前面流程图中对应source1。source1和timer都属于端口事件源,不同的是所有的timer都共用一个端口“mod","和图形学等等方面的知识,在实践中也非常考验一个工程师排查问题的基本功、经验和判断能力——如果在不恰当的时候打开了","和它的父","和方法","和每个子","和环境变量;它解析","和生成静态库","和相关的编译检查也复杂了很多。同样的,因为微信商城","和相同的方法","和编译","和联调测试。后期还可以通过单元测试来保障质量。模块化方案中,我们可以称这类","和装载","和设计不符,beehiv","和资源文件一起,打包出最后的.","和资源文件一起,打包出最后的.app","和这些","和阿里的","和静态初始化被调用,除了方法本身耗时,这里还会引起大量","和颜色的实现原理一样,也声明了","哈希函数","哈希数据使用","哈希数组","哈希来保证仓库中数据的可靠性,我们通过","哈希查找","哈希的一致性检查,保证我们能够立刻感知到仓库中的数据损坏和变更,还能够帮助我们抵御来自攻击者对文件的恶意篡改,保证了仓库的安全和可靠性。","哈希的计算同时使用了源代码树、上一次提交的哈希、作者和提交人的信息以及当前提交的消息,所以只要使用的任何信息有所变动,我们就会在校验时发现哈希的不一致,从而检测出当前仓库的数据中包含数据的变更、损坏和丢失,同时这也能够帮助我们阻挡攻击者对仓库的恶意修改,因为即使对仓库修改成功,攻击者也很难保证哈希的不变,虽然在研究中表明这种的哈希冲突攻击是可能的,但是在实践中遇到这种问题的几率还是非常低。","哈希表结构","哈希表结构,内部存synclist","哈希表,key","哈希,你可以在","哈希,例如:e328029255d8f02909ec0cbc16cc74ef4b79e1d0,这个哈希就表示了当前提交的版本号,它是由以下的数据共同计算而来的:","哈希;","响应事件的优先级,以及整体的响应逻辑。","响应者链是由一个不同对象组成的层次结构,其中的每个对象将依次获得响应事件的机会。当发生事件时,事件首先将被发送到第一响应者,第一响应者基本是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并作出处理。","响应连:由最基础的view向系统传递,first","哨兵对象。","哪一个出现问题导致不能及时的提交渲染结果到帧缓冲区,都会导致掉帧。优化界面流畅程度,实际上就是减少掉帧(ios设备上大致是","唤醒是一个被动行为","唱吧ktvhttpcach","商品模块的接口返回的是","善用离屏渲染","四.","四、yytransact","四、总结","四、有赞的模块化实践","四、潜在问题和适配方案","四次挥手","四次挥手释放连接时,等待2msl的意义?","回到类对象结构体,成员变量cache就是用来对方法进行缓存的。","回前台:大多数时候不会被定义为启动,因为此时","回调了,在这些会调里去做一些业务上的初始化:","回调到","回调的优先级避免与系统绘制逻辑竞争资源,使用nsset合并了一次","回调(progressblock,","回顾一下程序的内存布局","回顾方法调用过程:调用方法的时候,需要去方法列表里面进行遍历查找。如果方法不在列表里面,就会通过superclass找到父类的类对象,在去父类类对象方法列表里面遍历查找。","因为","因为m和v之间是完全隔离的,","因为其强大的运行时特性,无论是基于","因为在","因为子线程不会主动创建runloop,performselector:withobject:afterdelay,即使延时0s,也是要创建相应添加到runloop逻辑,如果没有runloop是不会添加到上面,所以不会触发.(创建runloop后也需要run)","因为当服务端收到客户端的syn连接请求报文后,可以直接发送syn+ack报文。其中ack报文是用来应答的,syn报文是用来同步的。但是关闭连接时,当服务端收到fin报文时,很可能并不会立即关闭socket,所以只能先回复一个ack报文,告诉客户端,\"你发的fin报文我收到了\"。只有等到我服务端所有的报文都发送完了,我才能发送fin报文,因此不能一起发送。故需要四次挥手。","因为我们希望一个模块做了接口修改,另一个模块可以存在一种选择,是马上更新接口,还是先完成手头的工作将来再更新。","因为我们每个模块都是基于外观模式设计的。所以每个模块只需要对外暴露一个","因为最后一个节点加到了右子树的右子树,就要想办法给右子树的左子树加点料,因此需要逆时针旋转,将","因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用","因为父","因为父容器有圆角,那么也会需要被裁剪,而这时它们还在渲染队列中排队,尚未被组合到一块画布上,自然也无法统一裁剪","因为磁盘缓存读取时,会产生许多临时变量,为了避免内存过高,使用","因为考虑到每个","因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是","因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大。","因为!当类第一次加载进内存的时候,调用的","因此","因此可以说,一个obj,对应了一个sidetable。但是一个sidetable,会对应多个obj。因为sidetable的数量有限,所以会有很多obj共用同一个sidetable。","因此想要支持多架构的话","因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释","因此,如果在16.7ms内完不成这些操作,比如,cpu做了太多的工作,或者view层次过于多,图片过于大,导致gpu压力太大,就会导致“卡”的现象,也就是丢帧.","因此,当我们从外部修改height的值之后,调用block打印出的height的值也相应的改变了,因为block内部是通过","因此,需要三次握手才能确认双方的接收与发送能力是否正常。","困难、复用困难、启动慢等坏处,不值一提。","图","图3.10","图3.11","图3.12","图3.12中采用一种链表结构存储二叉树,这种链表称为二叉链表。","图3.13所示二叉树中序访问如下:","图3.13所示二叉树后序访问如下:","图3.13所示二叉树访问如下:","图3.14","图3.15.png","图3.2","图3.3","图3.5","图3.6","图3.6所示的一棵完全二叉树采用顺序存储方式,如图3.7表示:","图3.7","图3.8.png","图3.9","图中的member","图例参考","图像渲染流水线","图像渲染流程粗粒度地大概分为下面这些步骤:","图层内容赋值的时候(直接或者间接使用","图层打包","图层蒙版","图形服务接收到","图文详情页秒开实践","图片","图片加载奇淫巧技","图片加载奇淫巧技/)","图片或者使用","图片格式转换;","图片格式:","图片的加载与渲染过程","图片的显示分为三步:加载、解码、渲染。","图片缓存读写原理","图片缓存读写原理/)","图给你,而不切一倍图。","图,当scale为","图,这就意味着,calayer的contentsscale要和设备的scale对应才能达到预期的效果(不同设备显示相同的逻辑像素大小)。","圆角+masktobound","圆角+masktobounds,","圆角(当和","土丘上的蒲公英","在","在__cstring的","在__uiapplicationhandleeventqueue()函数中,会将传递过来的iohidevent转换为uievent对象。","在app","在arc中两个队列不需要考虑释放内存,但是在mrc中并发队列创造出来的需要","在arc环境下,编译器会根据情况自动将栈上的block复制到堆上,例如以下的情况","在arc环境中autoreleasepool(runloop)的研究","在block中执行的代码块","在block之前定义了一个int","在block里面使用的_strong修饰的weakself是为了在函数生命周期中防止self提前释放。strongself是一个自动变量当block执行完毕就会释放自动变量strongself不会对self进行一直进行强引用。","在calayer内部,系统会创建一个backingstore(可以理解为cgcontextref,drawrect中取到的currentref就是这个东西),然后layer回判断是否有delegate,如果没有代理,就调用calayer的drawincontext:方法;如果有代理,则调用layer代理的drawlayer:incontext:方法,这一步发生在系统内部,然后在合适的时间给与我们回调一个熟悉的uiview的drawrect:方法。也就是在系统内部的绘制之上,允许我们再做一些额外的绘制。最后calayer把backt","在document","在dyldstartup.","在forwardingtargetforselector:处打个断点,查看一下调用栈:","在gcd应用篇章已经对信号量进行过讲解","在hittest:withevent:方法中,会从上到下遍历子视图,并调用subviews的pointinside:withevent:方法,来找到点击区域内且最上面的子视图。如果找到子视图则调用其hittest:withevent:方法,并继续执行这个流程,以此类推。如果子视图不在点击区域内,则忽略这个视图及其子视图,继续遍历其他视图。","在ios12系统之前,发现是可以直接打印tag","在ios中锁的基本种类只有两种:互斥锁、自旋锁,其他的比如条件锁、递归锁、信号量都是上层的封装和实现","在ios开发中一般使用nstimer来处理定时逻辑,但nstimer是依赖runloop的,而runloop可以运行在不同的模式下。如果nstimer添加在一种模式下,当runloop运行在其他模式下的时候,定时器就挂机了;又如果runloop在阻塞状态,nstimer触发时间就会推迟到下一个runloop周期。因此nstimer在计时上会有误差,并不是特别精确,而gcd定时器不依赖runloop,计时精度要高很多","在ios探索","在nsoperationqueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而gcd没法停止已经加入queue的block(其实是有的,但需要许多复杂的代码);","在objc中,class存储类的实例方法(","在objc源码中找到objc_sync_enter和objc_sync_exit","在runtime内存空间中,sidetables是一个hash数组,里面存储了sidetable。sidetables的hash键值就是一个对象obj的address。","在set方法中在赋值的前后分别调用:willchangevalueforkey和didchangevalueforkey","在socket编程中,任何一方执行close()操作即可产生挥手操作。","在socket编程中,客户端执行connect()时,将触发三次握手。","在uiapplication向第一响应者派发事件,并且遍历响应者链查找手势时,会开始执行响应者链中的touches系列方法。会先执行touchesbegan和touchesmoved方法,如果响应者链能够继续响应事件,则执行touchesended方法表示事件完成,如果将事件交给手势处理则调用touchescancelled方法将响应者链打断。","在uiapplication接收到响应事件之前,还有更复杂的系统级的处理,处理流程大致如下。","在uiresponder中提供了nextresponder方法,通过这个方法可以找到当前响应环节的上一级响应对象。可以从当前uiview开始不断调用nextresponder,查找上一级响应者链的对象,就可以找到离自己最近的uiviewcontroller。","在valid","在【edit","在一个","在一个分布式的版本控制系统中,所有的节点在实现上都是等同的,只要有权限,它们都可以一次获取其他仓库中的全部数据。不同的节点之间可以互相拉取代码,我们可以使用","在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","在一些边界条件下,某一些操作的行为在今天看来其实是不正确的,苹果收集了这些案例并且在","在上下文中做出对应处理","在上述过程中,","在上面的渲染流水线示意图中我们可以看到,主要的渲染操作都是由","在两个线程之间传递信息的另一种简单方法是使用全局变量,共享对象或共享内存块。尽管共享变量既快速又简单,但是它们比直接消息传递更脆弱。必须使用锁或其他同步机制仔细保护共享变量,以确保代码的正确性。","在严选里弹窗有两种,一种是被动弹窗,比方说从后台数据返回中,得知有弹窗需要显示,nativ","在为对象的属性注册观察者时,将修改观察对象的isa指针,指向中间类而不是真实类。isa指针的值不一定反映实例的实际类","在主线程上执行某","在主线程中,将图片数据赋值给","在主运行循环的下一次迭代中,core","在主队列上提交了","在之前的","在介绍","在优化性能时选择了合并分支作为主要的性能衡量指标,将合并分支变成了成本非常低的操作以鼓励分支的使用;","在传输的过程中,客户端如何获得服务器端的公钥呢?当时是服务器分发给客户端,如果一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。","在保证子类有指定初始化器,才能创建便利初始化器,且在便利初始化器里面必须调用指定初始化器","在元类中获取方法的实现","在入口方法中,传入了","在具体的业务场景中,","在具体的实现中,dmdynamicimageproxi","在内存中","在内存中是不可变的。在运行期间,动态给类添加方法,实质上是更新","在内存中是紧跟在","在内存中的位置是在编译期间决定的,在之后修改代码,也不会改变内存中的位置。","在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。","在函数内部,调用uiapplication的sendevent:方法,将uievent传递给第一响应者或uicontrol对象处理,在uievent内部包含若干个uitouch对象。","在函数里修改输入数组对于调用者是可见的。","在分类中,因为类的实例变量的布局已经固定,使用","在刚启动","在初始化时,会自动给每个属性(成员变量)赋值为","在初步走通了流程,验证了方案的可行性后,我们开始完善设计整套流程,并且测试其性能消耗。如测试发现从storyboard生成截图较为耗时,为此我们做了一个缓存策略,避免每次都去截图。","在原对象释放之后,weak对象就会变成null,防止野指针。所以就输出了null了。","在发送端,应用层将数据传递给传输层的","在取出实例方法的实现中,使用了","在取类地址的时候区分x86_64和arm。","在另一个场景中也可以使用:如果","在同一个","在启动上主要有几点应用:","在启动后会注册对应的","在启动期间所需要的所有信息。比如这个","在和同事解决严选","在子线程完成。","在实例开始真正的图片请求操作之前,会根据","在实际分析的过程中发现,如果一个类的子类被实例化,父类未被实例化,此时父类不会出现在__objc_classrefs这个段里,在未使用的类中需要将这一部分父类过滤出去。使用otool","在对","在工程编译时","在平时的","在应用层协议中,最常见的两种解决方案就是基于长度或者基于终结符(delimiter)。","在开发中,有时会有找到当前view对应的控制器的需求,这时候就可以利用我们上面所学,根据响应者链来找到最近的控制器。","在开发过程中,经常会遇到子视图显示范围超出父视图的情况,这时候可以重写该视图的pointinside:withevent:方法,将点击区域扩大到能够覆盖所有子视图。","在引用计数表中设置若引用标记位","在弹窗出现时使用缩放动画,h5","在当前线程执行block的任务","在性能有了显著提升,所以","在所有的线程安全的方案中,@synchron","在执行hittest:withevent:方法时,如果该视图是hidden等于","在接下来的渲染中是","在接收端,网络层将数据传递给传输层,udp","在操作,而到了","在收到","在数据有所更新时,","在整理出上面的流程结论后,编写了viewcontrollerprerender,虽然不到","在日常使用中的明显差异","在早年的","在本次","在查找到一个可以使用的autoreleasepoolpage之后,会将该页面标记成hotpage,然后调动add()方法添加对象。","在查找第一响应者的过程中,已经形成了一个响应者链。","在此处模拟了","在此背景下,百度","在每个自动释放池初始化调用","在没有手加autoreleas","在没有给所有非可选类型属性赋值(初始化完成)之前,不能调用self相关的任何东西,例如:调用实例属性,调用实例方法。","在滚动方向(leading)上","在用block构造函数生成block的时候,使用了外部定义的","在监听过程中过滤掉不关心的事件源,只专注于某些特定的事件。","在看看block入口静态函数","在研究这个问题的过程中,我有想过去看一下源码,试着去理解在视图完全渲染之前,ipc是如何调度的,可惜苹果并没有开源绘制过程中的代码。这里推荐官方文章给大家了解一下ios中ipc是如何运作的。","在确认报文段中syn=1,ack=1,确认号ack=x+1,初始序号seq=y。","在磁盘中根据","在程序初始化方法_objc_init","在程序启动之后,主线程会创建一个runloop,也会创建两个observer,回调工作都是在_wraprunloopwithautoreleasepoolhandler函数中。","在程序运行过程中只会执行一次","在第一次获取时被创建,在线程结束时被销毁","在类中获取方法的实现","在类的定义里就有cache字段,类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的object都保存一份","在类第一次接收消息的时候会调用,oc","在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程均运行在其专用且受保护的内存空间内。进程是cpu分配资源和调度的单位。","在线程中","在绝大多数的场景下都能让我们的开发和合作变得更加高效。","在继承自","在继续深入理解","在缓存、当前类、父类以及方法决议都没有找到的情况下,object","在缓存中的数据的类型和所有需","在缓存查找阶段是","在编译之后,class_ro_t","在编译期间类的结构中的","在编译期间,以上代码会被转化为","在虚拟内存出现前,程序指令必须都在物理内存内,使得物理内存能存放的进程十分有限,并且由于是相邻存储,容易发生越界访问等情况。","在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(pag","在被添加到","在被苹果推广时没有被提到它预加载的优点,一直没有引起重视。","在规定的16.7ms内,在下一个vsync信号到来之前,cpu和gpu并没有共同完成下一帧视频的合成,就会出现掉帧、卡顿。","在触发离屏渲染时候,会增加gpu工作量,增加gpu工作量,可能会导致gpu和cpu工作耗时的总耗时超出vsync信号(16.7毫秒)时间,导致ui卡顿或者掉帧。","在设计","在设计上有哪些缺点和问题,我们能不能改变它?如果能的话又如何改变它?","在设计上的决策之前,我们首先要回到今天要讨论的问题,也就是『为什么你应该使用","在设计上能避免很多","在该框架中","在调用分类的","在调用分类的load","在调用这些方法时,返回的类型依然为","在运行时重绑定到用户指定的函数地址","在这个示例里,defaultstringencoding被发送给了nsstring类。","在这个链接,你可以找到所有的","在这样的继承体系下,所有实例、类以及元类都继承自一个基类。","在这里会进行相关配置。","在这里同时推荐y大的两篇文章","在这里开始创建对象分配内存空间,hascxxtor()和hascxxdtor()是用来处理c++成员变量的构造和析构的,hascxxtor是判断当前class或者superclass是否有.cxx_construct的实现,hascxxdtor是用来判断当前class或者superclass是否有.cxx_destruct的实现,canallocnonpointer是判断是否可以创建nonpointer。","在这里推荐大家去阅读落影loyinglin的文章ios开发","在这里推荐阅读郭曜源前辈的io","在这里需要先了解几个概念","在通过命令行生成一下编译后的c++文件,同样还是在文件底部去看","在银行(进程)中,有4个工作窗口(线程),而只有一条队伍(队列)","在面对一些大型","地址","地址的调用信息。然后,通过","地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间","地址:https://github.com/iversonxh/dynamiclaunchimag","场景分别是什么情况的:","均无以上情况,如果是通过","坐标系中的位置和具体的大小。uiview","坑爹之处从以下两个方面来理解。","坑爹的","基于","基于gcd(底层是gcd)","基于mach_port的,来自系统内核或者其他进程或线程的事件,可以主动唤醒休眠中的runloop(ios里进程间通信开发过程中我们一般不主动使用)。mach_port大家就理解成进程间相互发送消息的一种机制就好,","基于port的线程通信","基于port的线程间通信、系统事件捕捉","基于port的线程间通信通过下面的图示大致理解即可","基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n","基于以上设计,我们大概花了","基于动态类型,在某个实例对象被确定后,其类型便被确定了。该对象对应的属性和响应的消息也被完全确定,这就是动态绑定。比如我们一般向一个nsobject对象发送","基于反射的远程接口调用封装。","基于反射的远程调用封装","基于字节流,其本身不包含消息、数据包等概念,所有数据的传输都是流式的,需要应用层协议自己设计消息的边界,即消息帧(messag","基于此,虽然多个对象的","基于端口的线程间通信(a线程通过端口发送消息到b线程,这个消息是source1的;","基于系统开的口子","基于路由","基于通知的广播方案。","基于通知的模块间通讯方案,实现思路非常简单,","基于面向协议思想的服务注册方案。","基本上,在响应者链只要有对象处理事件,事件就停止传递。","基本数据类型内存大小","基本概念","基本类型的参数,url","基本过程","基础","基础技术","基础的","堆block","堆上的block被废弃时","堆区","堆区(heap):一般由程序员分配释放,","堆空间的block有一个__block_byref_a_0结构体,","增加一个监听,当内存紧张时,丢弃这些预加载的对象不会造成功能错误,","增加了一个工具,名叫静态初始化程序跟踪器(static","增加了优先级接口。每个模块可以定义自己的初始化优先级。","增加弱引用表于附加对象上","增加最大半连接数","声明两个","声明了dmdynamiccolor","声明了getter和setter方法;","声明了实例变量(默认:下划线+属性名);","声明呢?答案是可行的。而且即使工程中同时存在多个同名的","声明私有属性","声明私有成员变量","声明私有方法","处","处于","处理","处理source0事件","处理source1","处理事件,什么叫非基于port的呢?就是说你这个消息不是其他进程或者内核直接发送给你的。一般是app内部的事件,","处理因timer的唤醒","处理图片的一些小","处理完事件后,asdk","处理并包装成","处理异常\");","处理异步方法唤醒,如dispatch_async","处理打开某个页面需要有回调功能的场景。比如打开会员选择页面,搜索会员,搜到之后点击确定,回传会员数据:","处理文件打包信息,例如在","处理的形式(也就是所谓的硬件加速,如","处理逻辑交给代理处理。","处理非延迟的主线程调用","处,所以","处,经过哈希函数计算得出索引2,起初我们要顺着上面的","复制代码","复制并转换为不可变类型。","复杂对象传输","复杂对象传输优化","复杂对象的处理方式也存在一些问题,比如拷贝粘贴的方式比较丑陋,重复代码会带来包体积的增加。","复杂度分析","复杂类型的参数,可以提供一个额外的字典参数","复用已有的m和v便可快速搭建新的业务场景.","复用时导致的图片展示错乱问题。","复用,分用,差错检测","外","外属性)","外观(facade)模式:","外部传入一个需要缓存的对象时,其引用计数为","多","多了一些规则:","多人,但仍然是一个协作紧密的整体,发版节奏基本一致。各业务模块代码都在同一个","多加一层判断——判断object,显然为了满足业务需求而去增加逻辑判断是不可取的","多层","多次锁同一个对象会有什么后果吗——会从高速缓存中拿到data,所以只会锁一次对象","多线程","多线程中队列分为串行队列(serial","多线程之gcd应用","多线程原理","多线程同步锁中性能最差的一个。但是却是所有锁中使用起来最简单的一个。","多线程并发(同时)执行,其实就是cpu执行快速地在多条线程之间调度(切换)","多线程执行任务分为dispatch_sync同步执行任务和dispatch_async异步执行:","多线程的生命周期是:新建","多行。","多读单写处理","多读单写方案","够的内存(通常是从","大体分为如下步骤:","大大提高了开发效率,","大家可以在如下图中配置玩一玩","大家应该都知道,如果想在block","大家知道,如果我们在","大小","大小是","大概有以下的收获;","大法好。","大的放在右边序列;","大部分","大部分时候,在视图中更新任何","大部分的启动场景都不需要调用这个进程外的","大部分非游戏类应用,支持的界面方向都只有竖屏(portrait),即应用页面不会跟随设备方向旋转,始终以竖屏方向显示。但实际开发时,由于某些特殊需求,我们可能会勾选上横屏(landscap","太多会影响这部分时间","太多的几何结构会影响gpu速度,但这并不是gpu的瓶颈限制原因,但由于图层在显示之前要通过ipc发送到渲染服务器的时候(图层实际上是由很多小物体组成的特别重量级的对象),太多的图层就会引起cpu的瓶颈。","头文件替换;macro","头文件的方式仍然有一些理解成本。移动团队规模快速发展,一些新来的小伙伴还是会提出疑问。18","头文件,不再需要","头标识下是","头部可以进行某些攻击,如果一个","头部解析和符号查找工作完成后,这些执行结果会被作为","头部,也不需要做符号查找。","好吧,算起来有九个比较大的问题了,还有没照顾到的请各位补充。这九个问题,基本上每一个都是致命的。这么多的不确定性,我们应该怎么综合处理,怎么相互平衡?","如log,","如上图,关系也如旧版本一样,","如上图,最底层有一个","如上图所示,响应者链如下:","如上图所示,被atomic修饰的index变量分别在两次并发异步for循环10000次后输出的结果并不等于20000。由此可以得出结论:","如下图,分别为","如下图,编译的时候,字符串","如代码,为线程中runloop添加一个","如何从","如何从sidetables里找到特定的sidetable呢,这就用到了散列函数。runtime是通过这么一个函数来获取到相应的sidetable:","如何从栈指向堆,并建立联系呢?","如何保证可靠传输","如何减少启动时间,最重要的还是尽可能的少做事。比如:尽可能的嵌入更少的动态链接库;尽可能少引入文件、少定义方法;尽可能少执行初始化程序。","如何判断是tag","如何能找到其真实的实现地址呢","如何解决tableviewcel","如何调试第三方统计到的崩溃报告","如何进行优化呢?这其实是各端远程调用都需要解决的问题。移动端最常见的远程调用就是向后端接口发网络请求。针对这类问题,我们很容易想到创建一个网络层,将这类","如何进行缓存","如何避免同一时间多个请求,请求同一张图片下载多次问题。","如何预加载","如图","如图3.14所示:","如图可知,点击应用图标后,springboard找到了一个可用的启动图,无需预热splashboard,直接使用可用的启动图。","如客户端发出连接请求,但因连接请求报文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端共发出了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,但是第一个丢失的报文段只是在某些网络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务端,此时服务端误认为客户端又发出一次新的连接请求,于是就向客户端发出确认报文段,同意建立连接,不采用三次握手,只要服务端发出确认,就建立新的连接了,此时客户端忽略服务端发来的确认,也不发送数据,则服务端一致等待客户端发送数据,浪费资源。","如果","如果+load","如果.m文件中写了@synthes","如果block从堆上移除","如果block是在栈上,将不会对auto变量产生强引用","如果block被拷贝到堆上","如果loop为空,则创建一个新的loop,所以runloop会在第一次获取的时候创建","如果next指向beigin()说明为空","如果next指向end)说明满了","如果textfield未处理事件,则会将事件传递给下一级响应者链,也就是其父视图。","如果weak_entry_t不存在,则会新建一个并插入","如果一个","如果一个block内部没有使用/访问","如果一个block有使用/访问","如果不获取,那子线程就不会创建与之相关联的runloop,并且只能在一个线程的内部获取其","如果你对技术充满热情,欢迎加入抖音基础技术团队,让我们共建亿级全球化","如果你已经做了几年ios开发,相比对于这道题可能已经很熟悉。","如果你的视图层级过于复杂,当视图呈现或者修改的时候,计算图层帧率就会消耗一部分时间。特别是使用ios6的自动布局机制尤为明显,它应该是比老版的自动调整逻辑加强了cpu的工作。","如果你选择使用","如果使用","如果其对象为","如果前台没有程序在显示,则表明springboard的桌面程序在前台显示,也就是用户在桌面进行了操作。","如果只重写main方法,底层控制变更任务执行完成状态,以及任务退出","如果图像数据为未解码的png/jpg,解码为位图数据","如果在","如果在缓存中找到当前对象,就拿出当前被锁的次数lockcount,再根据传入参数类型(获取、释放、查看)对lockcount分别进行操作","如果子树太复杂,会消耗很大,对性能造成影响;","如果子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,则需要新创建一个指定初始化器,或者重写父类的指定初始化器","如果子类没有新的非可选类型属性,或者保证所有非可选类型属性都已经有默认值,则可以直接继承父类的指定初始化器和便利初始化器","如果子线程的","如果存在operation,但是operation没有正在执行,则根据条件调整operation的请求优先级。","如果存在就将指向被弱引用对象地址的指针referrer通过函数append_referrer插入到对应的weak_entry_t引用数组","如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因,可以在博客下面留言,作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容。","如果对视图实现了drawrect:或drawlayer:incontext:方法,或者","如果开启大量的线程,会占用大量的内存空间,降低程序的性能","如果异步操作的过程需要更多的被交互和ui呈现出来,nsoperation更好;底层代码中,任务之间不太互相依赖,而需要更高的并发能力,gcd则更有优势","如果弱引用被释放","如果当创建信号量时传入值为1又会怎么样呢?","如果当前视图在响应者链中,但其没有处理事件,则不考虑其兄弟视图,即使其兄弟视图和其都在点击范围内。","如果当前设备是64位环境并且使用object","如果必须使用,那么请让苹果知道你为什么需要使用","如果想让响应者链中,每一级uiresponder都可以响应事件,可以在每级uiresponder中都实现touches并调用super方法,即可实现响应者链事件逐级传递。","如果想通过runtime的方法class_addivar它只适用于新建一个类的时候增加,对于类别中增加实例就不适用","如果我上面讲的,你都懂,都能够在面试中说出来,应该是足够的了。我当时就是这么回答的。","如果我们的一个","如果我们的代理实现了dispaylay","如果我们要了解具体如何获取到,我们需要查看","如果手势不能处理事件,则交给第一响应者来处理。如果第一响应者也不能响应事件,则顺着响应者链继续向后查找,直到找到能够处理事件的uiresponder对象。如果找到uiapplication还没有对象响应事件的话,则将这次事件丢弃。","如果控制器的view未处理事件,则会交给控制器处理。","如果改成self.index=i是能保证setter方法的线程安全的","如果数组","如果方法需要调用很多次的话,那就相当于每次调用都需要去遍历多次方法列表,为了能够快速查找方法,apple设计了cache_t来进行方法缓存。","如果是","如果是release或check直接goto","如果是release类型直接返回nil","如果是tag","如果是已排序的列表,就采用二分查找,没排序的采用一般遍历","如果是普通类声明生命属性的话","如果是继承自uiresponder的类,则调用第一响应者的touchesbegin,并且不会立即执行touchesended,而是调用之后顺着响应者链向后查找。如果在查找过程中,发现响应者链中有的视图添加了手势,则进入手势的代理方法中,如果代理方法返回可以响应这个事件,则将第一响应者的事件取消,并调用其touchescanceled方法,然后由手势来响应事件。","如果有","如果有一个全局的结构体,它指向一个函数或者另一个全局结构体,那么为了更好的运行性能这个指针必须和系统字长对齐。如果出于某些特殊原因,第三方程序员必须使用","如果有事件到来时,视图有附加的手势识别器,则手势识别器优先处理事件。如果手势识别器没有处理事件,则将事件交给视图处理,视图如果未处理则顺着响应者链继续向后传递。","如果有子线程想通过performselecoronmainthread...","如果有正在执行的operation,不创建新的请求operation,而是给当前operation添加回调对象progressblock","如果某个","如果点击uitextfield后其会成为第一响应者。","如果点击事件是发生在视图外,但在其子视图内部,子视图也不能接收事件并成为第一响应者。这是因为在其父视图进行hittest:withevent:的过程中,就会将其忽略掉。","如果用户后买成功以后,网络就不行了,那么苹果的","如果用户的交易还没有得到验证,就把","如果第一响应者不能处理事件,则调用其nextresponder方法,一直找响应者链中能处理该事件的对象。","如果第二步中有发现第一次使用的的对象就将threadcount标记为1且goto","如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的","如果要绘制一个带有圆角并剪切圆角以外内容的容器,就会触发离屏渲染。我的猜想是(如果读者中有图形学专家希望能指正):","如果视图绘制超出gpu支持的2048x2048或者4096x4096尺寸的","如果该实例对象启用了non","如果该对象不是tag","如果该类","如果该类已经完成执行","如果说,sel","如果读写锁当前没有读者,也没有写者,那么写者可以⽴刻获得读写锁,否则它必须⾃旋在那⾥,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以⽴即获得该读写锁,否则读者必须⾃旋在那⾥,直到写者释放该读写锁","如果重写了start方法,自行控制状态(什么时候是isexecuting,isfinish状态等等)","如果锁的对象obj不存在时分别会走objc_sync_nil()和不做任何操作(源码分析可以先解决简单的逻辑分支)","如果需要动态新增方法,可以在+resolveinstancemethod:阶段完成;如果只是需要篡改","如果非tag","如果验证通过,或用户接受了不受信任的证书,浏览器就会生成一个随机的对称密钥(session","姓名","子元素容器,子元素根据","子树也必须是一颗平衡二叉树","子类","子类可以把父类的可失败的初始化器重写为不可失败的初始化器,但不能把父类的不可失败的初始化器重写为可失败的初始化器","子类实现该初始化器时,也必须加上required修饰符,而不是overrid","子线程autorelease对象何时释放","字典中。","字典时,保证被渲染过","字符串","字符串@\"1234\",编译到最后的二进制的时候是会存储在两个","字符串。无法触发代码自动补全,容易出现拼写错误,而且这类错误只能在运行时触发相关方法后才能发现。无论是开发效率还是开发质量都有较大的影响。","字符串的元数据,每个元数据占用","字符串(cfstringrefs)","字符串,也不需要理解内部麻烦的逻辑。","字节","字节的","字节跳动全链路压测","字节顺序、架构类型、加载指令的数量等。","字节(决定于其中的结构体)","存储","存储。","存储到本地先.","存储协议列表。注意到这里有一个","存储在","存储在全局的一个统一的associationsmanag","存储对象方法,meta","存储属性列表、protocol","存储方法列表、properti","存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写入","存储的位置具体依赖第25行处的哈希函数,如图:","存储空间","存储类方法。","存储类的实例方法(","存储类的类方法(+),class","存储该对象信息,例如引用计数器,弱引用表等)","存入","存在,sidetable中储存着各种类对象,sidetable中包含了weaktable,rc引用计数器表,自选锁,当开发使用","存在page且未满,通过add()方法进行添加;","存在一个自旋锁","存在则会先转换数据格式,最终都调用","存在继承","存在重名覆盖的风险,需要通过开发规范以及一些检查机制来规避。同时","存在,但是线程缓存不存在。如果","存放在","存放属性的;","存放着若干个数据,其余的成员都是用来做哈希定位的,","它会打印出数组中","它会调用起","它具有以下特点","它决定了一些基础架构","它是一种文件格式","它是一种用于可执行文件、目标代码、动态库的文件格式。作为","它是苹果的动态链接器,是苹果操作系统一个重要组成部分","它的内存并不存储在堆中,也不需要","它负责给出当前","安装包,然后实际看看其安装包的内容。","安装或者系统升级的时候构建这个启动闭包。在","完全不同。","完全二叉树","完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1","完全兼容","完全兼容,但在一些极端用例下,从","完全支持了","完全消失第一帧","完全解析","完成的。这样一来既然我们已经得到了想要的效果,就不需要再另外给图片容器设置","完整性的校验","完整的优化和转化。附件:官方","完整的脚本","宏展开;处理预编译指令","官网浏览,或者从","定义","定义两个指针","定义了很多位信息,我们需要关注的几个:","定义结点代码:","定义都放在","定位到","定位到别处:","实例","实例。","实例中有两个属性与之一一对应,方便对两种加载图片的方式进行管理。","实例之后,后续相同的viewcontrol","实例化主程序","实例化主程序,即macho可执行文件。","实例化这个","实例变量","实例变量。","实例变量:","实例变量:是成员变量的一种,实例是针对类而言的,是指对类的声明;由此推理,实例变量是指由类声明的对象。","实例对象。","实例对象可以通过isa指针找到它的类对象,类对象存储实例方法列表等信息。类对象可以通过isa指针找到它的元类对象,从而可以访问类方法列表等相关信息","实例并返回。在","实例方法","实例方法合并到类对象中,类方法合并到元类对象中","实例方法调用时,通过对象的","实例的尺寸。但在预热好的","实例,_selector和_target只要有一个内存地址不同,就会在集合中体现为两个值。","实例,_selector和_target的内存地址都相同,在集合中的体现为一个值。","实例,保存在集合中。图片加载存在两种情况,一种是直接在缓存中获取,一种是通过网络在下载,都会返回一个","实例:","实在忙不过来的情况,而","实战之满地是坑","实战之满地是坑,这一篇是支付基础知识的讲解,主要会详细介绍","实战之见坑填坑,这一篇是高潮性的一篇,主要针对第一篇文章中分析出的","实战之订单绑定,这一篇是关键性的一篇,主要讲述作者探索将自己服务器生成的订单号绑定到","实现","实现willchangevalueforkey和didchangevalueforkey方法","实现了","实现了getter和setter方法。","实现关联对象技术的核心对象有","实现关联对象技术的核心对象有:","实现内存缓存。通过双向链表及字典实现","实现函数","实现协议方法","实现原理","实现原理?","实现回调","实现多继承。object","实现页面跳转,而且没有路由","实质上就是一个","实质上是装满了","实际上","实际开发中,你用","实际执行的二进制文件中,是通过地址来调用方法的。在","实际调用时,调用的是后添加的方法,即后添加的方法在方法列表methodlists的这个数组的顶部","实验证明:宿主类先调用,分类再调用","审核不让过。接不接","审核:gj,zsb,gbn,zjz","客户端发送一个","客户端和插件也降低了","客户端在发送完最后一个ack报文段后,再经过2msl,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,使下一个新的连接中不会出现这种旧的连接请求报文段。","客户端收到服务器的响应后会先验证证书的合法性(证书中包含的地址与正在访问的地址是否一致,证书是否过期)。","客户端根据自己的信任","容器中移除掉。源码如下:","容器的子","容器的子控件在渲染的过程中,","宿主类的方法?","寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取","寄存器来完成的。","寄存器设置成_dyld_start,接下来启动流程交给了","寄存器,pc","寄宿图:你可以给calayer.contents传递一个cgimage来进行渲染,也可以调用","对","对.","对.app","对__nsmallocblock__调用copy方法,就可以转变成__nsmallocblock__,它会被存储在堆区上","对acquire类型和对象的断言判断","对self进行同步锁,这个似乎太臃肿了","对一个具体实现所给定的msl值,处理的原则是:当tcp执行一个主动关闭,并发回最后一个ack,该连接必须在time_wait状态停留的时间为2倍的msl。这样可让tcp再次发送最后的ack以防这个ack丢失(另一端超时并重发最后的fin)。","对一个颜色进行赋值,再取出时类型却变成","对三方","对中心仓库的提交和改动,例如创建分支等操作对于所有的开发人员都是可见的;","对于","对于auto、static变量,为什么block选择用不同方式处理它们呢?","对于c语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。","对于一个较大的分布式开发团队,在实际生产中我们也难以保证所有成员都能同时通过骨干网等高速网络连接到同一个主仓库;","对于不想看我啰里八嗦讲一大堆原理的同学,可以直接跳到本文的最后一个章节。","对于主线程来说,runloop在程序一启动就默认创建好了","对于二叉树的遍历有一类典型题型。","对于使用自动布局的视图来说,这个方法与","对于可靠传输,判断丢包,误码靠的是tcp的段编号以及确认号。tcp为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ack);如果发送端实体在合理的往返时延(rtt)内未收到确认,那么对应的数据(假设丢失了)将会被重传。","对于图二,因为节点9的左孩子高度为2,而右孩子高度为0。他们之间的差值超过1了。","对于图片的圆角,统一采用","对于大部分功能也能而言,","对于子线程来说,runloop是懒加载的——只有当我们使用的时候才会创建,所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调","对于子线程来说,runloop是懒加载的,只有当我们使用的时候才会创建,","对于所有的阴影,使用","对于模糊效果,不采用系统提供的","对于特殊形状的","对于类似这种","对于给定的弱引用查询","对于视频的圆角,由于实时剪切非常消耗性能,我们会创建四个白色弧形的","对于远程接口调用的封装方式,我们没有完全照抄","对任务的管理是使用的一个栈结构,而","对其","对其进行缓存时,会强引用被缓存的对象,使它的引用计数变为","对图片进行了子线程强制解码并将解码后的","对外的表现就是一个","对常用的工具类进行打包(framework/.a)","对应id/build/intermediates/.build/debug","对应了什么呢","对应的imp时,会先找到分类重写的那个,调用执行。然后添加到缓存列表中,这样主类方法实现永远也不会调到。","对应的对象,访问对象内部的","对当前编译环境进行压栈","对每一个版本的提交都会生成一个","对每一种类型的block调用copy后的结果如下","对每个二进制做","对比","对比支付宝和","对称加密","对称加密方式","对称加密算法(私钥加密)","对程序进行","对编译环境进行出栈","对被修饰对象进行原子操作(不负责使用)","对观察者模式的又一实现;","对解密后的页,进行签名验证","对象","对象,","对象。","对象。在","对象与数据结构","对象后,appdeleg","对象回收","对象对外提供所有服务,同时隐藏内部复杂实现。调用方也只需要理解","对象已经在内存内。如果我们要使用","对象并令其为单例。在","对象指针);","对象方法、类方法、属性、协议信息","对象方法:前面提过,调用对象方法,相当于给对象发送消息,","对象的值是什么","对象的值是指针指向的内存区域中的值。","对象的创建、调整、销毁可以放在子线程中去做asdk;","对象的成员变量寻址","对象的指针以及其对应","对象类型","对象都服从这个协议。app","对象(receiver)接收到","对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。","对象)以处理生命周期和接受","对象)再到程序(uiapplic","对象,valu","对象,会轮询所有注册了的业务模块并进行必要的调用。","对象,在调用的","对象,并且其中对于","对象,并放入当前活动application的事件队列中去。接下来开始自uiapplication往下传递,首先会传递给主window,然后按照view的层级结构一层层往下传递,一直找到最合适的view(发生touch的那个view)来处理事件。查找最合适的view的过程是一个递归的过程,其中涉及到两个重要的方法","对象,所以","对象,所以其实没有额外的性能消耗。","对象,这里需要更改指针指向","对这个过程进行了优化,page","对这类的属性进行了替换,例如","对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用","寻址(虚拟地址)访问主存或硬盘。","寻找确定对应值","寻找路径","寻找链表中未使用的syncdata并作标记","导入头文件","导致","导致的","封装为","封装到里面。上层业务调用时网络层接口时,不需要","封装并提交到一个全局的容器去。asdk","将","将a[j]到a[i","将block赋值给__strong指针的时候","将launchscreen.storyboard文件复制到新建的空工程中,仍复现,此时猜测为系统缓存问题;","将oc文件用clang重写","将一个","将上述调度组代码进行改写","将主线程","将事件转发给springboard来处理。","将代码编译成c++源码","将会优先满足,而忽略掉contentsscale。","将全面取代","将其加载进内存空间中。","将分类的方法列表","将原序列分成有序区和无序区。a[0…i","将图片从assets中迁移至工程根目录下,出现空白启动图概率降低,但仍会偶现;","将图片文件映射到虚拟内存,并创建","将复杂参数放到字典中即可:","将引用表中记录为空","将数据存入缓存,并进入","将案例二中的dispatch_barrier_async改成dispatch_barrier_sync","将硬盘数据直接映射到虚拟内存中,应用可以直接访问虚拟内存中对应的地址来读取数据,避免了数据在内核空间和用户空间的相互拷贝,效率更高。在使用这些数据时,虚拟内存管理系统才会根据缺页加载的机制从磁盘加载对应的数据块到物理内存,在这之前不会消耗用户空间的内存。","将编译后系统库函数所指向的符号","将被弱引用对象所在的weak_table中的weak_entry_t哈希数组中取出对应的weak_entry_t","将要结束的时候才会调用","将要结束的时候调用","将解码后的图片缓存到内存缓存中,然后通过","将调度组中的任务未执行完毕的任务数目加减1","将静态变量的地址值拷贝给block内部的这个指针,block代码块执行的时候,通过内部存储的指针间接访问静态变量。","小技巧","小的放在左边序列,比","小结","尝试","尝试加锁","就category和extension的区别来看,我们可以推导出一个明显的事实,extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。","就不会卸载;或者如果","就会去找到","就会在回调中,把所有的中间状态合并提交到","就会强制把","就会执行该","就会触发回调,并调用","就会通过","就作用而言,+resolveinstancemethod:主要用于为类动态增加实例方法;","就做了这种尝试。将代码迁到了很多","就去做加载操作","就可以对数据进行校验,保证整个提交链条上的所有数据的稳定性和可靠性,也帮助我们抵御了来自攻击者的恶意篡改;","就可以影响到应用","就可以直接调用这些方法了。","就可能触发离屏渲染。","就将使用","就已经完成了","就已经确定。当镜像加载的时候,methodizeclass","就开始渲染,","就我经验而言,resolveinstancemethod:的使用场景一般用来动态添加","就指向这个符号","就放在","就是","就是一个","就是一个任务,而全局区的","就是一组.o","就是专门用来加载动态链接库的库。通过回顾","就是存储类的方法、属性、遵循的协议等信息的地方","就是实现了类似的插桩。","就是实现这个功能的。","就是将堆结构体的forwarding指针指向自身","就是将栈结构体的forwarding指针指向堆结构体","就是度为0的结点","就是我们传入的","就是把","就是把一组","就是把指针指向这个地址。","就是把系统库","就是把系统库(uikit","就是指","就是方法的实现。imp","就是服务化的经典框架之一。它是通过服务注册的方式来实现远程接口调用的。即每个模块提供自己对外服务的协议声明,然后将此声明注册到中间层。调用方能从中间层看到存在哪些服务接口,然后直接调用即可。例:","就是用来构造双向链表的指针。","就是触发一个系统调用,让线程休眠,等待事件到来,唤醒","就是说明cls大概率是有值的,告诉编译器编译时优化,下面就到了cl","就是调用函数的指令","就是调用这个事件的接受者","就是通过","就来到了","就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在","就相同,与这个方法属于哪个类没有关系。","就绪","就绪:向线程对象发送start消息,线程对象被加入可调度线程池等待cpu调度。","就被标记为待处理,并被提交到一个全局的容器去。向渲染服务器提交图层树。当这个","就调用了各个类的","就需要根据当前滚动位置渲染整个","尽可能将复杂操作放到进程以外:如果","尽可能的不要使用","尽最大努力交付","尽管离屏渲染开销很大,但是当我们无法避免它的时候,可以想办法把性能影响降到最低。优化思路也很简单:既然已经花了不少精力把图片裁出了圆角,如果我能把结果缓存下来,那么下一帧渲染就可以复用这个成果,不需要再重新画一遍了。","尽量使用自定义的并发队列:","局部变量会被block捕获","层只保留","层和","层因为没有明确的业务组来负责,所以也应该尽量轻薄。各业务模块之间互不可见,但可以直接依赖","层序遍历","层效果的使用,比如圆角,图层遮罩,阴影或者是图层光栅化都会强制core","层次遍历","层次遍历就是按照树的层次自上而下的遍历二叉树。针对图3.13所示二叉树的层次遍历结果为:","层次遍历的详细方法可以参考二叉树的按层遍历法。","层次,特别的,会首先限制","层的目标是相悖的。而且因为","层等等,以便于维护和扩展。但随着业务的发展,系统变得越来越复杂,只做分层就不够了。app","层级,认清这些事件,可以知道哪个阶段做哪些操作是合适的?","层设计。","屏幕上的图层,core","展开而来的多条规则:","属于","属性","属性。","属性中","属性介绍","属性保存了由设备渲染流水线渲染好的位图","属性映射来的,所以对","属性的值","属性)阴影的几何形状,那么阴影当然可以先被独立渲染出来,不需要依赖","属性,完成显示。","属性,用来表示在父","属性,默认声明是@properti","崩溃...","崩溃率下降","嵌套","嵌套autorelesepool很好解释,pop的时候总会释放到上次push的位置为止,多层的pool就是多个哨兵对象而已,就像剥洋葱一样,每次一层,互不影响。","工作年限","工程","工程中所有引用了共享缓存区中的系统库方法","工程中的","工程中,基本每次发版用的都是各个模块的最新版本。而且实际做了几次调查,发现","工程师必须都需要连接网络才能开发,在网络状况不好或者无网络的情况下无法进行提交;","工程的编译产物,包括一些动态链接库、foundat","工程里已经有","工程里注释。","左","左子树","左子树上所有结点值均小于根结点","左斜树","己保留了这些操作,以便它可以随时使用","已满","已经加载完毕了","已经处理过","已经无法向固定的布局中添加新的实例变量(这样做可能会覆盖子类的实例变量),所以我们需要使用关联对象以及两个方法来模拟构成属性的三个要素。","已经缓存的方法数量","已经被渲染完成而子","已经被渲染过后的","已经购买过该商品.","已经释放或者","布局","布局:","布局发生变化的方法,也提供了在","布局和事件处理)。做一些对性能特别挑剔的工作,比如对","布局计算","布局重新计算后调用的可重写的方法。","布局(frame)","布局(layout)","布局,显示,约束","布局,计算完成交由","希望本文能够对碰到此类问题的同学们有所帮助,也欢迎大家对本文指正不足。","带宽有限,它不会将小的数据块直接发送到目的主机,而是会在本地缓冲区中等待更多待发送的数据,这种批量发送数据的策略虽然会影响实时性和网络延迟,但是能够降低网络拥堵的可能性并减少额外开销。","带来一些其他的差异,例如","带来压力,这个时候就很容易掉帧(主要是文本控件,大量文本内容的计算和绘制过程都相当繁琐)。","带来的启示","帧缓存可以同时存在多个,但是屏幕显示像素受到保存在前帧缓存(front","帧缓存:接收渲染结果的缓冲区,为gpu指定存储渲染结果的区域","帮我们生成一个生成变量_properti","常用头文件放到预编译文件里","常见的几种源有基于端口的源、自定义的源、performselect源和计时器源;","常见的防御","常见离屏渲染场景分析","常规的优化方案中,预加载也是极常见的手段,多见于:预加载图片、配置文件、离线包等业务资源。查阅后知,","常量","平台;","平均情况下快速排序的时间复杂度是θ(𝑛log𝑛),最坏情况是n²,但通过随机算法可以避免最坏情况。由于递归调用,快排的空间复杂度是θ(log𝑛)。","平均访问延迟下降:由于是","平时很少会直接使用读写锁pthread_rwlock_t,更多的是采用其他方式,例如使用栅栏函数完成读写锁的需求","平衡","平衡二叉树","平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了,平衡树具有如下特点","平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:","平衡二叉树要么是一棵空树","平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。关于平衡树如何构建、插入、删除、左旋、右旋等操作这里不在说明,具体可以看我之前写的一篇文章:【漫画】以后在有面试官问你avl树,你就把这篇文章扔给他。","年","年以来,苹果也多次发布公告要求更换启动图配置方式:","年优化后的模块化方案,基本算是具有有赞特色的相对成熟的方案了,支撑了包括零售在内的多个大型","年年中我们做了几次检查,发现模块间","年开发出的版本控制系统(version","年的","年的实践,发现一味的追求性能,绝对的追求模块间编译隔离,过早的追求模块代码管理隔离等方式都偏离了模块化设计的真正目的,是得不偿失的。更合适的方式是在可控的改造代价下,一定程度考虑未来的优化方式,更多的考虑当前的实际场景,来设计适合自己的模块化方式。希望通过本文提供的具体案例和思考方式,大家都能找到适合自己应用的业务模块化之路。","年的尝试","年的思考","年的成熟","年的第一版模块化设计方案虽然可行,但还存在两个痛点:","年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出","年起开始实践业务模块化架构方式,大致经历了","年,有赞微信商城、有赞收银等","并","并不会也不可能会在我们自己的工程的","并不会执行任何操作","并不指向真正的","并不擅长做这些工作,不得不先由","并不是分别应用在每一层之上,而是只有到整个","并不是实时的,会有误差。如果一个","并不是必选项,还需要根据自身的业务来决定使用可以","并不清楚具体的响应链,所以不能直接处理触摸事件或者手势。但是它提供了","并不能保证线程安全,当我们使用一个可能变成","并不认为这属于离屏渲染。","并且原数组","并且实现/遵从了","并且当前","并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。","并且通过","并且,dyld","并发&异步线程0","并发&异步线程1","并发队列","并发队列:队列中的任务并发执行","并发队列和全局队列的区别:","并发队列有名称,可以跟踪错误.全局队列没有.","并发队列:线程可以同时一起执行,不需要等待上一个执行完就能执行下一个任务","并在","并在使用","并将","并将返回的","并打开","并未消除","并没有发生当前视图立即绘制工作,打上需要重绘的脏标记,最后是在某个时机完成","并添加到","并行","并行一定并发,并发不一定并行。在单核设备上,cpu通过频繁的切换上下文来运行不同的线程,速度足够快以至于我们看起来它是‘并行’处理的,然而我们只能说这种情况是并发而非并行。例如:你和两个人一起百米赛跑,你一直在不停的切换跑道,而其他两人就在自己的跑道上,最终,你们三人同时到达了终点。我们把跑道看做任务,那么,其他两人就是并行执行任务的,而你只能的说是并发执行任务。","并行队列同步执行,不开辟线程,在当前线程中顺序执行","并行队列异步执行,开辟多个新的线程,并且线程会重用,无序执行","并返回.","并非一定是可执行文件","幸好通过多次尝试,最终解决掉。","幸运的是,uiview和uiimageview默认处理了它们内部calayer的contentsscale,所以除非是直接使用calayer及其衍生类,都不用显式的配置contentsscale。","广义:点击图标到首页数据加载完毕","广播相结合的方式。","序号的","库代码很清晰,就几个文件:","库文件","库时,动态链接非常慢。","库是否存在的代码,实际上那就是作者提取的队列管理封装,思想和以下代码一样。","库进行高效支持。","应属于","应用一般以","应用加密信息","应用变换(transform)","应用场景:gcdtimer","应用场景:同步当锁,","应用场景:同步锁","应用场景:多个接口请求之后刷新页面","应用场景:用来拉取网络数据后提前算出各个控件的大小,防止绘制时计算,提高表单滑动流畅性","应用层协议没有使用基于长度或者基于终结符的消息边界,导致多个消息的粘连;","应用层协议的没有定义消息的边界导致数据的接收方无法拼接数据;","应用时,也抱有相同的意图","应用程序一般都运行在用户态上","应用程序会先调用第一响应者处理事件。","应用程序接收到springboard传来的消息,会唤醒main","应用程序接收到事件后,将事件交给keywindow并转发给根视图,根视图按照视图层级逐级遍历子视图,并且遍历的过程中不断判断视图范围,并最终找到第一响应者。","应用程序通过响应者来接收和处理事件,响应者可以是继承自uiresponder的任何子类,例如uiview、uiviewcontroller、uiapplication等。当事件来到时,系统会将事件传递给合适的响应者,并且将其成为第一响应者。","应用签名","应用签名原理及重签名","应答确认","应该与","应该去获取沙盒中的收据信息(一段","应该属于成员变量还是实例变量呢?","底层","底层代码","底层原理","底层特性的同时,也可以使用","底层转化为如上代码","延时执行","延迟1s的任务2——{number","延迟2s的任务1——{number","建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由tcp的半关闭(half","建议读一读","开关,你会发现这片区域不会被标记为黄色,说明","开单模块内叫","开发中常用的几个:","开发中,编译打包必备的两个命令是:","开发了与","开发方式失败的时候,大部分可需要持续迭代的","开发时,已经到了","开发目前的常用语言是:object","开发),关注仓库,及时获取更新","开启","开启下载","开启了指针优化(nonpoint","开启后,在编译,我们可以在对应的","开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512kb,创建线程大约需要90毫秒的创建时间)","开头的,就是","开始","开始——{number","开始之前,我们需要了解这样几个术语:","开始删除重复元素。","开始加载这个可执行文件","开始启动后,系统首先加载可执行文件,然后加载动态链接库。动态链接库的加载速度直接影响着","开始寻找。","开始所有的应用程序均提供了","开始的地方","开始缓存查询。","开始计)。","开始,app","开始,像","开始,如果没有显式指定,group","开始,沿着响应链从上向下进行传递。","开始,物理内存的","开放使用","开源库,以及美团都是采用类似方案。","开辟独立于","异步:可以在新的线程中执行任务,具备开启新线程的能力","异步串行","异步发起截图请求,接着由","异步并发","异步执行","异步执行(async)和同步执行(sync):使用dispatch_async调用一个block,这个block会被放到指定的queue_1队列尾等待执行,至于这个block是被并行还是串行执行,只和dispatch_async中的指定的queue_1有关,但是dispatch_async会马上返回。使用dispatch_sync同样也是把block放到指定的queue_2上执行,但是会等待这个block执行完毕后才返回,这期间会阻塞当前运行调用dispatch_async或dispatch_sync代码的queue(通常为main_queue)直到sync函数返回。","异步执行:","异步是多线程的代名词","异步栅栏函数","异步绘制","异步绘制原理解析","异步绘制完事之后,回到主线程,把绘制的","异步绘制流程","异步:打电话给查号台,问某个地方的电话号码,接线员知道了你的请求后,会立刻挂断电话,此时其他的电话可以打进来。然后开始为你查号。等到查找到了你要找的电话号,会再打电话通知你。","弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。","引入tag","引入的,它完全取代了预绑定。这是一个包含了大部分系统动态库的文件,正是由于这些都被合入到了一个文件,我们可以做一些优化。比如重新组织","引入,一直持续到","引子","引用","引用了外部的这个static变量height。","引用全局","引用类地址","引用自","引用计数","引用计数和弱引用依赖表","引用计数器","引用计数存在什么地方?","引用计数的","引用计数的存储策略","引用计数的获取","引用计数那张散列表的weak引用对象的引用计数中标识为weak引用","引申:","引言","弱引用位初始化操作","弱引用的实现方式","弱引用表,referent_id","强制解码并返回解码后的图片。","强制转换为","当","当__block修饰外界变量时","当back","当block为__nsmallocblock__类型时候,是在堆空间,block是内部的_block_object_assign函数会根据strong或者","当block为__nsstackblock__类型时候,是在栈空间,无论对外面使用的是strong","当block从栈copy到堆时,","当block内部访问了对象类型的auto变量时","当uiimage被赋值给uiimage时(例如imageview.imag","当uiview被绘制时(从","当ui需要更新的时候,比如改变了frame、更新了uiview/calayer的层次时,或者手动调用了setneedslayout/setneedsdisplay方法后,这个uiview/calayer就被标记为待处理,并被提交到一个全局的容器去。","当一个","当一个硬件事件(触摸/锁屏/摇晃等)发生后,首先由","当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果","当一端为建立连接而发送它的syn时,它为连接选择一个初始序号。isn随时间而变化,因此每个连接都将具有不同的isn。isn可以看作是一个32比特的计数器,每4ms加1","当下载失败之后,如果实现了这个代理,则将失败的","当事件到来时,会通过hittest和pointinside两个方法,从window开始向上面的视图查找,找到第一响应者的视图。找到第一响应者后,系统会判断其是继承自uicontrol还是uiresponder,如果是继承自uicontrol,则直接通过uiapplication直接向其派发消息,并且不再向响应者链派发消息。","当事件发生了,必须知道有谁来响应。在ios中,由响应者链来对事件进行响应。","当你在","当你开辟的线程过多,超过了处理器核心数量,实际上某些并行的线程之间就可能竞争同一个处理器的资源,频繁的切换上下文也会消耗处理器资源。","当你现在再去查阅官方文档时,你会发现苹果官方已经使用metal去替代opengl","当你的主线程操作卡顿超过16.67ms以后,你的应用就会出现掉帧,丢帧的情况。也就是卡顿。","当你给对象发送消息时,消息是在寻找这个对象的类的方法列表;","当你给类发消息时,消息是在寻找这个类的元类的方法列表。","当内存中未命中缓存,则在一个串行队列","当到达叶子结点h,返回到d,此时已经是第二次到达d,故不在输出d,进而向d右子树访问,d右子树不为空,则访问至i,第一次到达i,则输出i;","当前","当前0","当前1","当前2","当前3","当前4","当前5","当前6","当前7","当前8","当前9","当前page已满执行autoreleasefullpage方法;","当前runloop休眠前更新","当前不存在pageautoreleasenopage方法。","当前不存在page执行autoreleasenopage方法。","当前仓库的所有开发者都需要有直接向主仓库提交代码的权限,否则他们就无法进行开发;","当前前台运行中应用接收到uievent以后,当用户对屏幕进行了操作,系统先循环调用hit","当前存在page执行autoreleasefullpage方法;","当前提交的消息;","当前提交的源代码树;","当前类或者父类含有默认的","当前类方法查找","当前类的实例需要","当协议内容改变时,会存在所有服务依赖模块编译失败的风险。同时需要一个注册过程,将","当响应者链和手势同时出现时,也就是既实现了touches方法又添加了手势,会发现touches方法有时会失效,这是因为手势的执行优先级是高于响应者链的。","当图层被成功打包,发送到渲染服务器之后,cpu仍然要做如下工作:为了显示","当在操作","当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union),利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。","当存在一个新的指定初始化器的时候,推荐在方法名后面加上ns_designated_initializer,主动告诉编译器有一个新的指定初始化器,这样就可以使用","当存在缓存时,根据是否支持","当它被添加到当前活动的","当实例方法被调用时,它要通过自己持有的","当客户端发起请求时,服务器将该数字证书发送给客户端,客户端通过ca机构提供的公钥对加密密文进行解密获得散列值(数字签名),同时将证书内容使用相同的散列算法进行hash得到另一个散列值,比对两个散列值,如果两者相等则说明证书没问题。","当对希望通过修改","当应用层协议使用","当引用计数减为0时,调用dealloc函数。","当我们使用sdwebimage加载图片时需要调用如下方法:","当我们使用对象的成员变量时,如","当我们使用时,通过","当我们使用集中式的开发模型时,无论是提交代码还是创建新的实验分支,这些操作其实都会改变所有人共享的代码库,这也就意味着如果某个开发者创建了很多的实验分支,所有开发者的代码库也都会变大;","当我们在测试项目中,键入如下代码:","当我们在调用","当我们想探究某个方法的底层是怎么实现的,我们可以通过汇编部分来探究这部分代码的具体实现。","当我们拿到","当我们操作ui时,例如改变frame、更新uiview/calayer,或者自己去调用setneedslayout/setneedsdisplay方法,uiview会调用","当我们点击屏幕时候的事件传递","当我们点开一个应用","当我们要在屏幕上显示内容,","当我们调用uiview的setneedsdisplay的方法时候,会调用layer的同名方法,相当于在当前layer打上绘制标记,在当前runloop将要结束的时候,才会调用calayer的display方法进入到真正的绘制当中。","当我们谈论最好的版本控制系统时,我们需要为","当我们需要访问一个内存地址时,如果虚拟内存地址对应的物理内存还未分配,cpu","当我接触","当执行","当指尖触碰屏幕的那一刻,一个触摸事件就在系统中生成了。经过ipc进程间通信,事件最终被传递到了合适的应用。在应用内历经峰回路转的奇幻之旅后,最终被释放。大致经过如下图:","当提交的任务数超过maxmumpoolsize与workqueue之和时,","当数组","当无法","当时最纠结的点就是复杂对象的传输。例如商品模型,它包含几十个字段。如果是传字典或传","当显示一个uiimageview时,cor","当某个","当某个特定进程,在存储器中所能够使用与控制的地址空间在运行时随机进行分配","当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter","当没有没有缓存时,我们需要创建对应的缓存。","当满足这两个条件时","当然","当然yyimage不止做了这些,还有解码器编码器,支持webp等多种格式,并且还写了自定义的操作队列,对网络加载图片进行了优化。在此不赘述。","当然更加放心。","当然有些场景会比这个复杂,比如有些页面需要更多参数。","当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。","当然这么说并不严谨,因为我们需要考虑是否是tag","当然,一个新的类也可以不增加新的初始化方法,在","当然,不仅__block修饰的变量会这样,前文的对象类型变量同样会在copy函数内部被转化成类似的结构体进行处理。","当然,首选优化方案是","当用户对屏幕进行了操作,产生了一个用户事件。","当用户操作屏幕,iokit收到屏幕操作,会将这次操作封装为iohidevent对象。通过mach","当网络出现拥塞的时候,tcp能够减小向网络注入数据的速率和数量,缓解拥塞","当视图层次调整时,uiview、calay","当视图需要更新的时候,与","当设置某些ui图层属性时候,如果指定为被未预合成之前,不能直接显示在屏幕上的时候,就触发了离屏渲染。","当调用了","当验证交易成功以后我们去取","影响","影响。","很像,他们同为“事务”,但实际上很不一样。通过","很多人可能认为自己并没有离线工作的需求,但是这实际上在我们的日常工作中也比较常见,百兆带宽虽然已经能够满足日常开发的需求,不过在复杂的网络环境下,很多时候我们还是会遇到无法联网或者网络极差的场景,例如在飞机和火车上;","很多公司和决策者因为不了解工程和版本控制系统,可能非常容易地就低估了集中式仓库带来的『效率降低』程度。","很多关于","很明显,在提交重绘请求时,计数器加一。","很简单,方法接收者","得让位给","循环即将进入休眠或者即将退出的时候。而该","循环等待访问,不释放当前资源(while循环)","循环调用且有线程影响时,请注意死锁,如果有死锁问题请使用@synchron","循环调用时用nsrecursivelock","循环,nsobject","循环,sark","循环,在图中橙色部分的","循环,这里是使用类似两个指针,分别从序列的左右两个端点开始往中间进行遍历,主要进行的第二步比较和赋值的操作。","微信群里听了蘑菇街的组件化方案分享,非常受启发。不过当时还是有一些顾虑,比如微信商城和收银当时都属于中小型项目,每端开发人员都只有","微软的暗黑模式适配框架","必须先渲染将要被","必须在初始化完成后才能调用实例方法","必须实现此初始化器,但由于是可失败的初始化器,所以里面可以不做具体实现","必须把图片数据通过ipc传到渲染服务器。在此基础上,cor","必须是","必须是先设置","必须是显示的","必须等待当前语句执行完毕,才会执行下一条语句","必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)","必须要调用自己的指定初始化器","忙等待,直到锁被释放(区别于互斥锁的休眠等待)。","快速、慢速流程都没找到缓存就会来到这步——在系统保存的哈希表进行链式查找","快速排序","快速排序的算法思想是分而治之,将一个大的待排序列,分成两个子序列,然后采用递归的方式,依次将子序列也分成更小的子序列,依次进行,最后得到排序好的序列。算法的实现主要分成三步","快速排序(英语:quicksort),又称划分交换排序(partit","快速查找流程——通过汇编objc_msgsend查找缓存cache_t是否有imp实现","快速滑动时,会有大量异步绘制任务提交到后台线程去执行。但是有时滑动速度过快时,绘制任务还没有完成就可能已经被取消了。如果这时仍然继续绘制,就会造成大量的","快速缓存的含义为:定义两个变量sync_data_direct_key/sync_count_direct_key,与tsl_get_direct/tls_set_direct配合可以从线程局部缓存中快速取得synccacheitem.data和`synccacheitem.lockcount","快速转发流程——通过corefoundation来触发消息转发流程,forwardingtargetforselector实现快速转发,由其他对象来实现处理方法","忽略","忽略掉一堆","怎么利用gcd实现多读单写?","思考","性能","性能优化实践:头条抖音如何实现","性能对于一个版本控制系统也至关重要,但是更重要的其实是选取合适的指标对性能进行度量,linu","性能差的","性能提升如何?","性能是极其重要一环。我们对弹窗的体验做了少许优化。","性能瓶颈","性能的提升能够鼓励我们做出成本更低的操作;","性能过关,将会直接影响到用户日常的操作体验。渲染技术作为客户端工程师的关键技术能力之一,值得持续研究。","性能问题中,","总共会占据","总结","总结:","总结一下","总结一下上述的适配方案,对于第三方程序员来说,我们在编码时应该做到以下几点:","总结一下:","总结来说:","总结:","总结:预加载利用了并行这一传统性能优化技术,同时对","您永远不应依靠isa指针来确定类成员身份。相反,您应该使用class方法来确定对象实例的类","想要了解一下nslock的底层原理,但发现其是在未开源的foundation源码下面的,但但是swift对foundation却开源了,可以在swift","想要执行什么任务,不需要编写任何线程管理代码","慎用","慢速查找流程——通过c++中lookupimporforward递归查找当前类和父类的rw中methodlist的方法","慢速转发流程——先调用methodsignatureforselector获取到方法的签名,生成对应的invocation;再通过forwardinvocation来进行处理","懒加载符号表","懒加载绑定","成功的,会先将","成员为最低有效位,当其为0的时候,","成员变量:通常是指向对象或是基础类型(int,","成员存储的元素类型,并且其中提供了一个针对于地址的","成员将扩展为多行静态","成员,从字面意思上看,即为弱引用表入口。其实现也是这样的。","成员,用来存储","成员,这个","成圆形,再把结果画到","成熟","成长指北\");","我们以","我们会看到","我们俗称的应用加壳","我们做几个实验来验证消息转发。","我们先不去想那么多,先把支付逻辑跑通再说。下面我们看看","我们先放一放这些问题,下一篇就一起来着手解决这些问题,现在我们先来看一看","我们先来看一个小测试,同一个颜色(实际类型为","我们先查看一下执行[super","我们先看看维基百科的解释:","我们创建一个空工程,设备方向默认不更改,配置好启动图:","我们发现有三处变化","我们可以查找上述两个方法,最终在","我们可以看到,在","我们可通过以下方式来获取runloop对象:","我们在","我们在上一节中已经介绍了版本控制系统必须满足的三个特性:分布式、高性能以及可靠性,在这里我们就会分别从这三个方面介绍","我们在每次编译过后,都会生成一个","我们对于版本控制系统的的要求是什么,又应该如何定义一个更好的版本控制系统呢?linu","我们就看到了","我们常用的","我们建议所有进入业务领域划分稳定期(业务模块基本确定,不会发生较大变动)的团队采用业务模块化架构设计。即使模块划分还没完全明确,也可以考虑对部分明确了模块进行模块化改造。因为迟早要用,晚用不如早用。目前基于路由","我们所熟知的","我们打开源码看一下,","我们接着看loadimagewithurl:方法内部实现:","我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程","我们最终加锁解锁的是","我们有两种方法来查看汇编部分","我们有增加了一个static变量height,并且在同样的地方修改height的值,便于和之前的age进行对比。首先运行代码看一下结果","我们来到测试工程里下一个符号断点","我们来看","我们来看看","我们来稍微看一下","我们用一张图表示整个消息发送的过程:","我们的应用打包出来的","我们看到的就是","我们看看","我们知道","我们知道method_array_t、property_array_t、protocol_array_t中以method_array_t为例,method_array_t中最终存储的是method_t,method_t是对方法、函数的封装,每一个方法对象就是一个method_t。通过源码看一下method_t的结构体","我们知道,图中的block位于test方法里面,实际上任何的oc方法,转换成底层的c函数,里面都有两个默认","我们知道,在类和category中都可以有+load方法,那么有两个问题:","我们触摸屏幕,先摸到硬件(屏幕),屏幕表面的事件会被iokit先包装成event,通过mach_port传给正在活跃的app","我们调用","我们跟进去调用流程","我们还是需要简单总结一下正文中提出的一些观点:","我们选择了路由","我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。","我们非越狱环境重签名都是需要砸过壳的应用才能调试","我们项目里使用的是ktvhttpcache来实现视频缓存,ktvhttpcache的实现方式就是第二种,项目地址:(https://github.com/changbadevs/ktvhttpcache)。","我们首先看一下系统绘制,当[calay","我参考了yyasynclayer,他其中的原理大致是这样的:","我在之前的一篇文章里,详细的介绍了","我查看了较为流行的第三方库源码,例如yyimage、sdwebimage、fastimagecache,其中加载一个图片的流程大致为:","我的订单界面,当用户某个订单有商家已发货未收货时,根据行为统计,用户大概率会打开第一条已发货的订单去查看当前物流(物流数据来自第三方,响应速度没有保证),所以在进入我的订单时,可以预先加载一个查看最新未完成订单的物流的","或","或多或少,你都会在第三方库或者","或是","或者","或者imagewithcontentsoffil","或者一直对","或者其子类需要创建一个等大的寄宿图contents。当基于","或者重新组合的","或者静态库,这样编译的时候这部分代码就不需要重新编译了。","所产生的","所以","所以autoreleasepool的运行过程应该是:","所以push的流程是:","所以一个空的autoreleasepoolpage的结构如下:","所以任何情况下调用","所以作为函数默认参数的self的实际上也是该函数的局部变量,根据我们上面总结的原则,只要是局部变量,block都会对其进行捕获,这就解释通了。","所以在","所以在业务场景切换时,","所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调。","所以我们可以认为","所以我们能理解为什么下面这段代码执行的结果都是aobject了吧。虽然使用[sup","所以接下来我们做了一些尝试来验证是否能够修复我们所遇到的问题:","所以系统就不得不去","所以该函数实际的操作是:从objc_super结构体指向的super_class开始查找,直到会找到","所以调用初始化如下","所以这个警告必须解决。","所以这个过程就没办法实现了","所以这时候,[mnteacher","所以这里预先设置将来真正展示时的尺寸,减少","所以,二分查找排序比较次数为:x=log2n","所以,实际上一个","所以,我们也可以说,红黑树是一种不大严格的平衡树。也可以说是一个折中发方案。","所以,最后的答案是,平衡树是为了解决二叉查找树退化为链表的情况,而红黑树是为了解决平衡树在插入、删除等操作需要频繁调整的情况。","所以,笔者认为:超过处理器核心数量的线程没有处理速度上的优势,只是在业务上便于管理,并且能最大化的利用处理器资源。","所以,若果你的加密","所以:","所做的优化,以及适配","所属的","所持有,就将“外部变量”在栈中的内存地址放到了堆中。进而在block内部也可以修改外部变量的值。","所指对象在释放之后会自动设置为nil","所有业务代码挪入各业务模块的","所有对象的关联内容都在同一个全局容器中。","所有控件设置图片的方法,最终都会来到","所有模块间调用均通过中介者来做(图二)。这时架构逻辑会清晰很多,但因为中介者仍然需要反向依赖业务模块,这并没有从根本上解除循坏依赖等问题。时不时发生一个模块进行改动,多个模块受影响编译不过的情况。进一步的,通过技术手段,消除中介者对业务模块依赖,即形成了业务模块化架构设计(图三)。","所有的","所有的元类都使用根元类(继承体系中处于顶端的类的元类)作为他们的类。这就意味着所有nsobject的子类(大多数类)的元类都会以nsobject的元类作为他们的类","所有的其他规则都根据这两条规则而展开,只是","所有类地址","所有继承自","所示,一个对象(instanc","所组成的形状上,那就只能等全部子","所要完成的最少的任务呢?我们能有更激进的安全性检查么?我们能让","所谓","所谓预处理,就是在编译之前的处理。预处理能够让你定义编译器变量,实现条件编译。","所起到的作用就是只要观察到该变量被","所需要的framework","手动@autoreleasepool","手动autoreleasepool,如下文参考2例子,可以得知这个for循环中,每一次循环会清理掉一次内存,因为完全执行完","手动触发:","手动调用","手指触碰屏幕,屏幕感应到触碰后,将事件交由iokit处理。","才会直接访问","才会触发。如果一个","才获得锁。","才行。","打包layers并发送到渲染server;","打包成","打印当前类的","打印结果","打散耗时的启动预热任务","执行","执行\\队列","执行tabl","执行。如果","执行一次","执行之后,才放到了","执行了","执行完draw","执行完之后调用","执行完毕之后,dyld","执行程序的","执行结果","执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制","执行进组任务","扩容了","扩展标记位能表示的个数","找","找几个用于比较的对手,只有通过对手我们才能更清晰的理解","找到","找到一个时机,在启动结束去执行一些预热任务","找到主程序的入口","找到其","找到基准点:","找到如下代码","找到如下信息:","找到引用计数存储区域,然后+1/","找到弱引用对象的对应的weak_entry哈希数组中插入","找到当前","找到相应的方法入口(method_imp),从而执行方法的代码块。","找到真正","找到空闲的物理内存页面","承载了两种模式下的不同颜色和不同图片。","技术","技术文章","技术文章收集","技术方案","技术,可提供基于端口的通信的高级实现。尽管可以将这种技术用于线程间通信,但是强烈建议不要这样做,因为它会产生大量开销。分布式对象更适合与其他进程进行通信,尽管在这些进程之间进行事务的开销也很高","把","把framework的私有方法公开","把交易信息传给支付宝的服务器。","把没有加载的动态库","把编译信息写入指定的辅助文件","抖音","抖音品质建设","抛弃","抛弃依赖","报文中放入大量的数据。因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发","报文之后才会进入","报文之后,也处于","报文之后,会以自己的","报文之后,会发送一个","报文之后,就处于关闭连接了,处于","报文作为应答,且把服务端的序列号值","报文作为应答,并且也是指定了自己的初始化序列号","报文头就传递给应用层,不会任何拼接操作","报文的序列号值,此时客户端处于","报文的序列号值,表明已经收到客户端的报文了,此时服务端处于","报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。","报文,且把客户端的序列号值","报文,且指定一个序列号。此时服务端处于","报文,并指明客户端的初始化序列号","报文,当然,也是一样把服务器的","报文,报文中会指定一个序列号。此时客户端处于","报文,此时客户端处于","拖动就可以自己调整顺序了","拥塞控制","拥有一个弱引用,方便","拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证","拦截并进行修改。","拷贝","拷贝方式","拷贝类型","拷贝资源文件到目标包","拿到交易信息,开始调起支付宝的","拿到交易信息,然后开始调起","拿到查询结果,然后把这笔交易给","挂起","指令条数等信息.","指令来到入口","指向","指向了下一个为空的内存地址,如果","指向函数的指针(函数地址)","指向外部__block_byref_a_0的地址,","指向实际的内存地址。","指向对应的元类,这样就达到了使类方法和实例方法的调用机制相同的目的:","指向当前类的父类","指向父类,cach","指向的只读区域","指向的地址加入一个","指向的是","指向的是一个","指定了编译的语言","指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。在","指的是分类,基于此,categori","指示对象是否含有关联对象","指针","指针,对象释放时,弱引用表置空","指针。","指针。其中,method_nam","指针。实际上当我们调用","指针。由于","指针。那我们只需要知道在题干中的代码里面最终是谁在调用","指针二维数组。一维","指针到其所属的类(meta","指针加上","指针只存于第","指针可构成一张弱引用散列表,通过第三纬度实现了多张散列表,并且表数量为","指针和自己比较,是否相等。","指针和自己比较,若不等则继续取","指针外,objc_class","指针存在于","指针定义了一个方法的入口,指向了实现方法的代码块的内存地址。","指针开启指针优化,0:纯isa指针,1:不⽌是类对象地址,isa","指针所指的","指针找到对应的","指针指向","指针指向同一个","指针指向它所属的类","指针指向所属的类。","指针指向本身。","指针指向的也是其所属的类。子","指针指向自身。当然,由于苹果进行了封装,在开发中基本不可能直接去使用","指针的","指针的作用与元类","指针的对应绑定。根据函数名,称之为解除注册操作。从源码中,可以知道其功能就是从","指针的时候,获取到的依旧是","指针的绑定。而其中的遍历查询,就是针对于","指针进行初始化","指针进行标记","指针逐级遍历每一个父类","指针,指向其所属的类,即","指针,指向当前对象所属的类。","指针:","指针:meta","按序执行,不开辟线程","按序执行,开辟线程","按照同样的分析方法,对a的左右子树进行划分,最后得出二叉树的形态如图3.15所示:","按照同样的访问规则,继续输出c、f、g;","按照同样规则继续访问,输出j、e、a、f、c、g;","按照同样规则继续访问,输出j、e、b、f、g、c,a;","按照同样规则,输出d,输出h;","按照编译先后顺序调用(先编译,先调用)","按顺序添加","挥手为什么需要四次?","捋一捋category加载流程及+load","捕获基础类型","捕获外部变量","捕获外部变量和","捕获,并通过","换成","掉","掉。","掌管的","排列到一起,那么只需要一次","排列序列,将比基准点小的放在左边的子序列,将比基准点大的放在右边的子序列;","排布到一起,那么只需要一个","排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(d)","掘金","探寻block的本质(6)——","探寻object","探寻runtime本质(二)","探索","接下来会进行","接下来就通过源码探索来看一下@synchronized在使用中的注意事项","接下来我们看一下第三题:在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","接下来我们看一下这个方法的内部实现:","接下来看看这种情况","接下来,就是判断我们传入的url是否合法,以及设置uiimageview的加载指示器,还有加载进度block,此处不做详细说明了。我们着重看加载图片的方法:","接下来,我们利用","接受系统事件的内部","接口来执行的。通常对于每一层","接口起源于","接收。这个过程的详细情况可以参考这里。springboard","接收事件深度剖析","接收传过来的时钟信号通知,随后","接收到消息之后,若是实例方法,则会从其所属的类","接收到消息后,通过其","接收并处理全局事件。","接收提交的纹理(texture)和顶点描述(三角形)","接收的事件来源","接着我们又做了多次测试,得出了以下结论:","接着我们又测试往缓存目录写入文件,发现也无写入权限:","接着我们想到当启动图出现问题时,系统是否会有一些辅助信息输出呢?果然通过","接着我们点击应用图标启动应用,再次观察控制台应用中输出:","接着我们看一下autoreleasepoolpage的构造函数以及一些操作方法:","接着看一下当对象调用autorelase方法发生了什么。","接着看上面这个方法的内部实现:","控制gcd最大并发数","控制台应用,虽然没有找到明显的异常信息输出,但是我们从中发现了关于启动图生成的关键信息(以下测试基于ios13系统,不同系统上表现存在差异)。","控制器未处理则会交给uiwindow。","控制并发线程数量","控制能否支持下载任务。","推荐两篇文章:","推荐加上ns_designated_initi","推荐文章:","推荐资料","推荐阅读:《ios和macos性能优化》对于图像i/o方面,书中最后有详细解释。","推销","提交。","提交一个命令到","提交到一个中间状态去(catransact","提交流程","提交队列","提交(commit)","提供了","提供了一套拥有将地址作为","提供了单播,多播,广播的功能。","提供了更强的扩展性。","提供拥塞控制","提供消息传递过程当中的缓存方法查找","提供的一种事务机制,把一组","提升了性能,因此预绑定被完全废弃了,取而代之的是","提的","提示:","提高项目编译速度","插入动态缓存库。","插入的脚本。","插入编译期脚本","插入脚本","插桩来实现。llvm","揭秘","搜索","搜索发现","摒弃了系统dns,减少外界干扰,摆脱dns劫持困扰。","摸索","摸索,2017","擅长并行计算,但也有捉襟见肘之时,此时","操作","操作,而全局队列只有一个不需要.","操作。","操作。等到完成以后再次清空,再回到向","操作。这样改造的代价是形成了更多的依赖。本来一个业务模块是可以不依赖","操作方式类似于数据结构中的栈。","操作系统上,但这是得益于人们在后来适配了专门的扩展程序;而","操作系统不会让应用直接向前帧缓存或者","操作,在某个线程中会出现","操作,如果之前有操作存在,则会取消之前的操作,保证当前实例执行的是最新的","支付","支付代码","支付宝的支付流程讲完了,那微信支付也讲完了,因为它们流程相似。","支付的基本代码。","支持","支持一对一,一对多,多对一和多对多交互通信","支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案","支持预热多个","收到一个fin只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入time_wait是正常的,服务端通常执行被动关闭,不会进入time_wait状态。","收尾⼯作:结构体的总⼤⼩,也就是sizeof的结果,必须是其内部最⼤成员的整数倍,不⾜的要补⻬。","收尾:lgstruct1需要的内存大小为18字节,而lgstruct1中最⼤成员变量字节数是8字节,内存大小18字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为24字节","收尾:lgstruct2需要的内存大小为16字节,lgstruct2中最⼤成员变量字节数是8字节,内存大小16字节刚好是内部最⼤成员的整数倍,所以最终大小为16字节","收尾:lgstruct3需要的内存大小为34字节,lgstruct3中最⼤成员变量字节数是8字节,内存大小34字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为40字节","收益还是可观的。","改为","改变其中的某个部分——因为在这一层之前的若干层","攻击。","攻击是一种典型的","攻击的方法有如下几种:","攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源ip地址是随机的,基本上可以断定这是一次syn攻击。在","放⾃旋锁","放入其中。common","放在声明分号","效果图:","教程。","散列表","散列表是有空槽的,会浪费空间","散列表是没有顺序的,object","散列表的长度","散列表(hash","数值","数字签名:当我们去银行办理业务时,会在业务单上签下自己的名字,这个叫签名。而在网络通信中,签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确","数字证书","数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?","数字证书是由权威的ca(certif","数据传输前需要建立连接","数据传输结束后断开连接","数据加密","数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该成员有⼦成员,⽐如说是数组,结构体等)的整数倍开始(⽐如int为4字节,则要从4的整数倍地址开始存储。","数据段","数据段中","数据量较大(形式上一般为解码后的","数据,接收方可以根据接收到的数据是否能够被解析成合法的","数组","数组中,成为一个二维数组)","数量的是","整个场景或者某个场景的一部分。","整体如下图片所示:","文件","文件,","文件.","文件。","文件。dsym","文件。如果使用","文件中","文件中声明:","文件中有个名为","文件中有关编译的基本信息来源。","文件中的","文件中的对于其他库的引用的地方进行引用,生成最后的可执行文件。也包括多个","文件中,存储了","文件中,我们可以看出","文件之后","文件会选择","文件到自身的地址空间","文件和对其签名","文件并对其签名","文件并寻找依赖是安全性敏感的,因为恶意篡改的","文件数据从磁盘读入内存。","文件是预编译文件,这里的内容在执行","文件来分析崩溃位置,可以查看我之前的一篇博客。","文件来降低编译速度。","文件格式探索","文件格式的缩写,是","文件模式开发","文件的","文件类型","文件结构","文件绘制","文件编号","文件编译后的结果。","文件被","文件转化为机器码文件,产生","文件转化为汇编语言,产生","文件进行","文件配置无误,但启动图出现异常可能是无法避免的,所以我们的想法是既然无法从根源上避免启动图异常问题,那么我们是否能够提供补救措施,让其自动恢复正常,下次冷启就显示我们期望的启动图,这样不至于一旦出现异常后后续冷启都异常,对于用户来说也可接受。","文件里。","文件里了。","文件里存储了调试信息,在","文件里就可以找到有哪些文件里包含","文件)。将项目的文件结构对应表、将要执行的脚本、项目依赖库的文件结构对应表写成文件。","文件,使用","文件,我们就可以由地址映射到具体的函数位置。","文件,找到其依赖的库,并且递归的找到所有依赖的库,形成一张动态库的依赖图。io","文件,接着对这个文件进行签名。签名的作用是保证文件内容不多不少,没有被篡改过。接着会把包上传到","文件,然后用","文件,生成可执行文件","文件,解压缩后会得到一个文件夹。所以,ipa","文件,除此之外还包含一些","文字常量区:常量字符串就是放在这里的。","文字简答:","文文件,也就是上文提到的.","文本catextlay","文档和工具链对于一个工具来说十分重要,一个好的文档不仅能够帮助初学者快速上手,还能帮助使用者解决大多数使用过程中的困惑、理解工具背后的设计和实现,git","文章中讨论的","斜树","斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。","新内存空间","新创建一个指定初始化器,会覆盖父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","新增","新增了一个int","新对象添加注册操作","新建一个空","新建线程的工厂","新建:实例化线程对象","新旧散列创建","新的指定初始化器,如果有新的指定初始化器,就不会继承父类的所有初始化器,除非重写","方案。当时非常期望保留模块化的编译隔离属性。比如当","方案小结","方法","方法,","方法。","方法。但是如果你调用了","方法。派生类在被重写的setter方法内实现真正的通知机制","方法。系统会在任何它需要重新计算视图的","方法。若未找着,则到其父类","方法。调用这个方法代表向系统表示视图的布局需要重新计算。setneedslayout","方法一:","方法一:使用两个栈实现","方法中","方法中实现必须要更新的约束。","方法中将自身注册给模块化","方法中注册了","方法中移除监听。同时可以通过","方法中,取出实例的方法变成了","方法中:","方法之前被调用,所有使用到的类的","方法之后,还会调用一次","方法也是在此处调用","方法二:","方法二:使用一个栈实现","方法会在","方法会将","方法会立刻执行并返回,但在返回前不会真正更新视图。视图会在下一个","方法列表","方法可以指定是否需要缓存(kcgimagesourceshouldcache),之后再调用","方法可能被调用多次)","方法名","方法名称","方法名等信息","方法在设置好运行环境后,会调用instantiatefromloadedimag","方法处理支付宝的回调结果,对应的进行刷新","方法实现!","方法将对象添加至","方法就可以找到答案了。","方法并在当前","方法引起的启动速度影响都微乎其微。模块需要监听的全局事件主要为","方法或者显示中的","方法执行过后的类所占用内存的布局","方法找到所有","方法时(等同于uiview","方法时,存在一个_objc_sync_ent","方法是基于","方法是最理想情况","方法是每个镜像加载完毕的回调。","方法是系统调的,这时候不走","方法来初始化一个对象时,也仅仅在内存中生成了一个","方法来对value执行自增。","方法来将类自己实现的方法(包括分类)、属性和遵循的协议加载到","方法查询后台配置的商品信息。通过","方法检查类(包括其父类)中是否含有默认的方法","方法沿视图层级树从底向上(从根视图开始)从后向前(从逻辑上更靠近屏幕的视图开始)进行遍历,最终返回一个适合响应触摸事件的","方法添加断点","方法的内部实现会查询到已经存在的同名任务,并且会取消掉这个任务,并在当前view的operationdictionari","方法的区别是什么,他们在","方法的地址","方法的实现,在","方法的工作机制类似。","方法的执行的流程:","方法的时候。","方法的时候,不会立马发送对应视图的绘制工作,为什么?","方法的注释为:process","方法的调用","方法的调用栈。load_imag","方法签名测试","方法类似,updateconstraints()","方法类型","方法缓存","方法触发生成。)","方法调用之前的时间。","方法调用时,会先看一下字典里有没有存子线程相对用的runloop,如果有则直接返回runloop,如果没有则会创建一个,并将与之对应的子线程存入字典中。当线程结束时,runloop会被销毁。","方法购买产品,购买成功以后,iap","方法返回","方法通知购买进度。","方法通过位运算计算下标,实现了静态的","方法都会被调用。先调用父类的","方法里的内容很简单,会影响启动时间么?比如这样的一个","方法里的内容很简单,会影响启动时间么?比如这样的一个+load","方法里:","方法附带参数数量有限,也没有返回值,所以更适合使用","方法)。mehodwitharg、arg","方法);反之,则是类方法(+","方法,一直找到了","方法,之后通过","方法,会在这个阶段调用","方法,使原队列中","方法,再调用分类的","方法,再调用子类的","方法,再调用自己本身的;","方法,在添加到","方法,将结果从","方法,就算它的函数体内部实际没有代码,系统也会为这个","方法,就需要去系统库中查找到","方法,并且调用","方法,所以同理调用父类的[mnperson","方法,无需导入,无需使用","方法,查询","方法,然后进一步调用","方法,然后进入到视图真正的绘制工作当中。","方法,第一次调用的时候,mnperson","方法,该方法可以指定是否要缓存解码后的数据,在64位机器上默认需要缓存(kcgimagesourceshouldcache)。与上面的方法不同,这种方式创建的缓存会随着uiimage的释放而被释放掉。","方法,这些方法在","方法,那么在绘制任何东","方法,里面包含","方法:","方法;先调用主类的","方法?","旁枝末叶","无","无差错情况","无效对象直接导致指针释放","无法发挥的作用?它有哪些特性是作为分布式系统的","无法在一次遍历就完成绘制,那么就不得不触发离屏渲染","无法找到真正的符号地址后的最终指向","无法结束解锁——形成死锁","无论在","无论是","无论是mac还是arc","无论继承自什么类,都经常需要新的初始化方法,而这个新的初始化方法其实就是新的指定初始化器。如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。为了遵循必须要调用指定初始化器的规则,就必须重写旧的定初始化器,在里面调用新的指定初始化器,这样就能确保所有属性(成员变量)被初始化","无连接","无非就是去解决如何在运行时期找到调用方法这样的问题","既然","既然@synchronized能在任意地方(vc、view、model等)使用,那么底层必然维护着一张全局的表(类似于weak表)。而从synclist和syncdata的结构可以证实系统确实在底层维护着一张哈希表,里面存储着synclist结构的数据。synclist和syncdata的关系如下图所示:","既然要构建,那么必然会有一些地方去定义如何构建,对应","既然顺序存储不能满足二叉树的存储需求,那么考虑采用链式存储。由二叉树定义可知,二叉树的每个结点最多有两个孩子。因此,可以将结点数据结构定义为一个数据和两个指针域。表示方式如图3.11所示:","日志获得。大致过程为:","旧对象以及","旧对象对应的地址","旧对象解除注册操作","旧的指定初始化器就自动退化成便利初始化器,必须在里面调用新的指定初始化器","旨在替代nsthread等线程技术","时","时会优先读取","时候,","时可能就会同时比较","时是如何满足自己提出的这些需求的:","时更新当前模式对应的颜色和图片。","时期不同:dyld","时的那个时间点。正是在这个时间点上系统开始更新布局、显示和设置约束。如果你在处理事件的代码中请求修改了一个","时第进入的第一个","时缺失符号造成","时至今日,当我思考预加载方式在","时调用","时调用_objc_autoreleasepoolpop()","时账号模块发出广播,各业务模块进行","时进行保存。","时都需要进行重复的解码操作。而通过","时间复杂度:o(n),其中","时间复杂度:o(n^2)","时需要注意的问题。","时,_objc_sync_ent","时,timer","时,会发生线程安全问题。","时,会触发","时,会进入如图流程,用户可以在这三个步骤中","时,先从文件反序列化解析得到","时,则需要借⽤该变量存储进位。","时,即完成了一次编译,来看下这个过程做了哪些事情。","时,可以直接从内存里获取,将会获得速度提升","时,增加引用表指针纬度。","时,它的","时,它的生命周期是错误的","时,找到具体代码的汇编写法,如同红框中的示例。","时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此","时,生命周期紊乱导致一些依赖生命周期执行的逻辑失效,如电商行业里很看重的曝光统计数据不正确","时,系统会调用","时,说明有操作在执行。","时,首先先根据hash(obj)","时,,比如修改了frame、调整了ui层级(uiview/calayer)或者手动设置了setneedsdisplay:/setneedslayout:,这些调整操作会触发transact","映射到内存,通过","映射到虚拟内存里的","映射到虚拟内存里的(如下图)。下图中部分页被标记为","映射的给定镜像。它的调用如下:","是","是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动","是一个","是一个全新的动态链接器,它即将成为新的","是一个哈希结构体,其结构如下:","是一个实例变量(nsstring是一个类).至于","是一个成员变量。而","是一个模板类(templat","是一个模板类,在这个类中有一个","是一个系统进程,可以理解为桌面系统,可以统一管理和分发系统接收到的触摸事件。","是一个高级的的编译器指令,它允许开发者指定更更多的编译检查和一些高级的编译期优化。","是一种键值对设计模式,破坏面对对象的编程思想。(不重写特定方法,找不到key情况下会崩溃)","是一篇关于","是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以","是不会触发离屏渲染(单层情况下)","是不是","是不需要","是不需要和","是个懒加载属性,由","是为了效率而设计的,所以在健全性检验上有一些限制。因此它也有安全性问题,所以苹果不断的改进它以适应今天的平台。","是主二进制和动态库。mach","是事件源的集合","是事件驱动的,因此在无事可做时,线程会自动进入睡眠状态,从而提高了线程的效率","是二维","是从","是以“引用”方式传递的。也就是说,不对实参做任何拷贝","是以双向链表的形式连接起来的:","是使用的集合来管理任务。","是具体的消息内容。","是动态分配内存的,用来存放我们代码中通过alloc生成的对象,动态分配内存的特点是需要程序员申请内存和管理内存。例如oc中alloc生成的对象需要调用releas方法释放【mrc下】,c中通过malloc生成的对象必须要通过free()去释放。","是动态生成的。","是单独编译的,输出对应的目标文件(.o)","是另一个会让","是可以更改所生成的","是可以被压入","是同步source/timer/observer到多个mode中的一种技术方案","是否关闭non","是否可以创建nonpoint","是否可以我们自己生成启动图放至缓存目录,让系统认为存在可用的缓存启动图:a.","是否可靠","是否有","是否相等。还是从那张图上面我们可以看到:root","是否相等,之前讲到","是否知道异步绘制?如何进行异步绘制?","是否被","是否连接","是否需要下载。默认为","是启动的时候用到的,为了执行对应的代码,就需要两次","是启动的辅助程序,是","是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~","是固定的,攻击者很容易猜出后续的确认号,因此","是基于","是如何启动一个","是如何存储的。","是如何遵循这些规则来设计和实现的。","是对泛型对象的指针做了一个封装,通过这个泛型类来解决内存泄漏的问题。从注释中写","是将函数及其执行上下文封装起来的对象","是少数不继承自","是应用在","是开源的,我们可以添加一个自定义的","是强引用!","是当应用完成了你的所有事件处理代码后控制流回到主","是性能最差的呢?因为其包含的操作极为复杂,除了常规的加锁解锁操作以外,还需要考虑哈希表寻址,缓存获取","是成员变量相对于对象内存地址的偏移量,正是通过它来完成变量寻址。","是我们传入的一个弱引用指针。而对于","是我们经常需要研究的","是拿到自己的","是指使用苹果内购购买消耗性的项目。","是指由类声明的对象。","是数组的长度。快指针和慢指针最多各移动","是整个框架的中心,所有的处理逻辑都在这里面进行组装、分发。","是方法名,那么","是显示的基础:存储","是有序的,因此对于任意","是根据","是根据函数地址直接调用,initi","是根据当前系统的模式返回的","是用来监听runloop状态的。还可以处理ui界面刷新,那我们些的那些ui界面相关的控制代码,是怎么被执行的呢?图示如下","是由程序员自己管理,如果没有被强引用也会被消耗。nsconcreteglobalblock","是由编译器自动管理,超过作用域之外就会自动释放了。而","是目前最高效的工具,这都是由顶层的设计思想决定的,我们今天就来看一看『为什么你应该使用","是相互扶持的关系。cpu","是类的隐藏参数,指向调用方法的这个类的实例,是一个","是类第一次加载的时候调用,initi","是类第一次接收到消息的时候调用,每个类只会","是类第一次接收到消息的时候调用,每个类只会initialize一次(父类的initialize方法可能被调用多次)","是紧跟在","是编译过程中前端的输出后端的输入。","是苹果公司为多核的并行运算提出的解决方案","是被裁剪过的,","是这样子的:","是通过","是通过objc_msgsend","是链接器加载时最先读取的内容","显然,如果在那种插入、删除很频繁的场景中,平衡树需要频繁着进行调整,这会使平衡树的性能大打折扣,为了解决这个问题,于是有了红黑树,红黑树具有如下特点:","显示帧率","显示汇编,然后挂上断点,运行程序","显示渲染后的数据","显示的内容(包括","显示逻辑","显示(core","显示(display)","显示,过去四年新发布的设备中有","显示:","普通场景下涉及到线程安全,可以用nslock","普通的tile","更严格的链接语法","更便于测试么?这些是苹果一直在思考的问题,也是","更多分享","更多博文可看传送门","更多路由","更好的原理解析如下:","更改指针,获得以","更改新值指针,获得以","更新","更新可能不是你想要的那样。如果你的代码中的某些计算依赖于当下的","更新视图不同,layoutifneed","更新视图的","更重要些。暂时没想到方法","替代存储","替代方案:coreanim","替换","替换启动图","替换的图片名需与对应的缓存图完全一致,包括文件扩展名,但实际其内容格式可以为","替换的图片大小需与当前屏幕大小一致(图片宽高等于屏幕宽高或高宽),如果不一致,系统会重新生成缓存启动图。","替换缓存启动图文件,即保证该目录下所有子文件名不变,但文件内容全部替换,验证方案有效:替换后冷启效果:","替换设置方法","最后一个mnteacher","最后一题:uiview和calayer的区别?","最后交给uiapplicationdelegate,如果其未处理则丢弃事件。","最后会对标记为","最后使用imagewithcgimage()方法将cgimage转化为uiimage。","最后到uiapplication后仍然没有能处理该事件的对象,则该事件被废弃。","最后将渲染结果放到","最后给大家奉上苹果爸爸关于启动图的官方文档,其中一段:","最后设置正确的","最后,将obj添加到自动释放池中。","最后,将最终要显示在画面上的后帧缓存交给gpu,进行采集图片和形状,运行变换,应用纹理和混合。最终显示在屏幕上。","最坏情况:查找的位置是有序区的第一个位置,则需要的比较次数为:log2n,需要的赋值操作次数为n(n","最大不能超过","最大偏移值","最好情况:查找的位置是有序区的最后一位后面一位,则无须进行后移赋值操作,其比较次数为:log2n","最开始讲解","最直接的回答就是uiview可以响应用户事件,而calayer不能处理事件","最简单的是使用dispatch_get_global_queue(0,","最繁忙的时段,达到平滑性能波动的目的。","最终形成的","最终我们决定直接摒弃系统缓存的启动图,完全替换为我们自己生成的启动图。","最终我们决定节省每一份精力,效率最大化。将各业务的","最终结果保存在脚本目录下。","最终,我们总结了所有我们需要的业务模块化需求,沉淀出了轻量级的模块化","最终,生成前后帧缓存会再交由gpu进行最后一步的工作。","最高有效位","月起,提交审核的应用都必须使用","有","有aes、des、3des、tdea、blowfish、rc4、rc5、idea等。加密使用的密钥和解密使用的密钥是同一个密钥。由于加密算法是公开的,若要保证安全性,密钥不能对外公开。通常用来加密消息体。","有md5,sha1,sha256。用来确认信息没有被篡改。主要用来生成签名,签名是加在信息后面的,可以证明信息没有被修改过。一般对信息先做hash计算得到一个hash值,然后用私钥加密(这个加密一般是非对称加密)作为一个签名和信息一起发送。接收方收到信息后重新计算信息的hash值,且和信息所附带的hash值解密后进行对比。如果一样则认为没有被修改,反之则认为修改过,不做处理。可能有一种情况,黑客修改了信息并把hash值也改了,从而让他们相匹配。所以hash值一般都是加密后(生成签名)再和信息一起发送,确保hash值不会被修改。","有rsa、dsa/dss、elgamal、rabin、d","有一个必不可少的东西","有一个标记位来标识指针是否是tag","有一些对象比较小则会使用","有一套很智能的预加载策略;","有两个属性:","有两种。","有个参数","有个比较大的优化是","有了闭包之后,就可以用闭包启动","有些对象如果支持使用tag","有些防护操作就是基于这个原理来做的","有人反馈,iap","有什么优点吗","有什么作用?以下是笔者自身的猜测:","有什么关系和区别","有以下代码:","有单播,多播,广播的功能","有序接受","有扩展标记位的mask","有时候想让指定视图来响应事件,不再向其子视图继续传递事件,可以通过重写hittest:withevent:方法。在执行到方法后,直接将该视图返回,而不再继续遍历子视图,这样响应者链的终端就是当前视图。","有正确的尺寸。","有没有什么方式能够帮助我们发现使用『哈希碰撞』进行的恶意攻击从而保证仓库的安全呢?","有没有办法直接传递模型对象呢?这里涉及到模型的类文件放在哪里。最容易想到的方案是沉入","有没有办法绝对的避免","有点特殊,替换代码如下:","有用","有的同学可能对这个函数比较熟悉了","有能达到预热","有许多事件会自动给视图打上","有赞移动","有赞移动自","有部分防护手段就用到了这个环境变量","有:","服务使用方开单模块可以直接将这个","服务创建订单,并把订单推入支付队列。","服务器发送完syn","服务器回调","服务器查询失败的话,那就要等下次","服务器查询的时候,查不到这笔订单。","服务器查询这个收据对应的已付款的订单号。","服务器端使用自己的私钥解密上面提到的随机数,然后使用这串随机数生成自己的对称主密钥","服务器端向客户端返回一个","服务器端生成自己的","服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到syn洪泛攻击。syn攻击就是client在短时间内伪造大量不存在的ip地址,并向server不断地发送syn包,server则回复确认包,并等待client确认,由于源地址不存在,因此server需要不断重发直至超时,这些伪造的syn包将长时间占用未连接队列,导致正常的syn请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。syn","服务器第一次收到客户端的","服务器通讯,让用户确认购买,输入密码。","服务注册方案","服务,图形界面的","未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。","未引入tag","本体,也就不再需要离屏渲染了。","本地离线缓存文章","本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍","本文可为以下面试题提供参考:","本文回顾了","本文大量借助了引用文章的文字描述,在此感谢各位作者的文章对本问题的理解起了很大的帮助。也希望各位能去原文发表自己的看法。谢谢~","本文将提供一种静态分析的方式,用于查找可执行文件","本文由","本方案主要用于解决启动图无法渲染、不更新等异常问题,能够让应用自动恢复正常的启动图,从用户角度来说最坏的情况是首次启动时展示了异常的启动图,但下次冷启时即可展示正常的启动图了,保证了用户体验。","本来并不复杂,也没有圆角阴影等等,打开这个开关反而会增加一次不必要的离屏渲染","本次","本次使用缓存,同时储备下次","本篇相关文档和","本质上是一个while","本质是创建一个","本身。以","本身。所以第二次循环相等,于是第一行","本身也是一个对象,它的","本身是一块矩形区域,但是阴影的形状却未必是矩形,而是与","本身是一种跨多端的通用协议。使用路由","本身有哪些坑。最大的一个就是,从","机制简析","机器码生成器会针对不同的架构,比如","杂乱知识点","条件执行:","条件是一种同步工具,可用于控制线程何时执行代码的特定部分。您可以将条件视为关守,让线程仅在满足指定条件时运行。","来了\");","来作为数据存储区域","来做","来做渲染,那么就没有理由再触发","来决定","来分配空间,将其","来创建的,但是并没有创建线程缓存,即","来判断编译环境,通过","来到","来到函数实现","来到源码中","来到这里","来加载主程序","来动画到新的状态。","来响应。","来处理好以后,再把结果作为","来处理每一个类,而","来完成渲染任务,而给","来实现kvo.","来实现。","来实现地址空间配置随机加载","来实现端口,因此当端口上没有数据等待时,线程将进入睡眠状态","来实现缓存。","来对渲染结果进行缓存","来对类结构体的","来开发,它的可视化带来的好处相比项目协作迭代里遇到的","来强行指定对齐方式,那么系统会在","来打开离屏渲染检测","来指定在","来控制并发,然而这样只能控制并发的任务数量,而不能控制线程数量,并且使用起来不是很优雅。而使用串行队列就很简单了,我们可以很明确的知道自己创建的线程数量,一切皆在掌控之中。","来控制编译过程。","来构建界面。开发人员创建完","来查找。","来查找对应的类,然后在这里的","来查看二进制顺序","来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。","来比较两个不同版本和不同文件夹之间的差异也是非常迅速的,作为分布式系统,每一个","来渲染界面的。这需要","来源:掘金","来生成","来画出最终结果,那就只能另开一块内存空间来储存中间结果。这些原理并不神秘。","来画图","来看一下官方","来确定触摸事件发生在哪个视图对象上。其中主要用到了两个","来管理三方库,那么你的","来管理图片,这些图片会被编译为机器码,除了","来组装交易信息,并进行加密处理等操作。显然我们应该采用第一种方式。","来自","来获取对应","来获取成员变量的内存地址。其计算公式如下:","来获取的","来规避离屏渲染","来设置模块依赖关系。","来访问这些代码不会有什么问题,通过计算机之外的方式对代码进行控制是一种效率更高的做法。","来说,launch","来进行判断,保证被取消的任务能及时退出,不至于影响后续操作。","来进行绘制,当同一时刻过多组件需要绘制或者组件元素过于复杂时,必然会给","来通知自己做一些事情。比如用户在搜索栏输入一连串字符之后的某个时间自动搜索一次结果。正是因为有了个延时,才让用户有机会在自动搜索发生前尽可能打出想要的搜索字符串。","来配置启动图。而步入","来释放自动释放池。这个","来重定向","来重新定位或更改大小时重载它。然而你不应该在代码中显式调用这个方法。相反,有许多可以在","构建","构建的基本流程,以及这个流程里可用于启动优化的点;最后大篇幅讲解","构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的uirespons","构造函数里面参数尾部多了一个:","构造函数里面多了一个参数","构造方法存储在","果然,按照控制台中所输出的路径,我们找到了系统生成的启动图文件,其格式为","架构上,mac","架构下运行。","架构中有","架构为:","架构关系如图:","架构方面","架构设计更多强调的是分层,基于设计模式六大原则之一的单一职责原则,将系统划分为基础层,网络层,ui","某个对象所有指向它的","某个类的头文件但仍需调用其方法时,最常想到的就是基于反射来实现了。例:","某些环境变量会直接影响该库是否会被加载","查找","查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;","查找第一响应者","查找第一响应者时,有两个非常关键的api,查找第一响应者就是通过不断调用子视图的这两个api完成的。","查看_cfrunloopget0方法内部","查看uiimageview的api我们可以发现,uiimage封装了一个coregraphics/cgimage的对象。","查看函数调用栈","查看包内容。","查看对象实例是否有效","查看编译时间","查看资源check:不操作","查询成功后的回调.","栅栏任务","栅栏函数只能控制同一并发队列:打个比方,平时在使用afnetworking做网络请求时为什么不能用栅栏函数起到同步锁堵塞的效果,因为afnetworking内部有自己的队列","栅栏函数的作用是将队列中的任务进行分组,所以我们只要关注任务1、任务2","栅栏结束——{number","标准库","标准的三个","标准转换运算符","标志位标识二进制文件支持的功能","标记为需要重画(redraw)。在接下来的","标记位标示是否为","标记,因此","栈block","栈上的block复制到堆上","栈中存放的指针指向加入需要release的对象或者pool_sentinel(哨兵对象,用于分隔autoreleasepool)。","栈中指向pool_sentinel的指针就是autoreleasepool的一个标记。当autoreleasepool进行出栈操作,每一个比这个哨兵对象后进栈的对象都会release。","栈区","栈区(stack):由编译器自动分配释放","栈溢出保护","树","树了","树画完之后,再统一加上","树(tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:","核心的流程大概是这样:","核心规则","核心:将所有分类的对象方法,附加到类对象的方法列表中","核设备同一时刻最多能","根","根据","根据isa特性可以解释消息传递与寻找方法列表原理","根据上面的手势和响应者链的处理规则,我们会发现uibutton或者uislider等控件,并不符合这个处理规则。uibutton可以在其父视图已经添加tapgesturerecognizer的情况下,依然正常响应事件,并且tap手势不响应。","根据以上的分析结果,我们知道应用启动时加载启动图的大致流程:","根据传入的","根据传入的主线程获取主线程对应的runloop","根据你的函数返回的长度,","根据全局弹窗排序,决定显示那个——当后台数据返回指定的","根据具体业务和需求的不同,大部分公司会采用以上一种或者某几种的组合。","根据函数调用栈我们发现","根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。","根据当前的模式返回","根据我们上面的测试,推断","根据消息接受者的isa指针找到metaclass(因为类方法存在元类中。如果调用的是实例方法,isa指针指向的是类对象。)","根据环境变量配置打印信息","根据苹果的官方文档,手势不参与响应者链传递事件,但是也通过hittest的方式查找响应的视图,手势和响应者链一样都需要通过hittest方法来确定响应者链的。在uiapplication向响应者链派发消息时,只要响应者链中存在能够处理事件的手势,则手势响应事件,如果手势不在响应者链中则不能处理事件。","根据获取到的","根据计算出来的","根据这个规则,所有的元类使用根元类作为他们的类,根元类的元类则就是它自己。也就是说基类的元类的isa指针指向他自己。","根据这条规则,可以从nsobject、uiview中看出,由于uiview拥有新的指定初始化器","根据首对象查找","根本不在运行,timer","根节点加入队列中","根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的,若终端信任根证书,则信任根证书生成的其他证书。终端没有安装相应https证书则不能访问https网站。","格式","格式来。这会产生一个问题,每次当我们需要从磁盘读取","格式的常见文件","格式的替代,mach","格式的,那么磁盘中的存储则会按","框架。calay","框架下的","框架下的方法,它往往性能比使用各种“锁”更为优越,并且代码优雅。","框架中的方法。虽然在实际的编程中都不会这样做。","框架可以通过图片上下文将绘制内容制作为一张位图,并且这个操作可以在非主线程执行。那么,当有","框架,实际上它是依托于","案例如下","案例解析","检查","检查是否需要开启下载。","检查是否需要缓存原始数据","检查每线程单项快速缓存中是否有匹配的对象","检测","检测共享缓存禁用状态","检测到了","检测到手指触摸操作(touch)时,会将其打包成一个","检测可执行程序格式","检测对象是否生效、以及是否使用了","检测环境变量","检测离屏渲染","检测进程是否受限","检测通过","检索方式,再来看","概念","概述","模块。但一旦这个口子放开,后续会有越来越多的模型放入","模块。通过","模块中写代码通过这些","模块中这些命名有所变化,还会出现调用失败。所以我们对各个模块使用外观(facade)模式进行重构。d","模块依赖","模块内设计及","模块创建一个外观层","模块化通讯方案中,更多的是把通知方案作为以上几种方案的补充。","模块和","模块对上层业务模块的反向依赖。于是我们进一步拆分出了一个新模块","模块对外提供的某个接口发生变化时,不会引发依赖这个接口的模块的编译错误。这样可以避免依赖模块被迫中断手头的工作先去解决编译问题。当时也没有采用","模块是很薄的一层,共同修改维护这个模块也可以接受,所以目前没有将其拆开。将来如果需要,再将其做分拆改造即可,改造工作量很小。","模块没有明确业务组归属,所有小组都能编辑,","模块点击用户头像打开会员模块的用户详情页。","模块的","模块的这些内部信息才能完成反射功能的实现。如果","模块编译产出以及集成到","模块间网络层的封装基于反射代码,","模块间通信方式设计","模块,各业务模块直接依赖","模块,资产模块等等。他们都是独立","模块,通过调用显卡驱动所提供的","模式。这个选项在高版本的","模式下","模式下使用。","模式下,不生成","模式下,关闭编译器优化","模式下,将","模式下,我们可以借助","模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。","模式改造之外,还需要考虑以下问题:","模拟代码","模拟器","模拟器仅支持加载到当前进程","横屏截图是否生成由","横竖屏问题","次。","次。即o(n^2)","次左右,统计表格如下,navigationstart","次比较。在最坏状况下则需要","次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner","次(这个值取决设备硬件,比如","次,并且很可能每一帧有几十张的图片要求这么做,对于","正在调用","正在运行。内部维护了","正如上面所描述,我们的产品页面在","正如我上周展示的,定义一个class有很多种方式,取决于你的运行时库版本,但有一点,它们都以isa字段开始,并且仅跟着一个superclass字段。","正常情况下(obj存在)会通过id2data方法生成一个syncdata对象","正常的情况下,","正常,进入下载。","正忙于执行某个","正是由于红黑树的这种特点,使得它能够在最坏情况下,也能在","此回调是被运行时_objc_init初始化时赋值的一个函数load_imag","此处引用","此处的p就是上面的obj,也就是obj执行上面的哈希函数对应到数组的index","此外,树的定义还需要强调以下两点:","此打断点跟踪汇编信息,可以发现底层库调了objc_initweak函数","此方法在遍历视图时,忽略以下三种情况的视图,如果视图具有以下特征则忽略。但是视图的背景颜色是clearcolor,并不在忽略范围内。","此时gcd就提供了两个api——dispatch_barrier_sync和dispatch_barrier_async,使用这两个api就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务,最后执行栅栏后任务","此时springboard会根据当前桌面的状态,判断应该由谁处理此次触摸事件。因为事件发生时,你可能正在桌面上翻页,也可能正在刷微博。若是前者(即前台无app运行),则触发springboard本身主线程runloop的source0事件源的回调,将事件交由桌面系统去消耗;若是后者(即有app正在前台运行),则将触摸事件通过ipc传递给前台app进程,接下来的事情便是app内部对于触摸事件的响应了。","此时就很清晰了,在异步线程创建一个位图上下文,调用task的display代码块进行绘制(业务代码),然后生成一个位图,最终进入主队列给yyasynclayer的contents赋值cgimage由","此时并没有设置引用计数为1","此时我们就不得不开辟一块独立于","此时看到写入路径正是我们所熟知的沙盒目录,接着我们将应用沙盒目录导出,查看library目录结构如下:","此时通过","步骤越往后,处理消息的代价就越大;最好能在第一步就处理完,这样的话,runtim","步骤,得到最终的顺序序列","步,对不对?看起来比支付宝还简单,有木有?","步,比支付宝少","步;","死亡","死亡:正常死亡,线程执行完毕。非正常死亡,当满足某个条件后,在线程内部中止执行/在主线程中止线程对象","死锁","死锁原因","段","段、","段中且不连续,此时需要执行多次","段中的内容,比如字符串移动到其他的段","段之后的.","段加密。io","段命令数量","段和","段和整个符号表来缩减大小。它能打包二进制段,因此能节约内存空间。实际上它是一种动态库的预链接。它预先构建了","段在运行时是可读可写的","段开始读取的","段的指针指向","段的指针指向就不对了。rebas","段的符号表中","段的页解密很耗时,有没有办法优化呢?","段的页,要进行解密","段进行加密,防止","段里都存放了什么","每","每一个autoreleasepoolpage节点是一个堆栈结,且大小为4096个字节。","每一个uiview都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做back","每一个对象都有一个标记位","每一个线程都会维护自己的autoreleasepool堆栈,也就是说每一个autoreleasepool对应一个线程。","每一个自动释放池都是由一系列的","每个","每个runloop中都会创建一个","每个业务模块的产出包括可执行文件和资源文件两部分。有","每个业务模块都作为一个子","每个分类的结构都一致,都是category_t","每个分类都是独立的","每个模块除了","每个类、分类的","每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法","每个进程之间是独立的,每个进程均运行在专用的且受保护的内存","每当调用方法的时候,会先去cache中查找是否有缓存的方法,如果没有缓存,在去类对象方法列表中查找,以此类推直到找到方法之后,就会将方法直接存储在cache中,下一次在调用这个方法的时候,就会在类对象的cache里面找到这个方法,直接调用了。","每条tcp传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。","每次pop,实际上都会把最近一次push之后添加进去的对象全部release掉。","每次会根据已经编排的触发时间自动重新编排。如果实际的触发时间太过于延迟,甚至是晚了一个或多个周期,那么也只会触发一次,而非连续多次。之后会重新编排下次触发时间。","每次都运行在某个特定的","比gcd多了一些更简单实用的功能","比如","比如2表示是nsstring、6表示是nsdate,我们知道3bit能表示的最大值是7,这个7系统用来预留,用来标记是否有额外的标记位,这样就能支持更多的类支持tag","比如arm64","比如hittest:withevent的处理,","比如公钥加密后只能由私钥解密;私钥加密后只能由公钥解密。且一方加密的内容只能由对方进行解密。","比如屏幕点击,","比如我们加上:testserver,表示在这个宏中的代码运行在测试服务器","比如点击的是","比如这里的","比如,在三方库中最常见的,声明一个属性或者方法在当前版本弃用了","比如,这样的代码很常见","比对一下atomic的逻辑分支:","比目前","比较大小,比","永远都不会触发。","汇编(asembly):把汇编语言","江涛的博客","沉淀","沉淀几个阶段。期间有过对已有","沙盒中。","没价值的隔离?","没啥大毛病,对吧?现在来详细分析一下。","没啥结果了","没有初始化过的常量","没有初始化过的符号声明","没有初始化过程;swift","没有办法进行统一裁剪,","没有开启指针优化的对象直接存在sidetable的refcountmap或者说是densemap中。","没有开源,我从","没有新值,则无需更改","没有绑定","没有被使用,会自动被丢弃","没有路由管理同时不够轻量","没有那么多安全检查,显得比较随意、宽松,而","没被使用过,所以未被初始化,要先调用一下父类的","没被使用,也不要抛出警告","法,也即类的实现是可以动态绑定的;iskindofclass也是一样的道理。","泛型成员,也就是","注","注:","注册","注册完毕继续回到","注册的那个","注册观察者","注册观察者之前:类对象为","注册观察者之后:类对象为","注意","注意:","注意上面内部的两个","注意不是报","注意事项","注意和事件传递是倆概念!!!!","注意点","注意这个过程都是在内核态完成的,这里提到了","注意这里使用了一个判断:if","注意这里没有初始化","注意,并不是所有的","注意,每次重传等待的时间不一定相同,一般会是指数增长,例如间隔时间为","注意:以上为","注意:对于","注意:这种形式,并没有起到命名空间的作用。在代码中,依然可以定义相同的方法:","注:","注:不要将过多的其他操作代码放到锁里面,否则一个线程执行的时候另一个线程就一直在等待,就无法发挥多线程的作用了","注:已知前序遍历序列和后序遍历序列,不可以唯一确定一棵二叉树。","注:满二叉树一定是完全二叉树,但反过来不一定成立。","流程如下","流进行语法静态分析(static","流量控制","流)。","浅拷贝","测试","测试方案:模拟器,每种方式测试时都重启,各测试了","消失就是首页数据加载完成。由于标准很难对齐,所以我们一般使用狭义的启动定义:即启动终点为启动图完全消失的第一帧。","消息。这里","消息中的上下文指针包含任意数据,这些数据将在相应的更改通知中传递回观察者;您可以指定null并完全依赖键路径字符串来确定更改通知的来源,但是这种方法可能会导致对象的父类由于不同的原因而观察到相同的键路径,因此可能会出现问题;一种更安全,更可扩展的方法是使用上下文确保您收到的通知是发给观察者的,而不是超类的。","消息传递","消息到服务器端,消息中同时包含了它的","消息发送","消息发送与转发详解","消息机制和","消息给服务器端,使用对称密钥加密这次通讯的一个散列值","消息转发","消息边界","消息重定向","消息重定向测试","消息队列:","消息,也使用协商好的对称密钥加密","消息,消息中包含了服务器端的","消息,直到第一个","消息:","深入了解","深入学习二叉树(一)","深入探索","深入理解","深入理解ios的block","深入研究","深入解析","深夜暗坑","深拷贝","混写(isa","混合和过度绘制","添加","添加一个autorelease对象,next指向下一个存对象的地址。","添加到","添加到串行队列中——按序执行","添加到主队列中——死锁","添加到全局队列中——乱序执行","添加到并发队列中——乱序执行","添加圆角和裁切,所以还是会触发离屏渲染。","添加引用时,objc_initweak函数会调用objc_storeweak函数,objc_storeweak的作用是更新指针指向,创建对应的弱引用表(hash表)","添加成员变量,但是可以间接实现分类有成员变量的效果","添加方法,也不会影响类的只读结构。","添加至","清理了缓存,被缓存对象的引用计数减一,但是它还在内存中,但是,从","清理及其它相应操作。","清空启动图缓存目录,迫使系统重新生成启动图文件,但仍出现白屏问题,方案无效;","清空缓存目录,直接放入随意命名的图片,验证无效,系统会在应用下次启动时或应用挂起时,根据应用支持的界面方向及设备当前的方向重新生成对应的启动图;b.","清空编译缓存,仍旧复现,故排除编译缓存问题;","清除(delete)","清除旧值","渐进时间复杂度(平均时间复杂度):o(n^2)","渠道分发的","渲染","渲染layer的content纹理,同til","渲染layer的mask纹理,同til","渲染。","渲染不是","渲染可以分为四个步骤","渲染完成的帧缓冲区数据进行绘制的同时,还会通过","渲染就是俗称的","渲染并非真正意义上的离屏渲染。另一个证据是,如果你的","渲染性能的调优,其实始终是在做一件事:平衡","渲染效率不高,但是较为通用灵活;gpu","渲染服务首先将图层数据交给opengl","渲染架构","渲染的流程?","渲染等待","渲染结果先经过了离屏","渲染结果存储的地方)。但是此时出现了特殊情况导致渲染结果无法直接写入","渲染虽然也是","渲染过后提交到显示系统。","渲染速度不够快,因此只适合渲染静态的元素,如文字、图片(想象一下没有硬件加速的视频解码,性能惨不忍睹)","渲染都在后台线程完成(这也是","渲染里。","渲染)和图片(imageio)渲染,由于","渲染,渲染完成提交到帧缓冲区;当","源事件设置数据","源对象类型","源文件","源文件(.m/.c/.swift","源码","源码中可以看出bucket_t中存储着sel和_imp,通过key","源码分析","源码剖析:异步绘制","源码在这里。","源码解析","滑动优化方案思路:","滑动时也会响应该事件并执行指定的","滑动窗口流量控制等机制","满二叉树","满二叉树的特点有:","满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。","演示如下","点击","点击、touchesbegin/move/end/cancel事件都是在这个回调中完成的。","点击到网络加载时间(ms)","点击到页面加载完毕时间(ms)","点击图标,创建进程","点击进入","热启动:如果把","然后会交给uiapplication。","然后会讲一讲越狱环境插件如何防护","然后会调用系统的同名方法","然后判断得知","然后各个业务模块依赖","然后合并到一起进行裁剪,","然后在","然后在加载","然后在回到主线程把","然后对其加一,重新写入。","然后将事件event分发给source0,然后由source0来处理。","然后将原系统函数的真实地址赋值到用户指定的指针上.","然后将处理后的数据输出到界面上做相应展示,","然后找到","然后把这段脚本拷贝进去,并且勾选","然后由","然后设置了背景颜色,","然后跳转去处理消息。","然后轮到[mnstudent","然后,","然后,开始从缓存中读取图片,回调之后判断当前operation是否还存在,以及operation是否被取消,如果取消的话就从runningoperations中移除当前operation并返回,什么也不做。否则,调用下载处理程序:calldownloadprocessforoperation:并把我们读取出来的缓存数据传入该方法。接下来我们看看这个方法的内部实现:","然后,拖动这个脚本的到","然后,搜索这个地址","然后,配合多个","然后,重启","然而『合并分支』的性能对于版本控制系统来说才更加重要,因为我们创建新分支的最终目的就是合并回主干分支,如果合并分支的性能非常差,每次合并可能都需要几十秒甚至几分钟,那么这种昂贵的代价就会使开发者谨慎地使用分支合并操作,很多人可能因为合并分支的复杂和困难选择直接在主干分支上开发,因为他们认为只改一两行代码怎么可能会导致线上事故!","然而在实际场景中,真正需要严格控制的代码都非常少,大多数公司的内部代码都是一些秘密等级非常低的业务代码,不仅代码质量非常差、而且一旦脱离了公司的环境就无法运行,作为公司内部的开发者通过","然而当我们按照以上方案初步开发完成,进行多系统验证时,遇到了一个棘手的问题,测试发现方案在ios10.0及以上工作正常替换成功,但是在ios9.x及以下系统方案无效。通过断点调试发现调用nsfilemanager接口获取缓存目录下的文件名列表为空,再通过观察控制台应用中的输出,发现根本原因是无读取权限:","然而有些场景并没有那么简单。作为","熟悉的支付宝和微信支付","熟悉越狱插件的同学应该很清楚这个机制了","熟悉越狱插件的同学应该都很清楚","父","父类mnperson类调用过initialize了,因此调用自身的就够了,由于他和mnteach","父类和本类的调用:父类的方法优先于子类的方法。一个类的+load方法不用写明[sup","父类引用","父节点","父视图未处理事件则继续向下传递,也就是uiviewcontroller的view。","片分配额外内存,以及切换绘制上下文,这些都会降低gpu性能。对于特定图","片段乃至","版本不一致的情况时有发生。当时零售移动团队虽然达到","版本中,有一个较为重要的成员方法,用来根据对象的地址在缓存中取出对应的","版本号,","版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的","版本控制系统中的开发模型必须是分布式的;","版本控制系统必须保证文件的完整性,提供来自于数据丢失或者损坏的保护;","版本控制系统必须提供足够好的性能支持;","版本改造后,app","版本进行支持了,因此这里我们就统一使用","版本,可用的加密算法和压缩算法。","版本,如果一不小心,就会忘记。这个过程,我们可以通过插入脚本自动化。","版本,服务器所选择的加密和压缩算法,以及数字证书认证机构(certif","物理像素","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。iphon","物理地址","特点","特点:","特点:","状态","状态。","状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据也没啥毛病。","状态。服务器收到","状态。需要过一阵子以确保服务端收到自己的","状态控制","状态,假如是客户端先发起关闭请求。四次挥手的过程如下:","状态,服务端收到","状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。","状态,此时,双方已建立起了连接。","状态,直接处理这个","独立发版的。编译隔离和代码隔离属性对他们很有效。","狭义:点击图标到","环境下","环境下,性能开销变得更大。","环境变量来决定是否需要加载插入的动态库","现已被广泛应用在各端开发中。","理想情况,应该是先执行","理论上在本方案基础之上还可升级添加更多产品策略,但这里也忠告大家请勿滥用,并且未来苹果可能会修改该系统机制。","理论上,四个报文都发送完毕,就可以直接进入close状态了,但是可能网络是不可靠的,有可能最后一个ack丢失。所以time_wait状态就是用来重发可能丢失的ack报文。","瓶颈),这时可以让","生成","生成(generate)","生成一个","生成可执行文件","生成可执行文件)。使用","生成启动图","生成字节码:如果开启了","生成对应的图片(bitmap)","生成截图,最后写入磁盘。","生成新数据并写入缓存","生成新的启动图,并将其缓存至沙盒目录","生成汇编","生成目标文件","用","用于","用于判断","用于后续访问图片数据。","用于存储与类有关的信息:","用于存储类名、类版本号、方法列表、协议列表等信息,替代了","用于监听runloop的状态","用于缓存指针和","用于轻量级数据访问,简单的int值","用户在","用户在详情页面,点击了我好评率,那么大概率,用户还会打开用户晒单的视频和图片。这时候可以预加载一个视频播放器和图片浏览器,提供用户的响应速度等。","用户态:","用户旋转设备","用户点击图标之后,会发送一个系统调用","用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。","用所有类信息减去引用类的信息,此时我们可以拿到未使用类的地址信息。","用指针去访问","用来保证associationshashmap操作的时候,是线程安全的","用来处理无关类型之间的转换。该关键字会产生一个新值,并保证与原参数(expression)拥有完全相同的比特位。","用来存放任务的","用来存放全局变量","用来接收系统事件,其回调函数为","用来搭建local","用来查找继承的方法。","用老版本打包。我们的微信商城","用途","由","由d返回至b,第二次到达b,故输出b;","由h返回至d,第二次到达d,不输出d;","由二叉树定义以及图示分析得出二叉树有以下特点:","由于","由于osspinlock自旋锁的bug,替代方案是内部封装了os_unfair_lock,而os_unfair_lock在加锁时会处于休眠状态,而不是自旋锁的忙等状态","由于主线程的","由于在","由于在传输层udp已经是不可靠的连接,那就要在应用层自己实现一些保障可靠传输的机制","由于存在于全局区,所以会一直伴随着应用程序。","由于弱引用在析构dealloc时自动置空,所以查看dealloc的底层实现并llvm调试","由于是第一次调用,所以走havenew分支——获取到的是新的散列表sidetable,主要执行了weak_register_no_lock方法来进行插入","由于现在是arc环境,myblock属于强指针,因此在将block对象赋值给myblock指针的时候,编译器会自动对block对象执行copy操作,因此赋值完成后,myblock指向的是一个堆空间上的block对象副本","由于移动端所处的网络环境远远比服务端要复杂,所以,最大可能出现问题的是与移动端的通讯上。对于支付宝,只要移动端确实付款完成,那么接下来的验证工作都是服务器于服务器之间的通讯。这样一来,只要用户确实产生了一笔交易,那么接下来的验证就变得可靠的多,而且支付宝服务器会一直回调我们的服务器,交易的可靠性得到了极大的保证。","由于符号解析的开销很大,dyld","由于给定的数组","由于这些初始化程序是在","由代理决定是否需要新建下载任务。","由以上分析我们知道系统启动应用时会检查当前是否有可用的启动图,所以我们猜想如果当前没有可用的启动图,那么应该会迫使系统重新生成。为此我们清空了缓存启动图,再次冷启应用,果然验证了我们的猜想:","由前面可知","由图3.10可以看出,对于这种右斜树极端情况,采用顺序存储的方式是十分浪费空间的。因此,顺序存储一般适用于完全二叉树。","由图3.7可以看出,当二叉树为完全二叉树时,结点数刚好填满数组。","由显式调用","由此可知,不管是","申请一块内存区域,等待","画图分析","画图分析就是","画完才能得到","画家算法","界面。","界面跟踪","留出足够时间处理各种各样复杂的","疑难解答","百度","的","的)","的+resolveclassmethod:和+resolveinstancemethod:将会被调用,在此时有机会动态地向类或者实例添加新的方","的nsoperation的","的super","的viewdidload","的yytextview中,主要是为了将自定义的绘制逻辑装入transactionset,然后在","的。如果是","的一个","的一个类也是一个对象。这意味着你可以发送消息给一个类。","的一些","的一次全面重写。它拥有正确的","的下标中,这里使用了","的不同工具来测试性能,而不是仅凭猜测来做决定","的不同时间点触发","的不同版本管理及回退的优势也没有体现出来。最终还是将各模块代码迁回了主","的业务模块存在,这种追求没有价值,所以应该问题不大。同时因为下沉的都是一些头文件,没有具体实现,将来如果需要模块间的进一步隔离,比如模块单独打包等,只需要将这些","的个月的时间对已有项目进行了业务模块化改造(边做业务边改造)。因为方案细节考虑的比较多,大家对一些可能存在的问题也都有预期,所以当时改造后大家多持肯定态度,成本","的主旨在于降低性能损失,但总是至少会触发一次离屏渲染。如果你的","的主要函数.","的主要区别就是没有启动闭包,就导致每次启动都要:","的主要原因是我们存在动态化且多端统一的需求。比如消息模块下发的各种消息数据模型完全是动态的。后端配好展示内容以及跳转需求后,客户端不需要理解具体需求,只需要通过统一的路由跳转协议执行跳转动作即可。","的主要思想),然后再回到主线程上,把渲染结果传回","的事件响应链机制?","的事情,但是实质上都属于强收过路费的行为。","的交集","的代价,所以","的代码。","的代码中直接搜索","的代码中,通过","的代码优化流程是一个一个","的代码,并做一个比较。如果发现不一致,则报","的任务并不一定能按时执行。","的优先级是","的优化后:","的优化将不再起作用。","的优化思路。在","的优点是输出在同一个对象内,方便管理。缺点是作为动态库载入,影响加载速度。所以当时选择了静态库","的传输会使用","的位置","的位置和大小。这个方法很开销很大,因为它会在每个子视图上起作用并且调用它们相应的","的位置需要被重新计算,继而会自动转化为一个最终的","的作用","的作用就是将二进制文件加载进内存。dyld::_main()","的使用场景很多,本文只列举","的使用门槛,sourcetre","的修改和提交,总有些任务是必需放入主线程执行的。当出现这种任务时,asnod","的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效果。","的值以及","的值加","的值复制到","的值通常情况下是等于零的,所以弱引用表总是一个","的值,表示已经收到了服务端的","的值,表示自己已经收到了客户端的","的像素进行组合。显然也无法通过一次遍历就得到最终结果。将一对蓝色和红色","的元数据","的入口函数_dyld_start,把","的全称是","的关于显示相关的属性(比如","的关系如图","的其他实现","的其他成员变量皆已被弃用。","的具体数据","的具体编译过程也可以通过","的内存,","的内容裁剪成圆角","的内容裁剪成圆角,可能不存在一次遍历就能完成的方法","的内容(包括子","的写法等同与self","的出现,改变了动态链接的流程,相信","的函数名称","的函数地址。从第二次访问","的函数实现地址","的函数调用底层走的是","的初始化","的初始化.md","的初始化了解","的初始化方法进行了扩展,为了避免冲突,在","的初始化最核心两条的规则:","的初始化没有深入理解的人很头疼。其实核心规则还是一样,只要理解了各个规则的含义和作用,写起来还是没有压力。","的初始视图控制器进行截图,参考以下代码:","的别名,通过一个二维指针地址偏移,用下标作为","的前两个元素被修改为","的前五个元素被修改为","的前端是","的前缀,在","的动态链接库,在程序运行时,会将镜像加载进内存。","的动画与显示。","的区别","的区别与选用","的区别是什么?","的区别:","的区域","的区域就是触发了","的协议","的占位代码,很多地方称之为桩代码。","的卡顿和掉帧","的即将进入休眠和退出状态,则会遍历所有的ui更新并提交进行实际绘制更新。","的历史","的历史和新的","的压力提高性能。","的压缩效果,增加包大小,也会降低启动速度(io","的原理也就大致搞清楚了,通过修改","的原理类似,不得不在离屏渲染中完成。","的原理,我大概画了图例来解释。","的参数,self","的发展过程,我们可以看到苹果在","的右子树,还算平衡:","的名字和它实际的功能是不相符的,在苹果的平台上,它代表的意思其实是","的后面。","的启动","的启动时长","的启动流程。","的启动速度、安全性等方面有着重大影响。本文介绍了","的启动速度。","的启动速度带来明显优化。但是目前只有系统","的启动速度得到明显提升。","的启动速度,而","的启动闭包被构建在一个","的哈希碰撞,所以","的回调会驱动整个","的固定的地址,动态连接器会尝试从这些地址中加载,如果加载成功,就会编辑这些二进制,等到下次他们被放到同样的地址上时,就不需要做任何工作了。这样能大幅优化启动速度,但这意味着二进制文件在每次启动时都被修改,在安全性和其他方面都有隐患。","的图层树(layer","的图片等)绘制在一张画布上,完成后倒出图片赋值给","的图片等)绘制生成的","的圆形边框,如果没有","的地址","的地址,代码签名,符号表…","的地址,每一个","的地址,然后将地址拷贝到","的地方如,","的坑和注意点。","的基于服务注册的方式","的基本过程如下","的基础上添加了面向对象的特性,同时它是一种动态编程语言,将静态语言在编译和链接时需要做的一些事情给延后到运行时执行。例如方法的调用,只有在程序执行的时候,才能具体定位到哪个类的哪个方法。这就需要一个运行时库,就是","的基础上,维护了一个","的声明","的处理是不一样的,有的和被赋予的值一致,有的则不一致。(应该是有些赋值会对颜色进行拷贝)","的大小","的大小都是","的大部分属性都是由","的头文件","的头文件中,见到过","的头结点时,我们需要查找链表中对应的","的头节点syncdata,那么后续做什么呢?","的好处在于,你能在使用所","的子","的子view","的子类,当它需要显示内容(比如调用了","的子结构非常复杂,渲染一次所需时间较长,同样可以打开这个开关,把","的字符串","的字符串(__cfstring),以及运行时的元数据:class/protocol/method…","的字符串字面量发消息的原因。","的存储区域。","的完成回调中,可以看到也使用了","的完整流程:前端(词法分析","的完整过程需要三个算法(协议),密钥交互算法,对称加密算法,和消息认证算法(tl","的定义如下:","的定义(只截取关键代码,下文同)","的实现其实不难。通过前面的介绍,可以发现其中并没有什么黑魔法,代码量也不多,实现成本很低。模块化过程更多精力花在了全局架构设计,与之配合的开发规范,以及结合自己团队情况的一些取舍。模块化","的实现者就是这个","的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会包含三篇。","的实现:","的实践","的实际模块数量大概是","的寄宿图属性。","的对象。所以,当调用类方法是,例如","的对象作为","的封装之后,最终图片的加载逻辑会来到","的尺寸","的尺寸多少为合适。我自己做了下实验","的尺寸无关。","的尺寸是正确的和","的尾部。","的层级,除了显示第一个","的属性仍然可以正常使用。如果直接弃用,会导致开发者在更新","的属性,负责","的嵌套用法猜测","的工程会执行","的左子树,就变成了这样(有点丑哈哈):","的左子树:","的布局信息,比如","的布局发生变化的方式有:","的底层都是","的开发。","的开发者也应该对适配有所留意,按照苹果提供的建议进行检查。","的开发者,因为它们选择将『创建分支』作为度量版本控制系统的重要性能,还在自己的官网上以此进行宣传(具体界面已经不可考证)。","的引入,能让","的引用计数表","的弱变量,没有弱引⽤的对象可以更快释放。","的弱引用表","的强项,调用","的形式。不过个人感觉这块还是需要具体测一下会慢做少再做决定更合适。但因为二者差别不大,所以后续我们也一直没作调整。","的影子","的待验证交易列表的时候,这个列表没有数据。","的思想。劣势是如果服务提供方和使用方依赖的是公共模块中的同一份协议(protocol),","的思想。当然,针对","的思想解决","的性能冲击可想而知(gpu","的性能比较差,日常开发中要尽量避免直接在主线程使用。通常情况下,直接给","的性能,所以这个链接器标志应该只在","的情况,而","的情景,而这正是开发者需要极力避免的。针对这种情况,xcode","的成员和作用。","的成对调用。从汇编调用上看,似乎并不是?","的所有元素。","的所有版本号都是串行的递增数字,版本号不会有冲突的可能也更利于沟通和交流,git","的所有质量及效率方面的隐患,业务模块化方案趋近成熟。","的执行过程是拿到自己的","的拷贝资源就是通过脚本的方式完成的。","的指针地址,找到","的指针表,每个表项中的指针都指向一个在装载过程中,被动态链机器搜索完成的符号","的指针表,表中的指针一开始都指向","的接口","的提交版本号,这个命令通过以上信息重新计算出了","的提交,此次切换就会作罢,设备显示系统会放弃此次绘制,从而引起掉帧。","的操作优先级。","的操作是高度流水线化的。本来所有计算工作都在有条不紊地正在向","的操作队列。","的改革方向。","的效果。","的数据,","的整个启动流程,该函数最终返回应用程序","的文件格式","的文字,uiimageview","的文档略有提到这些内容,但并不完整)。当上面所有操作结束后,runloop","的新","的方式发给","的方式进行管理。但后续开发中体验并不是很好。当时微信商城","的方式进行,不需要所有的开发者都有主仓库的写权限;","的方式通知外部执行到了哪里。","的方式通知外部执行到了哪里。那么,runloop","的方案。因为下沉入","的方案,把要传递的复杂模型的代码复制一份放在使用方模块中,同时通过修改类名前缀加以区分,这样就可以避免打包时的链接冲突错误。比如商品模块内叫","的方法","的方法。","的方法。所以resolveinstancemethod:的一般使用套路是:","的方法中返回值为","的方法为止。找到后以receiver去调用。当然整个查找的过程还是和消息发送的流程一样。","的方法也添加到","的方法会执行一个","的方法实现是不同的。一个是根据","的方法是如何存储的,我们再来看看","的方法,它会去调用","的早期版本叫做","的时候不需要解密了。","的时候会比","的时候放了一张很详细的图,从图上我们也可以看出,nsobject","的时候调用这个方法,所以你应该在需要更新","的时候(快捷键","的时候,代码无法运行了。","的时候,会将该记录从表中移除。","的时候,其实是访问了","的时候,我们提到","的时候,我们都必须手动调整","的时候,我们需要传一个obj","的时候,本质是在调用","的时候,第三方工具(fabric,","的时候,都会把一个","的时候:","的时机","的时间复杂度查找到某个节点。至于为什么就能够保证时间复杂度为","的显存共享物理内存,这样可以省去一些数据传输开销)。","的显示系统是由","的显示,将异步加载数据也放到并行逻辑了,这对有性能瓶颈的界面优化不失为一种方式","的替换速度。","的最大区别在于一个是只读的,一个是可读写的,实质上","的最开始是","的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。","的服务器远在美国,我们的服务器去查询延时相当严重,这是其二。","的服务注册方式,也是因为同样的原因。","的末尾。","的构建流程,以及两个典型的利用编译器来优化启动的方案,最后详细的讲解了","的构造方法","的析构器,如果有析构函数,则需要做析构逻辑,如果没有,则可以更快的释放对象。","的架构的","的某个时机回调,用于处理异步绘制事件。","的标志。","的栈","的栈中","的核心组件","的格式的","的概念,是希望","的模块化改造,也试过直接应用于新起项目。模块化方案经历过几次改版,踩过一些坑,也收获了很多宝贵的经验。","的模块数量比开发同学数量多很多,每个同学都同时维护着多个模块。有时一个项目,一个人需要同时在多个","的次数,从而优化启动时间:","的每个位置,对于每个位置,如果","的每个元素都不相同且包含原数组中的每个不同的元素,因此新的长度即为","的流程","的流程.","的消息转发机制","的渲染是在一个单独的进程","的渲染流程,肯定有错误和遗漏,仅供理解本文使用。","的渲染结果(包括其子","的源码去分析,可以通过","的父类为","的特点","的状态。","的状态,服务端处于","的环境下不做懒惰符号解析,来帮助第三方程序员及时发现符号缺失的问题。当然,由于","的生命周期也提出更高的要求,譬如:","的生态目前建设的也非常好,github","的生态走的更加成熟,也是为什么我们应该使用","的生成,链接期优化等工作。","的生成,链接期优化等等。","的的路径。然后","的目的是使线程在没有事情可做时进入休眠状态,避免","的相关方法,进而避免doesnotrecognizeselector:异常。","的真实地址写到","的离屏渲染。","的离屏渲染了,否则会同时存在两块内容相同的内存,而且","的空白内存,先把容器以及其所有子","的空间复杂度完成。","的符号","的符号上面","的第一次启动才会创建。闭包存储在沙盒的","的第一次启动,会创建启动闭包","的策略,也就是不经由容器来做剪切,而是预先使用","的签名信息,包括参数类型、返回值类型和长度等。runtim","的签字从而信任","的简写。","的简写,rw","的类","的类/方法名等信息","的类。通过进行位运算可以得到一个","的类名。","的类型。","的类实例化后的对象都会包含一个类型为","的类方法等信息,是因为启动闭包的缓存数据已经包含了","的线程即将进入休眠(sleep)。","的线程缓存,并返回对应的","的组合之上的,而且可能带有透明度,那么其实和","的组成结构如图所示包括了","的结构中,disguisedptr","的结构体。","的结构体,其中只含有一个","的结点为其双亲结点;","的结点为其右孩子结点。","的结点为其左孩子结点;","的结点有如下特性:","的缓存策略。内存清理策略:对象数量","的编号,则对完全二叉树中任意一个编号为","的编译设置里可以设置优化级别","的编译过程","的编译过程后,我们可以从以下角度来优化编译速度:","的编译过程,后端的处理如下","的耗时比想象的要多:","的能力。","的行为也将和","的衍生类就能实现大部分需求,还能充分利用硬件支持,图像处理交给","的表现就是","的解析。","的解释","的警告相关内容。本文篇幅限制,就不详细讲解了。","的设备是","的证书(含公钥),用以验证它所签发的证书。","的试题欢迎补充~","的读写安全,也使用了","的调用,如果不想调用怎么办?没怎么办,只要确保","的调试,我们会发现右边的那一组确实是离屏渲染了。","的负载","的负载,让他们尽量做各自最擅长的工作。","的质量。经过讨论后,决定把资源分为三类:","的资源消耗要小得多。","的路径","的软件绘制。在实现calayerdeleg","的软件绘制完成,还需要通过","的过程就是把指针从","的过程:","的运行时数据(class/method**…)解析非常**慢。","的返回值(nsinvocation#setreturnvalue:)的类型和长度一致即可。","的这个方法:","的这个机制:所有针对","的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。","的连接的拆除需要发送四个包,因此称为四次挥手(four","的选项,帮助我们查看缓存的使用是否符合预期","的透明度、为视图添加一个动画;这些操作最终都会被","的递归互斥的锁","的速度展示动画,就是说每个更新周期只需要","的那三种被忽略的情况,则改视图返回nil。","的重写源码里试图还原真实的","的重新绘制,因此一旦存在离屏渲染,上面提到的上下文切换就会每秒发生","的重要原因。","的锁","的错误","的长度为","的长度大于","的问题","的问题。而且路由","的问题进行具体解决。","的问题都罗列解决了一下,如果还有其他常见的","的队列,而nsoperationqueue可以调整队列的执行顺序(通过调整权重)。nsoperationqueue可以方便的管理并发、nsoperation之间的优先级。","的陷阱;swift","的集合,它是不能有重复元素的,而判断是否重复毫无疑问是使用","的集成也不再需要我们直接使用命令行来进行操作(作者还是倾向于使用命令行),这些都帮助","的页面优化。","的预加载并没有太多可参考的案例,不过对于某些场景优化还是有指导意义。在本文开始时提到的严选商品详情页里领取津贴是弹窗,常规情况下弹出是比较慢的,经过讨论后,我们决定对津贴弹窗做两个优化","的额外开销,那么可能就会导致","的高级api(比如自动排版,","的默认动态链接器,在未来也会被用于第三方","的,dmdynamiccolorproxi","的,dmdynamicimageproxi","的,但现在就必须依赖了。但考虑到实际情况,还没有不依赖","的,即启动的时候会把","的,它就丢失了","的,所以在","的,所以在+load","的,这也是预加载的关键。","的:","监听","监听了主线程","监听队列组执行完毕","监听,回调的时机是","监控nsoperation对象的属性:可以通过kvo来监听nsoperation的属性:可以通过iscancelled属性来判断任务是否已取消;通过isfinished属性来判断任务是否已经完成。","监控的","监视了两个事件:","监视的事件是","盖住四个角,从视觉上制造圆角的效果","目前ios端比较常见的视频缓存的实现方式主要有两种:","目前天猫和蘑菇街都有使用路由","目前的","目录下看到对应的","目录,清理缓存的时候切记不要清理这个目录。","目标对象类型","目标文件","目标文件和静态库","目标文件和静态库/动态库一起,链接出最后的","目标是严选商城的","直到处理完该事件,如果该事件含有异步操作,runloop","直到找到点击区域内,且处于最上方的视图,将视图逐步返回给uiapplication。","直接基于系统的","直接将全部的类加载到内存中,肯定最先输出;","直接本文件搜索","直接消息传递:","直接点击","直接点击跳转到","直接访问省掉了一次","直接请求","直接返回全新创建的对象,同时也预热一个相同类的对象,供下次使用。","相互等待,造成死锁","相信大家也注意到上图红框中的写入路径(路径较长截图中未能完全显示),查看完整输出如下:","相关例子,可以参考","相关框架","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,上面的问题以及解答已经把比较常见的","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,本文把比较常见的","相关考点","相关考点(article文件夹有收藏)","相关链接","相关面试题","相同的","相同的一个uiviewcontrol","相对于被观察者和观察者之间的关系,kvo是一对一的,nsnotificatiocenter是一对多的","相对空闲(gpu","相当于","相比","相比之下,预加载方式提前","相比组件(component),个人感觉称之为模块(module)更为合适。组件强调物理拆分,以便复用;模块强调逻辑拆分,以便解耦。而且如果用过","相绑定。block","相较于","看一下苹果官方文档","看下ktvhcdatanetworksource:","看下这个方法的内部实现:","看函数调用栈","看到ktvhcdatasourcemanager的初始化过程,","看到如下","看得出来,还是进行了捕获,在图中标明的黄色框框,就很好理解了,block最终访问clperson的成员变量_age的时候,是通过self","看看什么时候被赋的值","看看其在什么时候被调用的","看看这个代码块的实现:","真机","真机上通常是","真正实例化主程序是用","知乎","知识小集推荐","知识点","确定最终查找时使用的","确定用于下载的实例对象。默认的","确定用于查找缓存的实例对象。默认的","确定缓存查找的范围。默认为","确实出现在了一部分","确认丢失","确认报文段ack=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ack报文段可以携带数据,不携带数据则不消耗序号。","确认迟到","磁盘缓存","示例","示例代码:","社区也在考虑使用更加复杂的哈希算法来替代","离屏渲染","离屏渲染。","离屏渲染会创建新的渲染缓冲区,导致内存上的开销,有多通道渲染管线,最终要把多通道的渲染结果进行合成,所有会有上下文的切换,就有","离屏渲染发生在gpu层面上,因为离屏渲染使gpu触发opengl多通道渲染管线,产生额外开销,所以要避免。","离屏渲染是在哪一步进行的?为什么?","离屏渲染是基于gpu层面上的,指gpu在当前屏幕缓冲区外开辟了一个缓冲区,进行渲染操作。","离屏渲染牵涉了很多","离屏渲染的定义","离屏渲染的开销主要在与","离屏渲染的性能影响","离屏渲染缓存有空间上限,最多不超过屏幕总像素的","离屏渲染:离屏绘制发生在基于cpu或者是gpu的渲染,或者是为离屏图","离开a_view","离开c_view","离开d_view","离开e_view","种选择:生成","秒。这个更新的过程很快,所以用户在和应用交互时感觉不到","移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”。有赞移动团队通过过往","移动端图片格式调研","移除时","移除观察者","程序中使用的","程序代码区:存放函数体的二进制代码。","程序可控的。","程序启动会默认开启一条线程,这条线程被成为主线程或ui线程","程序员只需要告诉","程序员管理","程序执行从_dyld_star开始","程序整个运行期间都存在","程序的渲染结果通常保存在后帧缓存(back","程序结束后由系统释放。","程序设计更加复杂,比如线程间的通信、多线程的数据共享","程序需要等到下次才会通过","程序,这个","稳定性等方面不断探索,努力为全球数亿用户提供最极致的基础体验。","究其根本原因就是weakself之后,无法控制什么时候会被释放,为了保证在block内不会被释放,需要添加_strong。","空转。","空间复杂度:o(1)","空间复杂度:o(1)。只需要使用常数的额外空间。","窗口(线程)只负责为排队的人办理业务,并不会管队伍(队列)是怎么排的","窥探其底层结构","立即重新布局视图(下一个runloop)","章节中所讲的共享缓存绑定的过程","端动态拉取放在本地缓存中。","端口。自定义输入源监视自定义事件源。基于端口的源由内核自动发出信号,自定义源必须从另一个线程手动发出信号。","符号化","符号的地址","符号表","符号表文件","符的重载定义中,会返回这个","第15讲","第一个","第一个observer监听的是entry(即将进入loop),回调是在_objc_autoreleasepoolpush()中创建自动释放池的,优先级是最高的,保证创建释放池是在所有回调之前。","第一个参数是优先级枚举值,默认优先级为dispatch_queue_priority_default=0","第一响应者未处理的事件,将会在响应者链中进行传递,传递规则由uiresponder的nextresponder决定,可以通过重写该属性来决定传递规则。当一个事件到来时,第一响应者没有接收消息,则顺着响应者链向后传递。","第一方面,app","第一次加完锁之后还没出锁就进行递归调用","第一次挥手:客户端发送一个","第一次握手:客户端发送网络包,服务端收到了。","第一次握手:客户端给服务端发一个","第一次结束——{number","第一步,根据validoperationkey","第一步:我们的","第一步:用户开始购买,首先会去我们自己的服务器创建一个交易订单,返回给","第一篇:[ios]","第七步:我们自己的服务器拿到这个收据对应的已付款的订单号以后,就去校验当前的已付款订单中是否有要查询的那一笔,如果有,就告诉","第七步:支付成功,支付宝服务器回调支付宝","第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给","第三次握手:客户端发包,服务端收到了。","第三次握手:客户端收到","第三步情况均不满足(即链表不存在——对象对于全部线程来说是第一次加锁)就会创建syncdata并存在result里,方便下次进行存储","第三步:app","第三步:iap","第三篇:[ios]","第九步:支付宝服务器会回调我们的服务器并把收据传给我们服务器,如果我们的服务器没有确认已经收到支付宝的收据信息,那么支付宝服务器就会一直回调我们的服务器,只是回调时间间隔会越来越久。","第二个","第二个observer监听有两个事件:beforewaiting(进入休眠)时调用_objc_autoreleasepoolpop和_objc_autoreleasepoolpush释放旧的释放池以及创建新的释放池;exit(退出loop)调用_objc_autoreleasepoolpop来释放自动释放池。这个优先级是最低的,保证释放池发生在所有回调之后调用。","第二方面,坑开发人员。下面开始数坑。","第二次加锁就堵塞了线程(因为不会查询缓存)","第二次挥手:服务端收到","第二次握手:服务器收到客户端的","第二次握手:服务端发包,客户端收到了。","第二次结束——{number","第二步:app","第二步:服务器创建好交易信息以后,返回给","第二篇:[ios]","第五步:此时,app","第五步:验证通过以后,我们的","第八步:app","第八步:支付宝回到我们自己的","第六步:在支付宝","第六步:服务器拿到收据以后,就应该去","第十步:我们的服务器收到支付宝的回调,并回调支付宝,确认已经收到收据信息,此时早餐买完了。","第四次挥手:客户端收到","第四步:iap","第四步:验证通过以后,支付宝服务器会告诉支付宝","等","等)","等)合成一个大的文件,提高加载性能的缓存文件。","等)是单独编译的,输出对应的目标文件(.o)","等。通常事件比如","等于说要在传输层的上一层(或者直接在应用层)实现tcp协议的可靠数据传输机制,比如使用udp数据包+序列号,udp数据包+时间戳等方","等价。它会检查","等优化方式无法从全局层面解决这些问题。后来在","等元数据,对大型工程来说,这部分耗时会很长","等全局类和","等同于","等基础概念,接下来介绍了","等外部函数,只有运行时才知道它的地址是什么,bind","等库每个应用都会通过","等待。。。","等待信号量","等待内核mach_msg事件","等待验证结果.","等成员变量。","等操作。","等新的协议来提供uitableview\\uicollectionview","等服务商提供个人版和企业版的","等机制多次触发相关流程。","等机制通知","等架构的支持,并且增加了","等标志位。其中","等特殊配置,基本没有任何业务代码。common","等生成不同的机器码。","等等","等等。","等等也可能会触发离屏渲染,原理也都是类似:如果你无法仅仅使用","等等)。","等等)保存在一块内存中,这样一来在下一帧仍然可以被复用,而不会再次触发离屏渲染。有几个需要注意的点:","等等,前面不是刚说osspinlock因为安全问题被废弃了吗,但是苹果源码怎么还在使用呢?其实点进去就会发现用os_unfair_lock替代了osspinlock(ios10之后替换)","等等,是一些二进制文件。","等等,记得只开启","等系统库就不提供完整的","等都有较高的效率,非常实用。","等链接期间的优化是基于符号的,如果把符号裁剪掉,那么这些优化也就不会生效了。","答案出现!!!","答案是为了解决在同一时间,多个请求同时下载一张图片的时候,对该图片请求只下载一次。也就是请求只发送一次,而请求有结果的时候根据存储的多个返回block","答案是和产品形态有关系,打开频次越高,热启动比例就越高。","答案:可以被预加载,除了本文尝试的多个navig","答案:大概率地发生crash。","答:","策略也不再被需要。这时,如果有符号缺失的情况,app","签名","签名,防篡改","简书","简介","简化问题:假设我们只有两个","简单举个例子:一个app在前台静止着,此时,用户用手指点击了一下app界面,那么过程就是下面这样的:","简单很多,因为它是一个内存映射文件,解析和验证都非常简单,并且经过了良好的性能优化。所以","简单易用,可直接操作线程对象","简单来讲,要使用udp来构建可靠的面向连接的数据传输,就要实现类似于tcp协议的","简单来说就是:","简单来说,opengl","简单的编译过程如图","简悦","简答","简述tcp的三次握手过程","算法","算法是一种通过减少数据包的方式提高","算法确实能够在数据包较小时提高网络带宽的利用率并减少","算法,用作存储","算法:","管理并在","管理的三方库是否需要更新","管理的绘制任务)之后做异步绘制的事情,这也是作者对优先级的权衡考虑。","篇幅限制,本文只关注","类","类中的属性、方法还有遵循的协议等信息都保存在","类似","类似。","类似于","类似的,我可以将模块间通讯也封装到一个","类列表","类别是运行时装载到类中的,当类realizeclass之后它的instancesize就已经确定无法修改了,这些操作都是在load之前,main函数之前","类名","类名称","类和元类的继承","类型","类型属性","类型指针。","类型指针,我们会在下文详细介绍。","类型指针,是根据特定规则生成的方法的唯一标识。需要注意的是,只要方法名相同,生成的","类型的","类型的指针。","类型的结构体,其中的","类型结构体对象作为","类型,应该填","类对象和元类对象分别是什么,他们之间有什么区别?","类对象或是元类对象都是objc_class数据结构的,objc_class由于继承自objc_object,所以他们都有isa指针,所有实例可以找到类,类可以找到元类","类开始找","类或者","类方法","类方法的实现又是如何查找并且调用的呢?这时,就需要引入元类来保证无论是类还是对象都能通过相同的机制查找方法的实现。","类方法调用时,通过类的","类方法:","类是一个计数的类,是为了记录最新的布局请求标识,便于及时的放弃多余的绘制逻辑以减少开销。","类是事务类,捕获主线程","类用super_class指针指向了父类,同样的,元类用super_class指向类的super_class的元类。","类的load方法中,能调用分类的方法。","类的基础信息,包含了类的方法列表,协议列表等。","类的成员变量","类的方法、属性以及协议在编译期间存放到了“错误”的位置,直到","类的方法列表","类的理解与方法的调用","类的结构和定义","类第一次加载进内存的时候,会调用","类第一次接收到消息的时候,会调用该方法,需导入,并使用","类结构里面,有个properti","类继承自","类自己了,由于他内部没有实现","类重写了","类默认的","类(class)而言的。实例是指类的声明;由此推理,实例变量(inst","类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(design","类,","类,dylib","类:","粘包和分包问题","粘包并不是","精准统计启动时间","系统下,进程申请内存并不是直接物理内存给我们运行,而是只标记当前进程拥有该段内存,当真正使用这段段内存时才会分配,此时的内存是虚拟内存。","系统中","系统为程序启动做好准备","系统事件捕捉","系统事件的捕捉,先触发是source1,接着分发到source0去处理。","系统会在","系统会调用另外一个与resolveinstancemethod:类似的方法resolveclassmethod:。","系统会问它:可否把这条消息转给其他对象处理?该步骤对应的处理方法是forwardingtargetforselector:,定义于中:","系统内核会开启一个进程","系统响应阶段","系统对tag","系统将控制权交给","系统就可以将此方法缓存起来,进而提高效率。若想在第三步里把消息转发给备援的","系统层面,io","系统怎么移除一个","系统根据","系统版本以下","系统的动态链接器,","系统的桌面程序。springboard收到mach","系统类型","系统绘制流程","系统绘制的流程","系统绘制:","系统缓存图目录读写权限:","系统自动分配和销毁内存,用于存放函数内生成的局部变量","系统调用,需要使用到一些操作系统以及一些底层内核指令或者api","系统通过","系统通过3bit的标记位来标识tag","系统通过iokit.framework来处理硬件操作,其中屏幕处理也通过iokit完成","系统默认注册了5个mode:","约束:","级关系中有太多的图层,就会导致cpu没一帧的渲染,即使这些事情不是你的应用","纹理渲染。避免离屏渲染","纹理的概念:纹理是一个用来保存图像的颜色元􏰈值的","纹理,就必须要用cpu在图层每次显示之前对图片预处理,同样也会降低性能。","线对list进行查找,没找到,将当前的obj插入到最前面,也是为了更快的找到当前使用的对象而这么设计。","线程1中加锁1、同时线程2中加锁2","线程:","线程{number","线程上的任务执行完成后,线程会自动销毁","线程与进程","线程和","线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,runloop","线程是处理器调度的基本单位,但进程不是","线程是进程的基本执行单元,一个进程的所有任务都在线程中执行","线程池中超过corepoolsize树木的空闲线程的最大存活时间","线程池的基本大小(核心线程池大小)","线程池的最大大小","线程生命周期","线程的区别:","线程的执行速率","线程第一个申请锁,却在","线程调度过于频繁,影响交互性能。","线程越多,cpu在调用线程上的开销就越大","组件化(模块化)架构设计实践","组件的绘制是在主线程进行,需要","组件都会把相应的视图标记为“dirty”,通过设置视图“内部更新标记”,在下一次","组件(比如图片库,网络库),本文讨论的是业务模块","组件(比如订单模块,商品模块)相关的架构设计。","组成的,并且每一个","组透明度","细数ios中的那些锁","细节优化","终点:第一个ca::transaction::commit()","经历了初期的功能快速迭代,内部依赖混乱,耦合严重,急需优化重构。传统的","经历了整个方案从调研到开发完成,以及多机型多系统的测试,我们对缓存启动图在不同系统版本上的表现差异性做了个简单归纳:","经常使用","经测试,这里因为单例造成的内存占用以及","经过一系列的初始化函数最终调用notifsingle函数。","经过一系列的测试,我们排除了人为因素、编译问题等可能出现问题的点,最终认定是系统问题导致。","经过一系列调用,最终调用了c函数calloc,此时并没有设置引用计数为1","经过以上优化改造,基本解决了","经过以上步骤","经过深度调研及不断地分析测试,我们终于得出一个可行方案,那就是替换系统生成的缓存启动图。","经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个","经过讨论,当时选择参考网络层封装方式,在每个模块中设计一个对外的","绑定(bind)","绑定和变基:由于","绑定的过程就是我们上述","绑定,比如在","结合函数调用栈","结合阅读","结束下载。","结构","结构体","结构体.","结构体lgstruct1,通过内存对齐规则计算过程如下:","结构体lgstruct2,通过内存对齐规则计算过程如下:","结构体lgstruct3,通过内存对齐规则计算过程如下:","结构体中只有一个","结构体中查找对应方法的实现。同时,每一个","结构体中的注释写到","结构体作为成员:如果⼀个结构⾥有某些结构体成员,则结构体成员要从其内部最⼤元素⼤⼩的整数倍地址开始存储。(struct","结构体保存,定义如下:","结构体内的a变量存放的是外部变量a的值","结构体就是","结构体的定义如下","结构体的指针。","结构体的指针,它指向当前类的","结构体类型__block_byref_a_0","结构体,其定义如下:","结构体,并根据其","结构体,是利用","结构图(注意下图的","结构调整","结构,所以需要使用变量来记录数目。","结构,此结构定义如下:","结果如下:","结果是block中打印出的a是10,我们在block外部对age的修改结果并没有对block的内部打印产生影响","结果:","结点拥有的子树数目称为结点的度。","结点的左右子树本身又是一颗二叉查找树","结点的度","结论","结论:","结论:dispatch_barrier_async可以控制队列中任务的执行顺序,而dispatch_barrier_sync不仅阻塞了队列的执行,也阻塞了线程的执行(尽量少用)","结论:由于串行队列异步执行任务是一个接一个执行完毕的,所以使用栅栏函数没意义","结论:由于并发队列异步执行任务是乱序执行完毕的,所以使用栅栏函数可以很好的控制队列内任务执行的顺序","绕了这么大一圈,你可能会问,为什么一上来要调用sd_cancelimageloadoperationwithkey:这个方法?通过上面的源码分析sdwebimage这样设计是为了解决tableviewcell复用时,如果被复用的cell的imageview请求的图片没有回调时展示图片错乱的问题。原理就是如果被复用的cell的imageview之前请求的图片还没有回调,而此时需要请求新的图片,那么就取消掉之前的请求operation,并从operationdictionary中移除掉。然后去加载需要加载的新图片。如果说,之前的图片请求在这之后回调回来的话,会判断之前请求的operation是否存在,以及operation的iscancel属性,如果不存在或者iscancel=yes的话,就不会回调到ui界面。也就是如下代码逻辑:","绘制","绘制string(字符串);","绘制到一块缓存,然后在接下来复用这个结果,这样就不需要每次都重新绘制整个","绘制渲染机制","绘制的","绘制的工作,如果要绘制的元素过多,过于频繁,就会造成卡顿。","绘制等视图属性,不包括其本身和子视图的大小和位置。和布局的方法类似,显示也有触发更新的方法,它们由系统在检测到更新时被自动调用,或者我们可以手动调用直接刷新。","绘图(draw)","给","给imageview添加背景色,启动时正常显示imageview的背景色,但图片内容未显示,故排除了布局问题;","给你一个有序数组","给你提供了用来通知系统某个","给卸载了,以后要怎么恢复那些没有被验证的订单?","给图片加上圆角(将图片中圆角以外的部分渲染成透明)。整个过程全部是由","给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。","绝大多数情况下,得益于","统跳方案","统跳方案的优势是动态性及多端统一","统跳路由是页面解耦的最常见方式,大量应用于前端页面。通过把一个","继承于","继承子","继承自","继续","继续向左访问,第一次访问结点b,故输出b;","继续往","继续访问至i,i左右子树均为空,故第三次访问i时,输出i;","继续阅读","维护了一个","缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。","缓冲区被分配用于管理文件io和解压缩操作。","缓存启动图的文件名具有规则,但其规则我们不得而知。","缓存指针、方法入口等,用于提高效率。bit","缓存数据","缓存数据(buffer","缓存查询","缓存查询结束后。","缓存结果","缓存路径:","缓存,从而提高访问效率。","缓存,则不会调用","缓存,可以简单理解为一个单位。","缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名","编码打包给","编码的数据),并将收据信息上传给服务器。","编码(返回值类型,参数类型)","编译","编译之后,底层结构是","编译产物","编译代码","编译信息写入辅助文件(如entitlements.plist),创建编译后的文件架构","编译信息写入辅助文件,创建编译后的文件架构","编译前脚本","编译各个.","编译器优化","编译器会将__block变量包装成一个结构体__block_byref_age_0,结构体内部*__forwarding是指向自身的指针,内部还存储着外部auto变量的值","编译器会把@autoreleasepool{}改写成:","编译器修饰符","编译器前端","编译器前端的任务是进行:语法分析,语义分析,生成中间代码","编译器可以分为两大部分:前端和后端,二者以","编译器后端","编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。io","编译器在生成","编译器在生成二进制代码的时候,默认按照链接的","编译器的作用是把我们的高级语言转换成机器可以识别的机器码,经典的设计结构如下:","编译器的概述","编译器选项优化","编译器:它处理了所有可能影响启动速度的","编译完","编译完了之后,这个函数会在二进制中的","编译文件","编译时","编译时决议,categori","编译生成","编译结果显示block对self进行了捕获。but","编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","编译过程","编译过程分为四个步骤:","编译过程梳理","编译过程的原理和应用","编译隔离的思考","编译顺序就会根据这个顺序来","编译(compliling):把前面生成的","缩小。","缩短超时(syn","缺少服务管理,ctmediat","缺点","缺点是能处理的交互场景偏简单。所以一般更适用于简单","网络","网络数据的传输都会触发sourse1。","罢了。","置空,但这解决不了启动图不更新或无法渲染问题。","考虑到实现的灵活性,提供路由服务的页面,会将","而","而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&fast_data_mask操作","而kvo和nsnotificatiocenter都是ios观察者模式的一种实现,两者的区别在于:","而osspinlock忙等的机制就可能造成高优先级一直running等待,占用cpu时间片;而低优先级任务无法抢占时间片,变成迟迟完不成,不释放锁的情况","而不是","而且对于内存而言,尺寸越小内存占用越少,理论上","而且栈上的block从未被我们利用过。","而且由于执行中只调用一部分代码,运行起来也不需要额外的内存。","而串行队列中只有一个线程,","而在上面","而对于局部静态变量(static),c语法下static会改变所修饰的局部变量的生命周期,使其在","而对于用户主动弹出的弹窗,如用户在详情页点击","而对应的","而对应的物理内存却不存在时,会触发一次缺页中断(page","而当方法","而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。","而是需要先暂存到另外的区域进行处理,","而最终的用户界面需要等待网络返回真实数据后重新渲染,在此期间,显示静态的等待界面。所以在需要被缓存的","而没有生效","而言,预初始化","而这些配置信息都存储在这个文件","而针对","耗时,有没有什么办法优化呢?","背后的设计哲学为它带来了怎样与众不同的功能,而我们今天在介绍","背景色不是透明,","能否添加成员变量,如果可以,如何添加?","能够作为","能够在哪些场景下发挥出","能对","能扩充一个类的方法。这是开发时经常需要使用到。","能找到备援对象,则将其返回,当然,备援对象必须能够响应","能适当提高程序的执行效率","能适当提高资源的利用率(cpu、内存)","脚本","脚本化编译打包对于","脚本编译打包","脚本,将在编译项目前已编译好的依赖库和相关资源拷贝到包中。","自从osspinlock出现了安全问题之后就废弃了。自旋锁之所以不安全,是因为自旋锁由于获取锁时,线程会一直处于忙等待状态,造成了任务的优先级反转","自动刷新触发器","自动化下载生成即可,改造成本非常小。","自动变量(auto变量),那么它的类型即为__nsglobalblock__,它会被存储在应用程序的","自动变量(auto变量),那么它的类型即为__nsstaticblock__,它会被存储在应用程序的","自动变量(auto),block通过值拷贝方式捕获,在其内部创建一个同类型变量,并且将自动变量的值拷贝给block的内部变量,block代码块执行的时候,直接访问它的这个内部变量。","自动管理","自动释放池中的","自动释放池中的栈","自己在早期推广","自己的","自带的analysis功能分析,找出初始化过程中可能存在的漏洞","自带的工具otool打印mach","自建dns更新时机可以控制。","自旋锁","自旋锁的线程则会一直处于等待状态(忙等待)不会进入休眠——因此效率高","自旋锁,而且是","自旋锁:线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏,","自然我们会认为,因为","自行创建弱引用表","自身调用,由于他自己没有实现","至","至于该类的实际作用后文会解释。","至少需要一块与屏幕像素数据量一样大的","至此","节","节中.","节点是数据结构中的基础,是构成复杂数据结构的基本组成单位。","节点概念","节点的度:结点拥有的子树数目称为结点的度,叶子结点","节的地址是","若","若命中,且","若已满时,且maximumpoolsize>corepoolsize,将创建新的线程来执行任务","若当前","若未命中,或者","若没满就将任务push进队列","若用户未开启系统旋转锁定,且横置手机启动应用,这会使得应用启动时显示横屏方向的启动图,而部分应用并未考虑适配横屏场景启动图,从而可能导致该场景下启动图拉伸或压缩等显示异常,比如在","若程序员不释放,程序结束时可能由os回收","若线程池大小大于等于核心线程池大小时","若线程池大小小于核心线程池大小时","苹果公司提出的一种程序代码。能同时适用多种架构的二进制文件","苹果创建用来接受系统发出事件,当手机发生一个触摸,摇晃或锁屏等系统,这时候系统会发送一个事件到app进程(进程通信),这也就是为什么叫基于port传递source1的原因;","苹果官方文档","苹果官方文章","苹果官方视频","苹果将metal作为新的渲染引擎,更好的利用了gpu的性能,同时保证了低内存占用和省电,但我个人并没有深入研究metal,这里可以有兴趣的同学可以看一下落影前辈的文章:","苹果将这些系统库放在了一个地方","苹果曾在","苹果注册了一个","苹果注册了一个observer监听beforewaiting(即将进入休眠)","获取","获取sidet","获取主队列","获取事件源数据","获取全局队列","获取关联的对象函数","获取图片二进制数据","获取对应","获取服务器","获取某一个分类","获取源事件数据","获取程序架构","获取该线程下的synccach","获取资源acquire:lockcount++并根据key值存入被锁次数","获取锁的顺序和申请的顺序无关,即可能","获得主线程的runloop对象","获得当前线程的runloop对象","获得新值和旧值的锁存位置(用地址作为唯一标示)","获得新对象的","获得锁之后","萧玉大佬在其《关于","落影loyinglin的文章ios开发","著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。","虚拟内存","虚拟内存是作为","虚拟地址","虽然","虽然二叉树的遍历过程看似繁琐,但是由于二叉树是一种递归定义的结构,故采用递归方式遍历二叉树的代码十分简单。","虽然分布式的版本控制系统能够为我们带来各种各样的好处,但是这并不是说集中式的系统就不能用,正相反在一些代码需要严格控制的项目中,集中式的版本控制系统却能更好的工作,这是因为企业或者项目在做决策时认为『代码需要非常严格的控制』,由此带来的效率降低等问题是可以接受的,所以这其实是对开发效率与权限审核的权衡。","虽然可以一层一层往画布上进行输出,但是无法在某一层渲染完成之后,再回过头来擦除","虽然在实现上所有的节点都是等同的,但是在实际操作中我们还可能会有一个或者多个主仓库帮助多个开发者同步代码,各个节点之间的关系更像一个可以分叉的树形结构,与中心化的版本控制系统相比,通过分布式的模型:","虽然平衡树解决了二叉查找树退化为近似链表的缺点,能够把查找时间控制在","虽然我们不能看到苹果内部是如何实现的,但是苹果官方也提供了我们可以参考的对象,也就是vsync信号和cadisplaylink对象。","虽然我们能在中心仓库中创建分支,但是由于中心仓库中不存在名空间,如果开发者创建分支没有遵循特定的命名规则,就非常容易出现命名冲突的问题,例如各种","虽然是编译器警告,实际上","虽然说这两个版本控制系统有很多等价的功能,但是从两者不同的地方我们就能看到它们在设计上的不同抉择,例如:svn","行","行,前后却花了一周,主要是为了解决下面这个","补充:","补充介绍","表","表。因为散列表检索起来更快,","表。在","表中删除","表的结构与作用。","表示","表示read","表示x的值为假的可能性更大","表示x的值为真的可能性更大","表示了一个autoreleasepoolpage节点开始存autorelease对象的位置。","表示代码段中的代码内容。","被","被分割成很多个","被初始化在内存的","被初始化好的","被加载完毕之后,才弹出遮罩,显示被加载好的","被加载的整个流程","被唤醒,app","被引用对象的","被引用对象的内存地址作为","被添加到","被添加到当前工作的","被添加到活动","被添加链接标志符中","被调用","被预加载的","被预热的","裁切","裁剪","裁剪完二进制后,会和编译好的资源文件一起打包成.","装载于","西之前都会产生一个巨大的性能开销。为了支持对图层内容的任意绘制,core","要么保证左右子树的高度之差不大于","要么至死也没能找到能够响应的对象,最终释放。","要低。当","要再造个轮子呢?主要有三个原因:一是我们开始尝试模块化改造时,业界还没有相关框架开源出来,所以需要自己实现。二是我们的需求和业界的开源库不完全相符。mgjrouter","要声明一下的是","要多两个","要求讲到进程间通信?出处","要注意的有两点:","要点","要特别提一下","要由cpu做这些事情。这里cpu涉及的工作和图层个数成正比,所以如果在你的层","要的数据的内存移值。","要结束时统一执行,runloop","要访问的图片文件通过系统调用","要首先获取","视图加载","视图懒加载","视图混合。减少视图层级的复杂性,减少透明视图;不透明的opaque设置为y","视图渲染与性能优化","视图渲染优化&卡顿优化","视图的alpha小于等于","视图的hidden等于","视图的userinteractionenabled为","视频缓存ktvhttpcache原理和实现","觉得不平衡了,我左孩子一个都没有,右边都有俩了,超过了之前说的最大为","解决","解决:","解决方案使用异步绘制就是:","解决方案,而该方案采用了模板类,是拥有泛型性的。","解决方案:","解决方法:","解决的问题","解决:","解压图片","解密runloop","解析","解析动态库的依赖关系","解析器","解析器。而启动闭包又比","解析过程,所以从根本避免了劫持问题。","解析过程,通过智能算法排序后找到最快节点进行访问。","解码图片;","解码是一个计算量较大的任务,且需要cpu来执行;并且解码出来的图片体积与图片的宽高有关系,而与图片原来的体积无关。","解读","解释:","解释:函数应该返回新的长度","解锁","解锁1等待解锁2","解锁2等待解锁1","触发","触发的三个回调介绍完毕,简单总结一下。","触发的时候恰巧","触发磁盘","触摸事件处理","触摸事件处理、[performselector:","触摸事件处理;","警告","警告。","警告处理","警告来提高代码质量","计算","让","让self.target成为消息的receiv","让每一个类的","让进程中的需要执行的动态链接操作尽可能少:这样可以减少","记一次腾讯面试:有了二叉查找树、平衡树(avl)为啥还需要红黑树?","记录","记录地址,不存在向本地运营商询问","记录并存储对应引用表","记录插入动态库的数量","讲","讲解及使用","设备scale为","设备scale都是","设备是双缓存+垂直同步);在读取经","设备显示器每绘制完一帧画面,复位时就会发送一个","设数组为a[0…n]。","设置","设置上下文信息","设置为dispatch_time_forever则会阻塞当前调度组,直到调度组执行完毕","设置为dispatch_time_now意味着不等待直接判定调度组是否执行完毕","设置事件源数据","设置关联对象为nil,就相当于是移除关联对象","设置关联对象函数","设置占位图。","设置好上下文","设置指针(set","设置数据源回调","设置源事件回调","设置的时候,记录","设置的环境变量方便我们打印出更多的信息。","设置等待时间(成功为0)","设置结构体","设置背景色","设计","设计上的坑","设计模式","访问图像数据,创建cgimageref。","访问效率","证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循x.509国际标准。","识别可以被缓存的部分:符号查找就是其中一个,因为在一个特定的库中,除非软件更新或者这个库被改变,不然每个符号都应该有固定的偏移量。","识别安全性敏感的组件:解析","词法分析:预处理完成后进入词法分析,将输入的代码转化为一系列符合特定语言的词法单元(token","试想如果是用两次握手,则会出现下面这种情况:","诞生的,为每个进程提供了一片连续完整的虚拟内存空间,使用时先通过界限寄存器判断访问是否越界,再通过基址寄存器转换为实际内存地址。降低了内存管理的复杂度,保护每个进程的内存地址空间不会被其它进程破坏,并且实现了","该函数是加载","该方法主要作用是将旧对象在","该方法的参数就是那个","该框架中,作者使用和处理器核心相同数量的串行队列来轮询处理异步任务,有效的减少了线程调度操作。","该流程主要步骤如下","该类非常简单:","该过程用来更新弱引用指针的指向","该长度范围内","详细保存着加载指令的内容","详细回顾下整个启动过程,以及各个阶段耗时的影响因素:","详细触摸事件","详见","语句只能被用在","语法分析","语法分析:将词法分析得到的","语法支持,能对","语法结构","语法,也就是说它抛弃了旧时期的接口。dyld","语言","语言字符串","语言家族的前端是","语言,并且提供了非常多强大的函数","说了这么多,相信应该清楚为什么要调用sd_cancelimageloadoperationwithkey:方法了,我们接着回到sd_internalsetimagewithurl:方法中,cancel之后就会清掉当前imageview上次下载的图片:","说明","说明:","说白了就是通过一个随机值","说的更拗口一点就是,根元类把它自己的基类设置成了super_class。","请","请求一个异步绘制的任务。在异步绘制时,layer","请求一完成","请求二完成","请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。","读uiimag","读uistoryboard","读人数据。","读入物理内存,为了打印字符串,要访问__cstring,还会触发一次","读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少","读写权限","读写锁","读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的cpu数","读写锁更多使用栅栏函数来实现","读取macho文件信息,设置虚拟地址偏移量,用于重定向。","读懂「","读操作","读者写者互斥","读者读者并发","谁先会被加载","调度组要注意搭配使用,必须先进组再出组,缺一不可","调用","调用[calay","调用addsubview:方法","调用class_addmethod为该类添加一个处理aselector的方法,譬如:","调用dyld::_main方法进入macho文件的主程序。","调用gethostinfo()来获取macho头部获取当前运行架构的信息。","调用layoutsubviews方法","调用performselector:onthread:withobject:waituntildone:方法;","调用。当然,也有直接触发","调用一个方法时具体做了什么?","调用一次initialize,输出第一个","调用了","调用了上层业务模块的功能,形成了底层","调用到","调用子类的","调用子类的+load之前会先调用父类的+load","调用子类的load之前,会先调用父类的load","调用所有的","调用方式也不一样,load","调用方法时,只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用,是去父类找实现,sup","调用方法是从该类的方法列表当中找对应方法调用,如果没有就从父类当中找;而","调用方法,获取到被点击的视图,也就是第一响应者。","调用时","调用时刻,load","调用时刻,load是runtime加载类、分类的时候调用(只会调用一次)","调用时机","调用时,就会向自动释放池中的对象发送","调用父类的initialize,","调用的时候,要先实现自己父类的","调用的时候,都会先调用父类对应的","调用的最省资源的方法就是在你的视图上调用","调用的机制,这些触发机制比直接调用","调用都可以看成","调用顺序","调用顺序:","调用,而是找到","调试的","貌似和系统的","贝聊","负责。","负责将语法树自顶向下遍历翻译成","负责测试服务器。这样我们就不用每次切换测试服务器都要修改代码了。","负责获取输入的业务数据,","负责调度可调度线程池中线程的执行。线程执行完成之前,状态可能会在就绪和运行之间来回切换。就绪和运行之间的状态变化由cpu负责,程序员不能干预。","负责链接","购买操作后的回调.","资源","资源。当然,这种场景主要是出现在列表界面快速滚动时,由于视图的复用机制,导致重新绘制的请求非常频繁。","资源拥有:同一进程内的线程共享本进程的资源如内存、i/o、cpu等,但是进程之间的资源是独立的","资源文件如","资源浪费,甚至阻塞线程并造成后续的绘制任务迟迟无法完成。我的做法是尽量快速、提前判断当前绘制任务是否已经被取消;在绘制每一行文本前,我都会调用","资源的。","资源调度问题)。以上数据只作为性能提升参考,对于加载","赋予的是一个","赋值","赋值≠使用)","赋值给","走到了这里","走的不是消息发送的","走的是消息发送的","起显著的不同","起来也简单,只需要把这个","起源于","起点:进程创建的时间","超时","超时重传","超时重传(定时器)","超时问题,客户端超时重传策略,又发一次sync,造成多次建立连接","超类/子类:","超类引用","越狱手机有无数奇葩的收据丢失或无效或被替换的问题,应该怎样酌情处理?","越狱的插件就是基于这个原理来实现只需要下载插件","跟","跟我们上面截图的函数调用栈一模一样","跨平台/可移植","跨模块进行方法调用和数据读取非常便捷:","路由","转化","转发给需要的app进程。随后苹果注册的那个","转场(segue)和按钮动作跳转","转换为","转换成纹理三角板。由于gpu并不知晓cor","转码,","转自:","软件。而问题是,它们的语义并不完全一致,所以会出现一些怪异的边界案例,并且效率很慢。","较为糟糕的性能。然而可喜的是,市面上的设备都已经不是单核了,这就意味着可以通过后台线程处理耗时任务,主线程只需要负责调度显示。","较大体积的资源放到服务端,app","输入源sourc","输入源是指事件的来源,输入源将事件异步传送到您的线程。事件的来源取决于输入源的类型,通常是两个类别之一。基于端口的输入源监视应用程序的","输入:num","输出为","输出应该为yes。","输出的正常流程。","输出第","输出第一个mnperson","输出第二个","输出第二个mnperson","输出结果","输出结果如下","输出结果并没有按代码表面的想法去走,而是只打印了一次value值","输出结果:","输出,此时突然收到指令,需要输出到另一块内存,那么流水线中正在进行的一切都不得不被丢弃,切换到只能服务于我们当前的","输出:","输出:2,","输出:5,","边界越来越模糊,经常发生你中有我我中有你的情况(图一)。这对代码质量,功能扩展,以及开发效率都会造成很大的影响。此时,一般会将各个子系统划分为相对独立的模块,通过中介者模式收敛交互代码,把模块间交互部分进行集中封装,","迁移到更复杂的哈希的提案,感兴趣的读者可以简单阅读一下。","过渡动画。","过滤","过滤网关防护","过程的每个阶段的设置选项(包含编译、链接、代码签名、打包)。","运用场景","运行","运行主程序","运行代码会崩溃,并会提示野指针错误","运行初始化函数","运行初始化程序,之后运行","运行在一个支持这个","运行在与其匹配的","运行时","运行时决议","运行时的过程中在","运行来到断点","运行程序","运行结果显示堆上的block使用弱指针__weak","运行结果显示栈上的block使用弱指针__weak","运行结果显示栈上的block使用强指针clperson","运行结果:","运行预设的脚本。如","运行:cpu","返回","返回nil","返回。","返回主程序的入口函数,开始进入主程序的main()函数。","返回值不为0——在指定时间内调度组没有按时完成任务","返回值为0——在指定时间内调度组完成了任务","返回值:为","返回的","返回的图像被分配给uiimageview。","返回至d,此时第三次到达d,故输出d;","还为开发者新增了uitableviewdatasourceprefetch","还为我们提供了最后一次翻身的机会,调用_objc_msgforward_impcache进行方法转发,如果找到便加入缓存;如果没有就","还会将其转换为","还会进行签名验证,所以一次","还在队列中,","还是","还是weak","还是上面的视图结构,我们给rootview加上uitapgesturerecognizer手势,并且通过tapaction:方法接收回调,点击上面的superview后,方法调用如下。","还是其他的版本控制系统,它们绝大多数的功能都是重叠的,所以很多时候我们也能找到不同工具之间命令的对照表,下面就是一个","还是基于","还是由","还是选择远程接口的困惑。这里选择支持路由","还有一个作用,可以指定与属性对应的实例变量,例如@synthes","还有个原因,就是服务提供方和使用方共同依赖同一个","还有就是runloop对象内部还包括一个线程对象_pthread,这就是跟它一一对应的那个线程对象。","还有第二次机会能处理","还有结构体共用同一块地址空间。而","还没有被标准化。现在","还看到一个","这一层中主要是","这一层,coreanim","这一步与上一步相反,通过","这一部分看的比较多,主要归纳了一下,分5条。","这三个分别代表","这两篇文章","这个ack报文段有可能丢失,使得处于last","这个代理实际上就是框架和业务交互的桥梁,不过这个设计笔者个人认为有一些冗余,这里如果直接通过代理方法与业务交互而不使用中间类可能看起来更舒服。","这个作用域里的","这个例子会发生崩溃,是因为","这个例子来自于参考资料","这个全局的镜像列表中去","这个其实就是","这个函数主要流程如下","这个函数也就是我们","这个函数到底做了什么呢","这个函数去做的","这个函数就是根据","这个函数第一次执行","这个函数调用","这个函数里会遍历所有待处理的uiview/calayer以执行实际的绘制和调整,并更新界面。","这个函数里面调用了","这个函数首先有两个参数我们要说明一下","这个区域提供了各个段(segment)和节(section)在可执行文件中的位置和大小。这个区域完整的描述克可执行文件中的全部内容。","这个区域的存储内容比较简单:前面是文件的编号,后面是文件的路径。文件的编号在后续会用到","这个参数就是","这个命名空间作用域里的","这个很简单","这个思路在一定程度上能够减少代码的冗余,减小包的体积。因为是静态分析,不能包括动态调用的情况,对于需要删除的类需要进一步的确认。","这个方法。在进行编译过程前,clang","这个方法。我们可以去子线程里面进行异步绘制。子线程主要做的工作:","这个方法会注册3个事件并给出回调。","这个方法就是我们加载图片的正式入口方法。下面我们看一下这个方法里面都主要做了什么。","这个方法用来在自动布局中动态改变视图约束。和布局中的","这个方法类似于布局中的","这个方法,会调用","这个方法,我们就可以进行异步绘制:","这个映射文件的主要包含以下部分:","这个是什么意思呢","这个空间其实就是符号表","这个结构体,我给他起名引用计数和弱引用依赖表,因为它主要用于管理对象的引用计数和","这个过程被称为","这个逻辑分支是找不到确切的线程标记只能进行所有的缓存遍历","这个部分包括的内容","这个问题。","这么做的意义是什么呢?","这也是@synchronized作为递归锁但能防止死锁的原因所在:在不断递归的过程中如果对象不存在了就会停止递归从而防止死锁","这也是程序一开始时,能够取消掉同名operation的原因。就是同一个view发送一个图片请求就会记录在operationdictionary中来标识有请求正在执行。","这些方式都会告知系统","这些问题的根本原因还是存在效率损失,\"不方便\",怎么优化呢?","这其中的工作都是在主线程中完成的,这就导致了主线程频繁的处理","这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,提供一种思路,对遇到类似问题的同学能有所启发。","这四个是在","这就引出了元类的定义:元类是class的类。","这就是yysentinel计数类起作用的时候了,这里用一个局部变量value来保持当前绘制逻辑的计数值,保证其他线程改变了全局变量_sentinel的值也不会影响当前的value;若当前value不等于最新的_sentinel","这就是为什么需要离屏渲染。","这就是消息传递的一个流程,首先查缓存,无缓存,查方法列表,依然没命中,再顺次查找各个父类方法列表,如果都没有名字,就转到消息转发流程","这意味着对于继承于nsobject的所有实例、类和元类,他们可以使用nsobject的所有实例方法,类和元类可以使用nsobject的所有类方法","这时又恢复了平衡,再添加","这时如果再添加一个","这时我们可以看到这个树又不平衡了,以","这时根节点","这是一个全局弱引用表。使用不定类型对象的地址作为","这是个回调函数的调用","这是从用户感知维度定义启动,那么代码上如何定义启动呢?appl","这样也要求","这样可以避免重复的方法调用。加入transactionset中的事件会在","这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。","这样就可以保证","这样就覆盖了","这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。","这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。","这样的","这样的好处是:给开发者一个过渡的版本,让开发者知道这个属性被弃用了,应当使用最新的","这样,当本地发生请求时,就会获取ktvhchttpresponse内部方法返回的数据。","这样,苹果工程师在背后悄悄地将block","这次为大家带来我司","这段代码的作用是","这段脚本其实很简单,读取当前","这种","这种2msl等待的另一个结果是这个tcp连接在2msl等待期间,定义这个连接的插口(客户的ip地址和端口号,服务器的ip地址和端口号)不能再被使用。这个连接只能在2msl结束后才能再被使用。","这种二进制文件是可以完全拆分开来","这种情况也是满足二叉查找树的条件,然而,此时的二叉查找树已经近似退化为一条链表,这样的二叉查找树的查找时间复杂度顿时变成了","这种情况处理就十分简单,自己里面的init方法就是它的指定初始化器,而且可以随意创建多个它的指定初始化器。如果需要创建便利初始化器,则在方法名前面加上convenience,且在里面必须调用其他初始化器,使得最后肯定调用指定初始化器","这种情况就称之为","这种方式。查看方法的实现,发现了如下函数:","这种方式的优势也包括调用简单方便。代码自动补全和编译时检查都有效。实现起来也简单,协议的所有实现仍然在模块内部,所以不需要写反射代码了。同时对外暴露的只有协议,符合团队协作的","这种方式虽然比较粗暴,但考虑到两个模块间交互的复杂对象应该不会很多(如果太多则应考虑这两个模块是否划分合适),同时拷贝粘贴操作起来成本可控,所以可以接受。同时这种方法也能达到预期的编译隔离的效果。但两边模型定义及实现还是有不一致的风险。为了解决一致性问题,我们做了个检查脚本工具,在编译时触发。会根据命名规则查找这类","这种方案的优势是调用简单方便,代码自动补全和编译时检查都仍然有效。","这篇文章","这篇文章中","这篇文章中有非常详细的讲述","这类资源主要包括图片、音视频,数据模型等等。","这道题实际上考的就是关联对象","这道题目的要求是:对给定的有序数组","这道题看着虽然是多线程范围的,但是解题的最重要思路确是在引用计数上,更准确的来说是看对强引用的理解程度。关键知识点如下:","这里不会设置","这里也是经过不断调试,找到了如下","这里介绍一下synccache和synccacheitem","这里以method_array_t为例,图示其中的结构。","这里传递了三个","这里做需要线程安全操作","这里几个参数我们稍微说明下","这里包含一个陷阱——","这里可以解释,复用的时候,已经展示过图片的imageview为什么在被复用的时候没有展示之前存在的图片而是展示placeholer或者不展示的原因。","这里在主线程的","这里在补充一点关于syn","这里如果想要绘制一个带有圆角并剪切圆角的容器","这里就不贴了.*/","这里当前view利用前面生成的manag","这里我们主要分析下第三种情况。","这里我们还是要强调,集中式的版本控制系统在一些需要严格控制源代码的公司中还是有着一席之地,不过我们总是可以通过将代码分到多个仓库来分别限制权限,但是如果这一操作并不可行,选择集中式的版本控制系统可能就是最后不得不做的选择。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细想一下下面的问题:","这里推荐大家去看《opengl","这里提出一个假想,如果父类中有个name属性,子类中也有个name属性,两者都注册对name的观察,那么仅通过keypath已经区分不了是哪个name发生变化了,现有两个解决办法:","这里有个重要的知识点——tls:tls全称为thread","这里有几个需要注意的点:","这里的","这里的methodtablelookup里涉及到objc","这里的mnperson","这里的事务包含之前没有完成的.","这里设置了yyasynclayer的contentsscale为屏幕的scale,该属性是","这里设置的尺寸会影响被缓存的","这里需要说明一下:[self","这里,我们使用第二种方法来查看汇编部分,使用第二种方式有便于我们查找代码的具体位置。当我们搜索","进不去了","进入","进入a_view","进入c_view","进入cachelookup流程,这一步会去寻找方法缓存,如果缓存命中则直接调用方法的实现,如果缓存不存在则进入objc_msgsend_uncached流程。","进入d_view","进入e_view","进入休眠前、ca","进入方法决议(method","进制的内存地址,这里作者将_selector和_target的内存地址进行一个位异或处理,意味着只要_selector和_target地址都相同时,hash","进制的函数地址映射。","进来,动态库的数量会影响这个阶段","进来,读取","进程:","进程、线程与队列","进程中。","进程切换时,消耗的资源大、效率高。所以设计到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程而不能用进程","进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。为了提高效率和方便管理,又对虚拟内存和物理内存又进行分页(page)。当进程访问一个虚拟内存","进程想要执行任务,必须得有线程,进程至少要有一条线程","进程是指在系统中正在运行的一个应用程序,如微信、支付宝app都是一个进程","进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在","进程端口,各进程之间通过它进行通信。","进程间通信)","进程,可以使用通常的测试架构。","进程,用标准化的测试工具就可以测试。","进行","进行三次握手:","进行下一步","进行下沉到","进行了一定的封装,类的信息并未全部对开发者开放。我们不妨通过阅读","进行位运算,只取其中的","进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成","进行动画时,这个方法特别有用。你需要在","进行变换。开始查找缓存。","进行哈希查找的时候,会将要查找的对象地址作为参数,通过","进行处理或分发,其中包括识别","进行完整性检查)。","进行常量参数传递是为了优化性能","进行弱绑定","进行提交。(explicit","进行比较。如此循环。","进行版本控制","进行版本控制』。","进行版本控制』,我们可以换一种方式思考这个问题","进行版本控制了,分支的创建和合并是非常常用的功能,这其实是因为使用","进行的光栅化操作(如文字渲染、图片解码),都无法直接绘制到由","进行符号查找:比如","进行缓存,而当我们使用其他图片格式进行传输时,例如","进行编译的。我们可以通过","进行调试。所以,不需要生成额外的","远程接口存在一定的功能重合,还会造成后续实现新功能时,分不清应选择路由","远程接口封装优化","远程接口调用封装","连接对象个数","连接建立过程中是用非对称加密,非对称加密很耗时","连接经历流程是怎么样的","迭代结束?当前runloop","追踪触摸滑动,保证界面滑动时不受其他","退出;","适宜的场景","适用于unix/linux/windows等系统","适用于实时应用(ip电话、视频会议、直播等)","适用于要求可靠传输的应用,例如文件传输","适用场景","适配方案的最佳实践","选中","选择","选择使用分布式的设计思想指导其实现,正是版本控制系统的场景其实与分布式的模型更加相似,所以通过分布式的模型能够很好地解决上述的关键问题。","选择添加","选择集中式的版本控制工具意味着我们必须接受以下的几个缺点:","逐级父类方法查找","递归下一次调用","递归实现代码如下:","递归左右序列。","递归执行hittest","递归提交子树的layers;","递归调用","递归调用,先将父类添加到load方法列表中,再将自己加进去","递归锁","递归锁在使用时需要注意死锁问题——前后代码相互等待便会产生死锁","递归锁:可重入锁,同一个线程在锁释放前可再次获取锁,即可以递归调用","通常只需要替换相应的c,","通常所说的runloop指的是nsrunloop或者cfrunloopref,cfrunloopref是纯c的函数,而nsrunloop仅仅是cfrunloopref的oc封装,并未提供额外的其他功能","通常是对象文件中最大的部分","通常,如果你使用","通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了","通常,我们操作的只有加载,解码和渲染是由uikit进行。","通用二进制文件","通用二进制文件通常被称为","通用功能所用资源,将相关代码整理为功能组件后一起放入","通知","通知到","通知即将进入runloop","通知即将退出runloop","通知将要处理timer和sourc","通知已经交易成功了,此时去沙盒里取收据数据,发现为空,或者出现通知交易成功那笔交易没有被及时的写入到沙盒数据中,导致我们服务器去","通知广播方案","通知我们支付成功,我们驱动服务器去","通过","通过cache_getimp从缓存中获取方法,有则返回,否则进入第","通过clang也能得到一些信息:","通过clang重写","通过drawrect绘制视图;","通过getmethodnosuper_nolock从类的方法列表中获取,有加入缓存中并返回,否则进入第","通过info命令,可以查看到详细的文档","通过ipc提交(打包好的图层树以及动画属性)","通过kvo","通过nm","通过otool","通过performselector的一系列方法,可以实现由某一线程指定在另外的线程上执行任务。因为任务的执行上下文是目标线程,这种方式发送的消息将会自动的被序列化","通过retaincount可以获取到引用计数器,其定义:","通过一张图来展示一下cache_t的结构。","通过上层","通过上面的代码我们知道当前页是存在tls(线程私有数据)里面的。所以说第一次调用push的时候,没有page自然连hotpage也没有。","通过上面的例子来看,虽然subview1在subview3的下面,并且添加了手势,点击区域是在subview1和subview3两个视图上的。但是由于经过hittest和pointinside之后,响应者链中并没有subview1,所以subview1的手势并没有被响应。","通过上面结构体的初始化和结构体的构造,","通过业务模块化架构,一般可以达到明确模块职责及边界,提升代码质量,减少复杂依赖,优化编译速度,提升开发效率等效果。很多文章都有相关分析,在此不再累述。","通过以上说明,可以了解","通过位运算获取标识位的值来确定是否是tag","通过地址来建立索引标志,防止桶重复","通过地址来解除引用关联","通过当前栈空间主结构体上的__block_byref_a_0结构体指针,访问指向堆空间的__forwarding成员,并获取堆空间上变量的值。","通过方法名我们可以知道,没有缓存的时候应该会执行__objc_msgsend_uncached。","通过查看内存地址我们发现","通过查看源码查看","通过汇编能发现@synchronized就是实现了objc_sync_enter和","通过父类的缓存和父类的方法列表中寻找是否有对应的","通过符号断点能知道这两个方法都是在objc源码中的","通过解析","通过这个编译的命令,我们可以看到","逻辑。为此","逻辑像素,这样可以充分利用不同设备的显示器分辨率,绘制更清晰的图像。但是若contentsgravity设置了可拉伸的类型,coreanim","遍历常考考点","遍历结束之后,从","遮罩(mask)","避免线程冲突重处理","那么也就是说","那么也需要被裁剪;","那么包含了支持多架构的","那么可以看到,block内部的函数也是通过block所存储的地址值*height访问了外部的static变量height的值。","那么和nscondition的区别在于哪里呢?接下来看一下nsconditionlock源码","那么在了解ios视图渲染流程以后,再来看一下第二题:","那么在有效位未生效的时候,out_of_lin","那么如何利用编译优化启动速度呢?","那么如何在需要渲染大量视图的情况下,还能保证流畅度,也就是保证fps。","那么对于图3.3所示的右斜树极端情况对应的顺序存储结构如图3.10所示:","那么就不做任何处理","那么应该如何做到以上这些呢?","那么当二叉树不为完全二叉树时,采用顺序存储形式如何呢?","那么怎么办","那么我们回到函数调用栈看下","那么我们怎么才能在weakself之后,block里面还能继续使用weakself之后的对象呢?","那么我们搜索一下","那么我们的工程想要调用","那么接下来","那么数据提供方(商品模块)和使用方(开单模块)都需要专门理解并实现一下这种模型的各种字段,对开发效率影响很大.","那么每一条到底对应着什么呢","那么编译时就会在","那么这个","那么这些","那么这些步骤在性能、安全性和可测试性上应该如何被优化呢?苹果提出了这样两点思路:","那么问题来了,sdwebimage为什么会这么设计呢?","那么,runloop","那么,何时改变这个计数?","那么,如何找到代码里有哪些","那么,实际上核心代码可以更少:","那么,线上用户的冷启动多还是热启动多呢?","那些你想到和想不到的应用场景","那就代表一定是有值的","那我们接着看前面的极端情况的二叉排序树,现在用它来构造一棵平衡二叉树。","那我们搜索一下","那讲到这插一句题外话","部分包含了实际的代码和数据,data","部分将二进制文件进行了一级划分。而,symbol","部分接口的性能","部分进行分拆,每个业务模块都有一个。这种方式的优点是职责明确,大家不用同时对一个公共模块进行修改,同时可以做到依赖关系很清晰;劣势是模块的数量增加了一倍,维护成本增加很多。考虑到我们目前的情况,mediat","郭曜源前辈的文章:io","都不会对外面的对象进行强引用","都会带来性能上的较大开销。所以","都会得到通知。这时","都会来","都会比较辛苦","都依赖","都可以很很容易做到这一点。但不能为了解耦而解耦,提升质量与效率才是我们的目的。直接基于","都应该被认为是一个无效的方法。","都是强引用,除了某些情况下不一样,比如修饰block,其他的时候也是可以通用的。","都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为","都是系统自动调用的话,都只会调用一次","都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","都是采用的这个方案。","都有一个","都有自己的","都能正确处理资源释放","都说@synchronized性能低——是因为在底层增删改查消耗了大量性能","都进行了实现,目的就是当","配置一些环境变量","配置可以让一个线程上收到特定的应用程序消息。由于","配置环境变量","配置相关环境变量","采用","采用这种结构的原因也是基于内存优化的考虑(即二进制中每一位均可表示不同的信息)。通常来说,isa指针占用的内存大小是8字节,即64位,已经足够存储很多的信息了,这样可以极大的节省内存,以提高性能。","采用递归,依次重新选取基准点,在重复进行","释放信号量","释放旧的池并创建新池;exit(即将退出loop)","释放时,调用cleardeallocating函数。cleardeallocating函数首先根据对象地址获取weak指针地址的数组,然后遍历这个数组把其中指向空对象的指针设为nil,最后把这个指针从weak表中删除,最后清理对象的记录。","释放资源release:lockcount++并根据key值存入被锁次数。如果次数变为0,此时锁也不复存在,需要从快速缓存移除并清空线程数threadcount","释放锁","释放锁,使用汇编指令clrex","里","里uikit","里。所以我们创建子线程runloop时,只需在子线程中获取当前线程的runloop对象即可[nsrunloop","里做以下操作;","里可以配置","里如果调用了","里对启动终点定义是第一个ca::transaction::commit()。","里就会通过","里并没有找到","里拿到的数据实现为报表,方便你测试自己的页面性能加载提升对比。","里有详细描述","里注册好的回调函数进行调用","里的","里的seturl用来使用业务数据渲染页面。","里的情况,在","里绘制的静态数据","里被执行","里还要多少操作空间时,我发现","里面传两个参数,第一个参数objc_super结构体中有两个成员:","里面的","里面调用一个方法[object","里面,所有类都继承自nsobject。当自定义一个类的时候,要么直接继承自nsobject,要么继承自uiview或者其他类。","里面,无论是","里,同时还会通知","里,对应会有一些地方读取这些注册的数据,如果在","里,对应会有一些地方读取这些注册的数据,如果在+load","里,用户输入密码进行交易,和支付宝服务器进行通讯。","里,第","里,视图控件类,如果:uiview、uiviewcontroller就有两个指定初始化器,分别代表从代码初始化、从nib初始化","重传次数的问题:","重写","重写子类方法,返回相应的response类","重写父类的指定初始化器,如果不重写,则子类不存在这个方法","重写父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","重写监听属性的set、get方法","重写绘制方法","重启手机","重启手机/更新/下载","重复步骤2~3,直到无序区元素为0。","重复资源处理","重头戏来了","重排","重新分配内存","重新尝试","重新认识core","重点来看一下map_images和load_images;","重点概念","重画间存在着一个间隔,runloop","重绑定符号","重绘。主要由重叠的半透明图层引起。gpu的填充比率(用颜色填充像素的比率)是有限的,所以要避免重绘。","重置","针对","针对static变量height,","针对同一个yyasynclayer,很有可能新的绘制请求到来时,当前的绘制任务还未完成,而当前的绘制任务是无用的,会继续消耗过多的","针对图形处理的优化,我们都会倾向于让","链接","链接主程序","链接主程序。","链接动态库","链接器","链接所需要的framework","链接需要的","链接需要的库。如","链接(link):对","链接:https://juejin.cn/post/6844903958624878606","锁","锁。","锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(acquire)锁,并在访问结束之后释放(release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用","镜像","镜像信息","长","闭包时,会再执行一次","闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:","问题出现:以下会输出什么结果","问题出现:以下会输出什么结果?","队列","队列中存放的任务最后都要由线程来执行!","队列分类:","队列和执行方式组合的效果:","队列引起的循环等待","队列情况","队列的原则:先进先出,后进后出","队列负责调度任务,线程执行任务","队列,又称为伫列(queue),是先进先出(fifo:","队列:队列分为串行和并行。串行队列按照a、b、c、d的顺序添加四个任务,这四个任务按照顺序执行,结束顺序也肯定是a、b、c、d,而并行队列同时执行这四个任务,完成的顺序因此也是随机的。","防止“已失效的连接请求报文段”出现在本连接中。","防止多线程竞争。","防止弱引用间死锁","阴影","阴影、圆角、边框、蒙版、拉伸、transform、动画。","阴影会作用在所有子","阶段,后续主要都由","阻塞","阻塞是一个主动行为","阻塞:当满足某个预定条件时,可以使用休眠或锁,阻塞线程执行。sleepfortimeinterval(休眠指定时长),sleepuntildate(休眠到指定日期),@synchronized(self):(互斥锁)。","阿里","除了不在不合适的阶段追求编译隔离,我们还发现代码隔离并不适合我们。","除了模块间通讯的实现,业务模块化架构还需要考虑每个模块内部的设计,比如其生命周期控制,复杂对象传输,重复资源的处理等。可能因为每个公司都有自己的实际场景,业界方案里对这些问题描述的并不是很多。但实际上他们非常重要,有赞在模块化过程中做了很多相关思考和尝试,会在后面环节进行介绍。","除了这两种方式之外,我们可以基于特定的规则实现消息的边界,例如:使用","除以前生成的缓存并释相关的资源。","除此之外,使用","随即开展了相关的更换工作,具体的launchscreen.storyboard配置方式不再赘述,我们直接说配置后出现的问题:","随后","隐式catransaction捕获到uiimageview","隐式绘制","集中式和分布式系统的特性也为","集合就是用来存储这些任务。提交方法","集合查询。","集合,当数量大于","集成入","需要","需要了解","需要修正不对齐指针","需要完全兼容","需要手动唤醒线程","需要手动对其增加保护策略,并设置","需要查找缓存。","需要注意的是,dyld2和dyld3的加载方式略有不同。dyld2是纯粹的in","需要注意的是,如果子类重写父类所有指定初始化器,则会继承父类的便利初始化器。原因也是很简单,因为父类的便利初始化器,依赖于自己的指定初始化器","需要注意的是,当修改弱引用的变量时,这个方法非线程安全。所以切记选择竞争带来的一些问题。","需要的信息。","需要的信息,如","需要的数据结构,这节约了内存和时间。","需要被分配的新值,当前值可能为","需要被及时清理,当前值可能为","需要解决符号缺失问题","需要让地址空间配置随机加载,所以所有的指针都需要加上一个基地址","需要遍历至少三次","静态初始化是从哪来的呢?以下几种代码会导致静态初始化","静态变量(static),block通过地址拷贝方式捕获,在其内部创建一个指向同类型变量的指针,","静态字符串常量","静态库文件.a","非","非tag","非公平","非公平锁","非原子性的属性除了没加锁,其他逻辑与atomic一般无二","非对称加密","非对称加密算法(公钥加密)","非常少。","非常干净。","非常擅长大规模并行计算,但是我想频繁的上下文切换显然不在其设计考量之中)","非懒加载符号表","非空且已经初始化","非空指向","非透明区域","非递归锁:不可重入,必须等锁释放后才能再次获取锁","面向字节流","面向报文","面向报文(既不合并,也不拆分)","面向无连接","面向连接","面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。","面试中,我们经常会考察有关离屏渲染(offscreen","面试题","面试驱动技术","面试驱动技术合集(初中级","页面上显示的","页面的速度。","页面统跳管理。","页面跳转。一些复杂操作和数据传输,虽然也可以通过此方式实现,但都不是很效率。","页面跳转。比如","顶点着色,图元装配,光栅化,片段着色,片段处理,最后提交帧缓冲区","项目中的","项目结构如图:","顺带测试了下在","顺序存储","顾名思义,isa指针指向维护分配表的对象的类,该分派表实质上包含指向该类实现的方法的指针以及其他数据","顾名思义,就是nscondit","预主秘钥","预加载","预加载与智能预加载(ios)","预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后一页的分页数据,在用户继续翻页时,能极大提升响应速度;在微信公众号列表,不仅预加载了多个分页数据,还加载了某个公众文章的文字部分,所以当列表加载完毕之后,你走到了没有网络的电梯里,依然可以点击某个文字,阅读文字部分,图片是空白。","预加载方案浅谈","预处理","预处理阶段:import","预排班。布局计算、文本计算等事先放到子线程中去做;","预渲染。文本等异步绘制,图片编解码等。","预编译(pre","预计还得等待一些时日。","题外话","题外话,app","题目","题目出现","颜色","颜色呈现","额外空间的条件下完成。","饱和策略有如下四个:","首先","首先一个视图由cpu进行frame布局,准备视图和图层的层级关系,查询是否有重写drawrect:或drawlayer:incontext:方法,注意:如果有重写的话,这里的渲染是会占用cpu进行处理的。","首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。","首先从它的注释中recurs","首先判断url是否合法,如果合法,从下载器的urloperations属性中读取该url对应的operation,如果operation不存在,或者已经取消或者已经完成,则根据url重新生成一个operation,同时记录该operation到urloperations中,并把该operation添加到下载队列中去:","首先判断是否需要下载图片,如果不需要就判断缓存数据如果缓存有值就直接返回给调用方,如果需要就先看一下之前读取的缓存数据是否有值,如果有值,就直接返回给调用方。如果没有的话,就使用imageloader下载图片:","首先判断是否需要从缓存中读取图片,如果需要,就处理url,处理后得到我们读取缓存的key。","首先在主线程调用","首先处理一些下载器选项,然后调用下载图片方法:","首先将","首先我们定义了三个结构体lgstruct1、lgstruct2和lgstruct3,然后通过控制台打印出三个结构体类型的内存大小。","首先我们将上面的oc代码改造如下","首先我们怀疑是配置方式有误、编译缓存等导致的问题,所以针对这些猜测我们做了以下测试:","首先我们排除了无脑放入","首先找到数据栈中data","首先明确几个概念","首先是如何避免反射及","首先是梳理我们的模块间通信需求,主要包括以下三种:","首先要明白,并发","首先要知道,isa指针已经不一定是类指针了,所以需要用isa()获取类指针;","首先要讲一下app中的事件响应链,它分为两部分:hit","首先,判断url是否合法,然后生成一个请求图片的operation,这个和我们刚才讲到的operation在内存中是同一个,因为是从该方法中返回出去的。","首先,我们先去查看一下题干中两个方法的源码:","首帧渲染是基于","首部开销","首部开销小,仅8字节","首部最小20字节,最大60字节","首部的同步位syn=1,初始序号seq=x,syn=1的报文段不能携带数据,但要消耗掉一个序号。","验证crash","验证一下","验证仓库中的内容是否被更改,我们会在『可靠性』一节中详细介绍这一特性。","验证完服务端身份后,客户端生成一个对称加密的算法和对应密钥,以公钥加密之后发送给服务端。此时被黑客截获也没用,因为只有服务端的私钥才可以对其进行解密。之后客户端与服务端可以用这个对称加密算法来加密和解密通信内容了。","验证消息重定向","验证通过。","魔数,快速定位64位/32位","黄色","黑幕背后的autoreleas","默认布局","默认是开启的,其他线程如果希望持续存活下去,就需要手动开启runloop。","默认的目录在","默认采取的是懒惰的符号解析(lazi","","!","(1)如果c的左孩子不为空,并且h不等于c的左孩子,也不等于c的右孩子,则把c的左孩子压入stack中。","(1,1,1,1)","(2)如果情况1不成立,并且c的右孩子不为空,并且h不等于c的右孩子,则把c的右孩子压入stack中。","(3)如果情况1和情况2都不成立,那么从stack中弹出c并打印,然后令h等于c。","(dispatch_semaphore_t)线程锁。","(function","(seq/ack应答机制)","(void","(void)fetchproductinfowithproductidentifiers:(nsset","(下面以set方法为例","(参考","(取自","(所有指向被引用对象的)弱引用指针","(添加包序号)","(滑动窗口协议)",")",")、便利初始化器(conveni","),meta",",",",callcompletionblock",",http://m.you.163.com,分别以传统的,每次都新创建",",不同的是作者封装了异步绘制的逻辑便于使用。",",交由",",令攻击者难以通过固定地址获取函数或者内存值进行攻击",",任何人都可以得到",",其中的优化包括:",",其表达方式为:",",出于渲染性能考虑,",",即是主线程",",可以指派",",否则会崩溃;而来自不同",",在应用被编译打包成可执行文件格式的",",如果不合理的使用",",存放函数的参数值,局部变量的值等。其",",实例对象isa指向",",寻找对应的",",并且原数组",",并且此时切换帧缓冲区",",并加递归互斥锁。",",并输出日志",",当cur自增越界时就会变为负数最大值(在二进制层面,是用正整数的反码加一来表示其负数的)。",",所以block选择持有它的指针,在block被调用时,通过该指针访问这个变量的内容就行。",",是根据",",最后这两个方法都是调用了",",用",",稍微修改了一下创建的次数,如果是真机调试可能需要更少的调试次数,模拟器的话其支持的次数会比较多一点。",",编译器会将其转化为",",而",",而autorelease操作插入的是一个具体的autoreleased对象即autoreleasepoolpage入栈操作。",",而不会等到",",而如果设置了",",请你",",返回删除后数组的新长度。",",这个警告必须解决,否则会导致被缓存的",",预加载其他的",":",":tag的值是7表示有扩展的tag位",":业界有些方案是把",":串行队列数量和处理器数量相同",":创建串行队列,设置优先级",":标记位标记该指针是否是tag",":轮询返回队列",";邮件标题:","=","?注意,这里我们有一个?"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"iOS RoadMap\n\n更多博文可看传送门 ↓\n传送门\niOS\niOS\n架构方面\n1. 设计模式\nMVC\n什么是MVC?\nMVC最早存在于桌面程序中的, M是指业务数据, V是指用户界面, C则是控制器. 在具体的业务场景中, C作为M和V之间的连接, 负责获取输入的业务数据, 然后将处理后的数据输出到界面上做相应展示, 另外, 在数据有所更新时, C还需要及时提交相应更新到界面展示. 在上述过程中, 因为M和V之间是完全隔离的, 所以在业务场景切换时, 通常只需要替换相应的C, 复用已有的M和V便可快速搭建新的业务场景. MVC因其复用性, 大大提高了开发效率, 现已被广泛应用在各端开发中。\n2.设计模式\n网络\n1. 简述TCP的三次握手过程\n2. 4次挥手过程详解\n3. TCP/UDP区别以及UDP如何实现可靠传输\n4. Http 和 Https 有什么关系和区别\n5. get 和 post 区别\n6. 什么是Http协议无状态协议?怎么解决Http协议无状态协议?\n7. 一次完整的HTTP请求所经历的7个步骤\n8. Socket\n9. Socket & Http\n10.OSI\n一些推荐阅读\n\n《图解HTTP》知识点摘录\niOS 消息发送与转发详解\n\n\n杂乱知识点\n 1.App启动过程 - 链接\n2.Cocoapods原理总结 - 链接\n3.内联函数,与宏的区别 - 链接\n4.单链表与顺序结构\n5.static区别\n"},"iOS/ReadME.html":{"url":"iOS/ReadME.html","title":"iOS技术总结","keywords":"","body":"iOS技术总结\n1. UI视图\n2.OC语言基础\n3.Runtime\n4.Block\n5.Runloop\n6.Memory内存管理\n7. Autoreleasepool \n8.Thread\n"},"iOS/UIKit/UIResponder.html":{"url":"iOS/UIKit/UIResponder.html","title":"UI触摸事件与事件响应","keywords":"","body":"iOS 事件响应链\niOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的UIResponse\n\n响应连:由最基础的view向系统传递,first view -> super view -> ... -> view controller -> window -> Application -> AppDelegate\n\n传递链:有系统向最上层view传递,Application -> window -> root view -> ... -> first view\n\n\n注意和事件传递是倆概念!!!!\n什么是 iOS 的事件响应链机制?\n当事件发生了,必须知道有谁来响应。在iOS中,由响应者链来对事件进行响应。\n响应者链是由一个不同对象组成的层次结构,其中的每个对象将依次获得响应事件的机会。当发生事件时,事件首先将被发送到第一响应者,第一响应者基本是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并作出处理。\n一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象 ViewController(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top view)到窗口(UIWindow 对象)再到程序(UIApplication 对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。\n基本上,在响应者链只要有对象处理事件,事件就停止传递。\nFirst Response -> Window -> Application -> nil\n\n事件传递\nFirst Response(第一响应者),指的是当前接受触摸的响应者对象,是响应者的开端。响应者链和事件分发的使命都是找出第一响应者。\niOS 检测到手指触摸操作(Touch)时,会将其打包成一个 UIEvent 对象,并放入当前活动Application的事件队列中去。接下来开始自UIApplication往下传递,首先会传递给主window,然后按照view的层级结构一层层往下传递,一直找到最合适的view(发生touch的那个view)来处理事件。查找最合适的view的过程是一个递归的过程,其中涉及到两个重要的方法 hitTest:withEvent:和pointInside:withEvent:方法寻找出操作初始点所在视图。查找最合适的view的过程是一个递归的过程。\n当我们点击屏幕时候的事件传递\n从逻辑上来说,探测链是最先发生的机制,当触摸事件发生后,iOS 系统根据 Hit-Testing 来确定触摸事件发生在哪个视图对象上。其中主要用到了两个 UIView 中的方法:\nUIApplication -> UIWindow -> hitTest:withEvent:\n\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event\n//返回最终响应的事件\n//指定想要响应事件的 View, 比如点击的是 A ,可以指派 B 来响应。\n\n- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event\n//判断点击位置是否在当前范围内\n//控制响应的范围,扩大 or 缩小。\n\n其中UIView不接受事件处理的情况有\n1. hidden = YES,隐藏的视图.\n2. userInteractionEnabled = NO,禁止用户操作的视图.\n3. alpha \n\n更好的原理解析如下:\n\nExample:\n点击 View D\n\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event\n{\n NSLog(@\"进入A_View---hitTest withEvent ---\");\n UIView * view = [super hitTest:point withEvent:event];\n NSLog(@\"离开A_View--- hitTest withEvent ---hitTestView:%@\",view);\n return view;\n}\n\n- (BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event\n{\n NSLog(@\"A_view--- pointInside withEvent ---\");\n BOOL isInside = [super pointInside:point withEvent:event];\n NSLog(@\"A_view--- pointInside withEvent --- isInside:%d\",isInside);\n return isInside;\n}\n\n- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event\n{\n NSLog(@\"A_touchesBegan\");\n [super touchesBegan:touches withEvent:event];\n}\n\n- (void)touchesMoved:(NSSet *)touches withEvent:(nullable UIEvent *)event\n{\n NSLog(@\"A_touchesMoved\");\n [super touchesMoved:touches withEvent:event];\n}\n\n- (void)touchesEnded:(NSSet *)touches withEvent:(nullable UIEvent *)event\n{\n NSLog(@\"A_touchesEnded\");\n [super touchesEnded:touches withEvent:event];\n}\n\n-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event\n{\n NSLog(@\"A_touchesCancelled\");\n [super touchesCancelled:touches withEvent:event];\n}\n\n\n\n进入A_View---hitTest withEvent ---\nA_view--- pointInside withEvent ---\nA_view--- pointInside withEvent --- isInside:1\n进入C_View---hitTest withEvent ---\nC_view---pointInside withEvent ---\nC_view---pointInside withEvent --- isInside:1\n进入E_View---hitTest withEvent ---\nE_view---pointInside withEvent ---\nE_view---pointInside withEvent --- isInside:0\n离开E_View---hitTest withEvent ---hitTestView:(null)\n进入D_View---hitTest withEvent ---\nD_view---pointInside withEvent ---\nD_view---pointInside withEvent --- isInside:1\n离开D_View---hitTest withEvent ---hitTestView:>\n离开C_View---hitTest withEvent ---hitTestView:>\n离开A_View--- hitTest withEvent ---hitTestView:>\n\n如上图,最底层有一个 AView, 按顺序添加 A 的子View B C, CView 按顺序添加 D E\n如Log, 从底到高传递事件(addSubView顺序倒序遍历 Subviews)\n递归执行hitTest withEvent 与 pointInside withEvent \n如果在 hitTest 后的 pointInside检测到该 View 不是触点View,则 pointInside返回 NO,hitTest 返回nil ,继续遍历 Subviews 倒序下一个,如此反复,直到遍历到最后\n要么至死也没能找到能够响应的对象,最终释放。\n1. 系统通过 hitTest:withEvent: 方法沿视图层级树从底向上(从根视图开始)从后向前(从逻辑上更靠近屏幕的视图开始)进行遍历,最终返回一个适合响应触摸事件的 View。\n2. 原生触摸事件从 Hit-Testing 返回的 View 开始,沿着响应链从上向下进行传递。\n详细触摸事件\n以下的触摸事件更底层的解释:\n事件的生命周期\n当指尖触碰屏幕的那一刻,一个触摸事件就在系统中生成了。经过IPC进程间通信,事件最终被传递到了合适的应用。在应用内历经峰回路转的奇幻之旅后,最终被释放。大致经过如下图:\n\n系统响应阶段\n\n手指触碰屏幕,屏幕感应到触碰后,将事件交由IOKit处理。\nIOKit将触摸事件封装成一个IOHIDEvent对象,并通过mach port传递给SpringBoard进程。\nSpringBoard进程因接收到触摸事件,触发了主线程runloop的source1事件源的回调。\n\n此时SpringBoard会根据当前桌面的状态,判断应该由谁处理此次触摸事件。因为事件发生时,你可能正在桌面上翻页,也可能正在刷微博。若是前者(即前台无APP运行),则触发SpringBoard本身主线程runloop的source0事件源的回调,将事件交由桌面系统去消耗;若是后者(即有app正在前台运行),则将触摸事件通过IPC传递给前台APP进程,接下来的事情便是APP内部对于触摸事件的响应了。\n\nmach port 进程端口,各进程之间通过它进行通信。\nSpringBoard.app 是一个系统进程,可以理解为桌面系统,可以统一管理和分发系统接收到的触摸事件。\n\nAPP响应阶段\n1.APP进程的mach port接受到SpringBoard进程传递来的触摸事件,主线程的runloop被唤醒,触发了source1回调。\n2.source1回调又触发了一个source0回调,将接收到的IOHIDEvent对象封装成UIEvent对象,此时APP将正式开始对于触摸事件的响应。\n3.source0回调内部将触摸事件添加到UIApplication对象的事件队列中。事件出队后,UIApplication开始一个寻找最佳响应者的过程,这个过程又称hit-testing 。接下来如上面 事件传递 的解释\n4.寻找到最佳响应者后,接下来的事情便是事件在响应链中的传递及响应了,关于响应链相关的内容详见[事件的响应及在响应链中的传递]一节。事实上,事件除了被响应者消耗,还能被手势识别器或是target-action模式捕捉并消耗掉。其中涉及对触摸事件的响应优先级\n5.触摸事件历经坎坷后要么被某个响应对象捕获后释放,要么致死也没能找到能够响应的对象,最终释放。至此,这个触摸事件的使命就算终结了。runloop若没有其他事件需要处理,也将重归于眠,等待新的事件到来后唤醒。\nReference\niOS触摸事件全家桶\n深入理解 iOS 事件机制\niOS事件处理,看我就够了~\n"},"iOS/UIKit/UIOffScreenRendering.html":{"url":"iOS/UIKit/UIOffScreenRendering.html","title":"iOS 离屏渲染","keywords":"","body":"iOS 离屏渲染\n什么是离屏渲染?\n离屏渲染是基于GPU层面上的,指GPU在当前屏幕缓冲区外开辟了一个缓冲区,进行渲染操作。\n当设置某些UI图层属性时候,如果指定为被未预合成之前,不能直接显示在屏幕上的时候,就触发了离屏渲染。\n当我们要在屏幕上显示内容, 至少需要一块与屏幕像素数据量一样大的 frame buffer 来作为数据存储区域 (GPU 渲染结果存储的地方)。但是此时出现了特殊情况导致渲染结果无法直接写入 frame buffer, 而是需要先暂存到另外的区域进行处理, 之后再写入到 frame buffer, 这种情况就称之为 离屏渲染。\n检测离屏渲染\n模拟器 可以通过设置 Debug -> Color Off-screen Rendered 来打开离屏渲染检测\n真机 则通过设置 Debug -> View Debugging -> Rendering -> Color Off-screen Rendered 来打开离屏渲染检测\n颜色呈现 黄色 的区域就是触发了 离屏渲染 的区域\n为什么会产生离屏渲染?\n正常的情况下, OpenGL 提交一个命令到 Command Buffer , 随后 GPU 就开始渲染, 最后将渲染结果放到 Render Buffer 中。\n这里如果想要绘制一个带有圆角并剪切圆角的容器 (maskToBounds 为 YES, 背景色不是透明, 具体可以看下面的例子), 就可能触发离屏渲染。\n\n首先将 layer 的内容裁剪成圆角\n容器的子控件在渲染的过程中, 因为父 layer 是被裁剪过的, 那么也需要被裁剪; 但是这时的 父 layer 已经被渲染完成而子 layer 还在队列中, 没有办法进行统一裁剪, 所以这个过程就没办法实现了\n\n所以系统就不得不去 开辟独立于 frame buffer 的内存, 先把父 layer 以及他的子 layer依次画好, 然后合并到一起进行裁剪, 再把结果放到 frame buffer 中, 这就是为什么需要离屏渲染。\n何时触发\n\n圆角(当和 makeToBounds 或者 clipToBounds 同时使用) iOS9后, 圆角+maskToBounds, 然后设置了背景颜色, 产生了离屏渲染,但是 圆角+maskToBounds 不设置背景色 , 是不会触发离屏渲染(单层情况下)\n图层蒙版\n阴影\n光栅化\n光栅化(Rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。(应用:较为广泛的应用于深度学习卷积神经网络的结构中)\n\n关于 iOS 9 的优化后:\n可以理解为,因为只有 单层 内容需要添加圆角和裁切,所以可以不需要用到离屏渲染技术。但如果加上了背景色、边框或其他有图像内容的图层,就会产生为 多层 添加圆角和裁切,所以还是会触发离屏渲染。\n为何要避免离屏渲染\n离屏渲染发生在GPU层面上,因为离屏渲染使GPU触发Opengl多通道渲染管线,产生额外开销,所以要避免。 在触发离屏渲染时候,会增加GPU工作量,增加GPU工作量,可能会导致GPU和CPU工作耗时的总耗时超出Vsync信号(16.7毫秒)时间,导致UI卡顿或者掉帧。\n离屏渲染会创建新的渲染缓冲区,导致内存上的开销,有多通道渲染管线,最终要把多通道的渲染结果进行合成,所有会有上下文的切换,就有 GPU 的额外开销,那么可能就会导致 UI 的卡顿和掉帧\nReference:\niOS 探索--离屏渲染\n"},"iOS/UIKit/UIViewRender.html":{"url":"iOS/UIKit/UIViewRender.html","title":"iOS UIView刷新与渲染机制","keywords":"","body":"iOS UIView刷新与渲染机制\n1. UIView 与 CALayer\n\nUIView 为 CALayer提供内容,专门负责处理触摸等事件,参与响应链\nCALayer基于CoreAnimation, 全权负责显示内容 contents\n单一原则,设计模式(负责相应的功能)\n\n2. 图像渲染流水线\n\n图像渲染流程粗粒度地大概分为下面这些步骤:\n\n上述图像渲染流水线中,除了第一部分 Application 阶段,后续主要都由 GPU 负责。\nCALayer 是显示的基础:存储 bitmap\nCALayer 中的 contents 属性保存了由设备渲染流水线渲染好的位图 bitmap(通常也被称为 backing store),而当设备屏幕进行刷新时,会从 CALayer 中读取生成好的 bitmap,进而呈现到屏幕上\nCPU和GPU通过总线连接,CPU中计算出的往往是bitmap位图,通过总线由合适的时机传递给GPU,GPU拿到位图后,渲染到帧缓存区FrameBuffer,然后由视频控制器根据Vsync信号在指定时间之前去帧缓冲区提取内容,显示到屏幕上。\nCPU工作内容:\n\nlayout(UI布局,文本计算)\ndisplay(绘制 drawRect)\nprepare(图片解码)\ncommit(提交位图)\n\nGPU工作内容: 顶点着色,图元装配,光栅化,片段着色,片段处理,最后提交帧缓冲区\n3. UIView的绘制原理\n\n\n[UIView setNeedsDisplay] 并没有发生当前视图立即绘制工作,打上需要重绘的脏标记,最后是在某个时机完成\n[UIView setLayoutIfNeed] 立即重新布局视图(下一个Runloop)\n[view layouIfNeeded] 当前RunLoop休眠前更新\n当我们调用UIView的setNeedsDisplay的方法时候,会调用layer的同名方法,相当于在当前layer打上绘制标记,在当前runloop将要结束的时候,才会调用CALayer的display方法进入到真正的绘制当中。\nCALayer的display方法中,首先会判断layer的delegate方法displayLayer:是否实现,如果代理没有响应这个方法,则进入到系统绘制流程;如果代理响应了这个方法,则进入到异步绘制流程\n3.1 系统绘制流程\n\nDrawrect方法内为何第一行代码总要获取图形的上下文?\n系统绘制的流程 本质是创建一个 backing storage 的流程.\nCGContextRef con = UIGraphicsGetCurrentContext();\n\n\n每一个UIView都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做backing store\n当UIView被绘制时(从 CA::Transaction::commit:以后),CPU执行drawRect,通过context将数据写入backing store\n当backing store写完后,通过render server交给GPU去渲染,将backing store中的bitmap数据显示在屏幕上\n所以在 drawRect 方法中 要首先获取 context\n在CALayer内部,系统会创建一个backingStore(可以理解为CGContextRef,drawRect中取到的currentRef就是这个东西),然后layer回判断是否有delegate,如果没有代理,就调用CALayer的drawInContext:方法;如果有代理,则调用layer代理的drawLayer:inContext:方法,这一步发生在系统内部,然后在合适的时间给与我们回调一个熟悉的UIView的drawRect:方法。也就是在系统内部的绘制之上,允许我们再做一些额外的绘制。最后CALayer把backting store(位图)传给GPU。\n3.2 异步绘制流程\n\nUIView 中有一个 CALayer 的属性,负责 UIView 具体内容的显示。\n具体过程是系统会把 UIView 显示的内容(包括 UILabel 的文字,UIImageView 的图片等)绘制在一张画布上,完成后倒出图片赋值给 CALayer 的 contents 属性,完成显示。\n\n这其中的工作都是在主线程中完成的,这就导致了主线程频繁的处理 UI 绘制的工作,如果要绘制的元素过多,过于频繁,就会造成卡顿。\n解决方案使用异步绘制就是:\n\n把 UIView 显示的内容(包括 UILabel 的文字,UIImageView 的图片等)绘制生成的 bitmap 在子线程完成。\n然后在回到主线程把 bitmap 赋值给 view.layer.content 属性。\n\n \n\n\n首先在主线程调用 setNeedsdispay 方法\n系统会在 runloop 将要结束的时候调用 [CAlayer display] 方法\n如果我们的代理实现了dispayLayer 这个方法,会调用 dispayLayer 这个方法。我们可以去子线程里面进行异步绘制。子线程主要做的工作:\n创建上下文\nUI控件的绘制工作\n生成对应的图片(bitmap)\n\n\n主线程可以做其他工作\n异步绘制完事之后,回到主线程,把绘制的 bitmap 赋值 view.layer.contents 属性中\n\n\n▐ 是否知道异步绘制?如何进行异步绘制?\n\n基于系统开的口子 [layer.delegate dispayLayer:] 方法。\n并且实现/遵从了 dispayLayer 这个方法,我们就可以进行异步绘制: \n1)代理负责生产对应的 bitmap \n2)设置 bitmap 作为 layer.contents 属性的值\n\n\n\n4. View布局与约束时机\n一个视图的布局指的是它在屏幕上的的大小和位置。每个 view 都有一个 frame 属性,用来表示在父 view 坐标系中的位置和具体的大小。UIView 给你提供了用来通知系统某个 view 布局发生变化的方法,也提供了在 view 布局重新计算后调用的可重写的方法。\nUpdate Cycle\nUpdate cycle 是当应用完成了你的所有事件处理代码后控制流回到主 RunLoop 时的那个时间点。正是在这个时间点上系统开始更新布局、显示和设置约束。如果你在处理事件的代码中请求修改了一个 view,那么系统就会把这个 view 标记为需要重画(redraw)。在接下来的 Update cycle 中,系统就会执行这些 view 上的更改。用户交互和布局更新间的延迟几乎不会被用户察觉到。iOS 应用一般以 60 fps 的速度展示动画,就是说每个更新周期只需要 1/60 秒。这个更新的过程很快,所以用户在和应用交互时感觉不到 UI 中的更新延迟。但是由于在处理事件和对应 view 重画间存在着一个间隔,RunLoop 中的某时刻的 view 更新可能不是你想要的那样。如果你的代码中的某些计算依赖于当下的 view 内容或者是布局,那么就有在过时 view 信息上操作的风险。理解 RunLoop、update cycle 和 UIView 中具体的方法可以帮助避免或者可以调试这类问题。下面的图展示出了 update cycle 发生在 RunLoop 的尾部。\n\n布局:\nlayoutSubviews()\n它负责给出当前 view 和每个子 view 的位置和大小。这个方法很开销很大,因为它会在每个子视图上起作用并且调用它们相应的 layoutSubviews 方法。系统会在任何它需要重新计算视图的 frame 的时候调用这个方法,所以你应该在需要更新 frame 来重新定位或更改大小时重载它。然而你不应该在代码中显式调用这个方法。相反,有许多可以在 run loop 的不同时间点触发 layoutSubviews 调用的机制,这些触发机制比直接调用 layoutSubviews 的资源消耗要小得多。\n自动刷新触发器\n有许多事件会自动给视图打上 “update layout” 标记,因此 layoutSubviews 会在下一个周期中(重点!!!)被调用,而不需要开发者手动操作。这些自动通知系统 view 的布局发生变化的方式有:\n\n修改 view 的大小\n新增 subview\n用户在 UIScrollView 上滚动(layoutSubviews 会在 UIScrollView 和它的父 view 上被调用)\n用户旋转设备\n更新视图的 constraints\n\n这些方式都会告知系统 view 的位置需要被重新计算,继而会自动转化为一个最终的 layoutSubviews 调用。当然,也有直接触发 layoutSubviews 的方法。\nsetNeedsLayout()\n触发 layoutSubviews 调用的最省资源的方法就是在你的视图上调用 setNeedsLaylout 方法。调用这个方法代表向系统表示视图的布局需要重新计算。setNeedsLayout 方法会立刻执行并返回,但在返回前不会真正更新视图。视图会在下一个 update cycle 中更新,就在系统调用视图们的 layoutSubviews 以及他们的所有子视图的 layoutSubviews 方法的时候。\nlayoutIfNeeded()\nlayoutIfNeeded 是另一个会让 UIView 触发 layoutSubviews 的方法。 当视图需要更新的时候,与 setNeedsLayout() 会让视图在下一周期调用 layoutSubviews 更新视图不同,layoutIfNeeded 会立即调用 layoutSubviews 方法。但是如果你调用了 layoutIfNeeded 之后,并且没有任何操作向系统表明需要刷新视图,那么就不会调用 layoutsubview。如果你在同一个 run loop 内调用两次 layoutIfNeeded,并且两次之间没有更新视图,第二个调用同样不会触发 layoutSubviews 方法。\n使用 layoutIfNeeded,则布局和重绘会立即发生并在函数返回之前完成(除非有正在运行中的动画)。这个方法在你需要依赖新布局,无法等到下一次 update cycle 的时候会比 setNeedsLayout 有用\n当对希望通过修改 constraint 进行动画时,这个方法特别有用。你需要在 animation block 之前对 self.view 调用 layoutIfNeeded,以确保在动画开始之前传播所有的布局更新。在 animation block 中设置新 constrait 后,需要再次调用 layoutIfNeeded 来动画到新的状态。\n(注: Masonry 动画需要这个)\n显示:\n一个视图的显示包含了颜色、文本、图片和 Core Graphics 绘制等视图属性,不包括其本身和子视图的大小和位置。和布局的方法类似,显示也有触发更新的方法,它们由系统在检测到更新时被自动调用,或者我们可以手动调用直接刷新。\nsetNeedsDisplay()\n这个方法类似于布局中的 setNeedsLayout 。它会给有内容更新的视图设置一个内部的标记,但在视图重绘之前就会返回。然后在下一个 update cycle 中,系统会遍历所有已标标记的视图,并调用它们的 draw 方法。\n大部分时候,在视图中更新任何 UI 组件都会把相应的视图标记为“dirty”,通过设置视图“内部更新标记”,在下一次 update cycle 中就会重绘,而不需要显式的 setNeedsDisplay 调用\n约束:\nupdateConstraints()\n这个方法用来在自动布局中动态改变视图约束。和布局中的 layoutSubviews() 方法或者显示中的 draw 方法类似,updateConstraints() 只应该被重载,绝不要在代码中显式地调用。通常你只应该在 updateConstraints 方法中实现必须要更新的约束。\nsetNeedsUpdateConstraints()\n调用 setNeedsUpdateConstraints() 会保证在下一次更新周期中更新约束。它通过标记“update constraints”来触发 updateConstraints()。这个方法和 setNeedsDisplay() 以及 setNeedsLayout() 方法的工作机制类似。\nupdateConstraintsIfNeeded()\n对于使用自动布局的视图来说,这个方法与 layoutIfNeeded 等价。它会检查 “update constraints”标记(可以被 setNeedsUpdateConstraints 或者 invalidateInstrinsicContentSize方法自动设置)。如果它认为这些约束需要被更新,它会立即触发 updateConstraints() ,而不会等到 RunLoop 的末尾。\n如下图,分别为 布局,显示,约束 3个阶段方法;不同方法在不同周期会刷新布局显示出来。\n\n▐ 我们调用 [UIView setNeedsDisplay] 方法的时候,不会立马发送对应视图的绘制工作,为什么?\n\n调用 [UIView setNeedsDisplay] 后,\n然后会调用系统的同名方法 [view.layer setNeedsDisplay] 方法并在当前 view 上面打上一个脏标记\n当前 Runloop 将要结束的时候才会调用 [CALyer display] 方法,然后进入到视图真正的绘制工作当中。\n\n5. View绘制渲染机制和Runloop什么关系\n底层原理\n当在操作 UI 时,,比如修改了frame、调整了UI层级(UIView/CALayer)或者手动设置了setNeedsDisplay:/setNeedsLayout:,这些调整操作会触发transaction commit,这个 UIView/CALayer 就被标记为待处理,并被提交到一个全局的容器去。向渲染服务器提交图层树。当这个 Observer 监听了主线程 RunLoop 的即将进入休眠和退出状态,则会遍历所有的UI更新并提交进行实际绘制更新。\n苹果注册了一个 Observer 监听 BeforeWaiting(即将进入休眠) 和 Exit (即将退出Loop) 事件,回调去执行一个很长的函数:\n_ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()。这个函数里会遍历所有待处理的 UIView/CAlayer 以执行实际的绘制和调整,并更新 UI 界面。\n\n_ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()\nQuartzCore:CA::Transaction::observer_callback:\nCA::Transaction::commit();\nCA::Context::commit_transaction();\nCA::Layer::layout_and_display_if_needed();\nCA::Layer::layout_if_needed();\n[CALayer layoutSublayers];\n[UIView layoutSubviews];\nCA::Layer::display_if_needed();\n[CALayer display];\n[UIView drawRect];\n\n6. UI 卡顿,列表卡顿、掉帧原理\n\niOS的 mainRunloop是一个60fps的回调,也就是说每16.7ms(VSync信号时间)会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawRect),这些CPU的工作。然后将这个缓冲区交给GPU渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(Texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。 因此,如果在16.7ms内完不成这些操作,比如,CPU做了太多的工作,或者view层次过于多,图片过于大,导致GPU压力太大,就会导致“卡”的现象,也就是丢帧.\n\n在规定的16.7ms内,在下一个VSync信号到来之前,CPU和GPU并没有共同完成下一帧视频的合成,就会出现掉帧、卡顿。\n\n滑动优化方案思路:\n\nCPU:\n对象的创建、调整、销毁可以放在子线程中去做ASDK;\n预排班。布局计算、文本计算等事先放到子线程中去做;\n使用轻量级对象,比如CALayer代替UIView\n预渲染。文本等异步绘制,图片编解码等。\n控制并发线程数量\n减少重复计算布局,减少修改frame等\nautolayout比frame更消耗资源\n可以让图片的size跟frame一致\n\n\nGPU:\n纹理渲染。避免离屏渲染\n视图混合。减少视图层级的复杂性,减少透明视图;不透明的opaque设置为YES\nGPU能处理的最大纹理是4096 * 4096,一旦超过这个尺寸就会调用CPU进行资源处理,所以纹理尽量不要超过这个尺寸\n\n\n\n7. 结合阅读\nYYAsyncLayer基于异步绘制:\nYYAsyncLayer 异步绘制原理解析\nReference:\n[译] 揭秘 iOS 布局\niOS-[渲染原理]当你被问到下面问题,你能够回答出来么? 1、app从点击屏幕到完成渲染,中间发生了什么? 2、当一个 - 掘金 (juejin.cn)\nUIView 绘制渲染机制\n"},"iOS/UIKit/UIViewRenderProcess.html":{"url":"iOS/UIKit/UIViewRenderProcess.html","title":"iOS界面渲染流程分析","keywords":"","body":"iOS界面渲染流程分析\n面试题\n本文可为以下面试题提供参考:\n\napp从点击屏幕(硬件)到完全渲染,中间发生了什么?越详细越好 要求讲到进程间通信?出处\n一个UIImageView添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?\n在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?\nUIView与CALayer的区别?\n\n简答\niOS渲染视图的核心是Core Animation\n 其渲染层次依次为:图层树->呈现树->渲染树\n\nCPU阶段\n布局(Frame)\n显示(Core Graphics)\n准备(QuartzCore/Core Animation)\n通过IPC提交(打包好的图层树以及动画属性)\n\n\nOpenGL ES阶段\n生成(Generate)\n绑定(Bind)\n缓存数据(Buffer Data)\n启用(Enable)\n设置指针(Set Pointers)\n绘图(Draw)\n清除(Delete)\n\n\nGPU阶段\n接收提交的纹理(Texture)和顶点描述(三角形)\n应用变换(transform)\n合并渲染(离屏渲染等)\n\n\n\n其iOS平台渲染核心原理的重点主要围绕前后帧缓存、Vsync信号、CADisplayLink\n文字简答:\n\n首先一个视图由CPU进行Frame布局,准备视图和图层的层级关系,查询是否有重写drawRect:或drawLayer:inContext:方法,注意:如果有重写的话,这里的渲染是会占用CPU进行处理的。\nCPU会将处理视图和图层的层级关系打包,通过IPC(内部处理通信)通道提交给渲染服务,渲染服务由OpenGL ES和GPU组成。\n渲染服务首先将图层数据交给OpenGL ES进行纹理生成和着色。生成前后帧缓存,再根据显示硬件的刷新频率,一般以设备的VSync信号和CADisplayLink为标准,进行前后帧缓存的切换。\n最后,将最终要显示在画面上的后帧缓存交给GPU,进行采集图片和形状,运行变换,应用纹理和混合。最终显示在屏幕上。\n\n以上仅仅是对该题简单回答,其中的原理以及瓶颈和优化,后面会详细介绍。\n\n知识点\n\n重新认识Core Animation\nCPU渲染职能\nOpenGL ES渲染职能\nGPU渲染职能\nIPC内部通信(进程间通信)\n前后帧缓存&Vsync信号\n视图渲染优化&卡顿优化\nMetal渲染引擎\n事件响应链&Runloop原理\nCALayer的职能\n\n重新认识Core Animation\n苹果官方文档-Core Animation\n Core Animation并仅仅是字面意思的核心动画,而是整个显示核心都是围绕QuartzCore框架中的Core Animation\n\nCore Animation是依赖于OpenGL ES做GPU渲染,CoreGraphics做CPU渲染,但在本文中,以及官方文档都是将OpenGL与GPU分开说明。\n\nCore Animation 在 RunLoop 中注册了一个 Observer,监听了 BeforeWaiting 和 Exit 事件。这个 Observer 的优先级是 2000000,低于常见的其他 Observer。当一个触摸事件到来时,RunLoop 被唤醒,App 中的代码会执行一些操作,比如创建和调整视图层级、设置 UIView 的 frame、修改 CALayer 的透明度、为视图添加一个动画;这些操作最终都会被 CALayer 捕获,并通过 CATransaction 提交到一个中间状态去(CATransaction 的文档略有提到这些内容,但并不完整)。当上面所有操作结束后,RunLoop 即将进入休眠(或者退出)时,关注该事件的 Observer 都会得到通知。这时 CA 注册的那个 Observer 就会在回调中,把所有的中间状态合并提交到 GPU 去显示;如果此处有动画,CA 会通过 DisplayLink 等机制多次触发相关流程。\nCPU渲染职能\n在这里推荐大家去阅读落影loyinglin的文章iOS开发-视图渲染与性能优化\n\n显示逻辑\nCoreAnimation提交会话,包括自己和子树(view hierarchy)的layout状态等;\nRenderServer解析提交的子树状态,生成绘制指令\nGPU执行绘制指令\n显示渲染后的数据\n\n\n\n\n\n提交流程\n布局(Layout)\n调用layoutSubviews方法\n调用addSubview:方法\n\n\n显示(Display)\n通过drawRect绘制视图;\n绘制string(字符串);\n\n\n准备提交(Prepare)\n解码图片;\n图片格式转换;\n\n\n提交(Commit)\n打包layers并发送到渲染server;\n递归提交子树的layers;\n如果子树太复杂,会消耗很大,对性能造成影响;\n\n\n\n\n\nCPU渲染职能主要体现在以下5个方面:\n\n布局计算\n 如果你的视图层级过于复杂,当视图呈现或者修改的时候,计算图层帧率就会消耗一部分时间。特别是使用iOS6的自动布局机制尤为明显,它应该是比老版的自动调整逻辑加强了CPU的工作。\n视图懒加载\n iOS只会当视图控制器的视图显示到屏幕上时才会加载它。这对内存使用和程序启动时间很有好处,但是当呈现到屏幕上之前,按下按钮导致的许多工作都会不能被及时响应。比如控制器从数据库中获取数据,或者视图 从一个nib文件中加载,或者涉及IO的图片显示,都会比CPU正常操作慢得多。\nCore Graphics绘制\n 如果对视图实现了drawRect:或drawLayer:inContext:方法,或者 CALayerDelegate 的 方法,那么在绘制任何东 西之前都会产生一个巨大的性能开销。为了支持对图层内容的任意绘制,Core Animation必须创建一个内存中等大小的寄宿图片。然后一旦绘制结束之后, 必须把图片数据通过IPC传到渲染服务器。在此基础上,Core Graphics绘制就会变得十分缓慢,所以在一个对性能十分挑剔的场景下这样做十分不好。\n解压图片\n PNG或者JPEG压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于图片宽 x 长 x 4个字节)。为了节省内存,iOS通常直到真正绘制的时候才去解码图片。根据你加载图片的方式,第一次对 图层内容赋值的时候(直接或者间接使用 UIImageView )或者把它绘制到 Core Graphics中,都需要对它解压,这样的话,对于一个较大的图片,都会占用一定的时间。\n图层打包\n 当图层被成功打包,发送到渲染服务器之后,CPU仍然要做如下工作:为了显示 屏幕上的图层,Core Animation必须对渲染树种的每个可见图层通过OpenGL循环 转换成纹理三角板。由于GPU并不知晓Core Animation图层的任何结构,所以必须 要由CPU做这些事情。这里CPU涉及的工作和图层个数成正比,所以如果在你的层 级关系中有太多的图层,就会导致CPU没一帧的渲染,即使这些事情不是你的应用 程序可控的。\n\nOpenGL ES渲染职能\n这里推荐大家去看《OpenGL ES应用开发实践指南:iOS卷》,因为篇幅过长,就不赘述OpenGL的原理。\n\n简单来说,OpenGL ES是对图层进行取色,采样,生成纹理,绑定数据,生成前后帧缓存。\n纹理的概念:纹理是一个用来保存图像的颜色元􏰈值的 OpenGL ES 缓存,可以简单理解为一个单位。\n1)生成(Generate)— 请 OpenGL ES 为图形处理器制的缓存生成一个独一无二的标识符。 \n2)绑定(Bind)— 告诉 OpenGL ES 为接下来的运算使用一个缓存。 \n3)缓存数据(Buffer Data)— 让 OpenGL ES 为当前定的缓存分配并初始化 够的内存(通常是从 CPU 制的内存复制数据到分配的内存)。 \n4)启用(Enable)或者(Disable)— 告诉 OpenGL ES 在接下来的渲染中是 使用缓存中的数据。 \n5)设置指(Set Pointers)— 告诉 Open-GL ES 在缓存中的数据的类型和所有需 要的数据的内存移值。 \n6)绘图(Draw) — 告诉 OpenGL ES 使用当前定并启用的缓存中的数据渲染 整个场景或者某个场景的一部分。 \n7)删除除(Delete)— 告诉 OpenGL ES 除以前生成的缓存并释相关的资源。\n\n当显示一个UIImageView时,Core Animation会创建一个OpenGL ES纹理,并确保在这个图层中的位图被上传到对应的纹理中。当你重写-drawInContext方法时,Core Animation会请求分配一个纹理,同时确保Core Graphics会将你在-drawInContext中绘制的东西放入到纹理的位图数据中。\n\niOS 操作系统不会让应用直接向前帧缓存或者 后帧缓存绘图,也不会让应用直接复制前帧缓存和后帧缓存之间的切换。操作系统为自 己保留了这些操作,以便它可以随时使用 Core Animation 合成器来控制显示的最终外观\n最终,生成前后帧缓存会再交由GPU进行最后一步的工作。\nGPU渲染职能\nGPU会根据生成的前后帧缓存数据,根据实际情况进行合成,其中造成GPU渲染负担的一般是:离屏渲染,图层混合,延迟加载。\n\n\n普通的Tile-Based渲染流程\nCommandBuffer,接受OpenGL ES处理完毕的渲染指令;\nTiler,调用顶点着色器,把顶点数据进行分块(Tiling);\nParameterBuffer,接受分块完毕的tile和对应的渲染参数;\nRenderer,调用片元着色器,进行像素渲染;\n -RenderBuffer,存储渲染完毕的像素;\n\n\n离屏渲染 —— 遮罩(Mask)\n渲染layer的mask纹理,同Tile-Based的基本渲染逻辑;\n渲染layer的content纹理,同Tile-Based的基本渲染逻辑;\nCompositing操作,合并1、2的纹理;\n\n\n离屏渲染 ——UIVisiualEffectView\n渲染等待\n光栅化\n组透明度\n\nGPU用来采集图片和形状,运行变换,应用文理和混合,最终把它们输送到屏幕上。\n太多的几何结构会影响GPU速度,但这并不是GPU的瓶颈限制原因,但由于图层在显示之前要通过IPC发送到渲染服务器的时候(图层实际上是由很多小物体组成的特别重量级的对象),太多的图层就会引起CPU的瓶颈。\n重绘。主要由重叠的半透明图层引起。GPU的填充比率(用颜色填充像素的比率)是有限的,所以要避免重绘。\n\nIPC内部通信(进程间通信)\n在研究这个问题的过程中,我有想过去看一下源码,试着去理解在视图完全渲染之前,IPC是如何调度的,可惜苹果并没有开源绘制过程中的代码。这里推荐官方文章给大家了解一下iOS中IPC是如何运作的。\n苹果官方文档-Mach内核编程 IPC通信\n前后帧缓存&Vsync信号\n虽然我们不能看到苹果内部是如何实现的,但是苹果官方也提供了我们可以参考的对象,也就是VSync信号和CADisplayLink对象。\niOS 的显示系统是由 VSync 信号驱动的,VSync 信号由硬件时钟生成,每秒钟发出 60 次(这个值取决设备硬件,比如 iPhone 真机上通常是 59.97)。iOS 图形服务接收到 VSync 信号后,会通过 IPC 通知到 App 内。App 的 Runloop 在启动后会注册对应的 CFRunLoopSource 通过 mach_port 接收传过来的时钟信号通知,随后 Source 的回调会驱动整个 App 的动画与显示。\n\n帧缓存:接收渲染结果的缓冲区,为GPU指定存储渲染结果的区域\n帧缓存可以同时存在多个,但是屏幕显示像素受到保存在前帧缓存(front frame buffer)的特定帧缓存中的像素颜色元素的控制。\n 程序的渲染结果通常保存在后帧缓存(back frame buffer)在内的其他帧缓存,当渲染后的后帧缓存完成后,前后帧缓存会互换。(这部分操作由操作系统来完成)\n前帧缓存决定了屏幕上显示的像素颜色,会在适当的时候与后帧缓存切换。\nCore Animation的合成器会联合OpenGL ES层和UIView层、StatusBar层等,在后帧缓存混合产生最终的颜色,并切换前后帧缓存;\n OpenGL ES坐标是以浮点数来存储,即使是其他数据类型的顶点数据也会被转化成浮点型;\n\n视图加载\n那么在了解iOS视图渲染流程以后,再来看一下第二题:\n 一个UIImageView添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?\n\n图片的显示分为三步:加载、解码、渲染。\n 通常,我们操作的只有加载,解码和渲染是由UIKit进行。\n 以UIImageView为例。当其显示在屏幕上时,需要UIImage作为数据源。\n UIImage持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。\n 当UIImage被赋值给UIImage时(例如imageView.image = image;),图像数据会被解码,变成RGB的颜色数据。\n 解码是一个计算量较大的任务,且需要CPU来执行;并且解码出来的图片体积与图片的宽高有关系,而与图片原来的体积无关。\n 此处引用-->iOS性能优化——图片加载和处理\n\n我查看了较为流行的第三方库源码,例如YYImage、SDWebImage、FastImageCache,其中加载一个图片的流程大致为:\n\n查看UIImageView的API我们可以发现,UIImage封装了一个CoreGraphics/CGImage的对象。\n 1.+[UIImage imageWithContentsOfFile:]使用Image I/O创建CGImageRef内存映射数据。此时,图像尚未解码。\n返回的图像被分配给UIImageView。\n如果图像数据为未解码的PNG/JPG,解码为位图数据\n隐式CATransaction捕获到UIImageView layer树的变化\n在主运行循环的下一次迭代中,Core Animation提交隐式事务,这会涉及创建已设置为层内容的所有图像的副本,根据图像:\n缓冲区被分配用于管理文件IO和解压缩操作。\n文件数据从磁盘读入内存。\n压缩的图像数据被解码成其未压缩的位图形式\nCore Animation使用未压缩的位图数据来渲染图层。\n\n\n\n再看一下YYImage的源码,其流程也大致为:\n\n获取图片二进制数据\n创建一个CGImageRef对象\n使用CGBitmapContextCreate()方法创建一个上下文对象\n使用CGContextDrawImage()方法绘制到上下文\n使用CGBitmapContextCreateImage()生成CGImageRef对象。\n最后使用imageWithCGImage()方法将CGImage转化为UIImage。\n\n当然YYImage不止做了这些,还有解码器编码器,支持webP等多种格式,并且还写了自定义的操作队列,对网络加载图片进行了优化。在此不赘述。\n推荐文章:\n 苹果官方文档-CGImage位图\n iOS图片加载速度极限优化—FastImageCache解析\n Image I/O详解的文章\n 在这里同时推荐Y大的两篇文章\n 移动端图片格式调研\n iOS 处理图片的一些小 Tip\n视图渲染优化&卡顿优化\n接下来我们看一下第三题:在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?\n什么是卡顿?苹果官方文章-显示帧率\n\n当你的主线程操作卡顿超过16.67ms以后,你的应用就会出现掉帧,丢帧的情况。也就是卡顿。\n一般来说造成卡顿的原因,就是CPU负担过重,响应时间过长。主要原因有以下几种:\n\n隐式绘制 CGContext\n文本CATextLayer 和 UILabel\n光栅化 shouldRasterize\n离屏渲染\n可伸缩图片\nshadowPath\n混合和过度绘制\n减少图层数量\n裁切\n对象回收\nCore Graphics绘制\n-renderInContext: 方法\n\n其中最常见的问题就是离屏渲染:\n\n离屏渲染:离屏绘制发生在基于CPU或者是GPU的渲染,或者是为离屏图 片分配额外内存,以及切换绘制上下文,这些都会降低GPU性能。对于特定图 层效果的使用,比如圆角,图层遮罩,阴影或者是图层光栅化都会强制Core Animation提前渲染图层的离屏绘制。\n\n如果视图绘制超出GPU支持的2048x2048或者4096x4096尺寸的 纹理,就必须要用CPU在图层每次显示之前对图片预处理,同样也会降低性能。\n那么如何在需要渲染大量视图的情况下,还能保证流畅度,也就是保证FPS。\n 在这里推荐阅读郭曜源前辈的iOS 保持界面流畅的技巧\n 以及indulge_in的YYAsyncLayer剖析\n 我参考了YYAsyncLayer,他其中的原理大致是这样的:\nYYAsyncLayer原理\nYYAsyncLayer 是 CALayer 的子类,当它需要显示内容(比如调用了 [layer setNeedDisplay])时,它会向 delegate,也就是 UIView 请求一个异步绘制的任务。在异步绘制时,Layer 会传递一个 BOOL(^isCancelled)() 这样的 block,绘制代码可以随时调用该 block 判断绘制任务是否已经被取消。\n当 TableView 快速滑动时,会有大量异步绘制任务提交到后台线程去执行。但是有时滑动速度过快时,绘制任务还没有完成就可能已经被取消了。如果这时仍然继续绘制,就会造成大量的 CPU 资源浪费,甚至阻塞线程并造成后续的绘制任务迟迟无法完成。我的做法是尽量快速、提前判断当前绘制任务是否已经被取消;在绘制每一行文本前,我都会调用 isCancelled() 来进行判断,保证被取消的任务能及时退出,不至于影响后续操作。\nAsyncDisplayKit原理\nASDK 在此处模拟了 Core Animation 的这个机制:所有针对 ASNode 的修改和提交,总有些任务是必需放入主线程执行的。当出现这种任务时,ASNode 会把任务用 ASAsyncTransaction(Group) 封装并提交到一个全局的容器去。ASDK 也在 RunLoop 中注册了一个 Observer,监视的事件和 CA 一样,但优先级比 CA 要低。当 RunLoop 进入休眠前、CA 处理完事件后,ASDK 就会执行该 loop 内提交的所有任务。\nTips\n优化方案围绕着 使用多线程调用,合理利用CPU计算位置,布局,层次,解压等,再合理调度GPU进行渲染,GPU负担常常要比CPU大,合理调度CPU进行计算可以减轻GPU渲染负担,使应用更加流畅。\n\nMetal渲染引擎\n当你现在再去查阅官方文档时,你会发现苹果官方已经使用Metal去替代OpenGL ES作为Core Animation的渲染。\n 看一下苹果官方文档-Metal可以发现,早在\n\n苹果将Metal作为新的渲染引擎,更好的利用了GPU的性能,同时保证了低内存占用和省电,但我个人并没有深入研究Metal,这里可以有兴趣的同学可以看一下落影前辈的文章:\n Metal入门教程总结\n Metal入门教程(八)Metal与OpenGL ES交互\n OpenGL 专题\n\n事件响应链&原理\n最后一题:UIView和CALayer的区别?\n如果你已经做了几年iOS开发,相比对于这道题可能已经很熟悉。\n 最直接的回答就是UIView可以响应用户事件,而CALayer不能处理事件\n首先要讲一下App中的事件响应链,它分为两部分:Hit-Testing事件传递 & Runloop原理\n当用户对屏幕进行了操作,产生了一个用户事件。\n\n苹果注册了一个 Source1 (基于 mach port 的) 用来接收系统事件,其回调函数为 __IOHIDEventSystemClientQueueCallback()\n当一个硬件事件(触摸/锁屏/摇晃等)发生后,首先由 IOKit.framework 生成一个 IOHIDEvent 事件并由 SpringBoard 接收。这个过程的详细情况可以参考这里。SpringBoard 只接收按键(锁屏/静音等),触摸,加速,接近传感器等几种 Event,随后用 mach port 转发给需要的App进程。随后苹果注册的那个 Source1 就会触发回调,并调用 _UIApplicationHandleEventQueue()进行应用内部的分发。\n_UIApplicationHandleEventQueue()会把 IOHIDEvent 处理并包装成 UIEvent 进行处理或分发,其中包括识别 UIGesture/处理屏幕旋转/发送给 UIWindow 等。通常事件比如 UIButton 点击、touchesBegin/Move/End/Cancel事件都是在这个回调中完成的。\n 此处引用-->深入理解Runloop-事件响应\n\n\n当前前台运行中应用接收到UIEvent以后,当用户对屏幕进行了操作,系统先循环调用Hit-test遍历视图栈里的视图,顺序为视图层次的逆顺序,用Responder Chain响应链传递一层层给根视图AppDelegate处理。-->苹果官方文档-使用响应者和响应者链来处理事件\n\n推荐两篇文章:\n iOS 事件处理机制与图像渲染过程\n iOS事件响应链中Hit-Test View的应用\nCALayer的职能\nCALayer 并不清楚具体的响应链,所以不能直接处理触摸事件或者手势。但是它提供了-containsPoint:和-hitTest:来判断是否一个触点在图层的范围之内。\n与UIView不同,CALayer着重于图层的绘制,大致为以下职能:\n\n阴影、圆角、边框、蒙版、拉伸、transform、动画。\n寄宿图:你可以给CALayer.contents传递一个CGImage来进行渲染,也可以调用- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;方法进行绘制。但通常我们会使用UIView的drawRect方法\nCATextLayer:直接将字符串使用Core Graphics写入图层\nCATransformLayer:能够用于构造一个层级的3D结构\n\n\nCALayer 内部并没有属性,当调用属性方法时,它内部是通过运行时 resolveInstanceMethod为对象临时添加一个方法,并把对应属性值保存到内部的一个 Dictionary 里,同时还会通知 delegate、创建动画等等,非常消耗资源。UIView 的关于显示相关的属性(比如 frame/bounds/transform)等实际上都是 CALayer 属性映射来的,所以对 UIView 的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。\n当视图层次调整时,UIView、CALayer 之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。\n\n使用图层关联的视图而不是单独使用 CALayer 的好处在于,你能在使用所\n 有 CALayer 底层特性的同时,也可以使用 UIView 的高级API(比如自动排版, 布局和事件处理)。做一些对性能特别挑剔的工作,比如对 UIView 一些可忽略不计的操作都会引 起显著的不同\n关于UIView动画以及CALayer的动画这里推荐两篇文章:\n iOS-UIView与CALayer动画原理\n CALayer与iOS动画 讲解及使用\n参考\n本文大量借助了引用文章的文字描述,在此感谢各位作者的文章对本问题的理解起了很大的帮助。也希望各位能去原文发表自己的看法。谢谢~\n\n苹果官方视频-WWDC2014-Session419\n苹果官方文章-显示帧率\n落影loyinglin的文章iOS开发-视图渲染与性能优化\n郭曜源前辈的文章:iOS 保持界面流畅的技巧\niOS 事件处理机制与图像渲染过程\n推荐阅读:《iOS和MacOS性能优化》对于图像I/O方面,书中最后有详细解释。\n\n"},"iOS/UIKit/UIImageRender.html":{"url":"iOS/UIKit/UIImageRender.html","title":"iOS 图片的加载与渲染过程","keywords":"","body":"iOS 图片的加载与渲染过程\n\n要访问的图片文件通过系统调用 mmap() 映射到内存,通过 CGImageSourceRef 访问图像数据,创建CGImageRef。\n\n传统操作系统的I/O操作为标准I/O,即缓存I/O。在这种I/O模型下,数据先从磁盘拷贝到内核空间的缓冲区,然后从内核空间缓冲区拷贝到用户的内存空间。这种方式的优点是减少了磁盘操作,提高性能。但因为数据在传输过程中需要在用户内存空间和内核空间间进行多次数据拷贝操作,造成很大的CPU及内存开销。\n\nmmap() 将硬盘数据直接映射到虚拟内存中,应用可以直接访问虚拟内存中对应的地址来读取数据,避免了数据在内核空间和用户空间的相互拷贝,效率更高。在使用这些数据时,虚拟内存管理系统才会根据缺页加载的机制从磁盘加载对应的数据块到物理内存,在这之前不会消耗用户空间的内存。 iOS中,使用 imageNamed 或者imageWithContentsOfFile 时,系统会调用 mmap() 将图片文件映射到虚拟内存,并创建 CGImageRef 用于后续访问图片数据。\n\n\n在主线程中,将图片数据赋值给 UIImageView 。在保存图片时,为了节省空间,通常会将图片编码(压缩)后再进行存储。如果读取的图片数据为压缩后的数据的话,那就需要对其进行解码成位图(Bitmap)数据。 不同加载图片的方式,在这一步的操作上会有一定的差异。\n\nimageNamed: 会在图片第一次渲染到屏幕上的时候进行解码,并缓存解码后的图片数据。缓存数据存储在全局缓存中,不会随着UIImag的释放而释放。\n\nimageWithContentsOfFile: 或 imageWithData: 同样会在图片第一次渲染到屏幕上的时候进行解码。底层会调用到 CGImageSourceCreateWithData() 方法,该方法可以指定是否要缓存解码后的数据,在64位机器上默认需要缓存(kCGImageSourceShouldCache)。与上面的方法不同,这种方式创建的缓存会随着UIImage的释放而被释放掉。\n\n手动调用 CGImageSourceCreateWithData() 方法可以指定是否需要缓存(kCGImageSourceShouldCache),之后再调用 CGImageSourceCreateImageAtIndex() 可以设置是否需要立即进行解码(kCGImageSourceShouldCacheImmediately),如果设置为不需要立刻解码,则会在将图片渲染到屏幕上时才进行解码。(设置为立即解码会阻塞主线程,造成性能问题,详见 https://www.objc.io/issues/5-ios7/iOS7-hidden-gems-and-workarounds/)\n\nUIImageView 的图层树(Layer Tree)发生变化,会生成一个 Implicit Transaction,这个transaction会自动在主线程的下一个 Runloop 进行提交。(Explicit Transaction 由显式调用 begin() 和 commit() 方法触发生成。)\n下一个Main Runloop中,Core Animation会提交这个 Implicit Transaction。如果用户内存中的位图数据没有字节对齐 ,出于渲染性能考虑, Core Animation会对数据进行拷贝,以进行字节对齐。 之后,GPU会渲染对齐后的位图数据,展示在屏幕上。\n\n"},"iOS/Memory/StructMemoryAligned.html":{"url":"iOS/Memory/StructMemoryAligned.html","title":"iOS结构体内存对齐","keywords":"","body":"iOS结构体内存对齐\n首先我们定义了三个结构体LGStruct1、LGStruct2和LGStruct3,然后通过控制台打印出三个结构体类型的内存大小。\nstruct LGStruct1 {\n double a; \n char b; \n int c; \n short d; \n}struct1;\n\nstruct LGStruct2 {\n double a; \n int b; \n char c; \n short d; \n}struct2;\n\nstruct LGStruct3 {\n double a; \n int b; \n char c; \n short d; \n struct LGStruct1 e;\n}struct3;\n\nNSLog(@\"%lu-%lu-%lu\",sizeof(struct1),sizeof(struct2),sizeof(struct3));\n\n可以看到,控制台的打印结果如下:\n\nLGStruct1、LGStruct2两个结构体拥有的变量数量跟类型都大同小异,到底是什么原因导致两个结构体在内存大小的表现上会有截然不同的结果?LGStruct3的内存大小又是如何计算出来的?\n基本数据类型内存大小\n\n内存对齐的原则\n\n数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该成员有⼦成员,⽐如说是数组,结构体等)的整数倍开始(⽐如int为4字节,则要从4的整数倍地址开始存储。 \n结构体作为成员:如果⼀个结构⾥有某些结构体成员,则结构体成员要从其内部最⼤元素⼤⼩的整数倍地址开始存储。(struct a⾥存有struct b,b⾥有char、int 、double等元素,那b应该从8的整数倍开始存储。)\n收尾⼯作:结构体的总⼤⼩,也就是sizeof的结果,必须是其内部最⼤成员的整数倍,不⾜的要补⻬。\n\n案例解析\n了解系统对结构体内存对齐的原则后,我们回过头再看一下文章一开头的三个结构体LGStruct1、LGStruct2和LGStruct3。\n结构体LGStruct1,通过内存对齐规则计算过程如下:\n\n变量a:double 占8个字节,从0位置开始,则 0-7 存储 a \n变量b:char 占1个字节,从8位置开始,此时8是1的整数倍,则 8 存储 b \n变量c:int 占4个字节,从9位置开始,但是此时9不是4的整数倍,因此需要往后继续寻找,找到最接近的能整除4的12位置,则 12-15 存储 c \n变量d:short 占2个字节,从16位置开始,此时16是2的整数倍,则16-17 存储 d \n收尾:LGStruct1需要的内存大小为18字节,而LGStruct1中最⼤成员变量字节数是8字节,内存大小18字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为24字节\n\n结构体LGStruct2,通过内存对齐规则计算过程如下:\n\n变量a:double 占8个字节,从0位置开始,则 0-7 存储 a\n变量b:int 占4个字节,从8位置开始,此时8是4的整数倍,则 8-11 存储 b \n变量c:char 占1个字节,从12位置开始,此时12是1的整数倍,则 12 存储 c \n变量d:short 占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则 14-15 存储 d \n收尾:LGStruct2需要的内存大小为16字节,LGStruct2中最⼤成员变量字节数是8字节,内存大小16字节刚好是内部最⼤成员的整数倍,所以最终大小为16字节\n\n结构体LGStruct3,通过内存对齐规则计算过程如下: \n\n变量a:double 占8个字节,从0位置开始,则 0-7 存储 a\n变量b:int 占4个字节,从8位置开始,此时8是4的整数倍,则 8-11 存储 b \n变量c:char 占1个字节,从12位置开始,此时12是1的整数倍,则 12 存储 c \n变量d:short 占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则 14-15 存储 d\n变量e:内嵌的LGStruct1结构体,LGStruct1内部最⼤元素的大小是8字节,需要从8的整数倍位置开始存储,存储方式同上LGStruct1结构体,则 16-33 存储 e\n收尾:LGStruct3需要的内存大小为34字节,LGStruct3中最⼤成员变量字节数是8字节,内存大小34字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为40字节\n\nReference\niOS底层探索:结构体内存对齐\n"},"iOS/Memory/MemoryFiveMainSection.html":{"url":"iOS/Memory/MemoryFiveMainSection.html","title":"内存中的5大区","keywords":"","body":"内存中的5大区分别是什么?\n\n栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。\n堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。\n全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放。\n文字常量区:常量字符串就是放在这里的。 程序结束后由系统释放。\n程序代码区:存放函数体的二进制代码。\n\n\n"},"iOS/Memory/ReferenceCounting.html":{"url":"iOS/Memory/ReferenceCounting.html","title":"ReferenceCounting","keywords":"","body":"引用计数器\n引用计数的存储策略\n\n有些对象如果支持使用Tagged Pointer,苹果会直接将其指针值作为引用计数返回;\n如果当前设备是64位环境并且使用Objective-C 2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;\n否则Runtime会使用一张散列表来管理引用计数。\n\nTagged Pointer\nTagged Pointer\nisa指针\nisa\n为什么既要使用一个extra_rc又要使用SideTables?\n可能是因为历史问题,以前cpu是32位的,isa中能存储的引用计数就只有$2^7=128$。因此在arm64下,引用计数通常是存储在isa中的。\nSideTable\nSideTable\nalloc实现\n经过一系列调用,最终调用了C函数calloc,此时并没有设置引用计数为1\n此时并没有设置引用计数为1\nretain实现\nSideTable &table = SideTables()[this];\n//在tables里面,根据当前对象指针获取对应的sidetable\n\nsize_t &refcntStorage = table.refcnts[this];\n//获得引用计数\n\n//添加引用计数\nrefcntStorage += SIDE_TABLE_RC_ONE(4,位计算)\nrelease 实现\nSideTable &table = SideTables()[this];\nRefcountMap::iterator it = table.refcnts.find[this];\nit->second -= SIDE_TABLE_RC_ONE\nretianCount\nSideTable &table = SideTables()[this];\nsize_t refcnt_result = 1;\nRefcountMap::iterator it = table.refcnts.find[this];\nrefcnt_result += it->second >> SIDE_TABLE_RC_SHIFT;(将向右偏移操作)\n引用计数的获取\n通过retainCount可以获取到引用计数器,其定义:\n- (NSUInteger)retainCount {\n return ((id)self)->rootRetainCount();\n}\n\ninline uintptr_t objc_object::rootRetainCount() {\n if (isTaggedPointer()) return (uintptr_t)this;\n\n sidetable_lock();\n // 加锁,用汇编指令ldxr来保证原子性\n isa_t bits = LoadExclusive(&isa.bits);\n // 释放锁,使用汇编指令clrex\n ClearExclusive(&isa.bits);\n if (bits.nonpointer) {\n uintptr_t rc = 1 + bits.extra_rc;\n if (bits.has_sidetable_rc) {\n rc += sidetable_getExtraRC_nolock();\n }\n sidetable_unlock();\n return rc;\n }\n\n sidetable_unlock();\n return sidetable_retainCount();\n}\n\n//sidetable_retainCount()函数实现\nuintptr_t objc_object::sidetable_retainCount() {\n SideTable& table = SideTables()[this];\n\n size_t refcnt_result = 1;\n\n table.lock();\n RefcountMap::iterator it = table.refcnts.find(this);\n if (it != table.refcnts.end()) {\n // this is valid for SIDE_TABLE_RC_PINNED too\n refcnt_result += it->second >> SIDE_TABLE_RC_SHIFT;\n }\n table.unlock();\n return refcnt_result;\n}\n从上面的代码可知,获取引用计数的时候分为三种情况:\n\nTagged Pointer的话,直接返回isa本身;\n非Tagged Pointer,且开启了指针优化,此时引用计数先从extra_rc中去取(这里将取出来的值进行了+1操作,所以在存的时候需要进行-1操作),接着判断是否有SideTable,如果有再加上存在SideTable中的计数;\n非Tagged Pointer,没有开启了指针优化,使用sidetable_retainCount()函数返回。\n\n总结\n\n引用计数存在什么地方?\n\nTagged Pointer不需要引用计数,苹果会直接将对象的指针值作为引用计数返回;\n开启了指针优化(nonpointer == 1)的对象其引用计数优先存在isa的extra_rc中,大于524288便存在SideTable的RefcountMap或者说是DenseMap中;\n没有开启指针优化的对象直接存在SideTable的RefcountMap或者说是DenseMap中。\n\n\nretain/release的实质\n\nTagged Pointer不参与retain/release;\n找到引用计数存储区域,然后+1/-1,并根据是否开启指针优化,处理进位/借位的情况;\n当引用计数减为0时,调用dealloc函数。\n\n\nisa是什么\n// ISA() assumes this is NOT a tagged pointer object\nClass ISA();\n\n// getIsa() allows this to be a tagged pointer object\nClass getIsa();\n\n首先要知道,isa指针已经不一定是类指针了,所以需要用ISA()获取类指针;\nTagged Pointer的对象没有isa指针,有的是isa_t的结构体;\n其他对象的isa指针还是类指针。\n\n\n对象的值是什么\n\n如果是Tagged Pointer,对象的值就是指针;\n如果非Tagged Pointer, 对象的值是指针指向的内存区域中的值。\n\n\n\n补充: 一道多线程安全的题目\n以下代码运行结果\n@property (nonatomic, strong) NSString *target;\n//....\n\ndispatch_queue_t queue = dispatch_queue_create(\"parallel\", DISPATCH_QUEUE_CONCURRENT);\nfor (int i = 0; i 答案:大概率地发生Crash。\nCrash的原因:过度释放。\n这道题看着虽然是多线程范围的,但是解题的最重要思路确是在引用计数上,更准确的来说是看对强引用的理解程度。关键知识点如下:\n\n全局队列和自定义并行队列在异步执行的时候会根据任务系统决定开辟线程个数;\ntarget使用strong进行了修饰,Block是会截获对象的修饰符的;\n即使使用_target效果也是一样,因为默认使用strong修饰符隐式修饰;\nstrong的源代码如下:\n\nobjc_storeStrong(id *location, id obj) {\n id prev = *location;\n if (obj == prev) {\n return;\n }\n objc_retain(obj);\n *location = obj;\n objc_release(prev);\n}\n假设这个并发队列创建了两个线程A和B,由于是异步的,可以同时执行。因此会出现这么一个场景,在线程A中,代码执行到了objc_retain(obj),但是在线程B中可能执行到了objc_release(prev),此时prev已经被释放了。那么当A在执行到objc_release(prev)就会过度释放,从而导致程序crash。\n解决方法:\n\n加个互斥锁\n使用串行队列,使用串行队列的话,其实内部是靠DISPATCH_OBJ_BARRIER_BIT设置阻塞标志位\n使用weak\nTagged Pointer,如果说上面的self.target指向的是一个Tagged Pointer技术的NSString,那程序就没有问题。\n\nReference\n1.iOS引用计数管理之揭秘计数存储\nOC内存管理-引用计数器 | NeroXie的个人博客\n"},"iOS/Memory/TaggedPointer.html":{"url":"iOS/Memory/TaggedPointer.html","title":"Tagged Pointer","keywords":"","body":"Tagged Pointer\nTagged Pointer是苹果在64bit设备提出的一种存储小对象的技术,用于优化NSNumber、NSDate、NSString等小对象的储存\n主要解决 内存浪费 和 访问效率 的问题\n它具有以下特点\n\nTagged Pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。\n它的内存并不存储在堆中,也不需要 malloc 和 free,不走引用计数那一套逻辑,由系统来处理释放\n可以通过设置环境变量OBJC_DISABLE_TAGGED_POINTERS来有开发者决定是否使用这项技术\n专门用于储存小对象\n\n未引入Tagged Pointer\n\n引入Tagged Pointer\n\n从32位迁移到64位CPU,逻辑上虽然不会有任何变化,但是所占有的内存空间却会翻倍。下面以NSNumber对象为例,大家可以清晰看出NSNumber对象在内存空间上的变化情况:\n\n源码\n#if (TARGET_OS_OSX || TARGET_OS_IOSMAC) && __x86_64__\n // 64-bit Mac - tag bit is LSB\n# define OBJC_MSB_TAGGED_POINTERS 0\n#else\n // Everything else - tag bit is MSB\n# define OBJC_MSB_TAGGED_POINTERS 1 // 最高有效位\n#endif\n\n#define _OBJC_TAG_INDEX_MASK 0x7 // 0b111表示有扩展的标记位,扩展标记位占8位\n// array slot includes the tag bit itself\n#define _OBJC_TAG_SLOT_COUNT 16\n#define _OBJC_TAG_SLOT_MASK 0xf // 0b1111 taggedpointer + 有扩展标记位的mask\n\n#define _OBJC_TAG_EXT_INDEX_MASK 0xff\n// array slot has no extra bits\n#define _OBJC_TAG_EXT_SLOT_COUNT 256 // 扩展标记位能表示的个数\n#define _OBJC_TAG_EXT_SLOT_MASK 0xff // 0b1111 1111\n\n#if OBJC_MSB_TAGGED_POINTERS\n# define _OBJC_TAG_MASK (1UL\n定义了很多位信息,我们需要关注的几个:\n\n_OBJC_TAG_MASK :标记位标记该指针是否是tagged pointer\n_OBJC_TAG_INDEX_MASK :tag的值是7表示有扩展的tag位\n其他的都是一些定义,用来通过位运算来获取tag的值、ext tag的值的mask以及一些其他的左移右移位\n\n如何判断是tagged pointer\n有一个标记位来标识指针是否是tagged pointer的\nstatic inline bool \n_objc_isTaggedPointer(const void * _Nullable ptr)\n{\n return ((uintptr_t)ptr & _OBJC_TAG_MASK) == _OBJC_TAG_MASK;\n}\n\n通过位运算获取标识位的值来确定是否是tagged pointer;需要留意的是不同的架构标记位不太一样,有的是用最低位、有的使用最高位。\n支持 Tagged Pointer 对象类型\n系统通过3bit的标记位来标识tagged pointer对象的类,它的定义在objc_tag_index_t中 比如2表示是NSString、6表示是NSDate,我们知道3bit能表示的最大值是7,这个7系统用来预留,用来标记是否有额外的标记位,这样就能支持更多的类支持tagged pointer\n#if __has_feature(objc_fixed_enum) || __cplusplus >= 201103L\nenum objc_tag_index_t : uint16_t\n#else\ntypedef uint16_t objc_tag_index_t;\nenum\n#endif\n{\n // 60-bit payloads\n OBJC_TAG_NSAtom = 0, \n OBJC_TAG_1 = 1, \n OBJC_TAG_NSString = 2, \n OBJC_TAG_NSNumber = 3, \n OBJC_TAG_NSIndexPath = 4, \n OBJC_TAG_NSManagedObjectID = 5, \n OBJC_TAG_NSDate = 6,\n\n // 60-bit reserved\n OBJC_TAG_RESERVED_7 = 7, \n\n // 52-bit payloads\n OBJC_TAG_Photos_1 = 8,\n OBJC_TAG_Photos_2 = 9,\n OBJC_TAG_Photos_3 = 10,\n OBJC_TAG_Photos_4 = 11,\n OBJC_TAG_XPC_1 = 12,\n OBJC_TAG_XPC_2 = 13,\n OBJC_TAG_XPC_3 = 14,\n OBJC_TAG_XPC_4 = 15,\n OBJC_TAG_NSColor = 16,\n OBJC_TAG_UIColor = 17,\n OBJC_TAG_CGColor = 18,\n OBJC_TAG_NSIndexSet = 19,\n\n OBJC_TAG_First60BitPayload = 0, \n OBJC_TAG_Last60BitPayload = 6, \n OBJC_TAG_First52BitPayload = 8, \n OBJC_TAG_Last52BitPayload = 263, \n\n OBJC_TAG_RESERVED_264 = 264\n};\n#if __has_feature(objc_fixed_enum) && !defined(__cplusplus)\ntypedef enum objc_tag_index_t objc_tag_index_t;\n#endif\n\n即针对NSString、NSNumber、NSDate、NSIndexPath这些类型,都支持Tagged Pointer技术。\n系统对tagged pointer的加密\n在iOS12系统之前,发现是可以直接打印tagged pointer的值的,可读性非常好,但是12之后再打印就发现完全看不懂了。\n- (void)testCase {\n NSString *stringWithFormat1 = [NSString stringWithFormat:@\"y\"];\n [self formatedLogObject:stringWithFormat1];\n}\n\n- (void)formatedLogObject:(id)object {\n if (@available(iOS 12.0, *)) {\n NSLog(@\"%p %@ %@\", object, object, object_getClass(object));\n } else {\n NSLog(@\"0x%6lx %@ %@\", object, object, object_getClass(object));\n }\n}\n\n复制代码\n\n上面的测试代码,在12之前输出: 0x79是ASCII对应的y字符的值\n0xa000000000000791 y NSTaggedPointerString\n\niOS12之后输出:\n0xcb47b8d98a2fa15f y NSTaggedPointerString\n\niOS12之前打印指针的值能很清晰的看到数据等信息,iOS12之后系统则打印的完全看不懂了,看了源代码发现苹果是做了混淆,让我们不能直接得到值,从而避免我们去很容易就伪造出一个tagged pointer对象\n内存管理\n\n结论\n1、Tagged Pointer有长度限制,过长会依然会采用对象的形式保存\n2、Tagged Pointer没有isa指针,它不是一个对象,只是一个伪装成对象的普通变量而已。\n3、Tagged Pointer是一个特殊的指针,不指向任何实质地址。 \nReference\n1.iOS特有概念TaggedPointer\n2.OC内存管理-Tagged Pointer初探\n"},"iOS/Memory/SideTables.html":{"url":"iOS/Memory/SideTables.html","title":"SideTables","keywords":"","body":"SideTables 散列表\nSideTables\n简介\nSideTables 是一个 哈希数组 包含 64 个元素,里面存储了SideTable,元素的内容为 SideTable 的地址,每一个 SideTable 又包含有一个自选锁、一张全局的引用计数表、一张全局的弱引用表。\n在runtime内存空间中,SideTables是一个hash数组,里面存储了SideTable。SideTables的hash键值就是一个对象obj的address。 因此可以说,一个obj,对应了一个SideTable。但是一个SideTable,会对应多个obj。因为SideTable的数量有限,所以会有很多obj共用同一个SideTable。\n结构\n如果该对象不是Tagged Pointer且关闭了Non-pointer,那该对象的引用计数就使用SideTable来存。\n\nSideTable的结构\nstruct SideTable {\n spinlock_t slock; // 自旋锁\n RefcountMap refcnts; //引用计数的Map表 key-value\n weak_table_t weak_table; //弱引用表\n\n\nSideTable 的锁 slock\nspinlock_t slock;\n使用的是 自旋锁,而且是 非公平 unfair 锁。\n自旋锁 - 忙等待,直到锁被释放(区别于互斥锁的休眠等待)。\n非公平锁 - 获取锁的顺序和申请的顺序无关,即可能 A 线程第一个申请锁,却在 B、C 获得锁之后 A 才获得锁。\nSideTable 的引用计数表 refcnts\nRefcountMap refcnts;\n哈希表,key 为 objc_object,即 OC 对象,value 为引用计数。\n当 value 为 0 的时候,会将该记录从表中移除。\nSideTable 的弱引用表 weak_table\nweak_table_t weak_table;\nweak_table_t 是一个哈希结构体,其结构如下:\n1/**\n2 * The global weak references table. Stores object ids as keys,\n3 * and weak_entry_t structs as their values.\n4 */\n5struct weak_table_t {\n6 weak_entry_t *weak_entries;\n7 size_t num_entries;\n8 uintptr_t mask;\n9 uintptr_t max_hash_displacement;\n10};\n其中第一个成员 weak_entries 存放着若干个数据,其余的成员都是用来做哈希定位的,\n哈希数据使用 weak_entry_t 结构体保存,定义如下:\n1struct weak_entry_t {\n2 DisguisedPtr referent;\n3 union {\n4 struct {\n5 weak_referrer_t *referrers;\n6 uintptr_t out_of_line_ness : 2;\n7 uintptr_t num_refs : PTR_MINUS_2;\n8 uintptr_t mask;\n9 uintptr_t max_hash_displacement;\n10 };\n11 struct {\n12 // out_of_line_ness field is low bits of inline_referrers[1]\n13 weak_referrer_t inline_referrers[WEAK_INLINE_COUNT];\n14 };\n15 };\n16 ......\n17}\n\nreferent 被引用对象的 内存地址\nreferrers & inline_referrers (所有指向被引用对象的)弱引用指针\n\n可以看出来 weak_entry_t 可以理解成一个字典结构,将 被引用对象的内存地址作为 key,所有指向它的弱引用指针数组作为 value,保存着 某个对象所有指向它的 weak 指针。\n在对 weak_table_t 进行哈希查找的时候,会将要查找的对象地址作为参数,通过 mask,去对比表中每个 weak_entry_t 的 referent,找到对应的 weak_entry_t,然后对其弱引用指针进行操作。\n获取SideTable\n如何从sideTables里找到特定的sideTable呢,这就用到了散列函数。runtime是通过这么一个函数来获取到相应的sideTable:\n\ntable = &SideTables()[obj];\n\n\nstatic StripedMap& SideTables() {\n return *reinterpret_cast*>(SideTableBuf);\n}\n\ntemplate\nclass StripedMap {\n#if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR\n enum { StripeCount = 8 }; // iPhone时这个值为8\n#else\n enum { StripeCount = 64 }; //否则为64\n#endif\n\n struct PaddedT {\n T value alignas(CacheLineSize);\n };\n\n PaddedT array[StripeCount];\n\n static unsigned int indexForPointer(const void *p) {\n //这里是做类型转换\n uintptr_t addr = reinterpret_cast(p);\n\n //这就是哈希算法了\n return ((addr >> 4) ^ (addr >> 9)) % StripeCount;\n }\npublic:\n T& operator[] (const void *p) { \n //返回sideTable\n return array[indexForPointer(p)].value; \n }\n\n可以看到,在对StripeCount取余后,所得到的值根据机器不同,会在0-7或者0-63之间,这就是通过哈希函数来获取到了sideTable的下标,然后再根据value取到所需的sideTable。\n执行table = &SideTables()[obj];之后,执行到了array[indexForPointer(p)].value;,然后进行哈希算法获取到下标,再返回所需的sideTable\n\n为什么不直接用一张SideTable,而是用SideTables去管理多个SideTable?\nSideTable里有一个自旋锁,如果把所有的类都放在同一个SideTable,有任何一个类有改动都会对整个table做操作,并且在操作一个类的同时,操作别的类会被锁住等待,这样会导致操作效率和查询效率都很低。而有多个SideTable的话,操作的都是单个Table,并不会影响其他的table,这就是分离锁。\nReference\n1. NONPOINTER_ISA和散列表 \n2. Exploring the nature of Objective-C reference counting\n3. 探寻Objective-C引用计数本质\n"},"iOS/Memory/WeakTable.html":{"url":"iOS/Memory/WeakTable.html","title":"WeakTable","keywords":"","body":"weak的实现原理\n\n使用场景都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak 关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为 nil。\n\n下面的一段代码是在开发中常见的weak的使用\n NSObject *p = [[NSObject alloc] init];\n __weak NSObject *p1 = p;\n\n此打断点跟踪汇编信息,可以发现底层库调了objc_initWeak函数\n\nobjc_initWeak() 这个方法。在进行编译过程前,clang 其实对 __weak 做了转换,将声明方式做出了如下调整。\nNSObject objc_initWeak(&p1, 对象指针);\n\nobjc_initWeak()\n其中的对象指针,就是代码中的 [[NSObject alloc] init] ,而 p1 是我们传入的一个弱引用指针。而对于 objc_initWeak() 方法的实现,在 runtime 中的源码如下:\nid objc_initWeak(id *location, id newObj) {\n // 查看对象实例是否有效\n // 无效对象直接导致指针释放\n if (!newObj) {\n *location = nil;\n return nil;\n }\n\n // 这里传递了三个 bool 数值\n // 使用 template 进行常量参数传递是为了优化性能\n return storeWeak\n (location, (objc_object*)newObj);\n}\n\n可以看出,这个函数仅仅是一个深层函数的调用入口,而一般的入口函数中,都会做一些简单的判断(例如 objc_msgSend 中的缓存判断),这里判断了其指针指向的类对象是否有效,无效直接释放,不再往深层调用函数。\n需要注意的是,当修改弱引用的变量时,这个方法非线程安全。所以切记选择竞争带来的一些问题。\n继续阅读 objc_storeWeak() 的实现:\n// HaveOld: true - 变量有值\n// false - 需要被及时清理,当前值可能为 nil\n// HaveNew: true - 需要被分配的新值,当前值可能为 nil\n// false - 不需要分配新值\n// CrashIfDeallocating: true - 说明 newObj 已经释放或者 newObj 不支持弱引用,该过程需要暂停\n// false - 用 nil 替代存储\ntemplate \nstatic id storeWeak(id *location, objc_object *newObj) {\n // 该过程用来更新弱引用指针的指向\n\n // 初始化 previouslyInitializedClass 指针\n Class previouslyInitializedClass = nil;\n id oldObj;\n\n // 声明两个 SideTable\n // ① 新旧散列创建\n SideTable *oldTable;\n SideTable *newTable;\n\n // 获得新值和旧值的锁存位置(用地址作为唯一标示)\n // 通过地址来建立索引标志,防止桶重复\n // 下面指向的操作会改变旧值\n retry:\n if (HaveOld) {\n // 更改指针,获得以 oldObj 为索引所存储的值地址\n oldObj = *location;\n oldTable = &SideTables()[oldObj];\n } else {\n oldTable = nil;\n }\n if (HaveNew) {\n // 更改新值指针,获得以 newObj 为索引所存储的值地址\n newTable = &SideTables()[newObj];\n } else {\n newTable = nil;\n }\n\n // 加锁操作,防止多线程中竞争冲突\n SideTable::lockTwo(oldTable, newTable);\n\n // 避免线程冲突重处理\n // location 应该与 oldObj 保持一致,如果不同,说明当前的 location 已经处理过 oldObj 可是又被其他线程所修改\n if (HaveOld && *location != oldObj) {\n SideTable::unlockTwo(oldTable, newTable);\n goto retry;\n }\n\n // 防止弱引用间死锁\n // 并且通过 +initialize 初始化构造器保证所有弱引用的 isa 非空指向\n if (HaveNew && newObj) {\n // 获得新对象的 isa 指针\n Class cls = newObj->getIsa();\n\n // 判断 isa 非空且已经初始化\n if (cls != previouslyInitializedClass && \n !((objc_class *)cls)->isInitialized()) {\n // 解锁\n SideTable::unlockTwo(oldTable, newTable);\n // 对其 isa 指针进行初始化\n _class_initialize(_class_getNonMetaClass(cls, (id)newObj));\n\n // 如果该类已经完成执行 +initialize 方法是最理想情况\n // 如果该类 +initialize 在线程中 \n // 例如 +initialize 正在调用 storeWeak 方法\n // 需要手动对其增加保护策略,并设置 previouslyInitializedClass 指针进行标记\n previouslyInitializedClass = cls;\n\n // 重新尝试\n goto retry;\n }\n }\n\n // ② 清除旧值\n if (HaveOld) {\n weak_unregister_no_lock(&oldTable->weak_table, oldObj, location);\n }\n\n // ③ 分配新值\n if (HaveNew) {\n newObj = (objc_object *)weak_register_no_lock(&newTable->weak_table, \n (id)newObj, location, \n CrashIfDeallocating);\n // 如果弱引用被释放 weak_register_no_lock 方法返回 nil \n\n // 在引用计数表中设置若引用标记位\n if (newObj && !newObj->isTaggedPointer()) {\n // 弱引用位初始化操作\n // 引用计数那张散列表的weak引用对象的引用计数中标识为weak引用\n newObj->setWeaklyReferenced_nolock();\n }\n\n // 之前不要设置 location 对象,这里需要更改指针指向\n *location = (id)newObj;\n }\n else {\n // 没有新值,则无需更改\n }\n\n SideTable::unlockTwo(oldTable, newTable);\n\n return (id)newObj;\n}\n\n引用计数和弱引用依赖表 SideTable\nSideTable 这个结构体,我给他起名引用计数和弱引用依赖表,因为它主要用于管理对象的引用计数和 weak 表。在 NSObject.mm 中声明其数据结构:\nstruct SideTable {\n // 保证原子操作的自旋锁\n spinlock_t slock;\n // 引用计数的 hash 表\n RefcountMap refcnts;\n // weak 引用全局 hash 表\n weak_table_t weak_table;\n}\n\n在之前的 runtime 版本中,有一个较为重要的成员方法,用来根据对象的地址在缓存中取出对应的 SideTable 实例:\nstatic SideTable *tableForPointer(const void *p);\n\n而在上面 objc_storeWeak 方法中,取出实例的方法变成了 &SideTables()[xxxObj]; 这种方式。查看方法的实现,发现了如下函数:\nstatic StripedMap& SideTables() {\n return *reinterpret_cast*>(SideTableBuf);\n}\n\n在取出实例方法的实现中,使用了 C++ 标准转换运算符 reinterpret_cast ,其表达方式为:\nreinterpret_cast (expression)\n\n用来处理无关类型之间的转换。该关键字会产生一个新值,并保证与原参数(expression)拥有完全相同的比特位。\n而 StripedMap 是一个模板类(Template Class),通过传入类(结构体)参数,会动态修改在该类中的一个 array 成员存储的元素类型,并且其中提供了一个针对于地址的 hash 算法,用作存储 key。可以说, StripedMap 提供了一套拥有将地址作为 key 的 hash table 解决方案,而该方案采用了模板类,是拥有泛型性的。\n介绍了与对象相关联的 SideTable 检索方式,再来看 SideTable 的成员和作用。\n对于 slock 和 refcnts 两个成员不用多说,第一个是为了防止竞争选择的自旋锁,第二个是协助对象的 isa 指针的 extra_rc 共同引用计数的变量(对于对象结果,在今后的文中提到)。这里主要看 weak 全局 hash 表的结构与作用。\nstruct weak_table_t {\n // 保存了所有指向指定对象的 weak 指针\n weak_entry_t *weak_entries;\n // 存储空间\n size_t num_entries;\n // 参与判断引用计数辅助量\n uintptr_t mask;\n // hash key 最大偏移值\n uintptr_t max_hash_displacement;\n};\n\n这是一个全局弱引用表。使用不定类型对象的地址作为 key ,用 weak_entry_t 类型结构体对象作为 value 。其中的 weak_entries 成员,从字面意思上看,即为弱引用表入口。其实现也是这样的。\ntypedef objc_object ** weak_referrer_t;\n\nstruct weak_entry_t {\n DisguisedPtr referent;\n union {\n struct {\n weak_referrer_t *referrers;\n uintptr_t out_of_line : 1;\n uintptr_t num_refs : PTR_MINUS_1;\n uintptr_t mask;\n uintptr_t max_hash_displacement;\n };\n struct {\n // out_of_line=0 is LSB of one of these (don't care which)\n weak_referrer_t inline_referrers[WEAK_INLINE_COUNT];\n };\n }\n\n在 weak_entry_t 的结构中,DisguisedPtr referent 是对泛型对象的指针做了一个封装,通过这个泛型类来解决内存泄漏的问题。从注释中写 out_of_line 成员为最低有效位,当其为0的时候, weak_referrer_t 成员将扩展为多行静态 hash table。其实其中的 weak_referrer_t 是二维 objc_object 的别名,通过一个二维指针地址偏移,用下标作为 hash 的 key,做成了一个弱引用散列。\n那么在有效位未生效的时候,out_of_line 、 num_refs、 mask 、 max_hash_displacement 有什么作用?以下是笔者自身的猜测:\n\nout_of_line:最低有效位,也是标志位。当标志位 0 时,增加引用表指针纬度。\nnum_refs:引用数值。这里记录弱引用表中引用有效数字,因为弱引用表使用的是静态 hash 结构,所以需要使用变量来记录数目。\nmask:计数辅助量。\nmax_hash_displacement:hash 元素上限阀值。\n\n其实 out_of_line 的值通常情况下是等于零的,所以弱引用表总是一个 objc_objective 指针二维数组。一维 objc_objective 指针可构成一张弱引用散列表,通过第三纬度实现了多张散列表,并且表数量为 WEAK_INLINE_COUNT 。\n总结一下 StripedMap[] : StripedMap 是一个模板类,在这个类中有一个 array 成员,用来存储 PaddedT 对象,并且其中对于 [] 符的重载定义中,会返回这个 PaddedT 的 value 成员,这个 value 就是我们传入的 T 泛型成员,也就是 SideTable 对象。在 array 的下标中,这里使用了 indexForPointer 方法通过位运算计算下标,实现了静态的 Hash Table。而在 weak_table 中,其成员 weak_entry 会将传入对象的地址加以封装起来,并且其中也有访问全局弱引用表的入口。\n旧对象解除注册操作 weak_unregister_no_lock\n#define WEAK_INLINE_COUNT 4\n\nvoid weak_unregister_no_lock(weak_table_t *weak_table, id referent_id, \n id *referrer_id) {\n // 在入口方法中,传入了 weak_table 弱引用表,referent_id 旧对象以及 referent_id 旧对象对应的地址\n // 用指针去访问 oldObj 和 *location \n objc_object *referent = (objc_object *)referent_id;\n objc_object **referrer = (objc_object **)referrer_id;\n\n weak_entry_t *entry;\n // 如果其对象为 nil,无需取消注册\n if (!referent) return;\n // weak_entry_for_referent 根据首对象查找 weak_entry\n if ((entry = weak_entry_for_referent(weak_table, referent))) {\n // 通过地址来解除引用关联 \n remove_referrer(entry, referrer);\n bool empty = true;\n // 检测 out_of_line 位的情况\n // 检测 num_refs 位的情况\n if (entry->out_of_line && entry->num_refs != 0) {\n empty = false;\n }\n else {\n // 将引用表中记录为空\n for (size_t i = 0; i inline_referrers[i]) {\n empty = false; \n break;\n }\n }\n }\n // 从弱引用的 zone 表中删除\n if (empty) {\n weak_entry_remove(weak_table, entry);\n }\n }\n\n // 这里不会设置 *referrer = nil,因为 objc_storeWeak() 函数会需要该指针\n}\n\n该方法主要作用是将旧对象在 weak_table 中接触 weak 指针的对应绑定。根据函数名,称之为解除注册操作。从源码中,可以知道其功能就是从 weak_table 中接触 weak 指针的绑定。而其中的遍历查询,就是针对于 weak_entry 中的多张弱引用散列表。\n新对象添加注册操作 weak_register_no_lock\nid weak_register_no_lock(weak_table_t *weak_table, id referent_id,\n id *referrer_id, bool crashIfDeallocating) {\n // 在入口方法中,传入了 weak_table 弱引用表,referent_id 旧对象以及 referent_id 旧对象对应的地址\n // 用指针去访问 oldObj 和 *location\n objc_object *referent = (objc_object *)referent_id;\n objc_object **referrer = (objc_object **)referrer_id;\n\n // 检测对象是否生效、以及是否使用了 tagged pointer 技术\n if (!referent || referent->isTaggedPointer()) return referent_id;\n\n // 保证引用对象是否有效\n // hasCustomRR 方法检查类(包括其父类)中是否含有默认的方法\n bool deallocating;\n if (!referent->ISA()->hasCustomRR()) {\n // 检查 dealloc 状态\n deallocating = referent->rootIsDeallocating();\n }\n else {\n // 会返回 referent 的 SEL_allowsWeakReference 方法的地址\n BOOL (*allowsWeakReference)(objc_object *, SEL) = \n (BOOL(*)(objc_object *, SEL))\n object_getMethodImplementation((id)referent, \n SEL_allowsWeakReference);\n if ((IMP)allowsWeakReference == _objc_msgForward) {\n return nil;\n }\n deallocating =\n ! (*allowsWeakReference)(referent, SEL_allowsWeakReference);\n }\n // 由于 dealloc 导致 crash ,并输出日志\n if (deallocating) {\n if (crashIfDeallocating) {\n _objc_fatal(\"Cannot form weak reference to instance (%p) of \"\n \"class %s. It is possible that this object was \"\n \"over-released, or is in the process of deallocation.\",\n (void*)referent, object_getClassName((id)referent));\n } else {\n return nil;\n }\n }\n\n // 记录并存储对应引用表 weak_entry\n weak_entry_t *entry;\n // 对于给定的弱引用查询 weak_table\n if ((entry = weak_entry_for_referent(weak_table, referent))) {\n // 增加弱引用表于附加对象上\n append_referrer(entry, referrer);\n } \n else {\n // 自行创建弱引用表\n weak_entry_t new_entry;\n new_entry.referent = referent;\n new_entry.out_of_line = 0;\n new_entry.inline_referrers[0] = referrer;\n for (size_t i = 1; i \n这一步与上一步相反,通过 weak_register_no_lock 函数把心的对象进行注册操作,完成与对应的弱引用表进行绑定操作。\n总结来说:\nweaktable在每个sidetable中以结构体 weak_entry_t 存在,sidetable中储存着各种类对象,sidetable中包含了weaktable,rc引用计数器表,自选锁,当开发使用 __weak typeof(self)weakSelf = self; 时候, weak_table_t 保存了所有指向指定对象的 weak 指针,对象释放时,弱引用表置空\n1、weak的原理在于底层维护了一张weak_table_t结构的hash表,key是所指对象的地址,value是weak指针的地址数组。\n2、weak 关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为 nil。\n3、对象释放时,调用clearDeallocating函数根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。\n4、文章中介绍了SideTable、weak_table_t、weak_entry_t这样三个结构,它们之间的关系如下图所示。\n\n\nweak置空原理\n1.weak创建过程\n①objc_initWeak\n\nlocation:表示__weak指针的地址(我们研究的就是__weak指针指向的内容怎么置为nil)\nnewObj:所引用的对象,即例子中的person\n\nid\nobjc_initWeak(id *location, id newObj)\n{\n if (!newObj) {\n *location = nil;\n return nil;\n }\n\n return storeWeak\n (location, (objc_object*)newObj);\n}\n复制代码\n②storeWeak\n\nHaveOld:weak指针之前是否已经指向了一个弱引用\nHaveNew:weak指针是否需要指向一个新引用\nCrashIfDeallocating:如果被弱引用的对象正在析构,此时再弱引用该对象,是否应该crash\n\nstoreWeak最主要的两个逻辑点(源码太长,这里不贴了)\n\n\n由于是第一次调用,所以走haveNew分支——获取到的是新的散列表SideTable,主要执行了weak_register_no_lock方法来进行插入\n\n③weak_register_no_lock\n\n主要进行了isTaggedPointer和deallocating条件判断\n将被弱引用对象所在的weak_table中的weak_entry_t哈希数组中取出对应的weak_entry_t\n如果weak_entry_t不存在,则会新建一个并插入\n如果存在就将指向被弱引用对象地址的指针referrer通过函数append_referrer插入到对应的weak_entry_t引用数组\n\n\n④append_referrer\n找到弱引用对象的对应的weak_entry哈希数组中插入\n\n2.weak创建流程\n\n3.weak销毁过程\n\n由于弱引用在析构dealloc时自动置空,所以查看dealloc的底层实现并LLVM调试\n\n\n_objc_rootDealloc->rootDealloc\nrootDealloc->object_dispose\nobject_dispose->objc_destructInstance\nobjc_destructInstance->clearDeallocating\nclearDeallocating->sidetable_clearDeallocating\nsidetable_clearDeallocating3->table.refcnts.erase(it)\n\n4.weak销毁流程\n具体可查阅iOS底层学习 - 内存管理之weak原理探究\n\nReference\n1.iOS底层原理:weak的实现原理\n2.weak 弱引用的实现方式\nhttps://juejin.cn/post/6844904079957688328\n"},"iOS/Objc_Object/Property.html":{"url":"iOS/Objc_Object/Property.html","title":"Propety属性","keywords":"","body":"iOS 属性\n1.成员变量 实例变量 属性\n\n图中的Member Variable declarations翻译过来就是成员变量的声明\n类: Class (description/template for an object)\n实例: Instance (manifestation of a class)\n消息: Message (sent to object to make it act)\n方法: Method (code invoked by a Message)\n实例变量: Instance Variable (object-specific storage)\n超类/子类: Superclass/Subclass (Inheritance)\n协议: Protocol (non-class-specific methods)\n\n从给出的英文说明,可以看出:实例(Instance)是针对 类(class)而言的。实例是指类的声明;由此推理,实例变量(Instance Variable) 是指由类声明的对象。\n 严格说来,上图中的 int count; 是一个成员变量。而 NSString name; 是一个实例变量(NSString是一个类).至于 id data 应该属于成员变量还是实例变量呢? 因为 id 是 OC特有的类型。从本质上讲, id 等同于 (void *)。 所以 id data 应属于 实例变量。\n成员变量:通常是指向对象或是基础类型(int, float)的简单指针。可以在.h 或是 .m 文件中声明:\n实例变量:是成员变量的一种,实例是针对类而言的,是指对类的声明;由此推理,实例变量是指由类声明的对象。\n2. @synthesizer\n@synthesize 语句只能被用在 @implementation 代码段中,@synthesize的作用就是让编译器为你自动生成setter与getter方法,@synthesize 还有一个作用,可以指定与属性对应的实例变量,例如@synthesize myButton = xxx;那么self.myButton其实是操作的实例变量xxx,而不是_myButton了。\n如果.m文件中写了@synthesize myButton;那么生成的实例变量就是myButton;如果没写@synthesize myButton;那么生成的实例变量就是_myButton。\n3. @property\nObjective-C2.0中的新语法:Properties。它帮我们自动生成getter和setter\n写@property声明属性,其实是做了三件事\n\n.h: 声明了getter和setter方法;\n.h: 声明了实例变量(默认:下划线+属性名);\n.m: 实现了getter和setter方法。\n@property = Ivar + getter + setter\n\n\n4. property 关键字\n读写权限\n\nreadonly\nreadwrite √默认关键字\n\n引用计数\n\nretain / strong\n都是强引用,除了某些情况下不一样,比如修饰block,其他的时候也是可以通用的。\n(external 为 Block 外属性)\n\n\nweak / assign\nassign:\n修饰基本数据类型,如int, bool等\n修饰对象类型时,不改变其引用计数\n会产生悬垂指针:仍然指向内存地址,如果没覆盖后还调动变量就会crash\nweak:\n不改变修饰对象的引用计数\n所指对象在释放之后会自动设置为nil\n\ncopy\n\n\n\n\n\nname\n浅拷贝\n深拷贝\n\n\n\n\n新内存空间\n不分配\n分配\n\n\n引用计数\n影响\n不影响\n\n\n\n\n\n\n源对象类型\n拷贝方式\n目标对象类型\n拷贝类型\n\n\n\n\nmutable对象\ncopy\n不可变\n深拷贝\n\n\nmutable对象\nmutableCopy\n可变\n深拷贝\n\n\nimmutable对象\ncopy\n不可变\n浅拷贝\n\n\nimmutable对象\nmutableCopy\n可变\n深拷贝\n\n\n\n原子性\n\natomic √默认关键字\nnonatomic\n\natomic保证赋值获取是线程安全,是对成员属性的直接的获取安全,并不代表操作和访问安全.\natomic是自旋锁,即当上一线程没有执行完毕(被锁住),下一线程会一直等待(不会进入睡眠状态),当上一线程执行完毕,下一线程立即执行。他区别于互斥锁,互斥锁在等待的时候,会进入睡眠状态,当上一个线程执行完毕,睡眠状态就会被唤醒,然后再执行。\n比如 atomic 修饰的是一个数组,对数组赋值获取是安全的,但是对数组进行操作(添加对象,移除对象)是不保证线程不安全的.而且采用atomic消耗比较大\narray = [[NSArray alloc]init]; //安全\n[array addobject:obj]; //也会存在不安全\n\n补充介绍 weak关键字:\n实现原理 weak修饰时,runtime会维护一个hash表(也称为weak表),用于存储对象的所有weak指针,hash表的key是该对象的地址,value为weak指针的地址(这个地址的值是所指对象的地址)数组。(备注strong是通过runtime维护的一个自动引用计数表) \nweak的实现原理总结:\n\n初始化时,runtime会调用objc_initWeak函数,初始化一个新的weak指针指向对象地址;\n添加引用时,objc_initWeak函数会调用objc_storeWeak函数,objc_storeWeak的作用是更新指针指向,创建对应的弱引用表(hash表)\n释放时,调用clearDeallocating函数。clearDeallocating函数首先根据对象地址获取weak指针地址的数组,然后遍历这个数组把其中指向空对象的指针设为nil,最后把这个指针从weak表中删除,最后清理对象的记录。\n\n关于ARC下,不显示指定属性关键字时,默认关键字:\n1.基本数据类型:atomic readwrite assign\n2.普通OC对象: atomic readwrite strong\n"},"iOS/Objc_Object/isa.html":{"url":"iOS/Objc_Object/isa.html","title":"isa","keywords":"","body":"isa\nisa指针是什么?\nisa指针保存着指向类对象的内存地址,类对象全局只有一个,因此每个类创建出来的对象都会默认有一个isa属性,保存类对象的地址,也就是class,通过class就可以查询到这个对象的属性和方法,协议等;\n当 ObjC 为为一个对象分配内存,初始化实例变量后,在这些对象的实例变量的结构体中的第一个就是 isa。(isa 存储该对象信息,例如引用计数器,弱引用表等)\n注: 有一些对象比较小则会使用 TaggedPointer技术,不使用isa\nisa本质是一个isa_t的类型,那isa_t是一个联合体位域结构\nunion isa_t {\n isa_t() { }\n isa_t(uintptr_t value) : bits(value) { }\n\n Class cls;\n uintptr_t bits;\n#if defined(ISA_BITFIELD)\n struct {\n ISA_BITFIELD; // defined in isa.h\n };\n#endif\n};\n\n什么是联合体?\n当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union),利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。\n采用这种结构的原因也是基于内存优化的考虑(即二进制中每一位均可表示不同的信息)。通常来说,isa指针占用的内存大小是8字节,即64位,已经足够存储很多的信息了,这样可以极大的节省内存,以提高性能。\nOC源码:\n\n\n\n\n结构体 isa_t\nisa_t 是一个 union 类型的结构体,其中的 isa_t、cls、 bits 还有结构体共用同一块地址空间。而 isa 总共会占据 64 位的内存空间, 8 字节(决定于其中的结构体)\n\nstruct {\n uintptr_t nonpointer : 1;\n uintptr_t has_assoc : 1;\n uintptr_t has_cxx_dtor : 1;\n uintptr_t shiftcls : 44;\n uintptr_t magic : 6;\n uintptr_t weakly_referenced : 1;\n uintptr_t deallocating : 1;\n uintptr_t has_sidetable_rc : 1;\n uintptr_t extra_rc : 8;\n};\n\n\nnonpointer:表示是否对 isa 指针开启指针优化,0:纯isa指针,1:不⽌是类对象地址,isa 中包含了类信息、对象的引⽤计数等。 如果该实例对象启用了Non-pointer,那么会对isa的其他成员赋值,否则只会对cls赋值。\n\n 是否关闭Non-pointer目前有这么几个判断条件,这些都可以在runtime源码objc-runtime-new.m中找到逻辑。\n 1:包含swift代码;\n 2:sdk版本低于10.11;\n 3:runtime读取image时发现这个image包含__objc_rawisa段;\n 4:开发者自己添加了OBJC_DISABLE_NONPOINTER_ISA=YES到环境变量中;\n 5:某些不能使用Non-pointer的类,GCD等;\n 6:父类关闭。\n\n\nhas_assoc:关联对象标志位,0没有,1存在。\n\nhas_cxx_dtor:该对象是否有 C++ 或者 Objc 的析构器,如果有析构函数,则需要做析构逻辑,如果没有,则可以更快的释放对象。\n\nshiftcls:存储类指针的值。开启指针优化的情况下,在 arm64 架构中有 33 位⽤来存储类指针。\n\nmagic:⽤于调试器判断当前对象是真的对象还是没有初始化的空间。\n\nweakly_referenced:对象是否被指向或者曾经指向⼀个 ARC 的弱变量,没有弱引⽤的对象可以更快释放。\n\ndeallocating:标志对象是否正在释放内存。\n\nhas_sidetable_rc:当对象引⽤技术⼤于 10 时,则需要借⽤该变量存储进位。\n\nextra_rc:当表示该对象的引⽤计数值,实际上是引⽤计数值减 1,例如,如果对象的引⽤计数为 10,那么 extra_rc 为 9。如果引⽤计数⼤于 10,则需要使⽤到上⾯的 has_sidetable_rc。\n\n\n\n整体如下图片所示:\n\nisa 指针的作用与元类\nObjective-C 中类也是一个对象。\n因为在 Objective-C 中,对象的方法并没有存储于对象的结构体中(如果每一个对象都保存了自己能执行的方法,那么对内存的占用有极大的影响)。\n当实例方法被调用时,它要通过自己持有的 isa 来查找对应的类,然后在这里的 class_data_bits_t 结构体中查找对应方法的实现。同时,每一个 objc_class 也有一个指向自己的父类的指针 super_class 用来查找继承的方法。\n类方法的实现又是如何查找并且调用的呢?这时,就需要引入元类来保证无论是类还是对象都能通过相同的机制查找方法的实现。\n\n让每一个类的 isa 指向对应的元类,这样就达到了使类方法和实例方法的调用机制相同的目的:\n\n实例方法调用时,通过对象的 isa 在类中获取方法的实现\n类方法调用时,通过类的 isa 在元类中获取方法的实现\n\n\n什么是元类(meta-class)?\nObjective-C 的一个类也是一个对象。这意味着你可以发送消息给一个类。\nNSStringEncoding defaultStringEncoding = [NSString defaultStringEncoding];\n在这个示例里,defaultStringEncoding被发送给了NSString类。\n之所以能成功是因为 Objective-C 中每个类本身也是一个对象。如上面所看到的,这意味着类结构也必须以一个isa指针开始,从而可以和objc_object在二进制层面兼容,之后这个结构的下一字段必须是一个指向父类的指针(对于基类则为nil)。\n正如我上周展示的,定义一个Class有很多种方式,取决于你的运行时库版本,但有一点,它们都以isa字段开始,并且仅跟着一个superclass字段。\ntypedef struct objc_class *Class;\nstruct objc_class {\n Class isa;\n Class super_class;\n /* followed by runtime specific details... */\n};\n为了调用Class里的方法,该Class的isa指针也必须指向一个包含了该Class方法列表的Class。\n这就引出了元类的定义:元类是Class的类。\n简单来说就是:\n\n当你给对象发送消息时,消息是在寻找这个对象的类的方法列表;\n当你给类发消息时,消息是在寻找这个类的元类的方法列表。\n\n元类是必不可少的,因为它存储了类的类方法。每个类都必须有独一无二的元类,因为每个类都有独一无二的类方法。\n元类的类是什么?\n元类,就像之前的类一样,它也是一个对象。你也可以调用它的方法。自然的,这就意味着他必须也有一个类。\n所有的元类都使用根元类(继承体系中处于顶端的类的元类)作为他们的类。这就意味着所有NSObject的子类(大多数类)的元类都会以NSObject的元类作为他们的类\n根据这个规则,所有的元类使用根元类作为他们的类,根元类的元类则就是它自己。也就是说基类的元类的isa指针指向他自己。\n类和元类的继承\n类用super_class指针指向了父类,同样的,元类用super_class指向类的super_class的元类。\n说的更拗口一点就是,根元类把它自己的基类设置成了super_class。\n在这样的继承体系下,所有实例、类以及元类都继承自一个基类。\n这意味着对于继承于NSObject的所有实例、类和元类,他们可以使用NSObject的所有实例方法,类和元类可以使用NSObject的所有类方法\n为什么要设计metaclass\nmetaClass是单一职责和扩展性: instance的信息由Class所有; Class的信息则由metaClass所有;\n否则类方法,实际方法都在同一个流程中,类对象、元类对象能够复用消息发送流程机制;\n\n根据消息接受者的isa指针找到metaclass(因为类方法存在元类中。如果调用的是实例方法,isa指针指向的是类对象。) \n进入CacheLookup流程,这一步会去寻找方法缓存,如果缓存命中则直接调用方法的实现,如果缓存不存在则进入objc_msgSend_uncached流程。\n\n类对象和元类对象分别是什么,他们之间有什么区别?\n实例对象可以通过isa指针找到它的类对象,类对象存储实例方法列表等信息。类对象可以通过isa指针找到它的元类对象,从而可以访问类方法列表等相关信息\n类对象或是元类对象都是objc_class数据结构的,objc_class由于继承自objc_object,所以他们都有isa指针,所有实例可以找到类,类可以找到元类\nReference\n从 NSObject 的初始化了解 isa\niOS底层探索:isa结构分析\n【译】Objective-C 中的元类(meta-class) | 土丘上的蒲公英 (dracarys.github.io)\n"},"iOS/Objc_Object/ObjectClass.html":{"url":"iOS/Objc_Object/ObjectClass.html","title":"ObjectClass","keywords":"","body":"iOS 对象与数据结构\n不管是类对象还是元类对象,类型都是 Class,class 和 mete-class 的底层都是 objc_class 结构体的指针。\ntypedef struct objc_class *Class;\n\nOBJC2 结构\nobjc_class的真实定义实际的代码我们可以从 objc-runtime-new.h 中看到(中间代码省略):\n\nobjc_object的真实定义 详见 objc-private.h文件\n\n如上图,关系也如旧版本一样, objc_class 继承于 objc_object\nobjc_object中有一个isa指针,那么objc_class继承objc_object,也就同样拥有一个isa指针\n所有继承自 NSObject 的类实例化后的对象都会包含一个类型为 isa_t 的结构体。\n\nsuper_class 指向当前类的父类\ncache 用于缓存指针和 vtable,加速方法的调用\nbits 就是存储类的方法、属性、遵循的协议等信息的地方\n\nclass_rw_t\nobjc_class 中的 data 返回 class_rw_t 结构,此结构定义如下:\n\n\n而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&FAST_DATA_MASK操作\n\n而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。\nclass_rw_t 表示read write,class_ro_t 表示 read only。\n\n总结\n\n一个类的内部结构如下,\n\n\n\n\n\nsuperClass 指向当前类的父类\ncache_t 提供消息传递过程当中的缓存方法查找 , 实质上是装满了 bucket_t 的一个 hash 表。因为散列表检索起来更快,\nclass_data_bits_t 类的基础信息,包含了类的方法列表,协议列表等。\n\nmethod_t是一个方法的封装,里面包括了名称(SEL),返回值,参数,与函数体(实现)\n"},"iOS/Objc_Object/ClassRWT.html":{"url":"iOS/Objc_Object/ClassRWT.html","title":"ClassRWT","keywords":"","body":"class_data_bits_t\n由前面可知 ObjectClass.md\nobjc_class的真实定义实际的代码我们可以从 objc-runtime-new.h 中看到(中间代码省略):\n\nstruct class_data_bits_t {\n\n // Values are the FAST_ flags above.\n uintptr_t bits;\nprivate:\n bool getBit(uintptr_t bit)\n {\n return bits & bit;\n }\n\n ...\n}\n\n ObjC 中 class_data_bits_t 的结构体,其中只含有一个 64 位的 bits 用于存储与类有关的信息:\n\nobjc_class 结构体中的注释写到 class_data_bits_t 相当于 class_rw_t 指针加上 rr/alloc 的标志。\nclass_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n\n为我们提供了便捷方法用于返回其中的 class_rw_t * 指针:\nobjc_class 中的 data 返回 class_rw_t 结构,此结构定义如下:\n\n\n而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&FAST_DATA_MASK操作\n\n将 bits 与 FAST_DATA_MASK 进行位运算,只取其中的 [3, 47] 位转换成 class_rw_t * 返回。\n\n在 x86_64 架构上,Mac OS 只使用了其中的 47 位来为对象分配地址。而且由于地址要按字节在内存中按字节对齐,所以掩码的后三位都是 0。\n\n因为 class_rw_t * 指针只存于第 [3, 47] 位,所以可以使用最后三位来存储关于当前类的其他信息:\n\n#define FAST_IS_SWIFT (1UL\n\nisSwift()\n\nFAST_IS_SWIFT 用于判断 Swift 类\n\n\nhasDefaultRR()\n\nFAST_HAS_DEFAULT_RR 当前类或者父类含有默认的 retain/release/autorelease/retainCount/_tryRetain/_isDeallocating/retainWeakReference/allowsWeakReference 方法\n\n\nrequiresRawIsa()\n\nFAST_REQUIRES_RAW_ISA 当前类的实例需要 raw isa\n\n\n\n所以调用初始化如下\n// objc_class 中的 data() 方法\nclass_data_bits_t bits;\n\nclass_rw_t *data() {\n return bits.data();\n}\n\n// class_data_bits_t 中的 data() 方法\nuintptr_t bits;\n\nclass_rw_t* data() {\n return (class_rw_t *)(bits & FAST_DATA_MASK);\n}\n\n\n而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。\nclass_rw_t 表示read write,class_ro_t 表示 read only。\n\nclass_rw_t 和 class_ro_t\nObjC 类中的属性、方法还有遵循的协议等信息都保存在 class_rw_t 中:\nstruct class_rw_t {\n uint32_t flags;\n uint32_t version;\n\n const class_ro_t *ro;\n\n method_array_t methods;\n property_array_t properties;\n protocol_array_t protocols;\n\n Class firstSubclass;\n Class nextSiblingClass;\n};\n\n其中还有一个指向常量的指针 ro,其中存储了当前类在编译期就已经确定的属性、方法以及遵循的协议。(如果是当前类有Category扩展,则新增的属性方法会放在 class_rw_t 的 methods 、properties 数组中,成为一个二维数组)\nstruct class_ro_t {\n uint32_t flags;\n uint32_t instanceStart;\n uint32_t instanceSize;\n uint32_t reserved;\n\n const uint8_t * ivarLayout;\n\n const char * name;\n method_list_t * baseMethodList;\n protocol_list_t * baseProtocols;\n const ivar_list_t * ivars;\n\n const uint8_t * weakIvarLayout;\n property_list_t *baseProperties;\n};\n\n在编译期间类的结构中的 class_data_bits_t *data 指向的是一个 class_ro_t * 指针:\n\n然后在加载 ObjC 运行时的过程中在 realizeClass 方法中:\n\n从 class_data_bits_t 调用 data 方法,将结果从 class_rw_t 强制转换为 class_ro_t 指针\n初始化一个 class_rw_t 结构体\n设置结构体 ro 的值以及 flag\n最后设置正确的 data。\n\nconst class_ro_t *ro = (const class_ro_t *)cls->data();\nclass_rw_t *rw = (class_rw_t *)calloc(sizeof(class_rw_t), 1);\nrw->ro = ro;\nrw->flags = RW_REALIZED|RW_REALIZING;\ncls->setData(rw);\n\n下图是 realizeClass 方法执行过后的类所占用内存的布局\n\n但是,在这段代码运行之后 class_rw_t 中的方法,属性以及协议列表均为空。这时需要 realizeClass 调用 methodizeClass 方法来将类自己实现的方法(包括分类)、属性和遵循的协议加载到 methods、 properties 和 protocols 列表中。\n小结\n\n在内存中的位置是在编译期间决定的,在之后修改代码,也不会改变内存中的位置。\n类的方法、属性以及协议在编译期间存放到了“错误”的位置,直到 realizeClass 执行之后,才放到了 class_rw_t 指向的只读区域 class_ro_t,这样我们即可以在运行时为 class_rw_t 添加方法,也不会影响类的只读结构。\n在 class_ro_t 中的属性在运行期间就不能改变了,再添加方法时,会修改 class_rw_t 中的 methods 列表,而不是 class_ro_t 中的 baseMethods,\n\nReference\n深入解析 ObjC 中方法的结构\n"},"iOS/Objc_Object/OCAllocInit.html":{"url":"iOS/Objc_Object/OCAllocInit.html","title":"AllocInit","keywords":"","body":"OC对象创建过程\n创建对象的两种方法\n[[Class alloc] init]\n+ (id)alloc { \n return _objc_rootAlloc(self);\n}\n// Base class implementation of +alloc. cls is not nil.\n// Calls [cls allocWithZone:nil].\nid_objc_rootAlloc(Class cls){ \n return callAlloc(cls, false/*checkNil*/, true/*allocWithZone*/);\n}\n\n// Replaced by CF (throws an NSException)\n+ (id)init { \n return (id)self;\n}\n\n- (id)init { \n return _objc_rootInit(self);\n}\n\nid_objc_rootInit(id obj){ \n // In practice, it will be hard to rely on this function. \n // Many classes do not properly chain -init calls. \n return obj;\n}\n\n[Class new]\n+ (id)new { \n return [callAlloc(self, false/*checkNil*/) init];\n}\n\n- (id)init { \n return _objc_rootInit(self);\n}\n\n从上面两种创建对象的方法可以看出第一种方式对象的创建是在alloc中,init方法只是返回已经创建的对象。通过new方法创建的对象本质还是alloc和init的结合。\ncallAlloc\n\n// Call [cls alloc] or [cls allocWithZone:nil], with appropriate \n\n// shortcutting optimizations.\nstatic ALWAYS_INLINE id\ncallAlloc(Class cls, bool checkNil, bool allocWithZone=false)\n{\n if (slowpath(checkNil && !cls)) return nil;\n\n#if __OBJC2__\n if (fastpath(!cls->ISA()->hasCustomAWZ())) {\n // No alloc/allocWithZone implementation. Go straight to the allocator.\n // fixme store hasCustomAWZ in the non-meta class and \n // add it to canAllocFast's summary\n if (fastpath(cls->canAllocFast())) {\n // No ctors, raw isa, etc. Go straight to the metal.\n bool dtor = cls->hasCxxDtor();\n id obj = (id)calloc(1, cls->bits.fastInstanceSize());\n if (slowpath(!obj)) return callBadAllocHandler(cls);\n obj->initInstanceIsa(cls, dtor);\n return obj;\n }\n else {\n // Has ctor or raw isa or something. Use the slower path.\n id obj = class_createInstance(cls, 0);\n if (slowpath(!obj)) return callBadAllocHandler(cls);\n return obj;\n }\n }\n#endif\n // No shortcuts available.\n if (allocWithZone) return [cls allocWithZone:nil];\n return [cls alloc];\n}\n\nslowpath和fastpath\n// 表示x的值为真的可能性更大\n#define fastpath(x) (__builtin_expect(bool(x), 1))\n// 表示x的值为假的可能性更大\n#define slowpath(x) (__builtin_expect(bool(x), 0))\n__builtin_expect是GCC提供给程序员使用,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。\n其实代码中的slowpath和fastpath删除后并不会影响这段代码的功能,slowpath和fastpath的添加就是为了告诉编译器if条件语句中是大概率事件还是小概率事件,从而让编译器对代码进行优化。\n代码中,if (slowpath(checkNil && !cls)) return nil; 就是说明cls大概率是有值的,告诉编译器编译时优化,下面就到了cls->ISA()->hasCustomAWZ()。\nhasCustomAWZ\nasCustomAWZ作用是判断当前类有没有实现allocWithZone方法。它是通过类的结构体objc_class中的hasCustomAWZ方法判断的:\nstruct objc_class : objc_object { \n // Class ISA; \n Class superclass; \n cache_t cache; // formerly cache pointer and vtable \n class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n class_rw_t *data() { \n return bits.data(); \n } \n bool hasCustomAWZ() { \n return ! bits.hasDefaultAWZ(); \n }\n\nhasDefaultAWZ()的方法实现如下:\n#else \nbool hasDefaultAWZ() { \n return data()->flags & RW_HAS_DEFAULT_AWZ; \n} \nvoid setHasDefaultAWZ() { \n data()->setFlags(RW_HAS_DEFAULT_AWZ); \n } \nvoid setHasCustomAWZ() { \n data()->clearFlags(RW_HAS_DEFAULT_AWZ); \n }\n#endif\n\nRW_HAS_DEFAULT_AWZ是用来标记用户有没有自己实现allocWithZone方法。由于类是有懒加载的概念的,所以第一次给该类发送消息之前,该类是没有加载的,因此当类收到alloc消息的时候,进入到hasCustomAWZ时并没有默认实现allocWithZone方法,所以hasCustomAWZ返回true,因此会直接进入到[cls alloc]。当再次调用callAlloc时候DefaultAWZ为ture,hasCustoAWZ为false这样会进入到下一个流程。\ncanAllocFast\ncanAllocFast作用是判断当前类是否可以快速开辟内存,需要注意的是这里永远不会调用,因为canAllocFast内部返回的是false。具体实现如下:\nbool canAllocFast() { \n assert(!isFuture()); \n return bits.canAllocFast(); \n} \n\nbool canAllocFast() { \n return false; \n}\n\n可以看到canAllocFast返回False,于是来到了下一流程:class_createInstance。\nclass_createInstance\nid class_createInstance(Class cls, size_t extraBytes){ \n return _class_createInstanceFromZone(cls, extraBytes, nil);\n}\n\nstatic __attribute__((always_inline))id_class_createInstanceFromZone(Class cls, size_t extraBytes, void *zone,bool cxxConstruct = true,size_t *outAllocatedSize = nil){ \n if (!cls) return nil;\n assert(cls->isRealized()); // Read class's info bits all at once for performance bool hasCxxCtor = cls->hasCxxCtor(); \n bool hasCxxDtor = cls->hasCxxDtor(); \n bool fast = cls->canAllocNonpointer(); //!! 是否可以创建NonPointer\n size_t size = cls->instanceSize(extraBytes); \n if (outAllocatedSize) *outAllocatedSize = size;\n id obj; \n if (!zone && fast) { \n obj = (id)calloc(1, size); \n if (!obj) return nil; \n obj->initInstanceIsa(cls, hasCxxDtor); \n } else { \n if (zone) { \n obj = (id)malloc_zone_calloc ((malloc_zone_t *)zone, 1, size); \n } else { \n obj = (id)calloc(1, size); \n } \n if (!obj) return nil;\n\n // Use raw pointer isa on the assumption that they might be \n // doing something weird with the zone or RR. \n obj->initIsa(cls); \n }\n if (cxxConstruct && hasCxxCtor) { \n obj = _objc_constructOrFree(obj, cls); \n }\n return obj;\n}\n\nhasCxxtor()和hasCxxDtor\n在这里开始创建对象分配内存空间,hasCxxtor()和hasCxxDtor()是用来处理C++成员变量的构造和析构的,hasCxxtor是判断当前class或者superclass是否有.cxx_construct的实现,hasCxxDtor是用来判断当前class或者superclass是否有.cxx_destruct的实现,canAllocNonpointer是判断是否可以创建Nonpointer。\n\nReference\n1.带你深入了解OC对象创建过程\n"},"iOS/Objc_Object/Category.html":{"url":"iOS/Objc_Object/Category.html","title":"Category","keywords":"","body":"Category\n可以动态地为已有类添加新行为。Apple还推荐了category的另外两个使用场景\n\n可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,\na)可以减少单个文件的体积\nb)可以把不同的功能组织到不同的category里 \nc)可以由多个开发者共同完成一个类 \nd)可以按需加载想要的category 等等。\n\n\n声明私有方法\n\nExtension && Category\n1.Category的特点\n\n运行时决议\n通过 runtime 动态将分类的方法合并到类对象、元类对象中\n实例方法合并到类对象中,类方法合并到元类对象中\n\n\n可以为系统类添加分类\n\n2.分类中可以添加哪些内容\n\n实例方法\n类方法\n协议\n属性\n\nClass Extension(扩展)\n\n声明私有属性\n声明私有方法\n声明私有成员变量\n编译时决议,Category 运行时决议\n不能为系统类添加扩展\n只能以声明的形式存在,多数情况下,寄生于宿主类的.m文件中\n\n extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随之一起消亡。extension一般用来隐藏类的私有信息,你必须有一个类的源码才能为一个类添加extension,所以你无法为系统的类比如NSString添加extension。\n但是category则完全不一样,它是在运行期决议的。 就category和extension的区别来看,我们可以推导出一个明显的事实,extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。\nCategory Runtime 结构\n使用 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc MNPerson+Test.m 函数,生产一个cpp文件,窥探其底层结构(编译状态)\nstruct _category_t {\n //宿主类名称 - 这里的MNPerson\n const char *name;\n\n //宿主类对象,里面有isa\n struct _class_t *cls;\n\n //实例方法列表\n const struct _method_list_t *instance_methods;\n\n //类方法列表\n const struct _method_list_t *class_methods;\n\n //协议列表\n const struct _protocol_list_t *protocols;\n\n //属性列表\n const struct _prop_list_t *properties;\n};\n\n//_class_t 结构\nstruct _class_t {\n struct _class_t *isa;\n struct _class_t *superclass;\n void *cache;\n void *vtable;\n struct _class_ro_t *ro;\n};\n\n\n每个分类都是独立的\n每个分类的结构都一致,都是category_t\n\n-category如何加载\nvoid _objc_init(void)\n{\n static bool initialized = false;\n if (initialized) return;\n initialized = true;\n\n // fixme defer initialization until an objc-using image is found?\n environ_init();\n tls_init();\n static_init();\n runtime_init();\n exception_init();\n cache_init();\n _imp_implementationWithBlock_init();\n\n _dyld_objc_notify_register(&map_images, load_images, unmap_image);\n}\n\n忽略掉一堆 init ,重点来看 \n_dyld_objc_notify_register(&map_images, load_images, unmap_image);\n这个方法会注册3个事件并给出回调。\n重点来看一下map_images和load_images;\n从这俩个回调方法里看,你会发现Category在map_images会加载完毕,而load_images会调用+load方法。\n类的load方法中,能调用分类的方法。\n\nstatic void \nattachCategories(Class cls, category_list *cats, bool flush_caches)\n{\n if (!cats) return;\n if (PrintReplacedMethods) printReplacements(cls, cats);\n\n bool isMeta = cls->isMetaClass();\n\n // fixme rearrange to remove these intermediate allocations\n\n /* 二维数组( **mlists => 两颗星星,一个)\n [\n [method_t,],\n [method_t,method_t],\n [method_t,method_t,method_t],\n ]\n\n */\n method_list_t **mlists = (method_list_t **)\n malloc(cats->count * sizeof(*mlists));\n property_list_t **proplists = (property_list_t **)\n malloc(cats->count * sizeof(*proplists));\n protocol_list_t **protolists = (protocol_list_t **)\n malloc(cats->count * sizeof(*protolists));\n\n // Count backwards through cats to get newest categories first\n int mcount = 0;\n int propcount = 0;\n int protocount = 0;\n int i = cats->count;//宿主类,分类的总数\n bool fromBundle = NO;\n while (i--) {//倒序遍历,最先访问最后编译的分类\n\n // 获取某一个分类\n auto& entry = cats->list[i];\n\n // 分类的方法列表\n method_list_t *mlist = entry.cat->methodsForMeta(isMeta);\n if (mlist) {\n //最后编译的分类,最先添加到分类数组中\n mlists[mcount++] = mlist;\n fromBundle |= entry.hi->isBundle();\n }\n\n property_list_t *proplist = \n entry.cat->propertiesForMeta(isMeta, entry.hi);\n if (proplist) {\n proplists[propcount++] = proplist;\n }\n\n protocol_list_t *protolist = entry.cat->protocols;\n if (protolist) {\n protolists[protocount++] = protolist;\n }\n }\n\n auto rw = cls->data();\n\n prepareMethodLists(cls, mlists, mcount, NO, fromBundle);\n\n // 核心:将所有分类的对象方法,附加到类对象的方法列表中\n rw->methods.attachLists(mlists, mcount);\n free(mlists);\n if (flush_caches && mcount > 0) flushCaches(cls);\n\n rw->properties.attachLists(proplists, propcount);\n free(proplists);\n\n rw->protocols.attachLists(protolists, protocount);\n free(protolists);\n}\n\nvoid attachLists(List* const * addedLists, uint32_t addedCount) {\n if (addedCount == 0) return;\n\n if (hasArray()) {\n // many lists -> many lists\n uint32_t oldCount = array()->count;\n uint32_t newCount = oldCount + addedCount;\n\n //realloc - 重新分配内存 - 扩容了\n setArray((array_t *)realloc(array(), array_t::byteSize(newCount)));\n array()->count = newCount;\n\n //memmove,内存挪动\n //array()->lists 原来的方法列表\n memmove(array()->lists + addedCount,\n array()->lists,\n oldCount * sizeof(array()->lists[0]));\n\n //memcpy - 将分类的方法列表 copy 到原来的方法列表中\n memcpy(array()->lists,\n addedLists,\n addedCount * sizeof(array()->lists[0]));\n }\n ...\n}\n\n画图分析\n\n\n\n\n\ncategory被附加到类上面是在map_images的时候发生的\n要注意的有两点:\n1)、category的方法没有“完全替换掉”原来类已经有的方法,也就是说如果category和原来类都有methodA,那么category附加完成之后,类的方法列表里会有两个methodA\n2)、category的方法被放到了新方法列表的前面,而原来类的方法被放到了新方法列表的后面,这也就是我们平常所说的category的方法会“覆盖”掉原来类的同名方法,这是因为运行时在查找方法的时候是顺着方法列表的顺序查找的,它只要一找到对应名字的方法,就会罢休,殊不知后面可能还有一样名字的方法。\n \nCategory的加载处理流程\n分类的加载处理流程主要有下面三步:\n1.通过Runtime加载某个类的所有Category数据\n 2.把所有Category的方法、属性、协议数据,合并到一个大数组中 后面参与编译的Category数据,会在数组的前面 \n3.将合并后的分类数据(方法、属性、协议),插入到类原来数据的前面\n旁枝末叶-category和+load方法\nload实现原理\n\n\n类第一次加载进内存的时候,会调用 + load 方法,无需导入,无需使用\n每个类、分类的 + load 在程序运行过程中只会执行一次\n+ load 走的不是消息发送的 objc_msgSend 调用,而是找到 + load 函数的地址,直接调用\n\n\nvoid call_load_methods(void)\n{\n static bool loading = NO;\n bool more_categories;\n\n loadMethodLock.assertLocked();\n\n // Re-entrant calls do nothing; the outermost call will finish the job.\n if (loading) return;\n loading = YES;\n\n void *pool = objc_autoreleasePoolPush();\n\n do {\n // 1. Repeatedly call class +loads until there aren’t any more\n while (loadable_classes_used > 0) {\n //先加载宿主类的load方法(按照编译顺序,调用load方法)\n call_class_loads();\n }\n\n // 2. Call category +loads ONCE\n more_categories = call_category_loads();\n\n // 3. Run more +loads if there are classes OR more untried categories\n } while (loadable_classes_used > 0 || more_categories);\n\n objc_autoreleasePoolPop(pool);\n\n loading = NO;\n}\n\nstatic void schedule_class_load(Class cls)\n{\n if (!cls) return;\n assert(cls->isRealized()); // _read_images should realize\n\n if (cls->data()->flags & RW_LOADED) return;\n\n // Ensure superclass-first ordering\n // 递归调用,先将父类添加到load方法列表中,再将自己加进去\n schedule_class_load(cls->superclass);\n\n add_class_to_loadable_list(cls);\n cls->setInfo(RW_LOADED); \n}\n\n调用顺序\n\n先调用宿主类的 + load\n 函数\n\n按照编译先后顺序调用(先编译,先调用)\n调用子类的+load之前会先调用父类的+load\n\n\n再调用分类的的 + load\n 函数\n\n按照编译先后顺序调用(先编译,先调用)\n\n\n\n实验证明:宿主类先调用,分类再调用\n2019-02-27 17:28:00.519862+0800 load-Initialize-Demo[91107:2281575] MNPerson + load\n2019-02-27 17:28:00.520032+0800 load-Initialize-Demo[91107:2281575] MNPerson (Play) + load\n2019-02-27 17:28:00.520047+0800 load-Initialize-Demo[91107:2281575] MNPerson (Eat) + load\n\n\n2019-02-27 17:39:10.354050+0800 load-Initialize-Demo[91308:2303030] MNDog + load (宿主类1)\n2019-02-27 17:39:10.354237+0800 load-Initialize-Demo[91308:2303030] MNPerson + load (宿主类2)\n2019-02-27 17:39:10.354252+0800 load-Initialize-Demo[91308:2303030] MNDog (Rua) + load (分类1)\n2019-02-27 17:39:10.354263+0800 load-Initialize-Demo[91308:2303030] MNPerson (Play) + load(分类2)\n2019-02-27 17:39:10.354274+0800 load-Initialize-Demo[91308:2303030] MNPerson (Eat) + load(分类3)\n2019-02-27 17:39:10.354285+0800 load-Initialize-Demo[91308:2303030] MNDog (Run) + load(分类4)\n\n父类和本类的调用:父类的方法优先于子类的方法。一个类的+load方法不用写明[super load],父类就会收到调用。\nInitialize实现原理\n\n\n类第一次接收到消息的时候,会调用该方法,需导入,并使用\n+ Initialize 走的是消息发送的 objc_msgSend 调用\n\n\ninitialize 与 load 的区别\n\nload 是类第一次加载的时候调用,initialize 是类第一次接收到消息的时候调用,每个类只会initialize一次(父类的initialize方法可能被调用多次)\nload 和 initialize,加载or调用的时候,都会先调用父类对应的 load or initialize 方法,再调用自己本身的;\nload 和 initialize 都是系统自动调用的话,都只会调用一次\n调用方式也不一样,load 是根据函数地址直接调用,initialize 是通过objc_msgSend\n调用时刻,load是runtime加载类、分类的时候调用(只会调用一次)\n调用顺序:\nload:\n先调用类的load\n先编译的类,优先调用load\n调用子类的load之前,会先调用父类的load\n\n\n在调用分类的load\n\n\ninitialize:\n先初始化父列\n再初始化子类(可能最终调用的是父类的初始化方法)\n\n\n\n\n\n我们知道,在类和category中都可以有+load方法,那么有两个问题:\n1)、在类的+load方法调用的时候,我们可以调用category中声明的方法么?\n2)、这么些个+load方法,调用顺序是咋样的呢?\n答:\n 1)、可以调用,因为附加category到类的工作会先于+load方法的执行 \n2)、加载顺序是父类先+load,然后子类+load,然后分类+load,+load的执行顺序是先类,后category,而category的+load执行顺序是根据编译顺序决定的。\n实际调用时,调用的是后添加的方法,即后添加的方法在方法列表methodLists的这个数组的顶部\n后+load的类的方法,后添加到方法列表,而这时的添加方式又是插入顶部添加,即\n[methodLists insertObject:category_method atIndex:0];所以objc_msgSend遍历方法列表查找SEL 对应的IMP时,会先找到分类重写的那个,调用执行。然后添加到缓存列表中,这样主类方法实现永远也不会调到。\n(后编译的Category,插入的方法在每个类大方法数组最前面)\nReference\n1.深入理解Objective-C:Category\n2. 面试驱动技术 - Category 相关考点(Article文件夹有收藏)\n3.iOS 捋一捋Category加载流程及+load\n"},"iOS/Objc_Object/AssociatedObject.html":{"url":"iOS/Objc_Object/AssociatedObject.html","title":"AssociatedObject","keywords":"","body":"AssociatedObject关联对象的内部实现\nAssociatedObject关联对象\n为什么要引入关联对象?\n\n\n一般我们需要对现有的类做扩展,可以通过继承、类别等方式去实现;当我们使用类别的方式扩展,如果对现有的类增加属性的话,编译器是不会生成实例变量;类别的结构体中没有ivar的结构体,同时类的ivar设计的是一个const\n类别是运行时装载到类中的,当类realizeClass之后它的instanceSize就已经确定无法修改了,这些操作都是在load之前,main函数之前\n如果想通过runtime的方法class_addIvar它只适用于新建一个类的时候增加,对于类别中增加实例就不适用\n关联对象就是在不改变类的结构的情况下,将类需要关联的对象存储在关联表中,那么类别中添加的属性的值的存取就可以通过关联来解决\n\n\n主要函数\n// 设置关联对象函数\nOBJC_EXPORT void\nobjc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key,\n id _Nullable value, objc_AssociationPolicy policy)\n OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);\n// 获取关联的对象函数\nOBJC_EXPORT id _Nullable\nobjc_getAssociatedObject(id _Nonnull object, const void * _Nonnull key)\n OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);\n// 删除对象的关联对象函数\nOBJC_EXPORT void\nobjc_removeAssociatedObjects(id _Nonnull object)\n OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);\n\n\nobjc_setAssociatedObject -- 关联对象value到object\n object:宿主对象\n key:关联对象的key,一般传入一个常量的地址作为唯一标识\n value:被关联的对象\n policy:关联的规则,主要是内存管理的规则\nobjc_getAssociatedObject -- 从object中根据key获取关联的对象的value\n object:宿主对象\n key:关联对象的key,传入设置时候传入的key\nobjc_removeAssociatedObjects -- 删除object的所有的关联的对象\n object:宿主对象\n\n实现关联对象技术的核心对象有:\n\nAssociationsManager\nAssociationsHashMap\nObjectAssociationMap\nObjcAssociation\n\n源码 (下面以set方法为例 get类似\nvoid objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy) {\n _object_set_associative_reference(object, (void *)key, value, policy);\n}\n\nvoid _object_set_associative_reference(id object, void *key, id value, uintptr_t policy) {\n // retain the new value (if any) outside the lock.\n ObjcAssociation old_association(0, nil);\n id new_value = value ? acquireValue(value, policy) : nil;\n {\n AssociationsManager manager;\n AssociationsHashMap &associations(manager.associations());\n disguised_ptr_t disguised_object = DISGUISE(object);\n if (new_value) {//如果set方法传值不是nil\n // break any existing association.\n AssociationsHashMap::iterator i = associations.find(disguised_object);\n if (i != associations.end()) {\n //如果AssociationsHashMap已经存在 进行下一步\n // secondary table exists\n ObjectAssociationMap *refs = i->second;\n ObjectAssociationMap::iterator j = refs->find(key);\n if (j != refs->end()) {\n //更改值\n old_association = j->second;\n j->second = ObjcAssociation(policy, new_value);\n } else {\n //添加新值\n (*refs)[key] = ObjcAssociation(policy, new_value);\n }\n } else {\n //AssociationsHashMap不存在 创建 并 添加\n // create the new association (first time).\n ObjectAssociationMap *refs = new ObjectAssociationMap;\n associations[disguised_object] = refs;\n (*refs)[key] = ObjcAssociation(policy, new_value);\n object->setHasAssociatedObjects();\n }\n } else {\n //如果set方法传值是nil\n // setting the association to nil breaks the association.\n AssociationsHashMap::iterator i = associations.find(disguised_object);\n if (i != associations.end()) {\n ObjectAssociationMap *refs = i->second;\n ObjectAssociationMap::iterator j = refs->find(key);\n if (j != refs->end()) {\n old_association = j->second;\n refs->erase(j);//擦除\n }\n }\n }\n }\n // release the old value (outside of the lock).\n if (old_association.hasValue()) ReleaseValue()(old_association);\n}\n\n\n\n\n\n\n可以得出结论:\n\n关联对象并不是存储在被关联对象本身内存中\n关联对象由 AssociationsManager 管理并在 AssiciationsHashMap 存储。\n所有对象的关联内容都在同一个全局容器中。\n设置关联对象为nil,就相当于是移除关联对象\n\n\n\n关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略 OBJC_ASSOCIATION_ASSIGN 进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成 Crash 。[注意是用Assign关联对象(@property中用assign也会导致崩溃)]\n\n \nReference\n1.探索AssociatedObject关联对象的内部实现\n2.Objective - C 关联对象(二) 关联对象的底层数据结构\n"},"iOS/OCFoundation/Runtime.html":{"url":"iOS/OCFoundation/Runtime.html","title":"Runtime","keywords":"","body":"RunTime\nRuntime简介\n\nRunTime简称运行时,其中最主要的是消息机制。\n对于C语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。\nOC的函数调用成为消息发送,属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而C语言在编译阶段就会报错)。\n只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。\n\n\n\n其动态性体现在几个方面:\n\n1.动态类型:\n 即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。像内置的明确的基本类型都属于静态类型(int、NSString等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。\n 2.动态绑定:\n 基于动态类型,在某个实例对象被确定后,其类型便被确定了。该对象对应的属性和响应的消息也被完全确定,这就是动态绑定。比如我们一般向一个NSObject对象发送-respondsToSelector:或者 -instancesRespondToSelector:等来确定对象是否可以对某个SEL做出响应,而在OC消息转发机制被触发之前,对应的类 的+resolveClassMethod:和+resolveInstanceMethod:将会被调用,在此时有机会动态地向类或者实例添加新的方 法,也即类的实现是可以动态绑定的;isKindOfClass也是一样的道理。\n\n\n\n"},"iOS/OCFoundation/Block.html":{"url":"iOS/OCFoundation/Block.html","title":"Block","keywords":"","body":"Block\nBlock本质\n\nIn programming languages, a closure is a function or reference to a function together with a referencing environment—a table storing a reference to each of the non-local variables (also called free variables or upvalues) of that function.\n\n\n\nBlock 是将函数及其执行上下文封装起来的对象\nBlock的调用即是函数的调用\nBlock本质上也是一个OC对象,它内部也有个isa指针\nBlock是封装了函数调用以及函数调用环境的OC对象\n\nblock地层结构图中的第一个成员就是一个isa指针,所以我们可以将block当成一个对象来看待。isa常见的就是_NSConcreteStackBlock,_NSConcreteMallocBlock,_NSConcreteGlobalBlock这3种\nBlock 写法\n\n@property (nonatomic, copy)void (^addBlockResult)(BOOL) ;\n\nint multiplier = 6\nint(^Block)(int) = ^int(int num){\n return num * multiplier;\n}\n\nBlock 结构\n//如下代码\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n int a = 10;\n void (^block)(int, int) = ^(int c, int b){\n NSLog(@\"I am a block!\");\n NSLog(@\"I am a block!\");\n NSLog(@\"c = %d\",c);\n NSLog(@\"b = %d\",b);\n NSLog(@\"a的值为%d\",a);\n };\n block(50,100);\n }\n return 0;\n}\n\n通过\n xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main.cpp\n\n将OC文件用Clang重写\n#import \n\n//将block的底层结构struct __main_block_impl_0直接般到main.m里面\n\nstruct __block_impl {\n void *isa;\n int Flags;\n int Reserved;\n void *FuncPtr;\n};\n\nstruct __main_block_desc_0 {\n size_t reserved;\n size_t Block_size;\n};\n\nstruct __main_block_impl_0 {\n struct __block_impl impl;\n struct __main_block_desc_0* Desc;\n int a;\n\n};\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n\n int a = 10;\n\n void (^block)(int, int) = ^(int c, int b){\n NSLog(@\"I am a block!\");\n NSLog(@\"I am a block!\");\n NSLog(@\"c = %d\",c);\n NSLog(@\"b = %d\",b);\n NSLog(@\"a的值为%d\",a);\n\n };\n\n struct __main_block_impl_0 *tmpBlock = (__bridge struct __main_block_impl_0 *)block;\n\n block(50,100);\n\n\n }\n return 0;\n}\n\n\nBlock 底层代码\n\nBlock 捕获外部变量\nBlock 捕获基础类型\nBlock捕获auto变量\n接下来看看这种情况\n#import \n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n int age = 10;\n //Block的定义\n void (^block)(void) = ^(){\n NSLog(@\"Age is %d\", age);\n };\n //先修改age的值\n age = 20;\n //Block的调用\n block();\n }\n return 0;\n}\n\n在block之前定义了一个int a = 10,然后在block内部使用了这个age,而且我在调用block之前,先将age的值修改成了20,那么此时程序运行会是什么结果呢\nInterview03-block[4064:375528] Age is 10\nProgram ended with exit code: 0\n\n结果是block中打印出的a是10,我们在block外部对age的修改结果并没有对block的内部打印产生影响\n(1)首先看一下此时block对应的结构体\n \n我们发现有三处变化\n\n新增了一个int age成员变量\n构造函数里面多了一个参数 int _age\n构造函数里面参数尾部多了一个: age(_age),这是c++的语法,作用时将参数_age自动赋值给成员变量age\n\n(2)再看一下main函数中的block定义以及赋值的代码\n\n在用block构造函数生成block的时候,使用了外部定义的 int a = 10,因为c函数的参数都是值传递,所以这里是将此时外部变量a的值10传给了block的构造函数__main_block_impl_0,因此block内部的成员变量age会被赋值成10。\n(3)再看一下block内部封装的函数\n可以看到打印代码里面使用的age,实际上就是block内部的成员变量age,不是我们在外面定义的那个age,因此,当block被赋值之后,其成员变量age被赋值成了当时构造函数传进来的参数10,所以最终打印出来值就是10,不论外部的age再如何的修改。外部的age跟block的成员变量age是两个不同的变量,互不影响。\n其实,上面我门讨论的这个block外部变量age是一个局部auto变量,也叫自动变量。除了auto变量,C语言里面还有局部static变量(静态变量)和全局变量,接下来我们就看看,Block对于这几种变量的使用,做了如何的处理。\nBlock捕获局部static变量\n首先我们将上面的OC代码改造如下\n#import \n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n int age = 10;\n static int height = 10;\n //Block的定义\n void (^block)(void) = ^(){\n NSLog(@\"Age is %d, height is %d\", age, height);\n };\n //先修改age和height的值\n age = 20;\n height = 20;\n //Block的调用\n block();\n }\n return 0;\n}\n\n我们有增加了一个static变量height,并且在同样的地方修改height的值,便于和之前的age进行对比。首先运行代码看一下结果\nInterview03-block[4725:476530] Age is 10, height is 20\nProgram ended with exit code: 0\n\n可以看到,block输出的 height值是我们在外部重新为其赋的20。 \n(1)借用上面的分析流程一样,先看一下block对应的结构体\n\n针对static变量height, block内部为其增加了一个int *height;成员变量,构造函数里面对应的参数是int *_height。看到这里这里要存储的是一个地址,该地址应该就是外部static变量height的地址值。\n(2)main函数里的block赋值过程\n\nblock构造函数里面传入的,就是外部的这个height的地址值。\n(3)block内部的函数\n\n那么可以看到,block内部的函数也是通过block所存储的地址值*height访问了外部的static变量height的值。\n因此,当我们从外部修改height的值之后,调用block打印出的height的值也相应的改变了,因为block内部是通过 指针 引用了外部的这个static变量height。\n对于auto、static变量,为什么block选择用不同方式处理它们呢?\n一个自动变量(auto)的存储空间位于函数栈空间上,在函数开辟栈空间时被创建,在函数结束时销毁,而block的调用时机有可能发生在函数结束之后的,因此就无法使用自动变量了,所以在block一开始定义赋值的过程里,就将自动变量的值拷贝到他自己的存储空间上。 而对于局部静态变量(static),C语法下static会改变所修饰的局部变量的生命周期,使其在 程序整个运行期间都存在 ,所以block选择持有它的指针,在block被调用时,通过该指针访问这个变量的内容就行。\nBlock使用全局变量\n上面讨论block对于局部变量的处理,在看一看对于全局变量,情况又是如何\n\n输出结果如下\nInterview03-block[13997:1263406] Age is 20, height is 20\nProgram ended with exit code: 0\n\n在通过命令行生成一下编译后的C++文件,同样还是在文件底部去看\n\nblock没有对全局变量进行捕获行为,只需要在要用的时候,直接通过变量名访问就行了,因为全局变量时跨函数的,可以直接通过变量的名字直接访问。 同样,者也帮我我们理解了为什么对于局部的变量,block需要对其采取“捕获”行为,正是因为局部变量定在与函数内部,无法跨函数使用,所以根据局部变量不同的存储属性,要么将其值直接进行拷贝(auto),要么对其地址进行拷贝(static)。\n总结\n\n\n局部变量会被block捕获\n\n自动变量(auto),block通过值拷贝方式捕获,在其内部创建一个同类型变量,并且将自动变量的值拷贝给block的内部变量,block代码块执行的时候,直接访问它的这个内部变量。\n\n静态变量(static),block通过地址拷贝方式捕获,在其内部创建一个指向同类型变量的指针, 将静态变量的地址值拷贝给block内部的这个指针,block代码块执行的时候,通过内部存储的指针间接访问静态变量。\n\n全局变量不会被block捕获, block代码块执行的时候,通过全局变量名直接访问。\n\n\nBlock对于self的处理\n \n\n编译结果显示block对self进行了捕获。But why? 我们知道,图中的block位于test方法里面,实际上任何的oc方法,转换成底层的c函数,里面都有两个默认\n的参数,self 和 _cmd\n\n所以作为函数默认参数的self的实际上也是该函数的局部变量,根据我们上面总结的原则,只要是局部变量,block都会对其进行捕获,这就解释通了。\n下面的情况呢\n \n先看编译结果\n\n看得出来,还是进行了捕获,在图中标明的黄色框框,就很好理解了,block最终访问CLPerson的成员变量_age的时候,是通过self +_age偏移量,获得_age的地址后从而进行间接访问的,所以在oc代码中,_age 的写法等同与self->_age,说白了,这里还是需要用到self,因此block还是需要对self进行捕获的。\nBlock捕获对象类型\n有以下代码:\ntypedef void(^CLBlock)(void);//➕➕➕\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n CLBlock myBlock;\n {//临时作用域开始\n CLPerson *person = [[CLPerson alloc] init];\n person.age = 10;\n\n myBlock = ^{\n NSLog(@\"---------%d\",person.age);\n };\n }//临时作用域结束\n\n NSLog(@\"-----------flag1\");\n }\n return 0;\n}\n\n由于现在是ARC环境,myBlock属于强指针,因此在将block对象赋值给myBlock指针的时候,编译器会自动对block对象执行copy操作,因此赋值完成后,myBlock指向的是一个堆空间上的block对象副本\n通过Clang重写\nstruct __main_block_impl_0 {\n struct __block_impl impl;\n struct __main_block_desc_0* Desc;\n CLPerson *person;\n\n __main_block_impl_0(void *fp, struct __main_block_desc_0 *desc, CLPerson *_person, int flags=0) : person(_person) {\n impl.isa = &_NSConcreteStackBlock;\n impl.Flags = flags;\n impl.FuncPtr = fp;\n Desc = desc;\n }\n};\n\n\nstatic void __main_block_func_0(struct __main_block_impl_0 *__cself) {\n CLPerson *person = __cself->person; // bound by copy\n\n NSLog((NSString *)&__NSConstantStringImpl__var_folders_7__p19yp82j0xd2m_1k8fpr77z40000gn_T_main_2cca58_mi_0,((int (*)(id, SEL))(void *)objc_msgSend)((id)person, sel_registerName(\"age\")));\n }\n\n\n\nstatic void __main_block_copy_0(struct __main_block_impl_0*dst, struct __main_block_impl_0*src) {\n _Block_object_assign((void*)&dst->person, (void*)src->person, 3/*BLOCK_FIELD_IS_OBJECT*/);\n}\n\n\n\n\nstatic void __main_block_dispose_0(struct __main_block_impl_0*src) {\n _Block_object_dispose((void*)src->person, 3/*BLOCK_FIELD_IS_OBJECT*/);\n}\n\n\n\n\nstatic struct __main_block_desc_0 {\n size_t reserved;\n size_t Block_size;\n void (*copy)(struct __main_block_impl_0*, struct __main_block_impl_0*);\n void (*dispose)(struct __main_block_impl_0*);\n} __main_block_desc_0_DATA = { \n 0, \n sizeof(struct __main_block_impl_0), \n __main_block_copy_0, \n __main_block_dispose_0\n };\n\n\n\nint main(int argc, const char * argv[]) {\n /* @autoreleasepool */ { __AtAutoreleasePool __autoreleasepool; \n CLBlock myBlock;\n\n {\n CLPerson * person = objc_msgSend(objc_msgSend(objc_getClass(\"CLPerson\"), \n sel_registerName(\"alloc\")\n ), \n sel_registerName(\"init\")\n );\n\n\n objc_msgSend(person, \n sel_registerName(\"setAge:\"), \n 30\n );\n\n\n myBlock = objc_msgSend(&__main_block_impl_0(__main_block_func_0, \n &__main_block_desc_0_DATA, \n person, \n 570425344), \n sel_registerName(\"copy\")\n );\n\n\n }\n\n\n }\n\n\n return 0;\n}\n\n__main_block_desc_0结构体里面多了两个彩蛋\n\n函数指针copy,也就是__main_block_copy_0(),内部调用了_Block_object_assign()\n函数指针dispose,也就是__main_block_dispose_0(),内部调用了_Block_object_dispose()\n\n\nARC 下CLPerson *person被认为是强指针,等价于_strong CLPerson *person,而弱指针需要显式地表示为__weak CLPerson *person。通过终端命令xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc -fobjc-arc -fobjc-runtime=ios-9.0.0 main.m -o main.cpp,可以看到block的内捕获到的person指针如下\n\n为了对比,我们再分别看一下下面三种 场景分别是什么情况的:\n\nARC环境-->堆上的block-->弱指针__weak CLPerson *person\nARC环境-->栈上的block-->强指针CLPerson *person\nARC环境-->栈上的block-->弱指针__weak CLPerson *person\n\n【ARC环境-->堆上的block-->弱指针__weak CLPerson *person】 案例如下\n***********************main.m*************************\n#import \n#import \"CLPerson.h\"\n\ntypedef void(^CLBlock)(void);\n\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n CLBlock myBlock;\n\n {//临时作用域开始\n __weak CLPerson * person = [[CLPerson alloc] init];\n person.age = 30;\n\n myBlock = ^{\n NSLog(@\"---------%d\",person.age);\n } ;\n\n }//临时作用域结束\n\n NSLog(@\"-------------\");\n\n }\n\n NSLog(@\"------main autoreleasepool end-------\");\n\n return 0;\n}\n\nblock的底层结构如下\n \n堆block->弱指针运行结果\"> \n运行结果显示堆上的block使用弱指针__weak CLPerson *person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。\n【ARC环境-->栈上的block-->强指针CLPerson *person】\n***********************main.m*************************\n#import \n#import \"CLPerson.h\"\n\ntypedef void(^CLBlock)(void);\n\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n CLBlock myBlock;\n\n {//临时作用域开始\n CLPerson * person = [[CLPerson alloc] init];\n person.age = 30;\n\n ^{\n NSLog(@\"---------%d\",person.age);\n } ;\n\n }//临时作用域结束\n\n NSLog(@\"-------------\");\n\n }\n\n NSLog(@\"------main autoreleasepool end-------\");\n\n return 0;\n}\n\nblock底层结构如下 \n栈block->强指针运行结果\">\n运行结果显示栈上的block使用强指针CLPerson *person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。\n【ARC环境-->栈上的block-->弱指针__weak CLPerson *person】\n***********************main.m*************************\n#import \n#import \"CLPerson.h\"\n\ntypedef void(^CLBlock)(void);\n\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n CLBlock myBlock;\n\n {//临时作用域开始\n __weak CLPerson * person = [[CLPerson alloc] init];\n person.age = 30;\n\n ^{\n NSLog(@\"---------%d\",person.age);\n } ;\n\n }//临时作用域结束\n\n NSLog(@\"-------------\");\n\n }\n\n NSLog(@\"------main autoreleasepool end-------\");\n\n return 0;\n}\n\nblock底层结构为 \n\n栈block->弱指针运行结果\">\n运行结果显示栈上的block使用弱指针__weak CLPerson *person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。\nBlock类型\nBlock有3种类型\n\n回顾一下程序的内存布局\n\n\n代码段 占用空间很小,一般存放在内存的低地址空间,我们平时编写的所有代码,就是放在这个区域\n数据段 用来存放全局变量\n堆区 是动态分配内存的,用来存放我们代码中通过alloc生成的对象,动态分配内存的特点是需要程序员申请内存和管理内存。例如OC中alloc生成的对象需要调用releas方法释放【MRC下】,C中通过malloc生成的对象必须要通过free()去释放。\n栈区 系统自动分配和销毁内存,用于存放函数内生成的局部变量\n\n\n\n(1) NSGlobalBlock(也就是_NSConcreteGlobalBlock)\n\n如果一个block内部没有使用/访问 自动变量(auto变量),那么它的类型即为__NSGlobalBlock__,它会被存储在应用程序的 数据段\n\n(2) NSStaticBlock(也就是_NSConcreteStaticBlock)\n\n如果一个block有使用/访问 自动变量(auto变量),那么它的类型即为__NSStaticBlock__,它会被存储在应用程序的 栈区\n\n(3) NSMallocBlock(也就是_NSConcreteMallocBlock)\n\n对__NSMallocBlock__调用copy方法,就可以转变成__NSMallocBlock__,它会被存储在堆区上\n\n总结\n \n对每一种类型的block调用copy后的结果如下\n\n在ARC环境下,编译器会根据情况自动将栈上的block复制到堆上,例如以下的情况\n\nblock作为函数参数返回的时候\n将block赋值给__strong指针的时候\nblock作为Cocoa API中方法名里面含有usingBlock的方法参数时\nblock作为GCD API的方法参数的时候\n\nBlock生命周期\nNSConcreteStackBlock 是由编译器自动管理,超过作用域之外就会自动释放了。而 NSConcreteMallocBlock 是由程序员自己管理,如果没有被强引用也会被消耗。NSConcreteGlobalBlock 由于存在于全局区,所以会一直伴随着应用程序。\n无论是MAC还是ARC\n\n当block为__NSStackBlock__类型时候,是在栈空间,无论对外面使用的是strong 还是weak 都不会对外面的对象进行强引用\n当block为__NSMallocBlock__类型时候,是在堆空间,block是内部的_Block_object_assign函数会根据strong或者 weak对外界的对象进行强引用或者弱引用。\n\n其实也很好理解,因为block本身就在栈上,自己都随时可能消失,怎么能保住别人的命呢?\n\n当block内部访问了对象类型的auto变量时\n如果block是在栈上,将不会对auto变量产生强引用\n如果block被拷贝到堆上\n会调用block内部的copy函数\ncopy函数内部会调用_Block_object_assign函数\n_Block_object_assign函数会根据auto变量的修饰符(__strong、__weak、__unsafe_unretained)做出相应的操作,形成强引用(retain)或者弱引用\n\n\n如果block从堆上移除\n会调用block内部的dispose函数\ndispose函数内部会调用_Block_object_dispose函数\n_Block_object_dispose函数会自动释放引用的auto变量(release)\n\n\n\n\n\n\n函数\n调用时机\n\n\n\n\ncopy函数\n栈上的Block复制到堆上\n\n\ndispose函数\n堆上的block被废弃时\n\n\n\nweak的实现原理\n在原对象释放之后,weak对象就会变成null,防止野指针。所以就输出了null了。\n那么我们怎么才能在weakSelf之后,block里面还能继续使用weakSelf之后的对象呢?\n究其根本原因就是weakSelf之后,无法控制什么时候会被释放,为了保证在block内不会被释放,需要添加_strong。\n在block里面使用的_strong修饰的weakSelf是为了在函数生命周期中防止self提前释放。strongSelf是一个自动变量当block执行完毕就会释放自动变量strongSelf不会对self进行一直进行强引用。\n__block 修饰符\n__block修饰符原理:\n编译器会将__block变量包装成一个结构体__Block_byref_age_0,结构体内部*__forwarding是指向自身的指针,内部还存储着外部auto变量的值\n一开始,栈空间的block有一个__Block_byref_a_0结构体,\n 指向外部__Block_byref_a_0的地址,\n 其中它的__forwarding指针指向自身,\n当block从栈copy到堆时,\n堆空间的block有一个__Block_byref_a_0结构体,\n 指向外部__Block_byref_a_0的地址,\n 其中它的__forwarding指针指向自身\n一般情况下,对被截获变量进行赋值操作需要添加 __block 修饰符(注意是赋值!!, 赋值≠使用)\nNSMutableArray *array = [NSMutableArray array];\nvoid(^Block)(void) = ^{\n [array addObject:@123];\n}\n\n//不需要添加 __block,因为是使用\n \n当__block修饰外界变量时\nint main(){\n\n __block int a = 10;\n void(^block)(void) = ^{\n printf(\"Felix %d \", a);\n };\n\n block();\n return 0;\n}\n将代码编译成C++源码\n\n// 原代码\n__block int a = 10;\n// c++源码\n__attribute__((__blocks__(byref))) __Block_byref_a_0 a = {\n (void*)0,\n (__Block_byref_a_0 *)&a, \n 0, \n sizeof(__Block_byref_a_0), \n 10\n};\n\n可以看到 变量a 变成了 结构体类型__Block_byref_a_0\n下面再看看结构体__Block_byref_a_0的构造\nstruct __Block_byref_a_0 {\n void *__isa;\n__Block_byref_a_0 *__forwarding;\n int __flags;\n int __size;\n int a;\n};\n\n通过上面结构体的初始化和结构体的构造,\n 可以获得以下信息:\n\n\n__forwarding存放的是自己本身的地址\n结构体内的a变量存放的是外部变量a的值\n\n\n主结构体__main_block_impl_0的变化\n\n\n如何从栈指向堆,并建立联系呢?\napple源码,如图:\n\ncopy->forwarding = copy;\n 就是将堆结构体的forwarding指针指向自身\n src->forwarding = copy;\n 就是将栈结构体的forwarding指针指向堆结构体\n这样,苹果工程师在背后悄悄地将block copy到了堆上,\n 而且栈上的block从未被我们利用过。\n在看看block入口静态函数\nstatic void __main_block_func_0(struct __main_block_impl_0 *__cself) {\n __Block_byref_a_0 *a = __cself->a; // bound by ref\n (a->__forwarding->a)++;\n}\n\n通过当前栈空间主结构体上的__Block_byref_a_0结构体指针,访问指向堆空间的__forwarding成员,并获取堆空间上变量的值。\n当然,不仅__block修饰的变量会这样,前文的对象类型变量同样会在copy函数内部被转化成类似的结构体进行处理。\n__block修饰的属性在底层会生成响应的结构体,保存原始变量的指针,并传递一个指针地址给block——因此是指针拷贝\n__block 所起到的作用就是只要观察到该变量被 block 所持有,就将“外部变量”在栈中的内存地址放到了堆中。进而在block内部也可以修改外部变量的值。\n__block修饰的变量成了对象\n__forwarding存在意义\n不论在任何内存位置,都可以顺利访问同一个__block变量.\n\n\n\nReference\n1 深入研究 Block 捕获外部变量和 __block 实现原理\n2 深入理解iOS的block\n3 iOS中__block 关键字的底层实现原理\n4 iOS探索 全方位解读Block\n5 iOS - block原理解读(三)\n探寻Block的本质(6)—— block的深入分析block的使用场景 大家应该都知道,如果想在block - 掘金 (juejin.cn)\n"},"iOS/OCFoundation/Method.html":{"url":"iOS/OCFoundation/Method.html","title":"Method","keywords":"","body":"Method\nOC 是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以 Runtime 无非就是去解决如何在运行时期找到调用方法这样的问题\n\ninstance -> class -> method -> SEL -> IMP -> 实现函数\n\n根据isa特性可以解释消息传递与寻找方法列表原理\n\n发送消息会有以下⼏个流程:\n\n快速查找流程——通过汇编objc_msgSend查找缓存cache_t是否有imp实现\n慢速查找流程——通过C++中lookUpImpOrForward递归查找当前类和父类的rw中methodlist的方法\n动态方法解析——通过调用resolveInstanceMethod和resolveClassMethod来动态方法决议——实现消息动态处理\n快速转发流程——通过CoreFoundation来触发消息转发流程,forwardingTargetForSelector实现快速转发,由其他对象来实现处理方法\n慢速转发流程——先调用methodSignatureForSelector获取到方法的签名,生成对应的invocation;再通过forwardInvocation来进行处理\n以上流程均无法挽救就崩溃并报错\n\n这就是消息传递的一个流程,首先查缓存,无缓存,查方法列表,依然没命中,再顺次查找各个父类方法列表,如果都没有名字,就转到消息转发流程\n\n在缓存查找阶段是 哈希查找\n当前类方法查找 , 如果是已排序的列表,就采用二分查找,没排序的采用一般遍历\n逐级父类方法查找 ,是根据 superClass 指针逐级遍历每一个父类\n\n\n上述源码中,method_array_t、property_array_t、protocol_array_t其实都是二维数组,来到method_array_t、property_array_t、protocol_array_t内部看一下。这里以method_array_t为例,method_array_t本身就是一个数组,数组里面存放的是数 method_list_t,method_list_t里面最终存放的是method_t\nclass method_array_t : \n public list_array_tt \n{\n typedef list_array_tt Super;\n\n public:\n method_list_t **beginCategoryMethodLists() {\n return beginLists();\n }\n\n method_list_t **endCategoryMethodLists(Class cls);\n\n method_array_t duplicate() {\n return Super::duplicate();\n }\n};\n\n\nclass property_array_t : \n public list_array_tt \n{\n typedef list_array_tt Super;\n\n public:\n property_array_t duplicate() {\n return Super::duplicate();\n }\n};\n\n\nclass protocol_array_t : \n public list_array_tt \n{\n typedef list_array_tt Super;\n\n public:\n protocol_array_t duplicate() {\n return Super::duplicate();\n }\n};\n\nclass_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,其中包含了类的初始内容以及分类的内容。\n这里以method_array_t为例,图示其中的结构。\n\nclass_rw_t中是如何存储方法的\nmethod_t\n我们知道method_array_t、property_array_t、protocol_array_t中以method_array_t为例,method_array_t中最终存储的是method_t,method_t是对方法、函数的封装,每一个方法对象就是一个method_t。通过源码看一下method_t的结构体\nstruct method_t {\n SEL name; // 函数名\n const char *types; // 编码(返回值类型,参数类型)\n IMP imp; // 指向函数的指针(函数地址)\n};\n\nmethod_t结构体中可以看到三个成员变量,我们依次来看三个成员变量分别代表什么。\nSEL\nSEL代表方法\\函数名,一般叫做选择器,底层结构跟char *类似\n typedef struct objc_selector *SEL;,可以把SEL看做是方法名字符串。\nSEL可以通过@selector()和sel_registerName()获得\nSEL sel1 = @selector(test);\nSEL sel2 = sel_registerName(\"test\");\n\n也可以通过sel_getName()和NSStringFromSelector()将SEL转成字符串\nchar *string = sel_getName(sel1);\nNSString *string2 = NSStringFromSelector(sel2);\n\n不同类中相同名字的方法,所对应的方法选择器是相同的。\nNSLog(@\"%p,%p\", sel1,sel2);\nRuntime-test[23738:8888825] 0x1017718a3,0x1017718a3\n\nSEL仅仅代表方法的名字,并且不同类中相同的方法名的SEL是全局唯一的。\ntypes\ntypes包含了函数返回值,参数编码的字符串。通过字符串拼接的方式将返回值和参数拼接成一个字符串,来代表函数返回值及参数。\n\nIMP\nIMP代表函数的具体实现,存储的内容是函数地址。也就是说当找到imp的时候就可以找到函数实现,进而对函数进行调用。\n方法缓存 cache_t\n回到类对象结构体,成员变量cache就是用来对方法进行缓存的。\nstruct objc_class : objc_object {\n // Class ISA;\n Class superclass;\n cache_t cache; // formerly cache pointer and vtable\n class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n\n class_rw_t *data() { \n return bits.data();\n }\n void setData(class_rw_t *newData) {\n bits.setData(newData);\n }\n}\n\ncache_t cache;用来缓存曾经调用过的方法,可以提高方法的查找速度。\n回顾方法调用过程:调用方法的时候,需要去方法列表里面进行遍历查找。如果方法不在列表里面,就会通过superclass找到父类的类对象,在去父类类对象方法列表里面遍历查找。\n如果方法需要调用很多次的话,那就相当于每次调用都需要去遍历多次方法列表,为了能够快速查找方法,apple设计了cache_t来进行方法缓存。\n每当调用方法的时候,会先去cache中查找是否有缓存的方法,如果没有缓存,在去类对象方法列表中查找,以此类推直到找到方法之后,就会将方法直接存储在cache中,下一次在调用这个方法的时候,就会在类对象的cache里面找到这个方法,直接调用了。\ncache_t 如何进行缓存\nstruct cache_t {\n struct bucket_t *_buckets; // 散列表 数组\n mask_t _mask; // 散列表的长度 -1\n mask_t _occupied; // 已经缓存的方法数量\n};\n\nbucket_t是以数组的方式存储方法列表的\nstruct bucket_t {\nprivate:\n cache_key_t _key; // SEL作为Key\n IMP _imp; // 函数的内存地址\n};\n\n源码中可以看出bucket_t中存储着SEL和_imp,通过key->value的形式,以SEL为key,函数实现的内存地址 _imp为value来存储方法。\n通过一张图来展示一下cache_t的结构。\n\n上述bucket_t列表我们称之为散列表(哈希表)\n 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。\n1.方法缓存存在什么地方?\n在objc中,class存储类的实例方法(-),meta class存储类的类方法(+),class的isa指针指向meta class。\n在类的定义里就有cache字段,类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的object都保存一份\n2.父类方法的缓存只存在父类么,还是子类也会缓存父类的方法?\n即便是从父类取到的方法,也会存在类本身的方法缓存里。而当用一个父类对象去调用那个方法的时候,也会在父类的metaclass里缓存一份。\n3.为什么 类的方法列表 不直接做成散列表呢,做成list,还要单独缓存,多费事?\n\n散列表是没有顺序的,Objective-C的方法列表是一个list,是有顺序的;Objective-C在查找方法的时候会顺着list依次寻找,并且category的方法在原始方法list的前面,需要先被找到,如果直接用hash存方法,方法的顺序就没法保证。\nlist的方法还保存了除了selector和imp之外其他很多属性\n散列表是有空槽的,会浪费空间\n\nReference\n1.iOS底层原理总结 - 探寻Runtime本质(二)\n"},"iOS/OCFoundation/MessageForwarding.html":{"url":"iOS/OCFoundation/MessageForwarding.html","title":"MessageForwarding","keywords":"","body":"Message Forwarding\n\n发送消息会有以下⼏个流程:\n\n快速查找流程——通过汇编objc_msgSend查找缓存cache_t是否有imp实现\n慢速查找流程——通过C++中lookUpImpOrForward递归查找当前类和父类的rw中methodlist的方法\n动态方法解析——通过调用resolveInstanceMethod和resolveClassMethod来动态方法决议——实现消息动态处理\n快速转发流程——通过CoreFoundation来触发消息转发流程,forwardingTargetForSelector实现快速转发,由其他对象来实现处理方法\n慢速转发流程——先调用methodSignatureForSelector获取到方法的签名,生成对应的invocation;再通过forwardInvocation来进行处理\n以上流程均无法挽救就崩溃并报错\n\n当一个 OC 对象(receiver)接收到 Unknown selector 时,会进入如图流程,用户可以在这三个步骤中 override receiver 的相关方法,进而避免doesNotRecognizeSelector:异常。\n《Effective Objective-C 2.0》的描述是:\n\n步骤越往后,处理消息的代价就越大;最好能在第一步就处理完,这样的话,runtime 系统就可以将此方法缓存起来,进而提高效率。若想在第三步里把消息转发给备援的 receiver,那还不如把转发操作提前到第二步。因为第三步只是修改了调用目标,这项改动放在第二步会更为简单,不然的话,还得创建并处理完整的NSInvocation。\n\n+resolveInstanceMethod\nReceiver 在收到 unknown selector 后,首先将调用其本类的resolveInstanceMethod:方法,该方法定义如下:\n+ (BOOL)resolveInstanceMethod:(SEL)sel;\n\n该方法的参数就是那个 unknown selector,其返回值为Boolean类型,表示这个类是否能新增一个实例方法用以处理该 unknown selector。在继续往下执行转发机制之前,本类有机会新增一个处理此 selector 的方法。所以resolveInstanceMethod:的一般使用套路是:\n+ (BOOL)resolveInstanceMethod:(SEL)aSelector {\n if (/* aSelector满足某个条件 */) {\n /*\n 调用class_addMethod为该类添加一个处理aSelector的方法,譬如:\n class_addMethod(self, aSelector, aImp, @\"v@:@\");\n */\n return YES;\n }\n return [super resolveInstanceMethod:aSelector];\n}\n\n假如尚未实现的方法不是实例方法而是类方法,那么 runtime 系统会调用另外一个与resolveInstanceMethod:类似的方法resolveClassMethod:。\n就我经验而言,resolveInstanceMethod:的使用场景一般用来动态添加 setter 和 getter。\n#-forwardingTargetForSelector\n当前 receiver 还有第二次机会能处理 unknown selector,在这一步中,runtime 系统会问它:可否把这条消息转给其他对象处理?该步骤对应的处理方法是forwardingTargetForSelector:,定义于中:\n- (id)forwardingTargetForSelector:(SEL)aSelector;\n\n若当前 receiver 能找到备援对象,则将其返回,当然,备援对象必须能够响应 aSelector,否则依然会抛出doesNotRecognizeSelector:异常;若找不到,则返回nil。\n-forwardingTargetForSelector:的使用逻辑非常简单,应用场景包括:\n\n实现多继承。Objective-C 不允许多继承,基于-forwardingTargetForSelector:,可以通过组合的方式,模拟出多继承的某些特性。\n为协议遵循者提供默认实现。譬如某个协议定义了多个方法,有必要为这几个方法提供默认实现;具体做法是定义一个类(假设为 Implement),用于实现这几个方法,然后 override 协议遵循者的-forwardingTargetForSelector:方法,将协议方法的 receiver 定位到 Implement 对象。\n\n#-forwardInvocation\n-forwardInvocation:要和-methodSignatureForSelector:配套使用,后者为NSMethodSignature对象,该对象携带 selector 的签名信息,包括参数类型、返回值类型和长度等。Runtime 内部会基于NSMethodSignature实例构建一个NSInvocation对象,作为回调-forwardInvocation:的入参。\n只要回调-methodSignatureForSelector:的返回值不为空,就会进入-forwardInvocation:方法,用户可以在此过程中修改 invocation 的 target,将 receiver 定位到别处:\n- (void)forwardInvocation:(NSInvocation *)invocation {\n [invocation setTarget:self.target]; // 让self.target成为消息的receiver\n [invocation invoke];\n}\n\n值得一提的是,除了修改 receiver,还可以修改入参,甚至是返回值。NSInvocation#invoke会触发 receiver 的 selector 的调用,如果不想调用怎么办?没怎么办,只要确保 invocation 的返回值(NSInvocation#setReturnValue:)的类型和长度一致即可。\nUnknown selector 触发的三个回调介绍完毕,简单总结一下。\n就作用而言,+resolveInstanceMethod:主要用于为类动态增加实例方法;-forwardingTargetForSelector:用于将 selector 的 receiver 从self定位到别的 target;这两个方法的使用都比较直接简单,不太能整出花样。-forwardInvocation:就不同了,在它身上可以动的手脚比较多,不光可以修改 receiver,还可以篡改入参、返回值;当然,-forwardInvocation:的代价比较大一些,毕竟还会触发-methodSignatureForSelector:,构建NSMethodSignature和NSInvocation实例。\n如果需要动态新增方法,可以在+resolveInstanceMethod:阶段完成;如果只是需要篡改 receiver,在-forwardingTargetForSelector:阶段完成更省事儿;如果需要更高阶的玩法,或许真的只有-forwardInvocation:能满足需求。\nNSProxy\n\nNSProxy is an abstract superclass defining an API for objects that act as stand-ins for other objects or for objects that don’t exist yet. Typically, a message to a proxy is forwarded to the real object or causes the proxy to load (or transform itself into) the real object. Subclasses of NSProxy can be used to implement transparent distributed messaging (for example, NSDistantObject) or for lazy instantiation of objects that are expensive to create.\n\nNSProxy是一个抽象的超类,它定义了一个对象的API,用来充当其他对象或者一些不存在的对象的替身。通常,发送给Proxy的消息会被转发给实际对象,或使Proxy加载(转化为)实际对象。 NSProxy的子类可以用于实现透明的分布式消息传递(例如,NSDistantObject),或者用于创建开销较大的对象的惰性实例化。\n作为抽象类,它不实现初始化方法,并且会在收到任何它不响应的消息时引发异常。因此,具体子类必须实现一个初始化或者创建方法,并且重写- (void)forwardInvocation:(NSInvocation )invocation;和- (nullable NSMethodSignature )methodSignatureForSelector:(SEL)sel方法,来转发它没实现的方法。这也是NSProxy的主要功能,负责把消息转发给真正的target的代理类,NSProxy正是代理的意思。\n总结:\nNSProxy专门为消息转发而生\nReference\n1.NSObject 的消息转发机制\n2.NSProxy的理解和使用\n"},"iOS/OCFoundation/KVC.html":{"url":"iOS/OCFoundation/KVC.html","title":"KVC","keywords":"","body":"KVC\n是一种键值对设计模式,破坏面对对象的编程思想。(不重写特定方法,找不到Key情况下会崩溃)\n主要方法\n-(id)valueForKey:(NSString *)key\n-(void)setValue:(id)value forked:(NSString *)key;\n\n寻找路径\nsetterKey(keySet方法) -> _key -> _isKey -> key -> iskey\n\n \nKVC setvalue:forkey与setvalue:forkeypath的区别:\nforkey用于简单路径,forkeypath用于复合路径(比如key是对象,可以直接赋值给这个对象的属性.eg:setValue:@100 forKeyPath:@\"person.number\")\n"},"iOS/OCFoundation/KVO.html":{"url":"iOS/OCFoundation/KVO.html","title":"KVO","keywords":"","body":"KVO\nKVO初探\nKVO(Key-Value Observing)是苹果提供的一套事件通知机制,这种机制允许将其他对象的特定属性的更改通知给对象。iOS开发者可以使用KVO 来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。\n在Documentation Archieve中提到一句想要理解KVO,必须先理解KVC,因为键值观察是建立在键值编码的基础上\n\nIn order to understand key-value observing, you must first understand key-value coding.——Key-Value Observing Programming Guide\n\n而KVO和NSNotificatioCenter都是iOS观察者模式的一种实现,两者的区别在于:\n\n相对于被观察者和观察者之间的关系,KVO是一对一的,NSNotificatioCenter是一对多的\nKVO对被监听对象无侵入性,不需要修改其内部代码即可实现监听\n\nKVO使用及注意点\n1.基本使用\nKVO使用三部曲:\n\n注册观察者\n\n[self.person addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:NULL];\n\n\n实现回调\n\n- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {\n if ([keyPath isEqualToString:@\"name\"]) NSLog(@\"%@\", change);\n}\n\n\n移除观察者\n\n[self.person removeObserver:self forKeyPath:@\"name\"];\n\n2.context的使用\nKey-Value Observing Programming Guide是这么描述context的\n\n\n消息中的上下文指针包含任意数据,这些数据将在相应的更改通知中传递回观察者;您可以指定NULL并完全依赖键路径字符串来确定更改通知的来源,但是这种方法可能会导致对象的父类由于不同的原因而观察到相同的键路径,因此可能会出现问题;一种更安全,更可扩展的方法是使用上下文确保您收到的通知是发给观察者的,而不是超类的。\n\n这里提出一个假想,如果父类中有个name属性,子类中也有个name属性,两者都注册对name的观察,那么仅通过keyPath已经区分不了是哪个name发生变化了,现有两个解决办法:\n\n多加一层判断——判断object,显然为了满足业务需求而去增加逻辑判断是不可取的\n使用context传递信息,更安全、更可扩展\n\ncontext使用总结:\n\n不使用context作为观察值\n\n// context是 void * 类型,应该填 NULL 而不是 nil\n[self.person addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew) context:NULL];\n\n\n使用context传递信息\n\nstatic void *PersonNameContext = &PersonNameContext;\nstatic void *ChildNameContext = &ChildNameContext;\n\n[self.person addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew) context:PersonNameContext];\n[self.child addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew) context:ChildNameContext];\n\n- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {\n if (context == PersonNameContext) {\n NSLog(@\"%@\", change);\n } else if (context == ChildNameContext) {\n NSLog(@\"%@\", change);\n }\n}\n\nKVO原理——isa-swizzling\n\nKey-Value Observing Programming Guide中有一段底层实现原理的叙述\n\nKVO是使用isa-swizzling技术实现的\n顾名思义,isa指针指向维护分配表的对象的类,该分派表实质上包含指向该类实现的方法的指针以及其他数据\n在为对象的属性注册观察者时,将修改观察对象的isa指针,指向中间类而不是真实类。isa指针的值不一定反映实例的实际类\n您永远不应依靠isa指针来确定类成员身份。相反,您应该使用class方法来确定对象实例的类\n\n注册观察者之前:类对象为\nFXPerson\n,实例对象isa指向\nFXPerson\n\n\n注册观察者之后:类对象为 FXPerson,实例对象isa指向 NSKVONotifying_FXPerson\n\n\n\n从这两图中可以得出一个结论:观察者注册前后FXPerson类没发生变化,但实例对象的isa指向发生变化\n对观察者模式的又一实现; Apple 使用了 isa 混写(isa-swizzling) 来实现KVO.\n\nKVO是基于runtime机制实现的\n当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter 方法。派生类在被重写的setter方法内实现真正的通知机制\n\n每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法\n\nKVO的这套实现机制中苹果还偷偷重写了class方法,让我们误认为还是使用的当前类,从而达到隐藏生成的派生类\n\n\n当调用了 addObserver:forkeypath方法之后,系统会动态创建 NSKVONorifying_A类,同时将A的isa指针指向 NSKVONorifying_A。\niOS中KVO分为自动监听和手动触发两种形式\n手动触发:\n\n重写监听属性的set、get方法\n重写 + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key \n在set方法中在赋值的前后分别调用:willChangeValueForKey和didChangeValueForKey\n实现willChangeValueForKey和didChangeValueForKey方法\n\n其中需要重写\n+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key{\n if([key isEqualToString:@\"age\"]){\n //取消自动发送通知\n return NO;\n }else{\n return [super automaticallyNotifiesObserversForKey:key];\n }\n}\n\n总结\n\nautomaticallyNotifiesObserversForKey为YES时注册观察属性会生成动态子类NSKVONotifying_XXX\n动态子类观察的是setter方法\n动态子类重写了观察属性的setter方法 dealloc class _isKVOA方法\nsetter方法用于观察键值\ndealloc方法用于释放时对isa指向进行操作\nclass方法用于指回动态子类的父类\n_isKVOA用来标识是否是在观察者状态的一个标志位\n\n\ndealloc之后isa指向元类\ndealloc之后动态子类不会销毁\n\nReference\n1 iOS探索 KVO原理及自定义\n"},"iOS/OCFoundation/Runloop.html":{"url":"iOS/OCFoundation/Runloop.html","title":"Runloop","keywords":"","body":"Runloop\n定义\nrunloop是一个事件驱动的大循环,它会把来自用户的交互事件、系统内部事件、计时器事件加入到事件队列中,并循环地从事件队列中取出事件进行处理,当所有的事件都处理完毕时,就会进入休眠状态,直到被新到来的事件唤醒。\nRunLoop是通过内部维护的事件循环来对事件/消息进行管理的一个对象\n事件循环指,没有消息需要处理时,休眠以避免资源占用,有消息需要处理时,立刻唤醒\nRunloop 的目的是使线程在没有事情可做时进入休眠状态,避免 CPU 空转。\n\n\n用户态: 应用程序一般都运行在用户态上\n内核态: 系统调用,需要使用到一些操作系统以及一些底层内核指令或者API\n\n源码\n通常所说的RunLoop指的是NSRunloop或者CFRunloopRef,CFRunloopRef是纯C的函数,而NSRunloop仅仅是CFRunloopRef的OC封装,并未提供额外的其他功能\nint32_t __CFRunLoopRun( /** 5个参数 */ )\n{\n // 通知即将进入runloop\n __CFRunLoopDoObservers(KCFRunLoopEntry);\n\n do\n {\n // 通知将要处理timer和source\n __CFRunLoopDoObservers(kCFRunLoopBeforeTimers);\n __CFRunLoopDoObservers(kCFRunLoopBeforeSources);\n\n // 处理非延迟的主线程调用\n __CFRunLoopDoBlocks();\n // 处理Source0事件\n __CFRunLoopDoSource0();\n\n if (sourceHandledThisLoop) {\n __CFRunLoopDoBlocks();\n }\n // 如果有 Source1 (基于port) 处于 ready 状态,直接处理这个 Source1 然后跳转去处理消息。\n if (__Source0DidDispatchPortLastTime) {\n Boolean hasMsg = __CFRunLoopServiceMachPort();\n if (hasMsg) goto handle_msg;\n }\n\n // 通知 Observers:没有事件要处理, RunLoop 的线程即将进入休眠(sleep)。\n if (!sourceHandledThisLoop) {\n __CFRunLoopDoObservers(runloop, currentMode, kCFRunLoopBeforeWaiting);\n }\n\n // GCD dispatch main queue\n CheckIfExistMessagesInMainDispatchQueue();\n\n // 即将进入休眠\n __CFRunLoopDoObservers(kCFRunLoopBeforeWaiting);\n\n // 等待内核mach_msg事件\n mach_port_t wakeUpPort = SleepAndWaitForWakingUpPorts();\n\n // 等待。。。\n\n // 从等待中醒来\n __CFRunLoopDoObservers(kCFRunLoopAfterWaiting);\n\n // 处理因timer的唤醒\n if (wakeUpPort == timerPort)\n __CFRunLoopDoTimers();\n\n // 处理异步方法唤醒,如dispatch_async\n else if (wakeUpPort == mainDispatchQueuePort)\n __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__()\n\n // 处理Source1\n else\n __CFRunLoopDoSource1();\n\n // 再次确保是否有同步的方法需要调用\n __CFRunLoopDoBlocks();\n\n } while (!stop && !timeout);\n\n // 通知即将退出runloop\n __CFRunLoopDoObservers(CFRunLoopExit);\n}\n\n输入源source\n输入源是指事件的来源,输入源将事件异步传送到您的线程。事件的来源取决于输入源的类型,通常是两个类别之一。基于端口的输入源监视应用程序的 Mach 端口。自定义输入源监视自定义事件源。基于端口的源由内核自动发出信号,自定义源必须从另一个线程手动发出信号。 来看一下官方 Runloop 结构图(注意下图的 Input Source Port 和前面流程图中对应Source1。Source1和Timer都属于端口事件源,不同的是所有的Timer都共用一个端口“Mode Timer Port”,而每个Source1都有不同的对应端口):\n\n\nsource1和source0的区别: source1: 基于mach_Port的,来自系统内核或者其他进程或线程的事件,可以主动唤醒休眠中的RunLoop(iOS里进程间通信开发过程中我们一般不主动使用)。mach_port大家就理解成进程间相互发送消息的一种机制就好, 比如屏幕点击, 网络数据的传输都会触发sourse1。 苹果创建用来接受系统发出事件,当手机发生一个触摸,摇晃或锁屏等系统,这时候系统会发送一个事件到app进程(进程通信),这也就是为什么叫基于port传递source1的原因; source0 :非基于Port的 处理事件,什么叫非基于Port的呢?就是说你这个消息不是其他进程或者内核直接发送给你的。一般是APP内部的事件, 比如hitTest:withEvent的处理, performSelectors的事件. 简单举个例子:一个APP在前台静止着,此时,用户用手指点击了一下APP界面,那么过程就是下面这样的: 我们触摸屏幕,先摸到硬件(屏幕),屏幕表面的事件会被IOKit先包装成Event,通过mach_Port传给正在活跃的APP , Event先告诉source1(mach_port),source1唤醒RunLoop, 然后将事件Event分发给source0,然后由source0来处理。\n\n常见的几种源有基于端口的源、自定义的源、performSelect源和计时器源;\nRunLoop就是线程中的一个循环,RunLoop在循环中会不断检测,通过Input sources(输入源)和Timer sources(定时源)两种来源等待接受事件;然后对接受到的事件通知线程进行处理,并在没有事件的时候进行休息。\nRunloop对象\niOS中Runloop的API\n\nFoundation: NSRunLoop\nCore Foundation: CFRunLoopRef\n\n\nNSRunLoop 和 CFRunLoopRef都代表Runloop对象,NSRunLoop是基于CFRunLoopRef的一层OC包装,CFRunLoopRef是开源的\n\n\nsource0\n需要手动唤醒线程\nsource1\n具备唤醒线程的能力\n\nRunloop对象的获取\n\nFoundation [NSRunloop currentRunLoop];获得当前线程的RunLoop对象 [NSRunLoop mainRunLoop];获得主线程的Runloop对象\nCore Foundation CFRunLoopGetCurrent();获得当前线程的RunLoop对象 CFRunLoopGetMain();获得主线程的Runloop对象\n\nRunloop的结构\nstruct __CFRunLoop {\n CFRuntimeBase _base;\n pthread_mutex_t _lock; /* locked for accessing mode list */\n __CFPort _wakeUpPort; // used for CFRunLoopWakeUp \n Boolean _unused;\n volatile _per_run_data *_perRunData; // reset for runs of the run loop\n pthread_t _pthread;\n uint32_t _winthread;\n CFMutableSetRef _commonModes;\n CFMutableSetRef _commonModeItems; \n CFRunLoopModeRef _currentMode; //当前Mode\n CFMutableSetRef _modes; //所有mode的集合\n struct _block_item *_blocks_head;\n struct _block_item *_blocks_tail;\n CFAbsoluteTime _runTime;\n CFAbsoluteTime _sleepTime;\n CFTypeRef _counterpart;\n};\n\nCFRunLoopRef——这个就是Runloop对象\nCFRunLoopModeRef——其内部主要包括四个容器,分别用来存放source0、source1、observer以及timer\nCFRunLoopSourceRef——分为source0和source1 source0:包括 触摸事件处理、[performSelector: onThread: ] source1:包括 基于Port的线程间通信、系统事件捕捉\nCFRunLoopTimerRef——timer事件,包括我们设置的定时器事件、[performSelector: withObject: afterDelay:]\nCFRunLoopObserverRef——监听者,Runloop状态变更的时,会通知监听者进行函数回调,UI界面的刷新就是在监听到Runloop状态为BeforeWaiting时进行的。\n上这几个类相互之间的关系,可以通过如下的图来描绘.\n\n一个RunLoop对象里面包含了若干个RunLoopMode,RunLoop内部是通过一个集合容器_modes来装这些RunLoopMode的。\nRunLoopMode内部核心内容是4个数组容器,分别用来装source0,source1,observer和timer,RunLoop对象内部有一个_currentMode,它指向了该RunLoop对象的其中一个RunLoopMode,它代表的含义是RunLoop当前所运行的RunLoopMode,所谓“运行”也就是说,RunLoop当前只会执行_currentMode所指向的RunLoopMode里面所包括的事件(source0、source1、observer、timer)\nRunLoop启动时只能选择其中一个Mode作为currentMode。\n还有就是RunLoop对象内部还包括一个线程对象_pthread,这就是跟它一一对应的那个线程对象。\n\n\nsource0\n包括触摸事件处理、[performSelector: onThread: ]\nsource1\nsource1包括系统事件捕捉和基于port的线程间通信。什么是系统事件捕捉?又如何理解基于port的线程间通信?其实,我们手指点击屏幕,首先产生的是一个系统事件,通过source1来接受捕捉,然后由Springboard程序包装成source0分发给应用去处理,因此我们在App内部接受到触摸事件,就是source0,\n\n基于port的线程间通信通过下面的图示大致理解即可\n\n \nCFRunLoopTimerRef\n同样,可以在Xcode里面通过LLDB的bt指令,查看NSTimer事件和[performSelector: withObject: afterDelay]事件的函数调用栈,发现它们都是通过 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__函数被吊起的。从函数名看出,它们确实是属于timer事件(CFRunLoopTimerRef)\nCFRunLoopObserverRef\n我们知道 observer 是用来监听Runloop状态的。还可以处理UI界面刷新,那我们些的那些UI界面相关的控制代码,是怎么被执行的呢?图示如下\n \nRunloop状态总共有以下几种\n/* Run Loop Observer Activities */\ntypedef CF_OPTIONS(CFOptionFlags, CFRunLoopActivity) {\n kCFRunLoopEntry = (1UL \n_modes和_commonModes\nRunloop Mode 是事件源的集合 + Runloop观察者的集合。Runloop 每次都运行在某个特定的 mode 上。\n之所以要引入 mode 的概念,是希望 Runloop 在监听过程中过滤掉不关心的事件源,只专注于某些特定的事件。\n Runloop总是运行在某种特定的CFRunLoopModeRef下,意思是每次Runloop开始时候会选择一个mode,执行这个mode里面的 block,timer等事件.这可以解释滑动过程中,NSTimer为什么会停止,因为滑动过程中Runloop处于 TrackingMode,NSTimer默认添加在DefaultMode,所以不执行\n如果某个 input source 所属的 mode 不是当前监听的 mode,那 **其产生的所有事件都将被 hold 住,直到 runloop 运行在与其匹配的 mode 上\n系统默认注册了5个Mode:\n\nkCFRunLoopDefaultMode: App的默认 Mode,通常主线程是在这个 Mode 下运行的。\nUITrackingRunLoopMode: 界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响。\nUIInitializationRunLoopMode: 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用。\nGSEventReceiveRunLoopMode: 接受系统事件的内部 Mode,通常用不到。\nkCFRunLoopCommonModes: 伪模式,这是一个占位的 Mode,没有实际作用。\n\nCommonMode的特殊性\nNSRunLoopCommonModes\n\nCommonMode不是实际存在的一种Mode\n是同步Source/Timer/Observer到多个Mode中的一种技术方案\n\n\nNSRunLoopCommonModes其实不是一个具体的模式,它可以理解成一个标签,被打上这种标签的具体Mode会被放入到RunLoop内部的一个容器成员_commonModes里面,它是一个CFMutableSetRef,默认情况下,_commonModes内部装着kCFRunLoopDefaultMode + UITrakingRunLoopMode这两个Mode,等于说这两个Mode是具有NSRunLoopCommonModes标记的,因此都被添加进了_commonModes,根据上面的代码,timer将不会被添加到某个具体的Mode里,而是会被放入RunLoop的_commonModeItems这个容器里。只要App运行在_commonModes所包含的某个Mode下,就会去处理_commonModeItems里面的事件。当然,所运行的那个Mode自己本身所包含的事件也是会被处理的,\n如果有子线程想通过performSelecorOnMainThread... 或 dispatch_async(dispatch_get_main_queue(),^{}) 在主线程上执行某 selector,默认情况下上述两种方式产生的事件是关联到NSRunLoopCommonModes,因此在 UI 滑动时也会响应该事件并执行指定的 selector,从而影响滑动的流畅性。\nRuntloop运行流程\n\nRun Loop 接收的事件来源 (source) 有两种。\n\nInput Source 传送来自其他应用或线程的异步事件/消息;\nTimer Source 传送的是基于定时器的同步事件,可以定时或重复发送。\n\nSource0:\n\n触摸事件处理\nperformSelector: onThread:\n\nSource1:\n\n基于port的线程通信\n系统事件捕捉\n\nTimers:\n\nNSTimer\nperformSelector:withObject:afterDelay:\n\nObservers:\n\n用于监听RunLoop的状态\nUI刷新(BeforeWaiting)\nAutoreleasepool(BeforeWaiting)\n\nRunloop & Thread\nRunloop与线程是一一对应的,一个runloop对应一个核心的线程。每个 thread 都有自己的 Runloop,可以通过 NSRunLoop的类方法c\u0010urrentRunLoop获取当前线程的 runloop。\n但只有 main thread 的 runloop 默认是开启的,其他线程如果希望持续存活下去,就需要手动开启Runloop。\n对于子线程来说,runloop是懒加载的,只有当我们使用的时候才会创建,\n所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调。\nRunloop是来管理线程的,当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。\nRunLoop相关类\nCore Foundation框架下关于RunLoop的5个类:\n\nCFRunLoopRef:代表RunLoop的对象\nCFRunLoopModeRef:RunLoop的运行模式\nCFRunLoopSourceRef:就是RunLoop模型图中提到的输入源/事件源\nCFRunLoopTimerRef:就是RunLoop模型图中提到的定时源\nCFRunLoopObserverRef:观察者,能够监听RunLoop的状态改变\n\n我们可通过以下方式来获取RunLoop对象:\n\nCore Foundation\nCFRunLoopGetCurrent(); // 获得当前线程的RunLoop对象\nCFRunLoopGetMain(); // 获得主线程的RunLoop对象\n\n\nFoundation\n[NSRunLoop currentRunLoop]; // 获得当前线程的RunLoop对象\n[NSRunLoop mainRunLoop]; // 获得主线程的RunLoop对象\n\n\n\nCFRunLoopGetCurrent :\nCFRunLoopRef CFRunLoopGetCurrent(void) {\n CHECK_FOR_FORK();\n CFRunLoopRef rl = (CFRunLoopRef)_CFGetTSD(__CFTSDKeyRunLoop);\n if (rl) return rl;\n return _CFRunLoopGet0(pthread_self());\n}\n\n查看_CFRunLoopGet0方法内部\nCF_EXPORT CFRunLoopRef _CFRunLoopGet0(pthread_t t) {\n if (pthread_equal(t, kNilPthreadT)) {\n t = pthread_main_thread_np();\n }\n __CFLock(&loopsLock);\n if (!__CFRunLoops) {\n __CFUnlock(&loopsLock);\n // 创建一个dict\n CFMutableDictionaryRef dict = CFDictionaryCreateMutable(kCFAllocatorSystemDefault, 0, NULL, &kCFTypeDictionaryValueCallBacks);\n // 根据传入的主线程获取主线程对应的RunLoop\n CFRunLoopRef mainLoop = __CFRunLoopCreate(pthread_main_thread_np());\n // 保存主线程 将主线程-key和RunLoop-Value保存到字典中\n CFDictionarySetValue(dict, pthreadPointer(pthread_main_thread_np()), mainLoop);\n\n if (!OSAtomicCompareAndSwapPtrBarrier(NULL, dict, (void * volatile *)&__CFRunLoops)) {\n CFRelease(dict);\n }\n CFRelease(mainLoop);\n __CFLock(&loopsLock);\n }\n\n // 从字典里面拿,将线程作为key从字典里获取一个loop\n CFRunLoopRef loop = (CFRunLoopRef)CFDictionaryGetValue(__CFRunLoops, pthreadPointer(t));\n __CFUnlock(&loopsLock);\n\n // 如果loop为空,则创建一个新的loop,所以runloop会在第一次获取的时候创建\n if (!loop) {\n CFRunLoopRef newLoop = __CFRunLoopCreate(t);\n __CFLock(&loopsLock);\n loop = (CFRunLoopRef)CFDictionaryGetValue(__CFRunLoops, pthreadPointer(t));\n\n // 创建好之后,以线程为key runloop为value,一对一存储在字典中,下次获取的时候,则直接返回字典内的runloop\n if (!loop) {\n CFDictionarySetValue(__CFRunLoops, pthreadPointer(t), newLoop);\n loop = newLoop;\n }\n // don't release run loops inside the loopsLock, because CFRunLoopDeallocate may end up taking it\n __CFUnlock(&loopsLock);\n CFRelease(newLoop);\n }\n if (pthread_equal(t, pthread_self())) {\n _CFSetTSD(__CFTSDKeyRunLoop, (void *)loop, NULL);\n if (0 == _CFGetTSD(__CFTSDKeyRunLoopCntr)) {\n _CFSetTSD(__CFTSDKeyRunLoopCntr, (void *)(PTHREAD_DESTRUCTOR_ITERATIONS-1), (void (*)(void *))__CFFinalizeRunLoop);\n }\n }\n return loop;\n}\n\n线程和 RunLoop 之间是一一对应的,其关系是保存在一个 Dictionary 里。所以我们创建子线程RunLoop时,只需在子线程中获取当前线程的RunLoop对象即可[NSRunLoop currentRunLoop];\n如果不获取,那子线程就不会创建与之相关联的RunLoop,并且只能在一个线程的内部获取其 RunLoop [NSRunLoop currentRunLoop];\n方法调用时,会先看一下字典里有没有存子线程相对用的RunLoop,如果有则直接返回RunLoop,如果没有则会创建一个,并将与之对应的子线程存入字典中。当线程结束时,RunLoop会被销毁。\n总结\n\nmain runloop在主界面即将显示前由系统启动(主界面 controller 的 viewWillAppear:执行后启动);\n\nrunloop 启动后(唤醒后)会依次处理 timer(如果有)、source event(如果有)并在此前通知 observer;\n\nmain runloop每分钟会被唤醒一次\n\nUI事件唤醒 main runloop 直到处理完该事件,如果该事件含有异步操作,runloop 不会等待异步操作完成;\n\nUIViewController的viewWillAppear:和viewDidAppear:不在同一次 runloop 中被调用;\n\ntimer会唤醒 runloop 但不会使 runloop 退出;\n\n如果子线程的 runloop 没有绑定 timer 或 source event,其 runloop 不会启动;\n\n一次 runloop 可以处理多个事件。\n\n\n注意点\nTimer Sources(NSTimer)\nTimer source 会在未来一个预定时间向线程同步分发事件。线程可以用 Timer 来通知自己做一些事情。比如用户在搜索栏输入一连串字符之后的某个时间自动搜索一次结果。正是因为有了个延时,才让用户有机会在自动搜索发生前尽可能打出想要的搜索字符串。\nTimer 并不是实时的,会有误差。如果一个 timer 不在正在运行的 runloop 监控的 mode 中,需要一直等到 runloop 运行在一个支持这个 timer 的 mode 时,timer 才会触发。如果一个 timer 触发的时候恰巧 run loop 正忙于执行某个 handler 程序,这个 timer 的 handler 程序需要等到下次才会通过 run loop 执行。如果 runloop 根本不在运行,timer 永远都不会触发。\n可以配置 timer 只生成一次或重复多次事件。重复的 timer 每次会根据已经编排的触发时间自动重新编排。如果实际的触发时间太过于延迟,甚至是晚了一个或多个周期,那么也只会触发一次,而非连续多次。之后会重新编排下次触发时间。\nRunloop 运用场景\n以AFNetworking2.x 保活原理来说:\n/*\nAFNetworking/NSURLConnection/AFURLConnectionOperation.m\n*/ \n+ (NSThread *)networkRequestThread {\n static NSThread *_networkRequestThread = nil;\n static dispatch_once_t oncePredicate;\n dispatch_once(&oncePredicate, ^{\n _networkRequestThread = [[NSThread alloc] initWithTarget:self selector:@selector(networkRequestThreadEntryPoint:) object:nil];\n [_networkRequestThread start];\n });\n\n return _networkRequestThread;\n}\n------------------------------------------------------------------------\n/*\nAFNetworking/NSURLConnection/AFURLConnectionOperation.m\n*/ \n\n+ (void)networkRequestThreadEntryPoint:(id)__unused object {\n @autoreleasepool {\n [[NSThread currentThread] setName:@\"AFNetworking\"];\n\n NSRunLoop *runLoop = [NSRunLoop currentRunLoop];\n [runLoop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];\n [runLoop run];\n }\n}\n如代码,为线程中Runloop添加一个 [NSMachPort port] source1 事件源,让线程不退出一直保活。直到 AF3.x,废弃了 NSURLConnection。因为NSURLConnection中,执行回调的要在子线程,可能回调回来线程已经销毁无法做回调.3.x版本中,使用了 NSURLSession,能指定queue回调,所以避免了问题\nRunLoop中Source0和Source1的区别\nSource0并不能主动触发事件。使用时,你需要先调用CFRunLoopSourceSignal,将这个Source标记为待处理,然后手动调用CFRunLoopWakeUp来唤醒RunLoop,让其处理这个事件。\nSource1能主动触发事件。其中它有一个mach_port_t,mach_port是用于内核向线程发送消息的。\n使用Source0的情况:\n\n触摸事件处理;\n调用performSelector:onThread:withObject:waitUntilDone:方法;\n\n使用Source1的情况:\n\n基于端口的线程间通信(A线程通过端口发送消息到B线程,这个消息是Source1的;\n系统事件的捕捉,先触发是Source1,接着分发到Source0去处理。\n\nRunLoop响应用户操作\n以按钮点击触发事件为例,点击屏幕的时候,首先系统内部捕获到这个点击事件,这是在Source1中处理的,Source1会包装成事件丢到事件队列中,交给Source0处理。\nRunLoop与UI刷新\n当UI需要更新的时候,比如改变了frame、更新了UIView/CALayer的层次时,或者手动调用了setNeedsLayout/setNeedsDisplay方法后,这个UIView/CALayer就被标记为待处理,并被提交到一个全局的容器去。\n苹果注册了一个Observer监听BeforeWaiting(即将进入休眠) 和 Exit(即将退出Loop) 事件,回调去执行一个很长的函数:CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)() 这个函数里会遍历所有待处理的UIView/CAlayer以执行实际的绘制和调整,并更新界面。\n\nRunLoop与AutoreleasePool\n在程序启动之后,主线程会创建一个Runloop,也会创建两个Observer,回调工作都是在_wrapRunLoopWithAutoreleasePoolHandler函数中。\n第一个Observer监听的是Entry(即将进入Loop),回调是在_objc_autoreleasePoolPush()中创建自动释放池的,优先级是最高的,保证创建释放池是在所有回调之前。\n第二个Observer监听有两个事件:BeforeWaiting(进入休眠)时调用_objc_autoreleasePoolPop和_objc_autoreleasePoolPush释放旧的释放池以及创建新的释放池;Exit(退出Loop)调用_objc_autoreleasePoolPop来释放自动释放池。这个优先级是最低的,保证释放池发生在所有回调之后调用。\nReference\n1.谜一样的 Runloop\n2.深入理解RunLoop\n3.OC中的RunLoop\nRunloop的内部结构与运行原理什么是Runloop Runloop顾名思义,就是运行循环。首先它根程序运行过程有关系 - 掘金 (juejin.cn)\n"},"iOS/OCFoundation/MultiThreading.html":{"url":"iOS/OCFoundation/MultiThreading.html","title":"MultiThreading","keywords":"","body":"Multi Threading 多线程\n进程、线程与队列\n1.进程的定义\n\n进程是指在系统中正在运行的一个应用程序,如微信、支付宝app都是一个进程\n每个进程之间是独立的,每个进程均运行在专用的且受保护的内存\n\n2.线程的定义\n\n线程是进程的基本执行单元,一个进程的所有任务都在线程中执行\n进程想要执行任务,必须得有线程,进程至少要有一条线程\n程序启动会默认开启一条线程,这条线程被成为主线程或UI线程\n\n3.进程与线程的关系和区别\n\n地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间\n资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的\n一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉,所以多进程要比多线程健壮\n进程切换时,消耗的资源大、效率高。所以设计到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程而不能用进程\n执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制\n线程是处理器调度的基本单位,但进程不是\n\n4.进程与线程的关系图\n\n5.队列的定义\n队列,又称为伫列(queue),是先进先出(FIFO: First-In-First-Out)的线性表,在具体应用中通常用链表或者数组来实现。装载线程任务的队形结构。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加\n\n6.队列和线程的关系\n两者是没有关系的,可以这么理解:\n\n队列负责调度任务,线程执行任务\n在银行(进程)中,有4个工作窗口(线程),而只有一条队伍(队列)\n窗口(线程)只负责为排队的人办理业务,并不会管队伍(队列)是怎么排的\n\n7.线程和runloop的关系\n\nrunloop与线程是一一对应的——一个runloop对应一个核心的线程,为什么说是核心的,是因为runloop是可以嵌套的,但是核心的只能有一个,他们的关系保存在一个全局的字典里\nrunloop是来管理线程的——当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务\nrunloop 在第一次获取时被创建,在线程结束时被销毁\n对于主线程来说,runloop在程序一启动就默认创建好了\n对于子线程来说,runloop是懒加载的——只有当我们使用的时候才会创建,所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调\n\n\n\n8.影响任务执行速度的因素\n以下因素都会对任务的执行速度造成影响:\n\ncpu的调度\n线程的执行速率\n队列情况\n任务执行的复杂度\n任务的优先级\n\n多线程\n1.多线程原理\n\n同一时间,CPU只能处理一条线程,只有一条线程在工作(执行)\n多线程并发(同时)执行,其实就是CPU执行快速地在多条线程之间调度(切换)\n\n2.多线程意义\n\n优点\n能适当提高程序的执行效率\n能适当提高资源的利用率(CPU、内存)\n线程上的任务执行完成后,线程会自动销毁\n\n\n缺点\n开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512KB,创建线程大约需要90毫秒的创建时间)\n如果开启大量的线程,会占用大量的内存空间,降低程序的性能\n线程越多,CPU在调用线程上的开销就越大\n程序设计更加复杂,比如线程间的通信、多线程的数据共享\n\n\n\n2.多线程生命周期\n\n多线程的生命周期是:新建 - 就绪 - 运行 - 阻塞 - 死亡\n\n新建:实例化线程对象\n就绪:向线程对象发送start消息,线程对象被加入可调度线程池等待CPU调度。\n运行:CPU 负责调度可调度线程池中线程的执行。线程执行完成之前,状态可能会在就绪和运行之间来回切换。就绪和运行之间的状态变化由CPU负责,程序员不能干预。\n阻塞:当满足某个预定条件时,可以使用休眠或锁,阻塞线程执行。sleepForTimeInterval(休眠指定时长),sleepUntilDate(休眠到指定日期),@synchronized(self):(互斥锁)。\n死亡:正常死亡,线程执行完毕。非正常死亡,当满足某个条件后,在线程内部中止执行/在主线程中止线程对象\n\n4.线程池的原理\n\n\n若线程池大小小于核心线程池大小时\n创建线程执行任务\n\n\n若线程池大小大于等于核心线程池大小时\n先判断线程池工作队列是否已满\n若没满就将任务push进队列\n若已满时,且maximumPoolSize>corePoolSize,将创建新的线程来执行任务\n反之则交给饱和策略去处理\n\n\n\n\n\n\n参数名\n代表意义\n\n\n\n\ncorePoolSize\n线程池的基本大小(核心线程池大小)\n\n\nmaximumPool\n线程池的最大大小\n\n\nkeepAliveTime\n线程池中超过corePoolSize树木的空闲线程的最大存活时间\n\n\nunit\nkeepAliveTime参数的时间单位\n\n\nworkQueue\n任务阻塞队列\n\n\nthreadFactory\n新建线程的工厂\n\n\nhandler\n当提交的任务数超过maxmumPoolSize与workQueue之和时, 任务会交给RejectedExecutionHandler来处理\n\n\n\n饱和策略有如下四个:\n\nAbortPolicy直接抛出RejectedExecutionExeception异常来阻止系统正常运行\nCallerRunsPolicy将任务回退到调用者\nDisOldestPolicy丢掉等待最久的任务\nDisCardPolicy直接丢弃任务\n\n4.多线程实现方案\n\n\n\n技术方案\n简介\n语言\n线程生命周期\n使用评率\n\n\n\n\npthread\n一套通用的多线程API 适用于Unix/Linux/Windows等系统 跨平台/可移植 使用难度大\nC\n程序员管理\n几乎不用\n\n\nNSThread\n使用更加面向对象 简单易用,可直接操作线程对象\nOC\n程序员管理\n偶尔使用\n\n\nGCD\n旨在替代NSThread等线程技术 充分利用设备的多核\nC\n自动管理\n经常使用\n\n\nNSOperation\n基于GCD(底层是GCD) 比GCD多了一些更简单实用的功能 使用更加面向对象\nOC\n自动管理\n经常使用\n\n\n\n5.GCD和NSOperation的区别\n\nGCD仅仅支持FIFO队列,不支持异步操作之间的依赖关系设置。而NSOperation中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整\nNSOperation支持KVO,可以观察任务的执行状态\nGCD更接近底层,GCD在追求性能的底层操作来说,是速度最快的\n从异步操作之间的事务性,顺序行,依赖关系。GCD需要自己写更多的代码来实现,而NSOperation已经内建了这些支持\n如果异步操作的过程需要更多的被交互和UI呈现出来,NSOperation更好;底层代码中,任务之间不太互相依赖,而需要更高的并发能力,GCD则更有优势\n\n6.线程间通讯\n\n\n直接消息传递: 通过performSelector的一系列方法,可以实现由某一线程指定在另外的线程上执行任务。因为任务的执行上下文是目标线程,这种方式发送的消息将会自动的被序列化\n全局变量、共享内存块和对象: 在两个线程之间传递信息的另一种简单方法是使用全局变量,共享对象或共享内存块。尽管共享变量既快速又简单,但是它们比直接消息传递更脆弱。必须使用锁或其他同步机制仔细保护共享变量,以确保代码的正确性。 否则可能会导致竞争状况,数据损坏或崩溃。\n条件执行: 条件是一种同步工具,可用于控制线程何时执行代码的特定部分。您可以将条件视为关守,让线程仅在满足指定条件时运行。\nRunloop sources: 一个自定义的 Runloop source 配置可以让一个线程上收到特定的应用程序消息。由于 Runloop source 是事件驱动的,因此在无事可做时,线程会自动进入睡眠状态,从而提高了线程的效率\nPorts and sockets:基于端口的通信是在两个线程之间进行通信的一种更为复杂的方法,但它也是一种非常可靠的技术。更重要的是,端口和套接字可用于与外部实体(例如其他进程和服务)进行通信。为了提高效率,使用 Runloop source 来实现端口,因此当端口上没有数据等待时,线程将进入睡眠状态\n消息队列: 传统的多处理服务定义了先进先出(FIFO)队列抽象,用于管理传入和传出数据。尽管消息队列既简单又方便,但是它们不如其他一些通信技术高效\nCocoa 分布式对象: 分布式对象是一种 Cocoa 技术,可提供基于端口的通信的高级实现。尽管可以将这种技术用于线程间通信,但是强烈建议不要这样做,因为它会产生大量开销。分布式对象更适合与其他进程进行通信,尽管在这些进程之间进行事务的开销也很高\n\n线程与进程\n进程: 在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程均运行在其专用且受保护的内存空间内。进程是CPU分配资源和调度的单位。\n线程: 一个进程(程序)的所有任务都在线程中执行,每个进程至少有一个线程(主线程)。线程是CPU调度(执行任务)的最小单位,其实质就是一段代码(一个任务)。\nReference\n1. iOS探索 多线程原理\n"},"iOS/OCFoundation/GCDUsage.html":{"url":"iOS/OCFoundation/GCDUsage.html","title":"GCD-Usage","keywords":"","body":"GCD Usage\nGCD全称是Grand Central Dispatch,它是纯 C 语言,并且提供了非常多强大的函数\nGCD的优势:\n\nGCD 是苹果公司为多核的并行运算提出的解决方案\nGCD 会自动利用更多的CPU内核(比如双核、四核)\nGCD 会自动管理线程的生命周期(创建线程、调度任务、销毁线程)\n程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码\n\ndispatch_sync & dispatch_async\n多线程执行任务分为dispatch_sync同步执行任务和dispatch_async异步执行:\n\ndispatch_sync\n同步执行\n\n必须等待当前语句执行完毕,才会执行下一条语句\n不会开启线程\n在当前线程执行block的任务\n\n\ndispatch_async\n异步执行\n\n不用等待当前语句执行完毕,就可以执行下一条语句\n会开启线程执行block任务\n异步是多线程的代名词\n\n\n\ndispatch_queue_t\n\n多线程中队列分为串行队列(Serial Dispatch Queue)和并发队列(Concurrent Dispatch Queue):\n\n串行队列:线程执行只能依次逐一先后有序的执行,等待上一个执行完再执行下一个\n使用dispatch_queue_create(\"xxx\", DISPATCH_QUEUE_SERIAL)创建串行队列\n亦可以使用dispatch_queue_create(\"xxx\", NULL)创建串行队列(GCD底层会讲到)\n\n\n主队列:绑定主线程,所有任务都在主线程中执行、经过特殊处理的串行的队列\n使用dispatch_get_main_queue()获取主队列\n\n\n并发队列:线程可以同时一起执行,不需要等待上一个执行完就能执行下一个任务\n使用dispatch_queue_create(\"xxx\", DISPATCH_QUEUE_CONCURRENT);创建并发队列\n\n\n全局队列:系统提供的并发队列\n最简单的是使用dispatch_get_global_queue(0, 0)获取系统提供的并发队列\n第一个参数是优先级枚举值,默认优先级为DISPATCH_QUEUE_PRIORITY_DEFAULT=0\n优先级从高到低依次为DISPATCH_QUEUE_PRIORITY_HIGH、DISPATCH_QUEUE_PRIORITY_DEFAULT、DISPATCH_QUEUE_PRIORITY_LOW、DISPATCH_QUEUE_PRIORITY_BACKGROUND\n\n\n\n串行/并发和同步/异步的排列组合\n\n\n主队列和全局队列单独考虑,组合结果以总结表格为准\n\n1.串行+同步\n任务一个接一个执行,不开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n for (int i = 0; i {number = 1, name = main}\n// 串行&同步线程0-{number = 1, name = main}\n// 串行&同步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n2.串行+异步\n任务一个接一个执行,会开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n for (int i = 0; i {number = 1, name = main}\n// 串行&异步线程0-{number = 6, name = (null)}\n// 串行&异步线程1-{number = 6, name = (null)}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n3.并发+同步\n任务一个接一个执行,不开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n for (int i = 0; i {number = 1, name = main}\n// 串行&同步线程0-{number = 1, name = main}\n// 串行&同步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n4.并发+异步\n任务乱序执行,开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n for (int i = 0; i {number = 1, name = main}\n// 并发&异步线程1-{number = 5, name = (null)}\n// 并发&异步线程0-{number = 4, name = (null)}\n// ...乱序输出\n--------------------输出结果:-------------------\n\n下面来看一下主队列和全局队列的使用情况:\n5.主队列+同步\n相互等待,造成死锁\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_main_queue();\n for (int i = 0; i {number = 1, name = main}\n// 崩溃...\n--------------------输出结果:-------------------\n\n6.主队列+异步\n任务一个接一个执行,不开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_main_queue();\n for (int i = 0; i {number = 1, name = main}\n// 主队列&异步线程0-{number = 1, name = main}\n// 主队列&异步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n7.全局队列+同步\n任务一个接一个执行,不开辟线程(同并发+同步)\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n for (int i = 0; i {number = 1, name = main}\n// 全局队列&同步线程0-{number = 1, name = main}\n// 全局队列&同步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n8.全局队列+异步\n任务乱序执行,开辟线程(同并发+异步)\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n for (int i = 0; i {number = 1, name = main}\n// 全局队列&异步线程2-{number = 3, name = (null)}\n// 全局队列&异步线程3-{number = 7, name = (null)}\n// ...乱序输出\n--------------------输出结果:-------------------\n\n总结一下:\n\n\n\n执行\\队列\n串行队列\n并发队列\n主队列\n全局队列\n\n\n\n\n同步执行\n按序执行,不开辟线程\n按序执行,不开辟线程\n死锁\n按序执行,不开辟线程\n\n\n异步执行\n按序执行,开辟线程\n乱序执行,开辟线程\n按序执行,不开辟线程\n乱序执行,开辟线程\n\n\n\ndispatch_apply\ndispatch_apply将指定的Block追加到指定的队列中重复执行,并等到全部的处理执行结束——相当于线程安全的for循环\n应用场景:用来拉取网络数据后提前算出各个控件的大小,防止绘制时计算,提高表单滑动流畅性\n\n添加到串行队列中——按序执行\n添加到主队列中——死锁\n添加到并发队列中——乱序执行\n添加到全局队列中——乱序执行\n\n- (void)test {\n /**\n param1:重复次数\n param2:追加的队列\n param3:执行任务\n */\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n NSLog(@\"dispatch_apply前\");\n dispatch_apply(10, queue, ^(size_t index) {\n NSLog(@\"dispatch_apply的线程%zu-%@\", index, [NSThread currentThread]);\n });\n NSLog(@\"dispatch_apply后\");\n}\n--------------------输出结果:-------------------\n// dispatch_apply前\n// dispatch_apply的线程0-{number = 1, name = main}\n// ...是否按序输出与串行队列还是并发队列有关\n// dispatch_apply后\n--------------------输出结果:-------------------\n\ndispatch_group_t\ndispatch_group_t:调度组将任务分组执行,能监听任务组完成,并设置等待时间\n应用场景:多个接口请求之后刷新页面\n1.dispatch_group_async\ndispatch_group_notify在dispatch_group_async执行结束之后会受到通知\n- (void)test {\n dispatch_group_t group = dispatch_group_create();\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n\n dispatch_group_async(group, queue, ^{\n NSLog(@\"请求一完成\");\n });\n\n dispatch_group_async(group, queue, ^{\n NSLog(@\"请求二完成\");\n });\n\n dispatch_group_notify(group, dispatch_get_main_queue(), ^{\n NSLog(@\"刷新页面\");\n });\n}\n--------------------输出结果:-------------------\n// 请求二完成\n// 请求一完成\n// 刷新页面\n--------------------输出结果:-------------------\n\n2.dispatch_group_enter & dispatch_group_leave\ndispatch_group_enter和dispatch_group_leave成对出现,使进出组的逻辑更加清晰\n- (void)test {\n dispatch_group_t group = dispatch_group_create();\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求一完成\");\n dispatch_group_leave(group);\n });\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求二完成\");\n dispatch_group_leave(group);\n });\n\n dispatch_group_notify(group, dispatch_get_main_queue(), ^{\n NSLog(@\"刷新页面\");\n });\n}\n--------------------输出结果:-------------------\n// 请求二完成\n// 请求一完成\n// 刷新页面\n--------------------输出结果:-------------------\n\n\n调度组要注意搭配使用,必须先进组再出组,缺一不可\n\n3.dispatch_group_wait使用\nlong dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout)\n\ngroup:需要等待的调度组\n\ntimeout:等待的超时时间(即等多久)\n\n设置为DISPATCH_TIME_NOW意味着不等待直接判定调度组是否执行完毕\n设置为DISPATCH_TIME_FOREVER则会阻塞当前调度组,直到调度组执行完毕\n\n\n返回值:为 long\n类型\n\n返回值为0——在指定时间内调度组完成了任务\n返回值不为0——在指定时间内调度组没有按时完成任务\n\n\n\n将上述调度组代码进行改写\n- (void)test {\n dispatch_group_t group = dispatch_group_create();\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求一完成\");\n dispatch_group_leave(group);\n });\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求二完成\");\n dispatch_group_leave(group);\n });\n\n long timeout = dispatch_group_wait(group, DISPATCH_TIME_NOW);\n// long timeout = dispatch_group_wait(group, DISPATCH_TIME_FOREVER);\n// long timeout = dispatch_group_wait(group, dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC));\n NSLog(@\"timeout=%ld\", timeout);\n if (timeout == 0) {\n NSLog(@\"按时完成任务\");\n } else {\n NSLog(@\"超时\");\n }\n\n dispatch_group_notify(group, dispatch_get_main_queue(), ^{\n NSLog(@\"刷新页面\");\n });\n}\n--------------------输出结果:-------------------\n// timeout=49\n// 请求一完成\n// 请求二完成\n// 超时\n// 刷新页面\n--------------------输出结果:-------------------\n\ndispatch_barrier_sync & dispatch_barrier_async\n应用场景:同步锁\n\n前文已经提过并发执行异步队列会开辟线程,而任务也会因为任务复杂度和cpu的调度导致各个乱序执行完毕,比如上图中的任务3明明是先于任务4执行,但是晚于任务4执行完毕\n此时GCD就提供了两个API——dispatch_barrier_sync和dispatch_barrier_async,使用这两个API就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务,最后执行栅栏后任务\n1.串行队列使用栅栏函数\n- (void)test {\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n\n NSLog(@\"开始——%@\", [NSThread currentThread]);\n dispatch_async(queue, ^{\n sleep(2);\n NSLog(@\"延迟2s的任务1——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第一次结束——%@\", [NSThread currentThread]);\n\n// dispatch_barrier_async(queue, ^{\n// NSLog(@\"----------栅栏任务----------%@\", [NSThread currentThread]);\n// });\n// NSLog(@\"栅栏结束——%@\", [NSThread currentThread]);\n\n dispatch_async(queue, ^{\n sleep(1);\n NSLog(@\"延迟1s的任务2——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第二次结束——%@\", [NSThread currentThread]);\n}\n\n不使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 3, name = (null)}\n延迟1s的任务2——{number = 3, name = (null)}\n\n使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n栅栏结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 5, name = (null)}\n----------栅栏任务----------{number = 1, name = main}\n延迟1s的任务2——{number = 5, name = (null)}\n\n栅栏函数的作用是将队列中的任务进行分组,所以我们只要关注任务1、任务2\n\n结论:由于串行队列异步执行任务是一个接一个执行完毕的,所以使用栅栏函数没意义\n2.并发队列使用栅栏函数\n- (void)test {\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n\n NSLog(@\"开始——%@\", [NSThread currentThread]);\n dispatch_async(queue, ^{\n sleep(2);\n NSLog(@\"延迟2s的任务1——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第一次结束——%@\", [NSThread currentThread]);\n\n// dispatch_barrier_async(queue, ^{\n// NSLog(@\"----------栅栏任务----------%@\", [NSThread currentThread]);\n// });\n// NSLog(@\"栅栏结束——%@\", [NSThread currentThread]);\n\n dispatch_async(queue, ^{\n sleep(1);\n NSLog(@\"延迟1s的任务2——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第二次结束——%@\", [NSThread currentThread]);\n}\n复制代码\n不使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟1s的任务2——{number = 5, name = (null)}\n延迟2s的任务1——{number = 7, name = (null)}\n使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n栅栏结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 4, name = (null)}\n----------栅栏任务----------{number = 4, name = (null)}\n延迟1s的任务2——{number = 4, name = (null)}\n\n结论:由于并发队列异步执行任务是乱序执行完毕的,所以使用栅栏函数可以很好的控制队列内任务执行的顺序\n3.dispatch_barrier_sync/dispatch_barrier_async区别\n\ndispatch_barrier_async:前面的任务执行完毕才会来到这里\ndispatch_barrier_sync:作用相同,但是这个会堵塞线程,影响后面的任务执行\n\n将案例二中的dispatch_barrier_async改成dispatch_barrier_sync\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 6, name = (null)}\n----------栅栏任务----------{number = 1, name = main}\n栅栏结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟1s的任务2——{number = 6, name = (null)}\n结论:dispatch_barrier_async可以控制队列中任务的执行顺序,而dispatch_barrier_sync不仅阻塞了队列的执行,也阻塞了线程的执行(尽量少用)\n4.栅栏函数注意点\n\n尽量使用自定义的并发队列:\n使用全局队列起不到栅栏函数的作用\n使用全局队列时由于对全局队列造成堵塞,可能致使系统其他调用全局队列的地方也堵塞从而导致崩溃(并不是只有你在使用这个队列)\n\n\n栅栏函数只能控制同一并发队列:打个比方,平时在使用AFNetworking做网络请求时为什么不能用栅栏函数起到同步锁堵塞的效果,因为AFNetworking内部有自己的队列\n\ndispatch_semaphore_t\n应用场景:同步当锁, 控制GCD最大并发数\n\ndispatch_semaphore_create():创建信号量\ndispatch_semaphore_wait():等待信号量,信号量减1。当信号量时会阻塞当前线程,根据传入的等待时间决定接下来的操作——如果永久等待将等到信号(signal)才执行下去\ndispatch_semaphore_signal():释放信号量,信号量加1。当信号量>= 0 会执行wait之后的代码\n\n下面这段代码要求使用信号量来按序输出(当然栅栏函数可以满足要求)\n- (void)test {\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n\n for (int i = 0; i \n利用信号量的API来进行代码改写\n- (void)test {\n // 创建信号量\n dispatch_semaphore_t sem = dispatch_semaphore_create(0);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n\n for (int i = 0; i \n输出结果\n当前0----线程{number = 5, name = (null)}\n当前1----线程{number = 5, name = (null)}\n当前2----线程{number = 5, name = (null)}\n当前3----线程{number = 5, name = (null)}\n当前4----线程{number = 5, name = (null)}\n当前5----线程{number = 5, name = (null)}\n当前6----线程{number = 5, name = (null)}\n当前7----线程{number = 5, name = (null)}\n当前8----线程{number = 5, name = (null)}\n当前9----线程{number = 5, name = (null)}\n如果当创建信号量时传入值为1又会怎么样呢?\n\ni=0时有可能先打印,也可能会先发出wait信号量-1,但是wait之后信号量为0不会阻塞线程,所以进入i=1\ni=1时有可能先打印,也可能会先发出wait信号量-1,但是wait之后信号量为-1阻塞线程,等待signal再执行下去\n\n当前1----线程{number = 3, name = (null)}\n当前0----线程{number = 6, name = (null)}\n当前2----线程{number = 3, name = (null)}\n当前3----线程{number = 6, name = (null)}\n当前4----线程{number = 6, name = (null)}\n当前5----线程{number = 3, name = (null)}\n当前6----线程{number = 3, name = (null)}\n当前7----线程{number = 6, name = (null)}\n当前8----线程{number = 3, name = (null)}\n当前9----线程{number = 6, name = (null)}\n结论:\n\n创建信号量时传入值为1时,可以通过两次才堵塞\n传入值为2时,可以通过三次才堵塞\n\ndispatch_source\n应用场景:GCDTimer\n1.定义及使用\ndispatch_source是一种基本的数据类型,可以用来监听一些底层的系统事件\n\nTimer Dispatch Source:定时器事件源,用来生成周期性的通知或回调\nSignal Dispatch Source:监听信号事件源,当有UNIX信号发生时会通知\nDescriptor Dispatch Source:监听文件或socket事件源,当文件或socket数据发生变化时会通知\nProcess Dispatch Source:监听进程事件源,与进程相关的事件通知\nMach port Dispatch Source:监听Mach端口事件源\nCustom Dispatch Source:监听自定义事件源\n\n主要使用的API:\n\ndispatch_source_create: 创建事件源\ndispatch_source_set_event_handler: 设置数据源回调\ndispatch_source_merge_data: 设置事件源数据\ndispatch_source_get_data: 获取事件源数据\ndispatch_resume: 继续\ndispatch_suspend: 挂起\ndispatch_cancle: 取消\n\n2.自定义定时器\n在iOS开发中一般使用NSTimer来处理定时逻辑,但NSTimer是依赖Runloop的,而Runloop可以运行在不同的模式下。如果NSTimer添加在一种模式下,当Runloop运行在其他模式下的时候,定时器就挂机了;又如果Runloop在阻塞状态,NSTimer触发时间就会推迟到下一个Runloop周期。因此NSTimer在计时上会有误差,并不是特别精确,而GCD定时器不依赖Runloop,计时精度要高很多\n@property (nonatomic, strong) dispatch_source_t timer;\n//1.创建队列\ndispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n//2.创建timer\n_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);\n//3.设置timer首次执行时间,间隔,精确度\ndispatch_source_set_timer(_timer, DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC, 0.1 * NSEC_PER_SEC);\n//4.设置timer事件回调\ndispatch_source_set_event_handler(_timer, ^{\n NSLog(@\"GCDTimer\");\n});\n//5.默认是挂起状态,需要手动激活\ndispatch_resume(_timer);\n复制代码\n使用dispatch_source自定义定时器注意点:\n\nGCDTimer需要强持有,否则出了作用域立即释放,也就没有了事件回调\nGCDTimer默认是挂起状态,需要手动激活\nGCDTimer没有repeat,需要封装来增加标志位控制\nGCDTimer如果存在循环引用,使用weak+strong或者提前调用dispatch_source_cancel取消timer\ndispatch_resume和dispatch_suspend调用次数需要平衡\nsource在挂起状态下,如果直接设置source = nil或者重新创建source都会造成crash。正确的方式是在激活状态下调用dispatch_source_cancel(source)释放当前的source\n\nGCD-API总结\n\n\n\nAPI\n说明\n\n\n\n\ndispatch_sync()\n同步执行\n\n\ndispatch_async()\n异步执行\n\n\ndispatch_queue_create()\n创建队列\n\n\ndispatch_get_main_queue()\n获取主队列\n\n\ndispatch_get_global_queue()\n获取全局队列\n\n\ndispatch_after()\n延时执行\n\n\ndispatch_once()\n一次性执行\n\n\ndispatch_apply()\n提交队列\n\n\ndispatch_group_create()\n创建调度组\n\n\ndispatch_group_async()\n执行进组任务\n\n\ndispatch_group_enter()/ dispatch_group_leave()\n将调度组中的任务未执行完毕的任务数目加减1 (两个函数要配合使用)\n\n\ndispatch_group_wait()\n设置等待时间(成功为0)\n\n\ndispatch_barrier_sync()\n同步栅栏函数\n\n\ndispatch_barrier_async()\n异步栅栏函数\n\n\ndispatch_group_notify()\n监听队列组执行完毕\n\n\ndispatch_semaphore_creat()\n创建信号量\n\n\ndispatch_semaphore_wait()\n等待信号量\n\n\ndispatch_semaphore_signal()\n释放信号量\n\n\ndispatch_source_create\n创建源\n\n\ndispatch_source_set_event_handler\n设置源事件回调\n\n\ndispatch_source_merge_data\n源事件设置数据\n\n\ndispatch_source_get_data\n获取源事件数据\n\n\ndispatch_resume\n继续\n\n\ndispatch_suspend\n挂起\n\n\ndispatch_cancle\n取消\n\n\n\nReference\n1 iOS探索 多线程之GCD应用\n"},"iOS/OCFoundation/GCDThread.html":{"url":"iOS/OCFoundation/GCDThread.html","title":"GCD-Thread","keywords":"","body":"GCD Thread\n1. GCD的两个核心概念是:任务和队列.\n任务与队列\n\n任务 : 在block中执行的代码块 \n队列 : 用来存放任务的\n\n队列 和 线程的区别:\n队列中存放的任务最后都要由线程来执行! \n队列的原则:先进先出,后进后出\n队列分类:\n1.串行队列 2.并发队列 3.主队列 4.全局队列\n\n串行队列:任务一个接一个的执行 \n并发队列:队列中的任务并发执行 \n主队列:跟主线程相关的队列,主队列里面的内容都会在主线程中执行 \n全局队列:一个特殊的并发队列\n\n并发队列和全局队列的区别:\n\n并发队列有名称,可以跟踪错误.全局队列没有. \n在ARC中两个队列不需要考虑释放内存,但是在MRC中并发队列创造出来的需要 release 操作,而全局队列只有一个不需要. \n一般在开发过程中我们使用全局队列\n\n2.同步和异步:\n同步异步\n同步:只能在当前线程中执行任务,不具备开启新线程的能力 \n异步:可以在新的线程中执行任务,具备开启新线程的能力\n同步执行任务: \ndispatch_sync(队列,任务) \n异步执行: \ndispatch_async(队列,任务)\n队列和执行方式组合的效果:\n1) 串行队列同步执行,既在当前线程中顺序执行 \n2) 串行队列异步执行,开辟一条新的线程,在该线程中顺序执行 \n3) 并行队列同步执行,不开辟线程,在当前线程中顺序执行 \n4) 并行队列异步执行,开辟多个新的线程,并且线程会重用,无序执行 \n5) 主队列异步执行,不开辟新的线程,顺序执行 \n6) 主队列同步执行,会造成死锁(’主线程’和’主队列’相互等待,卡住主线程)\n死锁原因\n队列引起的循环等待\n同步/异步和串行/并发\n\ndispatch_sync(serial_queue,^{//任务});\ndispatch_async(serial_queue,^{//任务});\ndispatch_sync(concurrent_queue,^{//任务});\ndispatch_async(concurrent_queue,^{//任务});\n\n首先明确几个概念\n\n队列:队列分为串行和并行。串行队列按照A、B、C、D的顺序添加四个任务,这四个任务按照顺序执行,结束顺序也肯定是A、B、C、D,而并行队列同时执行这四个任务,完成的顺序因此也是随机的。\n异步执行(async)和同步执行(sync):使用dispatch_async调用一个block,这个block会被放到指定的queue_1队列尾等待执行,至于这个block是被并行还是串行执行,只和dispatch_async中的指定的queue_1有关,但是dispatch_async会马上返回。使用dispatch_sync同样也是把block放到指定的queue_2上执行,但是会等待这个block执行完毕后才返回,这期间会阻塞当前运行调用dispatch_async或dispatch_sync代码的queue(通常为main_queue)直到sync函数返回。\n\n以打电话给查号台为例:\n\n同步:打电话给查号台,问某个地方的电话号码,接线员会告诉你稍等,然后为你查号,此时你的电话没有挂断,其他的电话也不能打进来,等到接线员查找到了你要找的电话号,告诉你后,才将电话挂断\n异步:打电话给查号台,问某个地方的电话号码,接线员知道了你的请求后,会立刻挂断电话,此时其他的电话可以打进来。然后开始为你查号。等到查找到了你要找的电话号,会再打电话通知你。\n\n所以任何情况下调用 dispatch_sync,都会在当前线程上执行该任务,而不继续走下去,直到任务执行完成\n同步串行\n1.\n-(void)viewDidLoad{\n NSLog(@\"执行任务1\");\n dispatch_queue_t queue = dispatch_get_main_queue();\n dispatch_sync(queue, ^{\n NSLog(@\"执行任务2\");\n });\n\n NSLog(@\"执行任务3\");\n//死锁\n}\n\n\n在主队列上提交了 viewDidLoad 与 GCD Block的任务,无论任务中哪一个,最终都要提交到主线程中处理.先分派viewDidLoad到主线程,由于队列FIFO,viewDidLoad的调用结束又要等待Block的调用结束,Block又在等待viewDidLoad\n只要是同步方式提交任务,无论是提交到并发队列还是串行队列,最终都是在当前线程执行\n分析:\n\n1、主线程中任务执行:任务1、sync、任务3、\n2、主队列:viewDidLoad、任务2、\n\n其中在主队列viewDidLoad里面的任务3执行结束才会执行任务2;而主线程中是执行完sync才会执行任务3。也就是任务2等待任务3执行,任务3再也等待任务2执行,造成死锁\n\n2.\n-(void)viewDidLoad{\n dispatch_sync(serialQueue,^{\n [self doSomething];\n });\n//没问题\n}\n\n\nviewDidLoad添加到主队列上,提交到主线程上执行.viewDidLoad执行到某个时段时候,同步提交一个任务到一个串行队列上面,由于是同步提交任务,意味着要在当前线程执行,所以串行队列提交的任务也是在主线程上面执行,串行队列任务在主线程上执行完之后,再继续执行viewDidLoad后面的任务\n3.\n-(void)viewDidLoad{\n NSLog(@\"1\");\n dispatch_sync(global_queue,^{\n NSLog(@\"2\");\n dispatch_sync(global_queue,^{\n NSLog(@\"3\");\n });\n NSLog(@\"4\");\n });\n NSLog(@\"5\");\n}\n\n//12345\n\n异步串行\n1.\n-(void)viewDidLoad{\n dispatch_async(dispatch_get_main_queue(),^{\n [self doSomething];\n });\n}\n异步并发\n1.\ndispatch_async(global_queue,^{\n NSLog(@\"1\");\n [self performSelector:@selector(printLog) withObject:nil afterDelay0];\n NSLog(@\"3\");\n});\n\n-(void)printLog{\n NSLog(@\"2\");\n}\n//13\n\n因为子线程不会主动创建runloop,performSelector:withObject:afterDelay,即使延时0s,也是要创建相应添加到runloop逻辑,如果没有runloop是不会添加到上面,所以不会触发.(创建runloop后也需要Run)\ndispatch_barrier_async()\n怎么利用GCD实现多读单写?\n\n读者读者并发\n读者写者互斥\n写者写者互斥\n\n多读单写处理\n\n多读单写方案\ndispatch_barrier_async(concurrent_queue,^{//写操作});\n//同步读取指定数据\n-(id)objectForKey:(NSString*)key{\n __block id obj;\n dispatch_sync(concurrent_queue,^{\n obj = xxxx;\n });\n}\n\n//写\n-(void)setObject:(id)obj forKey:(NSString*)key{\n //异步栅栏调用设置数据\n dispatch_barrier_async(concurrent_queue,^{\n xxxxx;\n });\n}\nNSOperation\n1. NSOprationQueue 与 GCD 的区别与选用\n\nGCD是底层的C语言构成的API,而NSOperationQueue及相关对象是Objc的对象。在GCD中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而Operation作为一个对象,为我们提供了更多的选择;\n\n在NSOperationQueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而GCD没法停止已经加入queue的block(其实是有的,但需要许多复杂的代码);\n\nGCD 只支持FIFO 的队列,而NSOperationQueue可以调整队列的执行顺序(通过调整权重)。NSOperationQueue可以方便的管理并发、NSOperation之间的优先级。\n\n\n\nGCD优点:GCD主要与block结合使用。\n\n引申:\n使用NSOperation和NSOperationQueue的优点:\n\n可以取消操作:在运行任务前,可以在NSOperation对象调用cancel方法,标明此任务不需要执行。但是GCD队列是无法取消的,因为它遵循“安排好之后就不管了(fire and forget)”的原则。\n可以指定操作间的依赖关系:例如从服务器下载并处理文件的动作可以用操作来表示。而在处理其他文件之前必须先下载“清单文件”。而后续的下载工作,都要依赖于先下载的清单文件这一操作。\n监控NSOperation对象的属性:可以通过KVO来监听NSOperation的属性:可以通过isCancelled属性来判断任务是否已取消;通过isFinished属性来判断任务是否已经完成。\n可以指定操作的优先级:操作的优先级表示此操作与队列中其他操作之间的优先关系,我们可以指定它\n\n状态控制\n\n如果只重写main方法,底层控制变更任务执行完成状态,以及任务退出\n如果重写了start方法,自行控制状态(什么时候是isExecuting,isFinish状态等等)\n\n系统怎么移除一个 isFinished==YES 的NSOperation的\n通过KVO\n"},"iOS/OCFoundation/Lock.html":{"url":"iOS/OCFoundation/Lock.html","title":"Lock","keywords":"","body":"Lock\n锁\n1.线程安全\n当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果\n即线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步\n2.检测安全\n\n3.锁的作用\n锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(Acquire)锁,并在访问结束之后释放(Release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用\n注:不要将过多的其他操作代码放到锁里面,否则一个线程执行的时候另一个线程就一直在等待,就无法发挥多线程的作用了\n4.锁的分类\n在iOS中锁的基本种类只有两种:互斥锁、自旋锁,其他的比如条件锁、递归锁、信号量都是上层的封装和实现\n5. 互斥锁\n互斥锁(Mutual exclusion,缩写Mutex)防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒\n互斥锁又分为:\n\n递归锁:可重入锁,同一个线程在锁释放前可再次获取锁,即可以递归调用\n非递归锁:不可重入,必须等锁释放后才能再次获取锁\n\n6. 自旋锁\n自旋锁:线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏, 因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释 放⾃旋锁\n⾃旋锁避免了进程上下⽂的调度开销,因此对于线程只会阻塞很短时间的场合是有效的\n7.互斥锁和自旋锁的区别\n\n互斥锁在线程获取锁但没有获取到时,线程会进入休眠状态,等锁被释放时线程会被唤醒\n自旋锁的线程则会一直处于等待状态(忙等待)不会进入休眠——因此效率高\n\n二、自旋锁\n1.OSSpinLock\n自从OSSpinLock出现了安全问题之后就废弃了。自旋锁之所以不安全,是因为自旋锁由于获取锁时,线程会一直处于忙等待状态,造成了任务的优先级反转\n而OSSpinLock忙等的机制就可能造成高优先级一直running等待,占用CPU时间片;而低优先级任务无法抢占时间片,变成迟迟完不成,不释放锁的情况\n2.atomic\n2.1 atomic原理\n在iOS探索 KVC原理及自定义中有提到自动生成的setter方法会根据修饰符不同调用不同方法,最后统一调用reallySetProperty方法,其中就有一段关于atomic修饰词的代码\nstatic inline void reallySetProperty(id self, SEL _cmd, id newValue, ptrdiff_t offset, bool atomic, bool copy, bool mutableCopy)\n{\n if (offset == 0) {\n object_setClass(self, newValue);\n return;\n }\n\n id oldValue;\n id *slot = (id*) ((char*)self + offset);\n\n if (copy) {\n newValue = [newValue copyWithZone:nil];\n } else if (mutableCopy) {\n newValue = [newValue mutableCopyWithZone:nil];\n } else {\n if (*slot == newValue) return;\n newValue = objc_retain(newValue);\n }\n\n if (!atomic) {\n oldValue = *slot;\n *slot = newValue;\n } else {\n spinlock_t& slotlock = PropertyLocks[slot];\n slotlock.lock();\n oldValue = *slot;\n *slot = newValue; \n slotlock.unlock();\n }\n\n objc_release(oldValue);\n}\n\n比对一下atomic的逻辑分支:\n\n原子性修饰的属性进行了spinlock加锁处理\n非原子性的属性除了没加锁,其他逻辑与atomic一般无二\n\n等等,前面不是刚说OSSpinLock因为安全问题被废弃了吗,但是苹果源码怎么还在使用呢?其实点进去就会发现用os_unfair_lock替代了OSSpinLock(iOS10之后替换)\nusing spinlock_t = mutex_tt;\n\nclass mutex_tt : nocopy_t {\n os_unfair_lock mLock;\n ...\n}\n\n\n同时为了哈希不冲突,还使用加盐操作进行加锁\n\ngetter方法亦是如此:atomic修饰的属性进行加锁处理\nid objc_getProperty(id self, SEL _cmd, ptrdiff_t offset, BOOL atomic) {\n if (offset == 0) {\n return object_getClass(self);\n }\n\n // Retain release world\n id *slot = (id*) ((char*)self + offset);\n if (!atomic) return *slot;\n\n // Atomic retain release world\n spinlock_t& slotlock = PropertyLocks[slot];\n slotlock.lock();\n id value = objc_retain(*slot);\n slotlock.unlock();\n\n // for performance, we (safely) issue the autorelease OUTSIDE of the spinlock.\n return objc_autoreleaseReturnValue(value);\n}\n\n2.2 atomic修饰的属性绝对安全吗?\natomic只能保证setter、getter方法的线程安全,并不能保证数据安全\n\n如上图所示,被atomic修饰的index变量分别在两次并发异步for循环10000次后输出的结果并不等于20000。由此可以得出结论:\n\natomic保证变量在取值和赋值时的线程安全\n但不能保证self.index+1也是安全的\n如果改成self.index=i是能保证setter方法的线程安全的\n\n3. 读写锁\n读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的CPU数\n\n写者是排他性的,⼀个读写锁同时只能有⼀个写者或多个读者(与CPU数相关),但不能同时既有读者⼜有写者。在读写锁保持期间也是抢占失效的\n如果读写锁当前没有读者,也没有写者,那么写者可以⽴刻获得读写锁,否则它必须⾃旋在那⾥,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以⽴即获得该读写锁,否则读者必须⾃旋在那⾥,直到写者释放该读写锁\n\n// 导入头文件\n#import \n// 全局声明读写锁\npthread_rwlock_t lock;\n// 初始化读写锁\npthread_rwlock_init(&lock, NULL);\n// 读操作-加锁\npthread_rwlock_rdlock(&lock);\n// 读操作-尝试加锁\npthread_rwlock_tryrdlock(&lock);\n// 写操作-加锁\npthread_rwlock_wrlock(&lock);\n// 写操作-尝试加锁\npthread_rwlock_trywrlock(&lock);\n// 解锁\npthread_rwlock_unlock(&lock);\n// 释放锁\npthread_rwlock_destroy(&lock);\n复制代码\n平时很少会直接使用读写锁pthread_rwlock_t,更多的是采用其他方式,例如使用栅栏函数完成读写锁的需求\n三、互斥锁\n1.pthread_mutex\npthread_mutex就是互斥锁本身——当锁被占用,而其他线程申请锁时,不是使用忙等,而是阻塞线程并睡眠\n使用如下:\n// 导入头文件\n#import \n// 全局声明互斥锁\npthread_mutex_t _lock;\n// 初始化互斥锁\npthread_mutex_init(&_lock, NULL);\n// 加锁\npthread_mutex_lock(&_lock);\n// 这里做需要线程安全操作\n// ...\n// 解锁 \npthread_mutex_unlock(&_lock);\n// 释放锁\npthread_mutex_destroy(&_lock);\n\nYYKit的YYMemoryCach有使用到pthread_mutex\n2.@synchronized\n@synchronized可能是日常开发中用的比较多的一种互斥锁,因为它的使用比较简单,但并不是在任意场景下都能使用@synchronized,且它的性能较低\n@synchronized (obj) {}\n\n接下来就通过源码探索来看一下@synchronized在使用中的注意事项\n\n通过汇编能发现@synchronized就是实现了objc_sync_enter和 objc_sync_exit两个方法\n通过符号断点能知道这两个方法都是在objc源码中的\n通过clang也能得到一些信息:\n\nint main(int argc, char * argv[]) {\n NSString * appDelegateClassName;\n /* @autoreleasepool */ { __AtAutoreleasePool __autoreleasepool; \n\n appDelegateClassName = NSStringFromClass(((Class (*)(id, SEL))(void *)objc_msgSend)((id)objc_getClass(\"AppDelegate\"), sel_registerName(\"class\")));\n {\n id _rethrow = 0;\n id _sync_obj = (id)appDelegateClassName;\n objc_sync_enter(_sync_obj);\n try {\n struct _SYNC_EXIT {\n _SYNC_EXIT(id arg) : sync_exit(arg) {}\n ~_SYNC_EXIT() {\n objc_sync_exit(sync_exit);\n }\n id sync_exit;\n }\n _sync_exit(_sync_obj);\n }\n catch (id e) {_rethrow = e;}\n {\n struct _FIN { _FIN(id reth) : rethrow(reth) {}\n ~_FIN() { if (rethrow) objc_exception_throw(rethrow); }\n id rethrow;\n }_fin_force_rethow(_rethrow);\n }\n }\n }\n return UIApplicationMain(argc, argv, __null, appDelegateClassName);\n}\n\n2.1 源码分析\n在objc源码中找到objc_sync_enter和objc_sync_exit\n// Begin synchronizing on 'obj'. \n// Allocates recursive mutex associated with 'obj' if needed.\n// Returns OBJC_SYNC_SUCCESS once lock is acquired. \nint objc_sync_enter(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, ACQUIRE);\n assert(data);\n data->mutex.lock();\n } else {\n // @synchronized(nil) does nothing\n if (DebugNilSync) {\n _objc_inform(\"NIL SYNC DEBUG: @synchronized(nil); set a breakpoint on objc_sync_nil to debug\");\n }\n objc_sync_nil();\n }\n\n return result;\n}\n\n// End synchronizing on 'obj'. \n// Returns OBJC_SYNC_SUCCESS or OBJC_SYNC_NOT_OWNING_THREAD_ERROR\nint objc_sync_exit(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, RELEASE); \n if (!data) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n } else {\n bool okay = data->mutex.tryUnlock();\n if (!okay) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n }\n }\n } else {\n // @synchronized(nil) does nothing\n }\n\n return result;\n}\n\n\n首先从它的注释中recursive mutex可以得出@synchronized是递归锁\n如果锁的对象obj不存在时分别会走objc_sync_nil()和不做任何操作(源码分析可以先解决简单的逻辑分支)\n\nBREAKPOINT_FUNCTION(\n void objc_sync_nil(void)\n);\n\n这也是@synchronized作为递归锁但能防止死锁的原因所在:在不断递归的过程中如果对象不存在了就会停止递归从而防止死锁\n\n正常情况下(obj存在)会通过id2data方法生成一个SyncData对象\n\nnextData指的是链表中下一个SyncData\n\nobject指的是当前加锁的对象\nthreadCount表示使用该对象进行加锁的线程数\nmutex即对象所关联的锁\n\ntypedef struct alignas(CacheLineSize) SyncData {\n struct SyncData* nextData;\n DisguisedPtr object;\n int32_t threadCount; // number of THREADS using this block\n recursive_mutex_t mutex;\n} SyncData;\n\n2.2 准备SyncData\nstatic SyncData* id2data(id object, enum usage why)\n{\n spinlock_t *lockp = &LOCK_FOR_OBJ(object);\n SyncData **listp = &LIST_FOR_OBJ(object);\n SyncData* result = NULL;\n ...\n}\n\nid2data先将返回对象SyncData类型的result准备好,后续进行数据填充\n#define LOCK_FOR_OBJ(obj) sDataLists[obj].lock\n#define LIST_FOR_OBJ(obj) sDataLists[obj].data\n\nstatic StripedMap sDataLists;\n\nstruct SyncList {\n SyncData *data;\n spinlock_t lock;\n\n constexpr SyncList() : data(nil), lock(fork_unsafe_lock) { }\n};\n\n其中通过两个宏定义去取得SyncList中的data和lock——static StripedMap sDataLists 可以理解成 NSArray list\n既然@synchronized能在任意地方(VC、View、Model等)使用,那么底层必然维护着一张全局的表(类似于weak表)。而从SyncList和SyncData的结构可以证实系统确实在底层维护着一张哈希表,里面存储着SyncList结构的数据。SyncList和SyncData的关系如下图所示:\n\n2.3 使用快速缓存\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n#if SUPPORT_DIRECT_THREAD_KEYS\n // Check per-thread single-entry fast cache for matching object\n // 检查每线程单项快速缓存中是否有匹配的对象\n bool fastCacheOccupied = NO;\n SyncData *data = (SyncData *)tls_get_direct(SYNC_DATA_DIRECT_KEY);\n if (data) {\n fastCacheOccupied = YES;\n\n if (data->object == object) {\n // Found a match in fast cache.\n uintptr_t lockCount;\n\n result = data;\n lockCount = (uintptr_t)tls_get_direct(SYNC_COUNT_DIRECT_KEY);\n if (result->threadCount threadCount);\n }\n break;\n case CHECK:\n // do nothing\n break;\n }\n\n return result;\n }\n }\n#endif\n ...\n}\n\n这里有个重要的知识点——TLS:TLS全称为Thread Local Storage,在iOS中每个线程都拥有自己的TLS,负责保存本线程的一些变量, 且TLS无需锁保护, 快速缓存的含义为:定义两个变量SYNC_DATA_DIRECT_KEY/SYNC_COUNT_DIRECT_KEY,与tsl_get_direct/tls_set_direct配合可以从线程局部缓存中快速取得SyncCacheItem.data和`SyncCacheItem.lockCount\n如果在缓存中找到当前对象,就拿出当前被锁的次数lockCount,再根据传入参数类型(获取、释放、查看)对lockCount分别进行操作\n\n获取资源ACQUIRE:lockCount++并根据key值存入被锁次数\n释放资源RELEASE:lockCount++并根据key值存入被锁次数。如果次数变为0,此时锁也不复存在,需要从快速缓存移除并清空线程数threadCount\n查看资源check:不操作\n\n\nlockCount表示被锁的次数,意味着能多次进入,从侧面表现出了递归性\n\n2.4 获取该线程下的SyncCache\n这个逻辑分支是找不到确切的线程标记只能进行所有的缓存遍历\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n SyncCache *cache = fetch_cache(NO);\n if (cache) {\n unsigned int i;\n for (i = 0; i used; i++) {\n SyncCacheItem *item = &cache->list[i];\n if (item->data->object != object) continue;\n\n // Found a match.\n result = item->data;\n if (result->threadCount lockCount lockCount++;\n break;\n case RELEASE:\n item->lockCount--;\n if (item->lockCount == 0) {\n // remove from per-thread cache\n cache->list[i] = cache->list[--cache->used];\n // atomic because may collide with concurrent ACQUIRE\n OSAtomicDecrement32Barrier(&result->threadCount);\n }\n break;\n case CHECK:\n // do nothing\n break;\n }\n\n return result;\n }\n }\n ...\n}\n\n这里介绍一下SyncCache和SyncCacheItem\ntypedef struct {\n SyncData *data; //该缓存条目对应的SyncData\n unsigned int lockCount; //该对象在该线程中被加锁的次数\n} SyncCacheItem;\n\ntypedef struct SyncCache {\n unsigned int allocated; //该缓存此时对应的缓存大小\n unsigned int used; //该缓存此时对应的已使用缓存大小\n SyncCacheItem list[0]; //SyncCacheItem数组\n} SyncCache;\n\n\nSyncCacheItem用来记录某个SyncData在某个线程中被加锁的记录,一个SyncData可以被多个SyncCacheItem持有\nSyncCache用来记录某个线程中所有SyncCacheItem,并且记录了缓存大小以及已使用缓存大小\n\n2.5 全局哈希表查找\n快速、慢速流程都没找到缓存就会来到这步——在系统保存的哈希表进行链式查找\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n lockp->lock();\n {\n SyncData* p;\n SyncData* firstUnused = NULL;\n for (p = *listp; p != NULL; p = p->nextData) {\n if ( p->object == object ) {\n result = p;\n // atomic because may collide with concurrent RELEASE\n OSAtomicIncrement32Barrier(&result->threadCount);\n goto done;\n }\n if ( (firstUnused == NULL) && (p->threadCount == 0) )\n firstUnused = p;\n }\n\n // no SyncData currently associated with object\n if ( (why == RELEASE) || (why == CHECK) )\n goto done;\n\n // an unused one was found, use it\n if ( firstUnused != NULL ) {\n result = firstUnused;\n result->object = (objc_object *)object;\n result->threadCount = 1;\n goto done;\n }\n }\n ...\n}\n\n\nlockp->lock()并不是在底层对锁进行了封装,而是在查找过程前后进行了加锁操作\nfor循环遍历链表,如果有符合的就goto done\n寻找链表中未使用的SyncData并作标记\n\n\n如果是RELEASE或CHECK直接goto done\n如果第二步中有发现第一次使用的的对象就将threadCount标记为1且goto done\n\n2.6 生成新数据并写入缓存\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n posix_memalign((void **)&result, alignof(SyncData), sizeof(SyncData));\n result->object = (objc_object *)object;\n result->threadCount = 1;\n new (&result->mutex) recursive_mutex_t(fork_unsafe_lock);\n result->nextData = *listp;\n *listp = result;\n\n done:\n lockp->unlock();\n if (result) {\n // Only new ACQUIRE should get here.\n // All RELEASE and CHECK and recursive ACQUIRE are \n // handled by the per-thread caches above.\n if (why == RELEASE) {\n // Probably some thread is incorrectly exiting \n // while the object is held by another thread.\n return nil;\n }\n if (why != ACQUIRE) _objc_fatal(\"id2data is buggy\");\n if (result->object != object) _objc_fatal(\"id2data is buggy\");\n\n#if SUPPORT_DIRECT_THREAD_KEYS\n if (!fastCacheOccupied) {\n // Save in fast thread cache\n tls_set_direct(SYNC_DATA_DIRECT_KEY, result);\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)1);\n } else \n#endif\n {\n // Save in thread cache\n if (!cache) cache = fetch_cache(YES);\n cache->list[cache->used].data = result;\n cache->list[cache->used].lockCount = 1;\n cache->used++;\n }\n }\n ...\n}\n\n\n第三步情况均不满足(即链表不存在——对象对于全部线程来说是第一次加锁)就会创建SyncData并存在result里,方便下次进行存储\n\ndone分析:\n\n先将前面的lock锁解开\n\n如果是RELEASE类型直接返回nil\n\n对ACQUIRE类型和对象的断言判断\n\n!fastCacheOccupied分支表示支持快速缓存且快速缓存被占用了,将该SyncCacheItem数据写入快速缓存中\n\n否则将该SyncCacheItem存入该线程对应的SyncCache中\n\n\n\n\n 2.7 疑难解答\n\n不能使用非OC对象作为加锁条件——id2data中接收参数为id类型\n多次锁同一个对象会有什么后果吗——会从高速缓存中拿到data,所以只会锁一次对象\n都说@synchronized性能低——是因为在底层增删改查消耗了大量性能\n加锁对象不能为nil,否则加锁无效,不能保证线程安全\n\n- (void)test {\n _testArray = [NSMutableArray array];\n for (int i = 0; i \n上面代码一运行就会崩溃,原因是因为在某一瞬间testArray释放了为nil,但哈希表中存的对象也变成了nil,导致synchronized无效化\n解决方案:\n\n对self进行同步锁,这个似乎太臃肿了\n使用NSLock\n\n3.NSLock\n3.1 使用\nNSLock是对互斥锁的简单封装,使用如下:\n- (void)test {\n self.testArray = [NSMutableArray array];\n NSLock *lock = [[NSLock alloc] init];\n for (int i = 0; i \nNSLock在AFNetworking的AFURLSessionManager.m中有使用到\n想要了解一下NSLock的底层原理,但发现其是在未开源的Foundation源码下面的,但但是Swift对Foundation却开源了,可以在swift-corelibs-foundation下载到源码来一探究竟\n\n从源码来看就是对互斥锁的简单封装\n3.2 注意事项\n使用互斥锁NSLock异步并发调用block块,block块内部递归调用自己,问打印什么?\n- (void)test {\n NSLock *lock = [[NSLock alloc] init];\n dispatch_async(dispatch_get_global_queue(0, 0), ^{\n static void (^block)(int);\n\n block = ^(int value) {\n NSLog(@\"加锁前\");\n [lock lock];\n NSLog(@\"加锁后\");\n if (value > 0) {\n NSLog(@\"value——%d\", value);\n block(value - 1);\n }\n [lock unlock];\n };\n block(10);\n });\n}\n\n输出结果并没有按代码表面的想法去走,而是只打印了一次value值\n加锁前\n加锁后\nvalue——10\n加锁前\n\n原因: 互斥锁在递归调用时会造成堵塞,并非死锁——这里的问题是后面的代码无法执行下去\n\n第一次加完锁之后还没出锁就进行递归调用\n第二次加锁就堵塞了线程(因为不会查询缓存)\n\n解决方案: 使用递归锁NSRecursiveLock替换NSLock\n4.NSRecursiveLock\n4.1 使用\nNSRecursiveLock使用和NSLock类似,如下代码就能解决上个问题\n- (void)test {\n NSRecursiveLock *lock = [[NSRecursiveLock alloc] init];\n dispatch_async(dispatch_get_global_queue(0, 0), ^{\n static void (^block)(int);\n\n block = ^(int value) {\n [lock lock];\n if (value > 0) {\n NSLog(@\"value——%d\", value);\n block(value - 1);\n }\n [lock unlock];\n };\n block(10);\n });\n}\n\nNSRecursiveLock在YYKit中YYWebImageOperation.m中有用到\n4.2 注意事项\n递归锁在使用时需要注意死锁问题——前后代码相互等待便会产生死锁\n上述代码在外层加个for循环,问输出结果?\n- (void)test {\n NSRecursiveLock *lock = [[NSRecursiveLock alloc] init];\n for (int i = 0; i 0) {\n NSLog(@\"value——%d\", value);\n block(value - 1);\n }\n [lock unlock];\n };\n block(10);\n });\n }\n}\n\n运行代码会崩溃,并会提示野指针错误\n\n原因: for循环在block内部对同一个对象进行了多次锁操作,直到这个资源身上挂着N把锁,最后大家都无法一次性解锁——找不到解锁的出口\n即 线程1中加锁1、同时线程2中加锁2-> 解锁1等待解锁2 -> 解锁2等待解锁1 -> 无法结束解锁——形成死锁\n解决: 可以采用使用缓存的@synchronized,因为它对对象进行锁操作,会先从缓存查找是否有锁syncData存在。如果有,直接返回而不加锁,保证锁的唯一性\n5.dispatch_semaphore\n在GCD应用篇章已经对信号量进行过讲解\n6.NSCondition\nNSCondition是一个条件锁,可能平时用的不多,但与信号量相似:线程1需要等到条件1满足才会往下走,否则就会堵塞等待,直至条件满足\n同样的能在Swift源码中找到关于NSCondition部分\nopen class NSCondition: NSObject, NSLocking {\n internal var mutex = _MutexPointer.allocate(capacity: 1)\n internal var cond = _ConditionVariablePointer.allocate(capacity: 1)\n\n public override init() {\n pthread_mutex_init(mutex, nil)\n pthread_cond_init(cond, nil)\n }\n\n deinit {\n pthread_mutex_destroy(mutex)\n pthread_cond_destroy(cond)\n }\n\n open func lock() {\n pthread_mutex_lock(mutex)\n }\n\n open func unlock() {\n pthread_mutex_unlock(mutex)\n }\n\n open func wait() {\n pthread_cond_wait(cond, mutex)\n }\n\n open func wait(until limit: Date) -> Bool {\n guard var timeout = timeSpecFrom(date: limit) else {\n return false\n }\n return pthread_cond_timedwait(cond, mutex, &timeout) == 0\n }\n\n open func signal() {\n pthread_cond_signal(cond)\n }\n\n open func broadcast() {\n pthread_cond_broadcast(cond) // wait signal\n }\n\n open var name: String?\n}\n\n从上述精简后的代码可以得出以下几点:\n\nNSCondition是对mutex和cond的一种封装(cond就是用于访问和操作特定类型数据的指针)\nwait操作会阻塞线程,使其进入休眠状态,直至超时\nsignal操作是唤醒一个正在休眠等待的线程\nbroadcast会唤醒所有正在等待的线程\n\n7.NSConditionLock\n顾名思义,就是NSCondition + Lock\n那么和NSCondition的区别在于哪里呢?接下来看一下NSConditionLock源码\nopen class NSConditionLock : NSObject, NSLocking {\n internal var _cond = NSCondition()\n internal var _value: Int\n internal var _thread: _swift_CFThreadRef?\n\n public convenience override init() {\n self.init(condition: 0)\n }\n\n public init(condition: Int) {\n _value = condition\n }\n\n open func lock() {\n let _ = lock(before: Date.distantFuture)\n }\n\n open func unlock() {\n _cond.lock()\n _thread = nil\n _cond.broadcast()\n _cond.unlock()\n }\n\n open var condition: Int {\n return _value\n }\n\n open func lock(whenCondition condition: Int) {\n let _ = lock(whenCondition: condition, before: Date.distantFuture)\n }\n\n open func `try`() -> Bool {\n return lock(before: Date.distantPast)\n }\n\n open func tryLock(whenCondition condition: Int) -> Bool {\n return lock(whenCondition: condition, before: Date.distantPast)\n }\n\n open func unlock(withCondition condition: Int) {\n _cond.lock()\n _thread = nil\n _value = condition\n _cond.broadcast()\n _cond.unlock()\n }\n\n open func lock(before limit: Date) -> Bool {\n _cond.lock()\n while _thread != nil {\n if !_cond.wait(until: limit) {\n _cond.unlock()\n return false\n }\n }\n _thread = pthread_self()\n _cond.unlock()\n return true\n }\n\n open func lock(whenCondition condition: Int, before limit: Date) -> Bool {\n _cond.lock()\n while _thread != nil || _value != condition {\n if !_cond.wait(until: limit) {\n _cond.unlock()\n return false\n }\n }\n _thread = pthread_self()\n _cond.unlock()\n return true\n }\n\n open var name: String?\n}\n\n从上述代码可以得出以下几点:\n\nNSConditionLock是NSCondition加线程数的封装\nNSConditionLock可以设置锁条件,而NSCondition只是无脑的通知信号\n\n8.os_unfair_lock\n由于OSSpinLock自旋锁的bug,替代方案是内部封装了os_unfair_lock,而os_unfair_lock在加锁时会处于休眠状态,而不是自旋锁的忙等状态\n9.互斥锁性能对比\n\n锁\n@synchronized\n一般在创建单例对象的时候使用\natomic\n修饰属性的关键字\n对被修饰对象进行原子操作(不负责使用)\nOSSpinLock 自旋锁\n循环等待访问,不释放当前资源(while循环)\n用于轻量级数据访问,简单的int值 +1/-1操作\nNSLock\n-(void)methodA{\n [lock lock];\n [self methodB];\n [lock unlock];\n}\n\n-(void)methodB{\n [lock lock];\n //xxxx\n [lock unlock];\n}\n\n//会导致死锁,要使用递归锁\n\nNSRescursiveLock 递归锁\n//递归锁的特点是可以重入\n-(void)methodA{\n [recursiveLock lock];\n [self methodB];\n [recursiveLock unlock];\n}\n\n-(void)methodB{\n [recursiveLock lock];\n //xxxx\n [recursiveLock unlock];\n}\n\ndispatch_semaphore_t 信号量\n阻塞是一个主动行为\n唤醒是一个被动行为\niOS系统为我们提供的几钟多线程技术各自的特点是怎样的\niOS系统当中主要提供3种,GCD、NSOperation&NSOperationQueue、NSThread,一般使用 GCD实现简单线程同步,包括子线程分派,实现多读单写情景,NSOperation方便任务状态控制,添加依赖移除依赖,NSThread多用于常用线程\n总结\n\nOSSpinLock不再安全,底层用os_unfair_lock替代\natomic只能保证setter、getter时线程安全,所以更多的使用nonatomic来修饰\n读写锁更多使用栅栏函数来实现\n@synchronized在底层维护了一个哈希链表进行data的存储,使用recursive_mutex_t进行加锁\nNSLock、NSRecursiveLock、NSCondition和NSConditionLock底层都是对pthread_mutex的封装\nNSCondition和NSConditionLock是条件锁,当满足某一个条件时才能进行操作,和信号量dispatch_semaphore类似\n普通场景下涉及到线程安全,可以用NSLock\n循环调用时用NSRecursiveLock\n循环调用且有线程影响时,请注意死锁,如果有死锁问题请使用@synchronized\n\nReference\n1. iOS探索 细数iOS中的那些锁\n"},"iOS/OCFoundation/AutoReleasePool.html":{"url":"iOS/OCFoundation/AutoReleasePool.html","title":"AutoReleasePool","keywords":"","body":"Autoreleasepool\nAutoreleasePool(自动释放池)是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量release的时机。\n在没有手加Autorelease Pool的情况下, Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池Push和Pop\nAutoreleasepool结构\n编译器会把@autoreleasepool{}改写成:\nvoid *ctx = objc_autoreleasePoolPush();\n{}中代码\nobjc_autoreleasePoolPop(ctx);\n\n\nvoid *objc_autoreleasePoolPush(void){\n return AutoreleasePoolPage::push();\n}\n\nvoid objc_autoreleasePoolPop(void *ctxt){\n AutoreleasePoolPage:pop(ctxt);\n}\n\n从上述代码可以知道Push,Pop都是操作 AutoreleasePoolPage的\nAutoreleasePoolPage 结构\nclass AutoreleasePoolPage {\n magic_t const magic; //用于对当前 AutoreleasePoolPage 完整性的校验\n id *next;\n pthread_t const thread; //thread 保存了当前页所在的线程\n AutoreleasePoolPage * const parent;\n AutoreleasePoolPage *child;\n uint32_t const depth;\n uint32_t hiwat;\n};\n\n每一个自动释放池都是由一系列的 AutoreleasePoolPage 组成的,并且每一个 AutoreleasePoolPage 的大小都是 4096 字节\n\nAutoreleasePool并没有特定的内存结构,它是通过以AutoreleasePoolPage为节点的双向链表。\n每一个AutoreleasePoolPage节点是一个堆栈结,且大小为4096个字节。\n一个AutoreleasePoolPage节点对应着一个线程,属于一一对应关系。\n\nAutoreleasePool结构如图所示:\n\n双向链表\n自动释放池中的 AutoreleasePoolPage 是以双向链表的形式连接起来的:\n\nparent 和 child 就是用来构造双向链表的指针。\n接着我们看一下AutoreleasePoolPage的构造函数以及一些操作方法:\n //构造函数\n AutoreleasePoolPage(AutoreleasePoolPage *newParent) \n : magic(), next(begin()), thread(pthread_self()),\n parent(newParent), child(nil), \n depth(parent ? 1+parent->depth : 0), \n hiwat(parent ? parent->hiwat : 0)\n { \n if (parent) {\n parent->check();\n assert(!parent->child);\n parent->unprotect();\n parent->child = this;\n parent->protect();\n }\n protect();\n }\n\n //相关操作方法\n id * begin() {\n return (id *) ((uint8_t *)this+sizeof(*this));\n }\n\n id * end() {\n return (id *) ((uint8_t *)this+SIZE);\n }\n\n bool empty() {\n return next == begin();\n }\n\n bool full() { \n return next == end();\n }\n\n bool lessThanHalfFull() {\n return (next - begin() \n\nbegin() 表示了一个AutoreleasePoolPage节点开始存autorelease对象的位置。\nend() 一个AutoreleasePoolPage节点最大的位置\nempty() 如果next指向beigin()说明为空\nfull() 如果next指向end)说明满了\nid *add(id obj) 添加一个autorelease对象,next指向下一个存对象的地址。\n\n所以一个空的AutoreleasePoolPage的结构如下:\n\nAutoreleasePoolPage::push()\npush代码如下:\n static inline void *push() \n {\n id *dest;\n if (DebugPoolAllocation) {\n // Each autorelease pool starts on a new pool page.\n dest = autoreleaseNewPage(POOL_BOUNDARY);\n } else {\n dest = autoreleaseFast(POOL_BOUNDARY);\n }\n assert(dest == EMPTY_POOL_PLACEHOLDER || *dest == POOL_BOUNDARY);\n return dest;\n }\n\npush执行的时候首先会进行判断,如果是需要每个pool都生成一个新page,即DebugPoolAllocation为YES,则执行autoreleaseNewPage方法,否则执行autoreleaseFast方法。\nautoreleaseNewPage\nautoreleaseNewPage分为两种情况:\n\n当前存在page执行autoreleaseFullPage方法;\n当前不存在pageautoreleaseNoPage方法。\n\nautoreleaseFast\nautoreleaseFast分为三种情况:\n\n存在page且未满,通过add()方法进行添加;\n当前page已满执行autoreleaseFullPage方法;\n当前不存在page执行autoreleaseNoPage方法。\n\nhotPage\n前面讲到的page其实就是hotPage,通过AutoreleasePoolPage *page = hotPage();获取。\n static inline AutoreleasePoolPage *hotPage() \n {\n AutoreleasePoolPage *result = (AutoreleasePoolPage *)\n tls_get_direct(key);\n if ((id *)result == EMPTY_POOL_PLACEHOLDER) return nil;\n if (result) result->fastcheck();\n return result;\n }\n\n通过上面的代码我们知道当前页是存在TLS(线程私有数据)里面的。所以说第一次调用push的时候,没有page自然连hotPage也没有。\nautoreleaseFullPage\nstatic __attribute__((noinline))\n id *autoreleaseFullPage(id obj, AutoreleasePoolPage *page)\n {\n // The hot page is full. \n // Step to the next non-full page, adding a new page if necessary.\n // Then add the object to that page.\n assert(page == hotPage());\n assert(page->full() || DebugPoolAllocation);\n\n do {\n if (page->child) page = page->child;\n else page = new AutoreleasePoolPage(page);\n } while (page->full());\n\n setHotPage(page);\n return page->add(obj);\n }\n\nautoreleaseFullPage会从传入的page开始遍历整个双向链表,如果page满了,就看它的child节点,直到查找到一个未满的AutoreleasePoolPage。接着使用AutoreleasePoolPage构造函数传入parent创建一个新的AutoreleasePoolPage的节点(此时跳出了while循环)。\n在查找到一个可以使用的AutoreleasePoolPage之后,会将该页面标记成hotPage,然后调动add()方法添加对象。\nautoreleaseNoPage\nstatic __attribute__((noinline))\n id *autoreleaseNoPage(id obj)\n {\n //\"no page\"意味着没有没有池子被push或者说push了一个空的池子\n assert(!hotPage());\n\n bool pushExtraBoundary = false;\n if (haveEmptyPoolPlaceholder()) {//push了一个空的池子\n pushExtraBoundary = true;\n }\n else if (obj != POOL_BOUNDARY && DebugMissingPools) {\n _objc_inform(\"MISSING POOLS: (%p) Object %p of class %s \"\n \"autoreleased with no pool in place - \"\n \"just leaking - break on \"\n \"objc_autoreleaseNoPool() to debug\", \n pthread_self(), (void*)obj, object_getClassName(obj));\n objc_autoreleaseNoPool(obj);\n return nil;\n }\n else if (obj == POOL_BOUNDARY && !DebugPoolAllocation) {\n //没有池子被push\n return setEmptyPoolPlaceholder();\n }\n\n AutoreleasePoolPage *page = new AutoreleasePoolPage(nil);\n setHotPage(page);\n\n if (pushExtraBoundary) {\n //push了一个空的池子,添加哨兵对象\n page->add(POOL_BOUNDARY);\n }\n\n return page->add(obj);\n }\n\n //haveEmptyPoolPlaceholder的本质\n static inline bool haveEmptyPoolPlaceholder()\n {\n id *tls = (id *)tls_get_direct(key);\n return (tls == EMPTY_POOL_PLACEHOLDER);\n }\n\n从上面的代码我们可以知道,既然当前内存中不存在AutoreleasePoolPage,就要从头开始构建这个自动释放池的双向链表,也就是说,新的AutoreleasePoolPage是没有parent指针的。\n初始化之后,将当前页标记为hotPage,然后会先向这个page中添加一个POOL_BOUNDARY的标记,来确保在pop调用的时候,不会出现异常。\n最后,将obj添加到自动释放池中。\nautorelease方法\n接着看一下当对象调用autorelase方法发生了什么。\n- (id)autorelease {\n return ((id)self)->rootAutorelease();\n}\n\ninline id \nobjc_object::rootAutorelease()\n{\n if (isTaggedPointer()) return (id)this;\n if (prepareOptimizedReturn(ReturnAtPlus1)) return (id)this;\n\n return rootAutorelease2();\n}\n\n__attribute__((noinline,used))\nid \nobjc_object::rootAutorelease2()\n{\n assert(!isTaggedPointer());\n return AutoreleasePoolPage::autorelease((id)this);\n}\n\nstatic inline id autorelease(id obj)\n{\n assert(obj);\n assert(!obj->isTaggedPointer());\n id *dest __unused = autoreleaseFast(obj);\n assert(!dest || dest == EMPTY_POOL_PLACEHOLDER || *dest == obj);\n return obj;\n}\n\n从上面的源码我们看到,对象调用autorelase方法,最后会变成AutoreleasePoolPage的autorelease函数。AutoreleasePoolPage的autorelease的本质就是调用autoreleaseFast(obj)函数。只不过push操作插入的是一个POOL_BOUNDARY ,而autorelease操作插入的是一个具体的autoreleased对象即AutoreleasePoolPage入栈操作。\n当然这么说并不严谨,因为我们需要考虑是否是Tagged Pointer和是否进行优化的情况(prepareOptimizedReturn这个后面也会提到),如果不满足这两个条件才会进入缓存池。\n所以push的流程是:\n\nAutoreleasePoolPage::pop(ctxt)\n static inline void pop(void *token) \n {\n AutoreleasePoolPage *page;\n id *stop;\n\n //第一种情况:autoreleasepool首次push的时候返回的,也就是最顶层的page执行pop会执行这一部分\n if (token == (void*)EMPTY_POOL_PLACEHOLDER) {\n // Popping the top-level placeholder pool.\n if (hotPage()) {\n // Pool was used. Pop its contents normally.\n // Pool pages remain allocated for re-use as usual.\n pop(coldPage()->begin());\n } else {\n // Pool was never used. Clear the placeholder.\n setHotPage(nil);\n }\n return;\n }\n\n page = pageForPointer(token);\n\n //https://stackoverflow.com/questions/24952549/does-nsthread-create-autoreleasepool-automatically-now\n //第二种情况:在非ARC的情况下,在新创建的线程中不使用autoreleasepool,直接调用autorelease方法时会出现这个情况。此时没有pool,直接进行autorelease。\n stop = (id *)token;\n if (*stop != POOL_BOUNDARY) {\n if (stop == page->begin() && !page->parent) {\n // Start of coldest page may correctly not be POOL_BOUNDARY:\n // 1. top-level pool is popped, leaving the cold page in place\n // 2. an object is autoreleased with no pool\n } else {\n // Error. For bincompat purposes this is not \n // fatal in executables built with old SDKs.\n return badPop(token);\n }\n }\n\n if (PrintPoolHiwat) printHiwat();\n //第三种情况:也就是我们经常碰到的情况\n page->releaseUntil(stop);\n\n // memory: delete empty children\n if (DebugPoolAllocation && page->empty()) {\n // special case: delete everything during page-per-pool debugging\n AutoreleasePoolPage *parent = page->parent;\n page->kill();\n setHotPage(parent);\n } else if (DebugMissingPools && page->empty() && !page->parent) {\n // special case: delete everything for pop(top) \n // when debugging missing autorelease pools\n page->kill();\n setHotPage(nil);\n } \n else if (page->child) {\n // hysteresis: keep one empty child if page is more than half full\n if (page->lessThanHalfFull()) {\n page->child->kill();\n }\n else if (page->child->child) {\n page->child->child->kill();\n }\n }\n }\n\n这里我们主要分析下第三种情况。\nreleaseUntil\nvoid releaseUntil(id *stop) {\n while (this->next != stop) {\n AutoreleasePoolPage *page = hotPage();\n\n while (page->empty()) {\n page = page->parent;\n setHotPage(page);\n }\n\n page->unprotect();\n id obj = *--page->next;\n memset((void*)page->next, SCRIBBLE, sizeof(*page->next));\n page->protect();\n\n if (obj != POOL_BOUNDARY) {\n objc_release(obj);\n }\n }\n\n setHotPage(this);\n}\n\n从next指针开始,一个一个向前调用objc_release,直到碰到push时压入的pool为止。\n所以autoreleasePool的运行过程应该是:\npool1 = push()\n...\n pool2 = push()\n ...\n pool3 = push()\n ...\n pop(pool3)\n ...\n pop(pool2)\n...\npop(pool1)\n\n每次pop,实际上都会把最近一次push之后添加进去的对象全部release掉。\n自动释放池中的栈\n如果我们的一个 AutoreleasePoolPage 被初始化在内存的 0x100816000 ~ 0x100817000中,它在内存中的结构如下:\n\nnext 指向了下一个为空的内存地址,如果 next 指向的地址加入一个 object,它就会如下图所示移动到下一个为空的内存地址中:\n\nPOOL_SENTINEL(哨兵对象)\n在每个自动释放池初始化调用 objc_autoreleasePoolPush 的时候,都会把一个 POOL_SENTINEL push 到自动释放池的栈顶,并且返回这个 POOL_SENTINEL 哨兵对象。\nint main(int argc, const char * argv[]) {\n {\n void * atautoreleasepoolobj = objc_autoreleasePoolPush();\n\n // do whatever you want\n\n objc_autoreleasePoolPop(atautoreleasepoolobj);\n }\n return 0;\n}\n\n上面的 atautoreleasepoolobj 就是一个 POOL_SENTINEL。\n而当方法 objc_autoreleasePoolPop 调用时,就会向自动释放池中的对象发送 release 消息,直到第一个 POOL_SENTINEL:\n\nobjc_autoreleasePoolPush\nstatic inline id *autoreleaseFast(id obj)\n{\n AutoreleasePoolPage *page = hotPage();\n if (page && !page->full()) {\n return page->add(obj);\n } else if (page) {\n return autoreleaseFullPage(obj, page);\n } else {\n return autoreleaseNoPage(obj);\n }\n}\n\n底层转化为如上代码\nhotPage 可以理解为当前正在使用的 AutoreleasePoolPage。\n上述方法分三种情况选择不同的代码执行:\n\n有 hotPage 并且当前 page 不满\n\n调用 page->add(obj) 方法将对象添加至 AutoreleasePoolPage 的栈中\n\n\n有 hotPage 并且当前 page 已满\n\n调用 autoreleaseFullPage 初始化一个新的页\n调用 page->add(obj) 方法将对象添加至 AutoreleasePoolPage 的栈\n\n\n无 hotPage\n\n调用 autoreleaseNoPage 创建一个 hotPage\n调用 page->add(obj) 方法将对象添加至 AutoreleasePoolPage 的栈中\n\n\n\nobjc_autoreleasePoolPop\n作用如上图\n栈中存放的指针指向加入需要release的对象或者POOL_SENTINEL(哨兵对象,用于分隔Autoreleasepool)。\n栈中指向POOL_SENTINEL的指针就是Autoreleasepool的一个标记。当Autoreleasepool进行出栈操作,每一个比这个哨兵对象后进栈的对象都会release。\n\nRunloop 与 Autoreleasepool 创建\n每一个线程都会维护自己的autoreleasePool堆栈,也就是说每一个autoreleasePool对应一个线程。 \n每个Runloop中都会创建一个 AutoReleasepool 并在 Runloop迭代结束进行释放。何为 迭代结束?当前Runloop 进入 Sleep mode的时候,就结束当前 Runloop迭代.新的一轮Runloop创建一个新的 AutoReleasepool, Pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)\n Runloop第一个 Observer 监视的事件是 Entry(即将进入Loop),其回调内会调用 _objc_autoreleasePoolPush() 创建自动释放池。其 order 是-2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。\n 第二个 Observer 监视了两个事件: BeforeWaiting(准备进入休眠) 时调用_objc_autoreleasePoolPop() 和 _objc_autoreleasePoolPush() 释放旧的池并创建新池;Exit(即将退出Loop) 时调用 _objc_autoreleasePoolPop() 来释放自动释放池。这个 Observer 的 order 是 2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。\n总结\n1.子线程在使用autorelease对象时,如果没有autoreleasepool会在autoreleaseNoPage中懒加载一个出来。\n2.在runloop的run:beforeDate,以及一些source的callback中,有autoreleasepool的push和pop操作,总结就是系统在很多地方都差不多autorelease的管理操作。\n3.就算插入没有pop也没关系,在线程exit的时候会释放资源,执行AutoreleasePoolPage::tls_dealloc,在这里面会清空autoreleasepool。\n手动@autoreleasepool 与 嵌套\n嵌套autorelesepool很好解释,pop的时候总会释放到上次push的位置为止,多层的pool就是多个哨兵对象而已,就像剥洋葱一样,每次一层,互不影响。\n手动autoreleasepool,如下文参考2例子,可以得知这个for循环中,每一次循环会清理掉一次内存,因为完全执行完 for循环才会,runloop才会进行休眠,如果说是按照系统的autoreleasepool来说,应该是休眠前才释放,但是,文中demo内存并没有显示出循环中内存暴涨,这也说明了,手动autorelesepool 不是在内存峰值时候释放\nReference\n1.自动释放池的前世今生 ---- 深入解析 autoreleasepool\n2. 解密Runloop\n3. 在ARC环境中autoreleasepool(runloop)的研究\n4. 黑幕背后的Autorelease\n5. iOS RunLoop详解\n6.深入了解Runloop\n7.带着问题看源码----子线程AutoRelease对象何时释放\n8.AutoreleasePool的实现\n"},"iOS/OCFoundation/@synchronized.html":{"url":"iOS/OCFoundation/@synchronized.html","title":"@synchronized","keywords":"","body":"@synchronized\n@synchronized 是 iOS 多线程同步锁中性能最差的一个。但是却是所有锁中使用起来最简单的一个。\n一般来说,我们就像下面的示例一样来使用:\n@synchronized (self) {\n\n}\n\n这样就可以保证 {} 中的代码在多线程的情况下线程安全 ?注意,这里我们有一个? ,如果不合理的使用 @synchronized 同样会导致线程安全问题。\n@synchronized 原理\n当我们想探究某个方法的底层是怎么实现的,我们可以通过汇编部分来探究这部分代码的具体实现。\n我们有两种方法来查看汇编部分\n\nXcode--> Debug -->Debug Workflow --> Always Show Disassembly 显示汇编,然后挂上断点,运行程序\nXcode--> Product-->Perform Action --> Assemble **.m 文件\n\n当我们在测试项目中,键入如下代码:\n- (void)viewDidLoad {\n [super viewDidLoad];\n @synchronized (self) {\n NSLog(@\"iOS 成长指北\");\n }\n}\n\n这里,我们使用第二种方法来查看汇编部分,使用第二种方式有便于我们查找代码的具体位置。当我们搜索 :行数 时,找到具体代码的汇编写法,如同红框中的示例。\n\n当我们在调用 NSLog 方法时,存在一个_objc_sync_enter 和两个_objc_sync_exit。由此可知,当代码离开 {} 闭包时,会再执行一次 _objc_sync_exit。\n萧玉大佬在其《关于 @synchronized,这儿比你想知道的还要多 中说 @synchronized block 会变成 objc_sync_enter 和 objc_sync_exit 的成对调用。从汇编调用上看,似乎并不是?\n当执行 release 方法之后,还会调用一次 objc_sync_exit。\n源码解析\n我们可以查找上述两个方法,最终在 中找到了_objc_sync_enter 和_objc_sync_exit。让我们来看看其具体实现\ntypedef struct SyncData {\n struct SyncData* nextData;\n DisguisedPtr object;\n int32_t threadCount; \n recursive_mutex_t mutex;\n} SyncData;\n\n\nint objc_sync_enter(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, ACQUIRE);\n assert(data);\n data->mutex.lock();\n } else {\n\n if (DebugNilSync) {\n _objc_inform(\"NIL SYNC DEBUG: @synchronized(nil); set a breakpoint on objc_sync_nil to debug\");\n }\n objc_sync_nil();\n }\n\n return result;\n}\n\n\n\n\n\nint objc_sync_exit(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, RELEASE); \n if (!data) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n } else {\n bool okay = data->mutex.tryUnlock();\n if (!okay) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n }\n }\n } else {\n\n }\n\n\n return result;\n}\n\n从源代码和注释中,我们可以发现:\n\n@synchronized 创建了一个基于 obj 为 key 的递归互斥的锁 recursive_mutex_t mutex\n当 obj 为 nil 时,_objc_sync_enter 和_objc_sync_exit 并不会执行任何操作\n我们最终加锁解锁的是 SyncData 结构体,是利用 id2data(obj, usage) 来获取的\nSyncData 其本质应该是一个链表的头结点,因为使用 nextData 寻找确定对应值\n\nobj 的作用\n为什么我们要在使用 @synchronized 的时候,我们需要传一个obj 呢?我们看一下使用的 obj 的时机\nstatic SyncData* id2data(id object, enum usage why)\n{\n spinlock_t *lockp = &LOCK_FOR_OBJ(object);\n SyncData **listp = &LIST_FOR_OBJ(object);\n SyncData* result = NULL;\n ...\n}\n\n当我们使用时,通过 StripedMap 来获取对应 obj 的 SyncData 和其被加的自旋锁 spinlock_t。\nstruct SyncList {\n SyncData *data;\n spinlock_t lock;\n\n SyncList() : data(nil), lock(fork_unsafe_lock) { }\n};\n\n\n\n\n#define LOCK_FOR_OBJ(obj) sDataLists[obj].lock\n#define LIST_FOR_OBJ(obj) sDataLists[obj].data\nstatic StripedMap sDataLists;\n\nStripedMap 其本质就是一个哈希表,外层是一个数组,数组里的每个位置存储一个类似链表的结构 SyncList。\n使用哈希表的原因就是为了避免多个obj之间的竞争,其哈希函数是基于obj而不是其他。当我们使用 id2data(obj, usage) 函数获取确定的 SyncData 时,首先先根据hash(obj) 获取对应 SyncList 的头节点SyncData,那么后续做什么呢?\n我们看看 id2data(obj, usage) 的其他实现\nid2data(obj, usage)\n如果我们要了解具体如何获取到,我们需要查看\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n#if SUPPORT_DIRECT_THREAD_KEYS\n\n bool fastCacheOccupied = NO;\n SyncData *data = (SyncData *)tls_get_direct(SYNC_DATA_DIRECT_KEY);\n if (data) {\n fastCacheOccupied = YES;\n\n if (data->object == object) {\n\n uintptr_t lockCount;\n\n result = data;\n lockCount = (uintptr_t)tls_get_direct(SYNC_COUNT_DIRECT_KEY);\n switch(why) {\n case ACQUIRE: {\n\n lockCount++;\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)lockCount);\n break;\n }\n case RELEASE:\n\n lockCount--;\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)lockCount);\n if (lockCount == 0) {\n\n tls_set_direct(SYNC_DATA_DIRECT_KEY, NULL);\n\n OSAtomicDecrement32Barrier(&result->threadCount);\n }\n break;\n case CHECK:\n\n break;\n }\n\n return result;\n }\n }\n#endif\n\n\n SyncCache *cache = fetch_cache(NO);\n if (cache) {\n unsigned int i;\n for (i = 0; i used; i++) {\n SyncCacheItem *item = &cache->list[i];\n if (item->data->object != object) continue;\n\n\n result = item->data;\n if (result->threadCount lockCount lockCount++;\n break;\n case RELEASE:\n item->lockCount--;\n if (item->lockCount == 0) {\n\n cache->list[i] = cache->list[--cache->used];\n\n OSAtomicDecrement32Barrier(&result->threadCount);\n }\n break;\n case CHECK:\n\n break;\n }\n\n return result;\n }\n\n }\n\n lockp->lock();\n\n {\n ...\n\n goto done;\n }\n\n\n\n\n done:\n lockp->unlock();\n if (result) {\n\n\n\n if (why == RELEASE) {\n\n\n return nil;\n }\n\n#if SUPPORT_DIRECT_THREAD_KEYS\n if (!fastCacheOccupied) {\n\n tls_set_direct(SYNC_DATA_DIRECT_KEY, result);\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)1);\n } else \n#endif\n {\n\n if (!cache) cache = fetch_cache(YES);\n cache->list[cache->used].data = result;\n cache->list[cache->used].lockCount = 1;\n cache->used++;\n }\n }\n\n return result;\n}\n\n\n当我们拿到 SyncList 中 SyncData 的头结点时,我们需要查找链表中对应的 SyncData。\n当存在缓存时,根据是否支持 SUPPORT_DIRECT_THREAD_KEYS ,寻找对应的 SyncData 的方法实现是不同的。一个是根据 tls 另一个是使用 for循环 来查找。\n当没有没有缓存时,我们需要创建对应的缓存。\n前面我们说过,SyncList 存在一个自旋锁 spinlock_t lock,其加减锁的时机是在加入缓存的时候实现的,线程缓存找不到任何内容时,会加一个自旋锁。但是 spinlock_t lock 只是一个命名为自旋锁的互斥锁 os_unfair_lock 罢了。\n一个值得注意的是,多线程处理时,对应线程可能使用相同的obj 来创建的,但是并没有创建线程缓存,即 SyncData 存在,但是线程缓存不存在。如果 SyncData 不存在,我们需要创建一个对应的SyncData。最后创建 SyncData 的线程缓存,并返回对应的 SyncData ,并加递归互斥锁。\n\n\n\n1 // obj传入sDataLists\n2 #define LIST_FOR_OBJ(obj) sDataLists[obj].data\n3\n4 // 哈希表结构,内部存SyncList\n5 static StripedMap sDataLists;\n6\n7 // SyncList结构体,内部data就是SyncData\n8 struct SyncList {\n9 SyncData *data;\n10 spinlock_t lock;\n11 constexpr SyncList() : data(nil), lock(fork_unsafe_lock) { }\n12 };\n13\n14 // 哈希表结构\n15 class StripedMap {\n16 enum { StripeCount = 64 };\n17\n18 struct PaddedT {\n19 T value alignas(CacheLineSize);\n20 };\n21\n22 PaddedT array[StripeCount];\n23\n24 // 哈希函数\n25 static unsigned int indexForPointer(const void *p) {\n26 uintptr_t addr = reinterpret_cast(p);\n27 return ((addr >> 4) ^ (addr >> 9)) % StripeCount; \n28\n29 }\n30\n31 public:\n32 // 此处的p就是上面的obj,也就是obj执行上面的哈希函数对应到数组的index\n33 T& operator[] (const void *p) { \n34 return array[indexForPointer(p)].value; \n35 }\n\n从上述代码看出整体StripedMap是一个哈希表结构,表外层是一个数组,数组里的每个位置存储一个类似链表的结构(SyncList),SyncData 存储的位置具体依赖第25行处的哈希函数,如图:\n\nobj1 处,经过哈希函数计算得出索引2,起初我们要顺着上面的 A 线对List进行查找,没找到,将当前的obj插入到最前面,也是为了更快的找到当前使用的对象而这么设计。\n// Allocate a new SyncData and add to list.\n // XXX allocating memory with a global lock held is bad practice,\n // might be worth releasing the lock, allocating, and searching again.\n // But since we never free these guys we won't be stuck in allocation very often.\n posix_memalign((void **)&result, alignof(SyncData), sizeof(SyncData));\n result->object = (objc_object *)object;\n result->threadCount = 1;\n new (&result->mutex) recursive_mutex_t(fork_unsafe_lock);\n result->nextData = *listp;\n *listp = result;\n\n慎用 @synchronized(obj)\n为什么我们在开头我们说 @synchronized 并不能保证线程安全,当我们使用一个可能变成 nil 的对象作为 obj 时,会发生线程安全问题。\nfor (NSInteger i = 0; i \n这个例子来自于参考资料 ,稍微修改了一下创建的次数,如果是真机调试可能需要更少的调试次数,模拟器的话其支持的次数会比较多一点。\n这个例子会发生崩溃,是因为 ARC 下 setArray: 的方法会执行一个 release 操作,在某个线程中会出现 self.array 为 nil 的情况,而 @synchronized (nil)并不执行加锁解锁操作,会导致线程崩溃。\n总结\n在所有的线程安全的方案中,@synchronized 以其使用成本成为大部分用户选择,但是性能问题却一直成为他人的诟病。\n为什么 @synchronized 是性能最差的呢?因为其包含的操作极为复杂,除了常规的加锁解锁操作以外,还需要考虑哈希表寻址,缓存获取 / 创建缓存等,最差情况下即 N 个 不同的 obj 创建多个不同的 SyncData,并且会调用命名为自旋锁的互斥锁 os_unfair_lock 来实现缓存。\nReference\nIOS - @synchronized详解\n关于 @synchronized,这儿比你想知道的还要多\niOS 性能差的 @synchronized 有什么优点吗\n"},"iOS/SourceCode/YYASyncLayer.html":{"url":"iOS/SourceCode/YYASyncLayer.html","title":"YYAsyncLayer","keywords":"","body":"YYAsyncLayer\nYYAsyncLayer 库代码很清晰,就几个文件:\nYYAsyncLayer.h (.m)\nYYSentinel.h (.m)\nYYTransaction.h (.m)\n\n\nYYAsyncLayer 类继承自 CALayer ,不同的是作者封装了异步绘制的逻辑便于使用。\nYYSentinel 类是一个计数的类,是为了记录最新的布局请求标识,便于及时的放弃多余的绘制逻辑以减少开销。\nYYTransaction 类是事务类,捕获主线程 runloop 的某个时机回调,用于处理异步绘制事件。\n\n为什么需要异步绘制?\n1、界面卡顿的实质\niOS 设备显示器每绘制完一帧画面,复位时就会发送一个 VSync (垂直同步信号) ,并且此时切换帧缓冲区 (iOS 设备是双缓存+垂直同步);在读取经 GPU 渲染完成的帧缓冲区数据进行绘制的同时,还会通过 CADisplayLink 等机制通知 APP 内部可以提交结果到另一个空闲的帧缓冲区了;接着 CPU 计算 APP 布局,计算完成交由 GPU 渲染,渲染完成提交到帧缓冲区;当 VSync 再一次到来的时候,切换帧缓冲区......\n (参考 iOS 保持界面流畅的技巧 )\n当 VSync 到来准备切换帧缓冲区时,若空闲的帧缓存区并未收到来自 GPU 的提交,此次切换就会作罢,设备显示系统会放弃此次绘制,从而引起掉帧。\n由此可知,不管是 CPU 还是 GPU 哪一个出现问题导致不能及时的提交渲染结果到帧缓冲区,都会导致掉帧。优化界面流畅程度,实际上就是减少掉帧(iOS设备上大致是 60 FPS),也就是减小 CPU 和 GPU 的压力提高性能。\n2、UIKit 性能瓶颈\n大部分 UIKit 组件的绘制是在主线程进行,需要 CPU 来进行绘制,当同一时刻过多组件需要绘制或者组件元素过于复杂时,必然会给 CPU 带来压力,这个时候就很容易掉帧(主要是文本控件,大量文本内容的计算和绘制过程都相当繁琐)。\n3、UIKit 替代方案:CoreAnimation 或 CoreGraphics\n当然,首选优化方案是 CoreAnimation 框架。CALayer 的大部分属性都是由 GPU 绘制的 (硬件层面),不需要 CPU (软件层面) 做任何绘制。CA 框架下的 CAShapeLayer (多边形绘制)、CATextLayer(文本绘制)、CAGradientLayer (渐变绘制) 等都有较高的效率,非常实用。\n再来看一下 CoreGraphics 框架,实际上它是依托于 CPU 的软件绘制。在实现CALayerDelegate 协议的 -drawLayer:inContext: 方法时(等同于UIView 二次封装的 -drawRect:方法),需要分配一个内存占用较高的上下文context,与此同时,CALayer 或者其子类需要创建一个等大的寄宿图contents。当基于 CPU 的软件绘制完成,还需要通过 IPC (进程间通信) 传递给设备显示系统。值得注意的是:当重绘时需要抹除这个上下文重新分配内存。\n不管是创建上下文、重绘带来的内存重新分配、IPC 都会带来性能上的较大开销。所以 CoreGraphics 的性能比较差,日常开发中要尽量避免直接在主线程使用。通常情况下,直接给 CALayer 的 contents 赋值 CGImage 图片或者使用 CALayer 的衍生类就能实现大部分需求,还能充分利用硬件支持,图像处理交给 GPU 当然更加放心。\n4、多核设备带来的可能性\n通过以上说明,可以了解 CoreGraphics 较为糟糕的性能。然而可喜的是,市面上的设备都已经不是单核了,这就意味着可以通过后台线程处理耗时任务,主线程只需要负责调度显示。\nps:关于多核设备的线程性能问题,后面分析源码会讲到\nCoreGraphics 框架可以通过图片上下文将绘制内容制作为一张位图,并且这个操作可以在非主线程执行。那么,当有 n 个绘制任务时,可以开辟多个线程在后台异步绘制,绘制成功拿到位图回到主线程赋值给 CALayer 的寄宿图属性。\n三、YYSentinel\n该类非常简单:\n.h\n@interface YYSentinel : NSObject\n@property (readonly) int32_t value;\n- (int32_t)increase;\n@end\n\n.m\n@implementation YYSentinel { int32_t _value; }\n- (int32_t)value { return _value; }\n- (int32_t)increase { return OSAtomicIncrement32(&_value); }\n@end\n\n一看便知,该类扮演的是计数的角色,值得注意的是,-increase方法是使用 OSAtomicIncrement32() 方法来对value执行自增。\nOSAtomicIncrement32()是原子自增方法,线程安全。在日常开发中,若需要保证整形数值变量的线程安全,可以使用 OSAtomic 框架下的方法,它往往性能比使用各种“锁”更为优越,并且代码优雅。\n至于该类的实际作用后文会解释。\n四、YYTransaction\nYYTransaction 貌似和系统的 CATransaction 很像,他们同为“事务”,但实际上很不一样。通过 CATransaction 的嵌套用法猜测 CATransaction 对任务的管理是使用的一个栈结构,而 YYTransaction 是使用的集合来管理任务。\nYYTransaction 做的事情就是记录一系列事件,并且在合适的时机调用这些事件。\n1、提交任务\nYYTransaction 有两个属性:\n@interface YYTransaction()\n@property (nonatomic, strong) id target;\n@property (nonatomic, assign) SEL selector;\n@end\nstatic NSMutableSet *transactionSet = nil;\n\n很简单,方法接收者 (target) 和方法 (selector),实际上一个 YYTransaction 就是一个任务,而全局区的 transactionSet 集合就是用来存储这些任务。提交方法-commit 不过是初始配置并且将任务装入集合。\n2、合适的回调时机\nstatic void YYTransactionSetup() {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n transactionSet = [NSMutableSet new];\n CFRunLoopRef runloop = CFRunLoopGetMain();\n CFRunLoopObserverRef observer;\n observer = CFRunLoopObserverCreate(CFAllocatorGetDefault(),\n kCFRunLoopBeforeWaiting | kCFRunLoopExit,\n true, // repeat\n 0xFFFFFF, // after CATransaction(2000000)\n YYRunLoopObserverCallBack, NULL);\n CFRunLoopAddObserver(runloop, observer, kCFRunLoopCommonModes);\n CFRelease(observer);\n });\n}\n\n这里在主线程的 RunLoop 中添加了一个 oberver 监听,回调的时机是 kCFRunLoopBeforeWaiting 和 kCFRunLoopExit ,即是主线程 RunLoop 循环即将进入休眠或者即将退出的时候。而该 oberver 的优先级是 0xFFFFFF,优先级在 CATransaction 的后面。\n从这里可以看出,作者使用一个“低姿态”侵入主线程 RunLoop,在处理完重要逻辑(即 CATransaction 管理的绘制任务)之后做异步绘制的事情,这也是作者对优先级的权衡考虑。\n下面看看回调里面做了些什么:\nstatic void YYRunLoopObserverCallBack(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info) {\n if (transactionSet.count == 0) return;\n NSSet *currentSet = transactionSet;\n transactionSet = [NSMutableSet new];\n [currentSet enumerateObjectsUsingBlock:^(YYTransaction *transaction, BOOL *stop) {\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Warc-performSelector-leaks\"\n [transaction.target performSelector:transaction.selector];\n#pragma clang diagnostic pop\n }];\n}\n\n一目了然,只是将集合中的任务分别执行。\n3、自定义 hash 算法\nYYTransaction 类重写了 hash 算法:\n- (NSUInteger)hash {\n long v1 = (long)((void *)_selector);\n long v2 = (long)_target;\n return v1 ^ v2;\n}\n\nNSObject 类默认的 hash 值为 10 进制的内存地址,这里作者将_selector和_target的内存地址进行一个位异或处理,意味着只要_selector和_target地址都相同时,hash 值就相同。\n这么做的意义是什么呢?\n上面有提到一个集合:\nstatic NSMutableSet *transactionSet = nil;\n\n和其他编程语言一样 NSSet 是基于 hash 的集合,它是不能有重复元素的,而判断是否重复毫无疑问是使用 hash。这里将 YYTransaction 的 hash 值依托于_selector和_target的内存地址,那就意味着两点:\n\n同一个 YYTransaction 实例,_selector和_target只要有一个内存地址不同,就会在集合中体现为两个值。\n不同的 YYTransaction 实例,_selector和_target的内存地址都相同,在集合中的体现为一个值。\n\n这样可以避免重复的方法调用。加入transactionSet中的事件会在 Runloop 即将进入休眠或者即将退出时遍历执行,相同的方法接收者 (_target) 和相同的方法 (_selector) 在一个 Runloop 周期内可以视为重复调用。\n举个例子:\n在 YYText 的YYTextView中,主要是为了将自定义的绘制逻辑装入transactionSet,然后在 Runloop 要结束时统一执行,Runloop 回调的优先级避免与系统绘制逻辑竞争资源,使用NSSet合并了一次 Runloop 周期多次的绘制请求为一个。\n五、YYAsyncLayer\n@interface YYAsyncLayer : CALayer\n@property BOOL displaysAsynchronously;\n@end\n\nYYAsyncLayer 继承自 CALayer,对外暴露了一个方法可开闭是否异步绘制。\n1、初始化配置\n- (instancetype)init {\n self = [super init];\n static CGFloat scale; //global\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n scale = [UIScreen mainScreen].scale;\n });\n self.contentsScale = scale;\n _sentinel = [YYSentinel new];\n _displaysAsynchronously = YES;\n return self;\n}\n\n这里设置了YYAsyncLayer的contentsScale为屏幕的scale,该属性是 物理像素 / 逻辑像素,这样可以充分利用不同设备的显示器分辨率,绘制更清晰的图像。但是若contentsGravity设置了可拉伸的类型,CoreAnimation 将会优先满足,而忽略掉contentsScale。\n同时还创建了一个YYSentinel实例。\n@2x和@3x图\n实际上 iPhone4 及其以上的 iPhone 设备scale都是 2 及以上,也就是说至少都是每个逻辑像素长度对应两个物理像素长度。所以很多美工会只切 @2x 和 @3x 图给你,而不切一倍图。\n@2x和@3x图是苹果一个优化显示效果的机制,当 iPhone 设备scale为 2 时会优先读取 @2x 图,当scale为 3 时会优先读取 @3x 图,这就意味着,CALayer的contentsScale要和设备的scale对应才能达到预期的效果(不同设备显示相同的逻辑像素大小)。\n幸运的是,UIView和UIImageView默认处理了它们内部CALayer的contentsScale,所以除非是直接使用CALayer及其衍生类,都不用显式的配置contentsScale。\nUIView如何显示内容\n当我们操作UI时,例如改变frame、更新UIView/CALayer,或者自己去调用setNeedsLayout/setNeedsDisplay方法,UIView会调用-[CALayer setNeedsLayout]/-[CALayer setNeedsDisplay]方法,给layer上打上一个脏标记,意味着需要重绘。但是只有在下一次runloop即将结束的时候才会调用[CALayer display],而这个方法会判断是否实现了displayLayer这个方法,如果没有实现,那么走系统调用,如果实现了就为我们提供了异步绘制的入口。具体可以参看下面的流程图\n\n系统绘制:\n\n我们首先看一下系统绘制,当[CALayer dispaly]方法调用的时候,他会检查-dispalyerLayer方法是否被实现了,若没有实现则我们调用系统的绘制方法。首先 CALayer会生成一个backing store(CGContextRef),每个layer都有一个content,这个content指向的一块缓存称为backing store。如果layer有delegate,则调用delegate的- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx方法,否则调用-[CALayer drawInContext:]方法,进而调用[UIView drawRect:]方法。 UIKit会将这个conext推到系统的context堆栈中,如果在draw rect中通过UIGraphicsGetCurrentContext() 取得的CGContextRef就是CALayer生成的这个实例。所有的绘制操作也会在这块Context上生效。 CPU 执行完draw rect之后,通过context将数据写入backing store。当backing store写完之后,通过rendserver交给GPU去渲染,将backing store中的bitmap数据显示在屏幕上。\n重写绘制方法\n- (void)setNeedsDisplay {\n [self _cancelAsyncDisplay];\n [super setNeedsDisplay];\n}\n- (void)display {\n super.contents = super.contents;\n [self _displayAsync:_displaysAsynchronously];\n}\n\n可以看到两个方法,-_cancelAsyncDisplay是取消绘制,稍后解析实现逻辑;-_displayAsync是异步绘制的核心方法。\n2、YYAsyncLayerDelegate 代理\n@protocol YYAsyncLayerDelegate \n@required\n- (YYAsyncLayerDisplayTask *)newAsyncDisplayTask;\n@end\n\n@interface YYAsyncLayerDisplayTask : NSObject\n@property (nullable, nonatomic, copy) void (^willDisplay)(CALayer *layer);\n@property (nullable, nonatomic, copy) void (^display)(CGContextRef context, CGSize size, BOOL(^isCancelled)(void));\n@property (nullable, nonatomic, copy) void (^didDisplay)(CALayer *layer, BOOL finished);\n@end\n\nYYAsyncLayerDisplayTask是绘制任务管理类,可以通过willDisplay和didDisplay回调将要绘制和结束绘制时机,最重要的是display,需要实现这个代码块,在代码块里面写业务绘制逻辑。\n这个代理实际上就是框架和业务交互的桥梁,不过这个设计笔者个人认为有一些冗余,这里如果直接通过代理方法与业务交互而不使用中间类可能看起来更舒服。\n3、异步绘制的核心逻辑\n删减了部分代码:\n- (void)_displayAsync:(BOOL)async {\n __strong id delegate = self.delegate;\n YYAsyncLayerDisplayTask *task = [delegate newAsyncDisplayTask];\n ...\n dispatch_async(YYAsyncLayerGetDisplayQueue(), ^{\n if (isCancelled()) return;\n UIGraphicsBeginImageContextWithOptions(size, opaque, scale);\n CGContextRef context = UIGraphicsGetCurrentContext();\n task.display(context, size, isCancelled);\n if (isCancelled()) {\n UIGraphicsEndImageContext();\n dispatch_async(dispatch_get_main_queue(), ^{\n if (task.didDisplay) task.didDisplay(self, NO);\n });\n return;\n }\n UIImage *image = UIGraphicsGetImageFromCurrentImageContext();\n UIGraphicsEndImageContext();\n if (isCancelled()) {\n dispatch_async(dispatch_get_main_queue(), ^{\n if (task.didDisplay) task.didDisplay(self, NO);\n });\n return;\n }\n dispatch_async(dispatch_get_main_queue(), ^{\n if (isCancelled()) {\n if (task.didDisplay) task.didDisplay(self, NO);\n } else {\n self.contents = (__bridge id)(image.CGImage);\n if (task.didDisplay) task.didDisplay(self, YES);\n }\n });\n });\n ...\n}\n\n先不用管 YYAsyncLayerGetDisplayQueue()方法如何获取的异步队列,也先不用管isCancelled()判断做的一些提前结束绘制的逻辑,这些后面会讲。\n那么,实际上核心代码可以更少:\n- (void)_displayAsync:(BOOL)async {\n ...\n dispatch_async(YYAsyncLayerGetDisplayQueue(), ^{\n UIGraphicsBeginImageContextWithOptions(size, opaque, scale);\n CGContextRef context = UIGraphicsGetCurrentContext();\n task.display(context, size, isCancelled);\n UIImage *image = UIGraphicsGetImageFromCurrentImageContext();\n UIGraphicsEndImageContext();\n dispatch_async(dispatch_get_main_queue(), ^{\n self.contents = (__bridge id)(image.CGImage);\n });\n }];\n ...\n}\n\n此时就很清晰了,在异步线程创建一个位图上下文,调用task的display代码块进行绘制(业务代码),然后生成一个位图,最终进入主队列给YYAsyncLayer的contents赋值CGImage由 GPU 渲染过后提交到显示系统。\n4、及时的结束无用的绘制\n针对同一个YYAsyncLayer,很有可能新的绘制请求到来时,当前的绘制任务还未完成,而当前的绘制任务是无用的,会继续消耗过多的 CPU (GPU) 资源。当然,这种场景主要是出现在列表界面快速滚动时,由于视图的复用机制,导致重新绘制的请求非常频繁。\n为了解决这个问题,作者使用了大量的判断来及时的结束无用的绘制,可以看看源码或者是上文贴出的异步绘制核心逻辑代码,会发现一个频繁的操作:\nif (isCancelled()) {...}\n\n看看这个代码块的实现:\nYYSentinel *sentinel = _sentinel;\nint32_t value = sentinel.value;\nBOOL (^isCancelled)(void) = ^BOOL() {\n return value != sentinel.value;\n};\n\n这就是YYSentinel计数类起作用的时候了,这里用一个局部变量value来保持当前绘制逻辑的计数值,保证其他线程改变了全局变量_sentinel的值也不会影响当前的value;若当前value不等于最新的_sentinel .value时,说明当前绘制任务已经被放弃,就需要及时的做返回逻辑。\n那么,何时改变这个计数?\n- (void)setNeedsDisplay {\n [self _cancelAsyncDisplay];\n [super setNeedsDisplay];\n}\n- (void)_cancelAsyncDisplay {\n [_sentinel increase];\n}\n\n很明显,在提交重绘请求时,计数器加一。\n5、异步线程的管理\n去除了判断 YYDispatchQueuePool 库是否存在的代码,实际上那就是作者提取的队列管理封装,思想和以下代码一样。\nstatic dispatch_queue_t YYAsyncLayerGetDisplayQueue() {\n//最大队列数量\n#define MAX_QUEUE_COUNT 16\n//队列数量\n static int queueCount;\n//使用栈区的数组存储队列\n static dispatch_queue_t queues[MAX_QUEUE_COUNT];\n static dispatch_once_t onceToken;\n static int32_t counter = 0;\n dispatch_once(&onceToken, ^{\n//要点 1 :串行队列数量和处理器数量相同\n queueCount = (int)[NSProcessInfo processInfo].activeProcessorCount;\n queueCount = queueCount MAX_QUEUE_COUNT ? MAX_QUEUE_COUNT : queueCount;\n//要点 2 :创建串行队列,设置优先级\n if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {\n for (NSUInteger i = 0; i \n要点 1 :串行队列数量和处理器数量相同\n首先要明白,并发 和 并行 的区别:\n 并行一定并发,并发不一定并行。在单核设备上,CPU通过频繁的切换上下文来运行不同的线程,速度足够快以至于我们看起来它是‘并行’处理的,然而我们只能说这种情况是并发而非并行。例如:你和两个人一起百米赛跑,你一直在不停的切换跑道,而其他两人就在自己的跑道上,最终,你们三人同时到达了终点。我们把跑道看做任务,那么,其他两人就是并行执行任务的,而你只能的说是并发执行任务。\n所以,实际上一个 n 核设备同一时刻最多能 并行 执行 n 个任务,也就是最多有 n 个线程是相互不竞争 CPU 资源的。\n当你开辟的线程过多,超过了处理器核心数量,实际上某些并行的线程之间就可能竞争同一个处理器的资源,频繁的切换上下文也会消耗处理器资源。\n所以,笔者认为:超过处理器核心数量的线程没有处理速度上的优势,只是在业务上便于管理,并且能最大化的利用处理器资源。\n(也是一个核心原理)\n而串行队列中只有一个线程,\n该框架中,作者使用和处理器核心相同数量的串行队列来轮询处理异步任务,有效的减少了线程调度操作。\n要点 2 :创建串行队列,设置优先级\n在 8.0 以上的系统,队列的优先级为 QOS_CLASS_USER_INITIATED,低于用户交互相关的QOS_CLASS_USER_INTERACTIVE。\n在 8.0 以下的系统,通过dispatch_set_target_queue()函数设置优先级为DISPATCH_QUEUE_PRIORITY_DEFAULT(第二个参数如果使用串行队列会强行将我们创建的所有线程串行执行任务)。\n可以猜测主队列的优先级是大于或等于QOS_CLASS_USER_INTERACTIVE的,让这些串行队列的优先级低于主队列,避免框架创建的线程和主线程竞争资源。\n关于两种类型优先级的对应关系是这样的:\n * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED\n * - DISPATCH_QUEUE_PRIORITY_DEFAULT: QOS_CLASS_DEFAULT\n * - DISPATCH_QUEUE_PRIORITY_LOW: QOS_CLASS_UTILITY\n * - DISPATCH_QUEUE_PRIORITY_BACKGROUND: QOS_CLASS_BACKGROUND\n\n要点 3 :轮询返回队列\n使用原子自增函数OSAtomicIncrement32()对局部静态变量counter进行自增,然后通过取模运算轮询返回队列。\n注意这里使用了一个判断:if (cur ,当cur自增越界时就会变为负数最大值(在二进制层面,是用正整数的反码加一来表示其负数的)。\n为什么要使用 n 个串行队列实现并发\n可能有人会有疑惑,为什么这里需要使用 n 个串行队列来调度,而不用一个并行队列。\n主要是因为并行队列无法精确的控制线程数量,很有可能创建过多的线程,导致 CPU 线程调度过于频繁,影响交互性能。\n可能会想到用信号量 (dispatch_semaphore_t) 来控制并发,然而这样只能控制并发的任务数量,而不能控制线程数量,并且使用起来不是很优雅。而使用串行队列就很简单了,我们可以很明确的知道自己创建的线程数量,一切皆在掌控之中。\nReference\n1. YYAsyncLayer 源码剖析:异步绘制\n2. iOS 异步绘制\n"},"iOS/SourceCode/FluentDarkModeKit.html":{"url":"iOS/SourceCode/FluentDarkModeKit.html","title":"FluentDarkModeKit ","keywords":"","body":"FluentDarkModeKit\nNSProxy\nNSProxy 是少数不继承自 NSObject 的类型。\n在该框架中 NSProxy 承载了两种模式下的不同颜色和不同图片。\n颜色 UIColor\nFluentDarkModeKit 声明了DMDynamicColor 类,\nNS_SWIFT_NAME(DynamicColor)\n@interface DMDynamicColor : UIColor\n\n@property (nonatomic, readonly) UIColor *lightColor;\n@property (nonatomic, readonly) UIColor *darkColor;\n\n- (instancetype)initWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor;\n\n@end\n\n在 .h 文件中,我们可以看出 DMDynamicColor 继承子 UIColor,但是在 .m 中,我们可以看出它真正创建的是一个 DMDynamicColorProxy。\n@interface DMDynamicColorProxy : NSProxy \n\n- (UIColor *)initWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor {\n return (DMDynamicColor *)[[DMDynamicColorProxy alloc] initWithLightColor:lightColor darkColor:darkColor];\n}\n\n@end\n\nDMDynamicColorProxy 继承自 NSProxy,它将所有的事件转发到 resolvedColor ,而 resolvedColor 是根据当前系统的模式返回的 lightColor 或者 darkColor。这样 DMDynamicColorProxy 对外的表现就是一个 UIColor,并且可以根据系统的模式返回对应的颜色。\n@interface DMDynamicColorProxy : NSProxy \n\n@property (nonatomic, strong) UIColor *lightColor;\n@property (nonatomic, strong) UIColor *darkColor;\n\n@property (nonatomic, readonly) UIColor *resolvedColor;\n\n@end\n\n@implementation DMDynamicColorProxy\n\n// TODO: We need a more generic initializer.\n- (instancetype)initWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor {\n self.lightColor = lightColor;\n self.darkColor = darkColor;\n\n return self;\n}\n\n- (UIColor *)resolvedColor {\n if (DMTraitCollection.currentTraitCollection.userInterfaceStyle == DMUserInterfaceStyleDark) {\n return self.darkColor;\n } else {\n return self.lightColor;\n }\n}\n\n// MARK: UIColor\n\n- (UIColor *)colorWithAlphaComponent:(CGFloat)alpha {\n return [[DMDynamicColor alloc] initWithLightColor:[self.lightColor colorWithAlphaComponent:alpha]\n darkColor:[self.darkColor colorWithAlphaComponent:alpha]];\n}\n\n// MARK: NSProxy\n\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel {\n return [self.resolvedColor methodSignatureForSelector:sel];\n}\n\n- (void)forwardInvocation:(NSInvocation *)invocation {\n [invocation invokeWithTarget:self.resolvedColor];\n}\n\n// MARK: NSObject\n\n- (BOOL)isKindOfClass:(Class)aClass {\n static DMDynamicColor *dynamicColor = nil;\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n dynamicColor = [[DMDynamicColor alloc] init];\n });\n return [dynamicColor isKindOfClass:aClass];\n}\n\n// MARK: NSCopying\n\n- (id)copy {\n return [self copyWithZone:nil];\n}\n\n- (id)copyWithZone:(NSZone *)zone {\n return [[DMDynamicColorProxy alloc] initWithLightColor:self.lightColor darkColor:self.darkColor];\n}\n\n@end\n\n注意:对于 UIColor 的方法中返回值为 UIColor 的,DMDynamicColorProxy 都进行了实现,目的就是当 UIColor 在调用这些方法时,返回的类型依然为 DMDynamicColorProxy。\n图片 UIImage\n和颜色的实现原理一样,也声明了 DMDynamicImageProxy,由 resolvedImage 根据当前的模式返回 lightImage 或者 darkImage。\n@interface DMDynamicImageProxy : NSProxy\n\n@property (nonatomic, readonly) UIImage *resolvedImage;\n\n- (instancetype)initWithLightImage:(UIImage *)lightImage darkImage:(UIImage *)darkImage;\n\n@end\n\n在具体的实现中,DMDynamicImageProxy 也是将事件转发到 resolvedImage,这样在外界看来 DMDynamicImageProxy 的表现就是 UIImage,但是可以根据当前的模式返回不同的 Image。\n注意:对于 UIImage 的方法中返回值为 UIImage 的,DMDynamicImageProxy 都进行了实现,目的就是当 UIImage 在调用这些方法时,返回的类型依然为 DMDynamicImageProxy。\n替换设置方法\n我们先来看一个小测试,同一个颜色(实际类型为 DMDynamicColorProxy)赋值给 view 的 backgroundColor 和 button 的 titleColor 后,再和原来的颜色进行对比,结果是否相等?\nlet color = UIColor(.dm, light: .white, dark: .black)\nview.backgroundColor = color\nif view.backgroundColor == color {\n debugPrint(\"equal\")\n} else {\n debugPrint(\"not equal\")\n}\n\nlet button = UIButton()\nbutton.setTitleColor(color, for: .normal)\nif button.titleColor(for: .normal) == color {\n debugPrint(\"equal\")\n} else {\n debugPrint(\"not equal\")\n}\n\n输出:\nnot equal\nequal\n\n也就是说,同样是给颜色进行赋值,但是 Apple 的处理是不一样的,有的和被赋予的值一致,有的则不一致。(应该是有些赋值会对颜色进行拷贝)\n如果使用 DMDynamicColorProxy 对一个颜色进行赋值,再取出时类型却变成 UIColor 的,它就丢失了 lightColor 和 darkColor。对于这种属性设置,需要在设置 DMDynamicColorProxy 时进行保存。\n所以 FluentDarkModeKit 对这类的属性进行了替换,例如 setTintColor:\nextension UIView {\n private struct Constants {\n static var dynamicTintColorKey = \"dynamicTintColorKey\"\n }\n\n // 转化 setter: tintColor 的方法\n // 设置的时候,记录 dm_dynamicTintColor\n static let swizzleSetTintColorOnce: Void = {\n if !dm_swizzleInstanceMethod(#selector(setter: tintColor), to: #selector(dm_setTintColor)) {\n assertionFailure(DarkModeManager.messageForSwizzlingFailed(class: UIView.self, selector: #selector(setter: tintColor)))\n }\n }()\n\n private var dm_dynamicTintColor: DynamicColor? {\n get {\n return objc_getAssociatedObject(self, &Constants.dynamicTintColorKey) as? DynamicColor\n }\n set {\n objc_setAssociatedObject(self, &Constants.dynamicTintColorKey, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC)\n }\n }\n\n @objc private dynamic func dm_setTintColor(_ color: UIColor) {\n dm_dynamicTintColor = color as? DynamicColor\n dm_setTintColor(color)\n }\n}\n\n其他方法的替换\nwillMove(toWindow:)\n页面上显示的 view 可以通过 subviews,一层一层的获取到,然后根据当前的模式进行修改颜色。对于不在页面上显示的 view,只能通过替换 willMove(toWindow:) 方法,在添加到 window 时更新当前模式对应的颜色和图片。\nextension UIView {\n // 调用 willMove(toWindow:) 的时候:\n // 1. dm_updateDynamicColors\n // 2. dm_updateDynamicImages\n static let swizzleWillMoveToWindowOnce: Void = {\n if !dm_swizzleInstanceMethod(#selector(willMove(toWindow:)), to: #selector(dm_willMove(toWindow:))) {\n assertionFailure(DarkModeManager.messageForSwizzlingFailed(class: UIView.self, selector: #selector(willMove(toWindow:))))\n }\n }()\n\n @objc private dynamic func dm_willMove(toWindow window: UIWindow?) {\n dm_willMove(toWindow: window)\n if window != nil {\n dm_updateDynamicColors()\n dm_updateDynamicImages()\n }\n }\n}\n\nsetBackgroundColor\n替换 setBackgroundColor 有点特殊,替换代码如下:\n@implementation UIView (DarkModeKit)\n\nstatic void (*dm_original_setBackgroundColor)(UIView *, SEL, UIColor *);\n\n\n/// 设置背景色\nstatic void dm_setBackgroundColor(UIView *self, SEL _cmd, UIColor *color) {\n // 记录\n if ([color isKindOfClass:[DMDynamicColor class]]) {\n self.dm_dynamicBackgroundColor = (DMDynamicColor *)color;\n } else {\n self.dm_dynamicBackgroundColor = nil;\n }\n // 设置\n dm_original_setBackgroundColor(self, _cmd, color);\n}\n\n// https://stackoverflow.com/questions/42677534/swizzling-on-properties-that-conform-to-ui-appearance-selector\n+ (void)dm_swizzleSetBackgroundColor {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n Method method = class_getInstanceMethod(self, @selector(setBackgroundColor:));\n dm_original_setBackgroundColor = (void *)method_getImplementation(method);\n method_setImplementation(method, (IMP)dm_setBackgroundColor);\n });\n}\n\n- (DMDynamicColor *)dm_dynamicBackgroundColor {\n return objc_getAssociatedObject(self, _cmd);\n}\n\n- (void)setDm_dynamicBackgroundColor:(DMDynamicColor *)dm_dynamicBackgroundColor {\n objc_setAssociatedObject(self,\n @selector(dm_dynamicBackgroundColor),\n dm_dynamicBackgroundColor,\n OBJC_ASSOCIATION_COPY_NONATOMIC);\n}\n\n@end\n\n命名空间\nFluentDarkModeKit 对 UIColor 和 UIImage 的初始化方法进行了扩展,为了避免冲突,在 Object-C 中添加了 dm_ 的前缀,在 swift 中,在初始化方法前面添加了一个自定义的枚举 DMNamespace 参数。\nUIColor\nNS_ASSUME_NONNULL_BEGIN\n\n@interface UIColor (DarkModeKit)\n\n+ (UIColor *)dm_colorWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor\nNS_SWIFT_UNAVAILABLE(\"Use init(_:light:dark:) instead.\");\n\n#if __swift__\n+ (UIColor *)dm_namespace:(DMNamespace)namespace\n colorWithLightColor:(UIColor *)lightColor\n darkColor:(UIColor *)darkColor NS_SWIFT_NAME(init(_:light:dark:));\n#endif\n\n@end\n\nNS_ASSUME_NONNULL_END\n\nUIImage\nNS_ASSUME_NONNULL_BEGIN\n\n@interface UIImage (DarkModeKit)\n\n+ (UIImage *)dm_imageWithLightImage:(UIImage *)lightImage darkImage:(UIImage *)darkImage\nNS_SWIFT_UNAVAILABLE(\"Use init(_:light:dark:) instead.\");\n\n#if __swift__\n+ (UIImage *)dm_namespace:(DMNamespace)namespace\n imageWithLightImage:(UIImage *)lightImage\n darkImage:(UIImage *)darkImage NS_SWIFT_NAME(init(_:light:dark:));\n#endif\n\n@end\n\nNS_ASSUME_NONNULL_END\n\n在 Object-C 的代码中,通过 #if __swift__ 来判断编译环境,通过 NS_SWIFT_NAME(init(_:light:dark:)) 来指定在 swift 中的方面名称。\n注意:这种形式,并没有起到命名空间的作用。在代码中,依然可以定义相同的方法:\nimport FluentDarkModeKit\n\nextension UIColor {\n convenience init(_ name: DMNamespace, light: UIColor, dark: UIColor) {\n self.init(white: 0, alpha: 1.0)\n }\n}\n\n这样就覆盖了 FluentDarkModeKit 框架中的方法。虽然在实际的编程中都不会这样做。\n总结:\nFluentDarkModeKit 利用 NSProxy 动态消息转发思想,当切换主题色时候,从 UIApplication开始往下遍历到每个 UIView上,执行 FluentDarkModeKit的代理 dmTraitCollectionDidChange ,重新赋值 View等一系列控件颜色, 赋予的是一个 NSProxy类,类中包含两种UIColor颜色,利用这个动态消息转发,根据当前主题颜色,返回不同颜色 UIColor 做最终的处理结果\nReference\n1.FluentDarkModeKit 微软的暗黑模式适配框架\n"},"iOS/SourceCode/KTVHttpCache.html":{"url":"iOS/SourceCode/KTVHttpCache.html","title":"KTVHttpCache","keywords":"","body":"KTVHttpCache\n目前iOS端比较常见的视频缓存的实现方式主要有两种:\n 1、使用iOS自带的AVURLAsset的AVAssetResourceLoader来实现。\n 2、在客户端搭建local服务器,local服务器作为中间者,代替客户端请求服务器数据,并将获取到的数据缓存,再提供给客户端。\n 我们项目里使用的是KTVHTTPCache来实现视频缓存,KTVHTTPCache的实现方式就是第二种,项目地址:(https://github.com/ChangbaDevs/KTVHTTPCache)。\n具体实现:\nKTVHTTPCache的使用比较简单:\nNSURL *proxyURL = [KTVHTTPCache proxyURLWithOriginalURL:originalURL];\nAVPlayer *player = [AVPlayer playerWithURL:proxyURL];\n\n可以看出,它是将源视频的URL替换成了自己定义格式的URL,这时我们其实请求的就是local服务器了。\n 核心的流程大概是这样:\n\n\nKTVHTTPCache 由 HTTP Server 和 Data Storage 两大模块组成。前者负责与 Client 交互,后者负责资源加载及缓存处理。\n几个核心类实现:\n1、KTVHCHTTPServer:\n 用来搭建local server的,内部使用第三方库HTTPServer实现:\n 创建自己的Connection类继承自HTTPConnection\n\n@interface KTVHCHTTPConnection : HTTPConnection\n\n重写子类方法,返回相应的response类\n- (NSObject *)httpResponseForMethod:(NSString *)method URI:(NSString *)path\n{\n KTVHCLogHTTPConnection(@\"%p, Receive request\\nmethod : %@\\npath : %@\\nURL : %@\", self, method, path, request.url);\n NSDictionary *parameters = [[KTVHCURLTool tool] parseQuery:request.url.query];\n NSURL *URL = [NSURL URLWithString:[parameters objectForKey:@\"url\"]];\n KTVHCDataRequest *dataRequest = [[KTVHCDataRequest alloc] initWithURL:URL headers:request.allHeaderFields];\n KTVHCHTTPResponse *response = [[KTVHCHTTPResponse alloc] initWithConnection:self dataRequest:dataRequest];\n return response;\n}\n\n创建response作为Local Server数据返回体,遵循HTTPResponse协议,实现协议方法\n@interface KTVHCHTTPResponse : NSObject \n\n实现协议方法\n#pragma mark - HTTPResponse\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n \"读取数据最开始的入口\"\n NSData *data = [self.reader readDataOfLength:length];\n KTVHCLogHTTPResponse(@\"%p, Read data : %lld\", self, (long long)data.length);\n if (self.reader.isFinished) {\n KTVHCLogHTTPResponse(@\"%p, Read data did finished\", self);\n [self.reader close];\n [self.connection responseDidAbort:self];\n }\n return data;\n}\n………………(省略,节省篇幅)\n\n这样,当本地发生请求时,就会获取KTVHCHTTPResponse内部方法返回的数据。\n 2、KTVHCDataReader和KTVHCDataSourceManager\n 从服务器返回类可以看到,数据的入口是从KTVHCDataReader的readDataOfLength获取的。\n#pragma mark - KTVHCDataReader\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n [self lock];\n if (self.isClosed) {\n [self unlock];\n return nil;\n }\n if (self.isFinished) {\n [self unlock];\n return nil;\n }\n if (self.error) {\n [self unlock];\n return nil;\n }\n NSData *data = [self.sourceManager readDataOfLength:length];\n if (data.length > 0) {\n self->_readedLength += data.length;\n if (self.response.contentLength > 0) {\n self->_progress = (double)self.readedLength / (double)self.response.contentLength;\n }\n }\n KTVHCLogDataReader(@\"%p, Read data : %lld\", self, (long long)data.length);\n if (self.sourceManager.isFinished) {\n KTVHCLogDataReader(@\"%p, Read data did finished\", self);\n self->_finished = YES;\n [self close];\n }\n [self unlock];\n return data;\n}\n\n从这个方法里我们可以看到,读取数据又走到了KTVHCDataSourceManager中去。\n#pragma mark - KTVHCDataReader\n- (void)prepareSourceManager\n{\n \"两个数组保存两种数据来源\"\n NSMutableArray *fileSources = [NSMutableArray array];\n NSMutableArray *networkSources = [NSMutableArray array];\n long long min = self.request.range.start;\n long long max = self.request.range.end;\n NSArray *unitItems = self.unit.unitItems;\n for (KTVHCDataUnitItem *item in unitItems) {\n long long itemMin = item.offset;\n long long itemMax = item.offset + item.length - 1;\n if (itemMax max) {\n continue;\n }\n if (min > itemMin) {\n itemMin = min;\n }\n if (max 0) {\n KTVHCRange range = KTVHCMakeRange(offset, offset + delta - 1);\n KTVHCDataRequest *request = [self.request newRequestWithRange:range];\n KTVHCDataNetworkSource *source = [[KTVHCDataNetworkSource alloc] initWithRequest:request];\n [networkSources addObject:source];\n offset += delta;\n length -= delta;\n }\n offset += KTVHCRangeGetLength(obj.readRange);\n length -= KTVHCRangeGetLength(obj.readRange);\n } \n\n if (length > 0) {\n KTVHCRange range = KTVHCMakeRange(offset, self.request.range.end);\n KTVHCDataRequest *request = [self.request newRequestWithRange:range];\n KTVHCDataNetworkSource *source = [[KTVHCDataNetworkSource alloc] initWithRequest:request];\n [networkSources addObject:source];\n }\n NSMutableArray> *sources = [NSMutableArray array];\n [sources addObjectsFromArray:fileSources];\n [sources addObjectsFromArray:networkSources];\n self.sourceManager = [[KTVHCDataSourceManager alloc] initWithSources:sources delegate:self delegateQueue:self.internalDelegateQueue];\n [self.sourceManager prepare];\n}\n\n看到KTVHCDataSourceManager的初始化过程, 可以看出其实正常获取数据的是KTVHCDataFileSource和KTVHCDataNetworkSource两个类。\n 再看一下KTVHCDataSourceManager的readDataOfLength方法:\n#pragma mark - KTVHCDataSourceManager\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n [self lock];\n if (self.isClosed) {\n [self unlock];\n return nil;\n }\n if (self.isFinished) {\n [self unlock];\n return nil;\n }\n if (self.error) {\n [self unlock];\n return nil;\n }\n \"从Source里读取数据\"\n NSData *data = [self.currentSource readDataOfLength:length];\n\n self->_readedLength += data.length;\n KTVHCLogDataSourceManager(@\"%p, Read data : %lld\", self, (long long)data.length);\n if (self.currentSource.isFinished) {\n \"一个source读完,切换到下一个Source\"\n self.currentSource = [self nextSource];\n if (self.currentSource) {\n KTVHCLogDataSourceManager(@\"%p, Switch to next source, %@\", self, self.currentSource);\n if ([self.currentSource isKindOfClass:[KTVHCDataFileSource class]]) {\n [self.currentSource prepare];\n }\n } else {\n KTVHCLogDataSourceManager(@\"%p, Read data did finished\", self);\n self->_finished = YES;\n }\n }\n [self unlock];\n return data;\n}\n\n**KTVHCDataNetworkSource和KTVHCDataFileSource\n 从名字就可以看出:这两个类,一个是负责从直接从本地文件提供数据,一个是负责从网络读取之后提供数据\n KTVHCDataFileSource的readDataOfLength实现比较明显,就是单纯从文件里读取数据。\n 看下KTVHCDataNetworkSource:\n- (void)ktv_download:(KTVHCDownload *)download didReceiveResponse:(KTVHCDataResponse *)response\n{\n [self lock];\n if (self.isClosed || self.error) {\n [self unlock];\n return;\n }\n self->_response = response;\n NSString *path = [KTVHCPathTool filePathWithURL:self.request.URL offset:self.request.range.start];\n self.unitItem = [[KTVHCDataUnitItem alloc] initWithPath:path offset:self.request.range.start];\n KTVHCDataUnit *unit = [[KTVHCDataUnitPool pool] unitWithURL:self.request.URL];\n [unit insertUnitItem:self.unitItem];\n KTVHCLogDataNetworkSource(@\"%p, Receive response\\nResponse : %@\\nUnit : %@\\nUnitItem : %@\", self, response, unit, self.unitItem);\n [unit workingRelease];\n \"创建了两个文件句柄,读和写。\"\n self.writingHandle = [NSFileHandle fileHandleForWritingAtPath:self.unitItem.absolutePath];\n self.readingHandle = [NSFileHandle fileHandleForReadingAtPath:self.unitItem.absolutePath];\n [self callbackForPrepared];\n [self unlock];\n}\n\n- (void)ktv_download:(KTVHCDownload *)download didReceiveData:(NSData *)data\n{\n [self lock];\n if (self.isClosed || self.error) {\n [self unlock];\n return;\n }\n @try {\n \"接收到数据之后,写入文件。\"\n [self.writingHandle writeData:data];\n self.downloadLength += data.length;\n [self.unitItem updateLength:self.downloadLength];\n KTVHCLogDataNetworkSource(@\"%p, Receive data : %lld, %lld, %lld\", self, (long long)data.length, self.downloadLength, self.unitItem.length);\n \"有可用数据了,需要回调通知。\"\n [self callbackForHasAvailableData];\n } @catch (NSException *exception) {\n NSError *error = [KTVHCError errorForException:exception];\n KTVHCLogDataNetworkSource(@\"%p, write exception\\nError : %@\", self, error);\n [self callbackForFailed:error];\n if (!self.downloadCalledComplete) {\n KTVHCLogDataNetworkSource(@\"%p, Cancel download task when write exception\", self);\n [self.downlaodTask cancel];\n self.downlaodTask = nil;\n }\n }\n [self unlock];\n}\n\n可以看出,两个source的实现比较类似,只不过KTVHCDataNetworkSource多了一个从网络获取数据写入文件的步骤,其实最终提供数据还是通过文件读取的方式。\n 一旦有可用数据,就通过delegate的方式一直回调,通知response类有可用数据。\n#pragma mark - KTVHCHTTPResponse\n- (void)ktv_readerDidPrepare:(KTVHCDataReader *)reader\n{\n KTVHCLogHTTPResponse(@\"%p, Prepared\", self);\n if (self.reader.isPrepared && self.waitingResponse == YES) {\n KTVHCLogHTTPResponse(@\"%p, Call connection did prepared\", self);\n [self.connection responseHasAvailableData:self];\n }\n}\n\"这个回调获取有可用的数据的通知。\"\n\n- (void)ktv_readerHasAvailableData:(KTVHCDataReader *)reader\n{\n KTVHCLogHTTPResponse(@\"%p, Has available data\", self);\n \"这个方法就会触发response的readDataOfLength\"\n [self.connection responseHasAvailableData:self];\n}\n\n- (void)ktv_reader:(KTVHCDataReader *)reader didFailWithError:(NSError *)error\n{\n KTVHCLogHTTPResponse(@\"%p, Failed\\nError : %@\", self, error);\n [self.reader close];\n [self.connection responseDidAbort:self];\n}\n\nReference\n1. iOS 视频缓存KTVHTTPCache原理和实现\n2. 读懂「 唱吧KTVHTTPCache 」设计思想\n"},"iOS/SourceCode/SDWebImage.html":{"url":"iOS/SourceCode/SDWebImage.html","title":"SDWebImage","keywords":"","body":"SDWebImage\n一个为UIImageView提供一个分类来支持远程服务器图片加载的库。\n功能简介:\n 1、一个添加了web图片加载和缓存管理的UIImageView分类\n 2、一个异步图片下载器\n 3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片\n 4、支持动态gif图\n 5、支持webP格式的图片\n 6、后台图片解压处理\n 7、确保同样的图片url不会下载多次\n 8、确保伪造的图片url不会重复尝试下载\n 9、确保主线程不会阻塞\nView Category:\n所有控件设置图片的方法,最终都会来到 UIView+WebCache 分类下:\n- (void)sd_internalSetImageWithURL:(nullable NSURL *)url\n placeholderImage:(nullable UIImage *)placeholder\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n setImageBlock:(nullable SDSetImageBlock)setImageBlock\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n\n利用 copy 将 SDWebImageContext 复制并转换为不可变类型。 validOperationKey 值作为校验 id,默认值为当前 view 的类名。\nsd_cancelImageLoadOperationWithKey:取消上一次任务,保证没有当前正在进行的异步下载操作, 不会与即将进行的操作发生冲突。保证当前的控件上有且只有一个最新的任务。\n根据传入的 context(字典) 找到当前 validOperationKey,一般 context 为 nil,会自动创建。然后会将当前实例的类名作为 validOperationKey。\n在 UIView+WebCacheOperation 分类中,设置了一个关联属性 SDOperationsDictionary。它会存储当前实例的所有 operation 操作。\n在实例开始真正的图片请求操作之前,会根据 validOperationKey 获取 operation 操作,如果之前有操作存在,则会取消之前的操作,保证当前实例执行的是最新的 operation。\n\n\n设置占位图。\n重置 NSProgress、 设置 SDWebImageIndicator,并判断是否开启。\n初始化 SDWebImageManager 、SDImageLoaderProgressBlock。\n利用 SDWebImageManager 开启下载 loadImageWithURL: 并将返回的 SDWebImageOperation 存入 sd_operationDictionary,key 为 validOperationKey。\n取到图片后,停止 indicator。调用 sd_setImage: 同时为新的 image 添加 Transition 过渡动画。\n\n说明\nSDOperationsDictionary 是一个 strong——weak 的 NSMapTable,对 operation 拥有一个弱引用,方便 cancel。其强引用由 SDWebImageManager 的 runningOperations 保持。\ntypedef NSMapTable> SDOperationsDictionary;\n\n[[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory \n valueOptions:NSPointerFunctionsWeakMemory \n capacity:0];\n使用weak,在后续operation下载操作回调后,获取这个operation。如果View已经重用或者消失,则不会设置图片避免混乱。\nSDImageManager\n属性介绍\nSDImageManager 是整个框架的中心,所有的处理逻辑都在这里面进行组装、分发。\n@property (nonatomic, class, readonly, nonnull) SDWebImageManager *sharedManager;\n\n@property (weak, nonatomic, nullable) id delegate;\n\n@property (strong, nonatomic, readonly, nonnull) id imageCache; //缓存处理\n\n@property (strong, nonatomic, readonly, nonnull) id imageLoader; //图片下载器\n\n@property (strong, nonatomic, nullable) id transformer; //用于在图像加载完成后进行图像变换,并将变换后的图像存储到缓存中。\n\n@property (nonatomic, strong, nullable) id cacheKeyFilter; //默认情况下,是把 URL.absoluteString 作为 cacheKey ,而如果设置了 fileter 则会对通过 cacheKeyForURL: 对 cacheKey 拦截并进行修改。\n\n@property (nonatomic, strong, nullable) id cacheSerializer; //默认情况下,ImageCache 会直接将 downloadData 进行缓存,而当我们使用其他图片格式进行传输时,例如 WEBP 格式的,那么磁盘中的存储则会按 WEBP 格式来。这会产生一个问题,每次当我们需要从磁盘读取 image 时都需要进行重复的解码操作。而通过 CacheSerializer 可以直接将 downloadData 转换为 JPEG/PNG 的格式的 NSData 缓存,从而提高访问效率。\n\n@property (nonatomic, strong, nullable) id optionsProcessor; //用于全局控制当前管理器的 SDWebImageOptions 和 SDWebImageContext 中的参数。\n\n@property (nonatomic, assign, readonly, getter=isRunning) BOOL running; //标识当前 manager 是否有 operation 正在运行。内部维护了 runningOperations 集合,当数量大于 0 时,说明有操作在执行。\n\n@property (nonatomic, class, nullable) id defaultImageCache; //默认使用 SDImageCache.sharedImageCache。\n\n@property (nonatomic, class, nullable) id defaultImageLoader; //默认使用 SDWebImageDownloader.sharedDownloader。\n\n\n//Delegate\n/**\n 判断当前 url 是否需要下载。默认为 true。\n*/\n- (BOOL)imageManager:(nonnull SDWebImageManager *)imageManager shouldDownloadImageForURL:(nonnull NSURL *)imageURL;\n\n/**\n 当下载失败之后,如果实现了这个代理,则将失败的 url 处理逻辑交给代理处理。\n */\n- (BOOL)imageManager:(nonnull SDWebImageManager *)imageManager shouldBlockFailedURL:(nonnull NSURL *)imageURL withError:(nonnull NSError *)error;\n\n主要方法\n入口\n通过上层 Category 的封装之后,最终图片的加载逻辑会来到 SDWebImageManager 的这个方法:\n- (nullable SDWebImageCombinedOperation *)loadImageWithURL:(nullable NSURL *)url\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nonnull SDInternalCompletionBlock)completedBlock;\n\n@property (strong, nonatomic, nonnull) NSMutableSet *failedURLs;\n@property (strong, nonatomic, nonnull) dispatch_semaphore_t failedURLsLock; // a lock to keep the access to `failedURLs` thread-safe\n@property (strong, nonatomic, nonnull) NSMutableSet *runningOperations;\n@property (strong, nonatomic, nonnull) dispatch_semaphore_t runningOperationsLock; // a lock to keep the access to `runningOperations` thread-safe\n\n这四个是在 SDWebImageManager 的 .m 文件中的 Extension 中声明的。\n\nfailedURLs: 保存了失败的请求 url。\nrunningOperations:会将在上面的方法中会生成的一个 SDWebImageCombinedOperation 实例,保存在集合中。图片加载存在两种情况,一种是直接在缓存中获取,一种是通过网络在下载,都会返回一个 NSOperation 对象,所以 SDWebImageCombinedOperation 实例中有两个属性与之一一对应,方便对两种加载图片的方式进行管理。\n利用信号量 dispatch_semaphore_t 防止多线程竞争。\n\n方法的执行的流程:\n\nurl 合法性判断。因为,这里的 url 是 nullable 的。如果是 NSString 还会将其转换为 NSURL。\n生成 SDWebImageCombinedOperation 实例对象。\nfailedURLs 集合查询。\n若命中,且 options 不为 SDWebImageRetryFailed,则直接返回 operation 并 return。\n若未命中,或者 options 为 SDWebImageRetryFailed。则将 operation 存入 runningOperations。\n\n\n将 options 和 imageContext 封装为 SDWebImageOptionsResult。\n开始缓存查询。\n\n缓存查询\n- (void)callCacheProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation\n url:(nonnull NSURL *)url\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n\n方法的执行的流程:\n\n确定用于查找缓存的实例对象。默认的 [SDImageCache sharedImageCache] 还是由 context 传入 SDWebImageContextImageCache。\n根据 options 参数确定是否需要查找缓存。 SDWebImageFromLoaderOnly\n根据 context 参数 SDWebImageContextQueryCacheType 确定缓存查找的范围。默认为 SDImageCacheTypeAll。\n需要查找缓存。\n根据 url 确定最终查找时使用的 key 值。可能由 cacheKeyFilter 进行变换。开始查找缓存。\n缓存查询结束后。\n判断 operation 是否被 cancel。如果是返回错误并结束。\noperation 正常,进入下载。\n\n\n\n\n不需要查找缓存,直接进入下载。\n\n内存缓存 SDMemoryCache\n\n继承自 NSCache 实现内存缓存。通过双向链表及字典实现 LRU 的缓存策略。内存清理策略:对象数量 count、对象大小 cost 。\n维护了一个 NSMapTable 类型的 weakCache(strong-weak)又存储了一份缓存。\n\n外部传入一个需要缓存的对象时,其引用计数为 1,SDMemoryCache 对其进行缓存时,会强引用被缓存的对象,使它的引用计数变为 2。此时,若 SDMemoryCache 清理了缓存,被缓存对象的引用计数减一,但是它还在内存中,但是,从 SDMemoryCache 中已经取不到这个对象了。为了解决这个问题,SDMemoryCache 在继承自 NSCache 的基础上,维护了一个 NSMapTable 属性 weakCache(stong-weak cache),它会弱引用被缓存对象,当缓存被清理之后,我们还可以在 weakCache 中获取到被缓存对象,就算对象被释放,因为弱引用也不会造成野指针问题。这是典型的 “空间换时间” 的思想。当然,针对 weakCache 的读写安全,也使用了 weakCacheLock (dispatch_semaphore_t)线程锁。\n磁盘缓存\n\n当内存中未命中缓存,则在一个串行队列 ioQueue 中同步或者异步地执行磁盘查询。\n\n// 串行队列\n_ioQueue = dispatch_queue_create(\"com.hackemist.SDImageCache\", DISPATCH_QUEUE_SERIAL);\n\n// 判断是同步查询还是异步查询\nBOOL shouldQueryDiskSync = ((image && options & SDImageCacheQueryMemoryDataSync) ||\n (!image && options & SDImageCacheQueryDiskDataSync));\n\n\n因为磁盘缓存读取时,会产生许多临时变量,为了避免内存过高,使用 @autoreleasepool 包裹磁盘读取的代码。\n只有当从磁盘取到缓存时,才会对图片进行解码。\n利用这个全局声明的变量 SDImageCacheDecodeImageData,进行了图片解码的处理。\n在磁盘中根据 filePath 取出 imageData。\n利用 CGImageSourceCreateWithData 将 imageData 转换为 image。\n利用 SDImageCoderHelper 将 image 强制解码并返回解码后的图片。\n\n\n将解码后的图片缓存到内存缓存中,然后通过 block 回调到 SDWebImageManager。\n\nUIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonnull imageData, \n NSString * _Nonnull cacheKey, \n SDWebImageOptions options, \n SDWebImageContext * _Nullable context);\n\n \n下载数据\n- (void)callDownloadProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation\n url:(nonnull NSURL *)url\n options:(SDWebImageOptions)options\n context:(SDWebImageContext *)context\n cachedImage:(nullable UIImage *)cachedImage\n cachedData:(nullable NSData *)cachedData\n cacheType:(SDImageCacheType)cacheType\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n方法的执行的流程:\n\n确定用于下载的实例对象。默认的 [SDWebImageDownloader sharedDownloader] 还是 由 context 传入 SDWebImageContextImageLoader。\n检查是否需要开启下载。\n\nBOOL shouldDownload = !SD_OPTIONS_CONTAINS(options, SDWebImageFromCacheOnly);\nshouldDownload &= (!cachedImage || options & SDWebImageRefreshCached);\nshouldDownload &= (![self.delegate respondsToSelector:@selector(imageManager:shouldDownloadImageForURL:)] || [self.delegate imageManager:self shouldDownloadImageForURL:url]);\nshouldDownload &= [imageLoader canRequestImageForURL:url];\n\n检查 options 值是否为 SDWebImageFromCacheOnly 或 SDWebImageRefreshCached。\n由代理决定是否需要新建下载任务。\n通过 imageLoader 控制能否支持下载任务。\n\n如果 shouldDownload 为 NO,则结束下载并调用 callCompletionBlockForOperation 与 safelyRemoveOperationFromRunning。此时如果存在 cacheImage 则会随 completionBlock 一起返回。\n\n如果 shouldDownload 为 YES,新建下载任务并将其保存在 combineOperation 的 loaderOperation。在新建任务前,如有取到 cacheImage 且 SDWebImageRefreshCached 为 YES,会将其存入 imageContext (没有则创建 imageContext)。\nSDWebImageDownloader 中,维护了一个 NSOperationQueue 实例 _downloadQueue,默认的最大并发数为 6。还维护了可变字典 _URLOperations,key 为下载 url,value 为下载的 NSOperation 实例。\n_downloadQueue 中利用 NSOperationQueue 的 addDependency 方法,使原队列中 operations 依赖于最新加入的 operation。实现了一个 LILO (后进先出) 的操作队列。\n\n\n在 _URLOperations 中,根据下载 url 获取 operation。\n如果 (operation == nil || operation.isFinished || operation.isCancelled) 则会创建一个新的 operation。 利用 @synchronized 为 operation 添加 block 回调(progressBlock, completedBlock),然后,将 operation 加入到 _URLOperations 字典中。\n否则,重用之前的 operation,利用 @synchronized 为 operation 添加 block 回调(progressBlock, completedBlock),并设置当前 operation 的操作优先级。\n\n\n根据获取到的 operation 生成 SDWebImageDownloadToken 实例并返回。在 SDWebImageDownloaderOperation 的完成回调中,可以看到也使用了 SDImageLoaderDecodeImageData 对图片进行了子线程强制解码并将解码后的 image 返回。\n\n\n\nUIImage * _Nullable SDImageLoaderDecodeImageData(NSData * _Nonnull imageData, \n NSURL * _Nonnull imageURL, \n SDWebImageOptions options, \n SDWebImageContext * _Nullable context);\n\n下载结束后回到 callBack,这里会先处理几种情况:\noperation 被 cancel 则抛弃下载的 image、data ,callCompletionBlock 结束下载。\nreqeust 被 cancel 导致的 error,callCompletionBlock 结束下载。\nimageRefresh 后请求结果仍旧命中了 NSURLCache 缓存,则不会调用 callCompletionBlock。\nerror 出错,callCompletionBlockForOperation 并将 url 添加至 failedURLs。\n均无以上情况,如果是通过 retry 成功的,会先将 url 从 failedURLs 中移除,调用 storeCacheProcess。\n最后会对标记为 finished。执行 safelyRemoveOperation。\n\n\n\n缓存数据\n- (void)callStoreCacheProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation\n url:(nonnull NSURL *)url\n options:(SDWebImageOptions)options\n context:(SDWebImageContext *)context\n downloadedImage:(nullable UIImage *)downloadedImage\n downloadedData:(nullable NSData *)downloadedData\n finished:(BOOL)finished\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n方法的执行的流程:\n\n先从 imageContext 中取出 storeCacheType、originalStoreCacheType、transformer、cacheSerializer,判断是否需要存储转换后图像数据、原始数据、等待缓存存储结束。\n检查是否需要缓存原始数据 shouldCacheOriginal。\nshouldCacheOriginal = YES:先确认存储类型是否为原始数据,存储时如果 cacheSerializer 存在则会先转换数据格式,最终都调用 [self stroageImage:] 将数据存入缓存,并进入 image transformer。\nshouldCacheOriginal = NO:直接进入 image transformer。\n\n\n\nSDWebImage常见问题\na. 如何避免同一时间多个请求,请求同一张图片下载多次问题。\nb. 如何解决TableViewCell 复用时导致的图片展示错乱问题。\n当我们使用SDWebImage加载图片时需要调用如下方法:\n- (void)sd_setImageWithURL:(nullable NSURL *)url {\n [self sd_setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:nil];\n}\n之后进行一系列的传递会传递到最深层的方法:\n- (void)sd_setImageWithURL:(nullable NSURL *)url placeholderImage:(nullable UIImage *)placeholder\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDExternalCompletionBlock)completedBlock {\n [self sd_internalSetImageWithURL:url placeholderImage:placeholder options:options context:context setImageBlock:nil \n progress:progressBlock \n completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, \n SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {\n if (completedBlock) {\n completedBlock(image, error, cacheType, imageURL);\n }\n }];\n}\n可以看到,这个方法里面调用了UIView+Webcache分类里面的一个方法:\n- (void)sd_internalSetImageWithURL:(nullable NSURL *)url placeholderImage:(nullable UIImage *)placeholder\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n setImageBlock:(nullable SDSetImageBlock)setImageBlock\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock {\n ......\n }\n这个方法就是我们加载图片的正式入口方法。下面我们看一下这个方法里面都主要做了什么。\n第一步,根据validOperationKey 取消掉正在执行的操作operation如下调用:\nNSString *validOperationKey = context[SDWebImageContextSetImageOperationKey];\nif (!validOperationKey) {\n validOperationKey = NSStringFromClass([self class]);\n}\nself.sd_latestOperationKey = validOperationKey;\n[self sd_cancelImageLoadOperationWithKey:validOperationKey];\nsd_cancelImageLoadOperationWithKey: 方法的内部实现会查询到已经存在的同名任务,并且会取消掉这个任务,并在当前view的operationDictionary 容器中移除掉。源码如下:\n- (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key {\nif (key) {\n // Cancel in progress downloader from queue\n SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];\n id operation;\n\n @synchronized (self) {\n operation = [operationDictionary objectForKey:key];\n }\n if (operation) {\n if ([operation conformsToProtocol:@protocol(SDWebImageOperation)]) {\n [operation cancel];\n }\n @synchronized (self) {\n [operationDictionary removeObjectForKey:key];\n }\n }\n }\n}\n这里需要说明一下:[self sd_operationDictionary]这个调用,这个方法的实现是给当前View通过关联对象的技术关联了一个NSMapTable对象,用来存储请求链接接对应的请求操作类型如NSMapTable。源码如下:\n- (SDOperationsDictionary *)sd_operationDictionary {\n @synchronized(self) {\n SDOperationsDictionary *operations = objc_getAssociatedObject(self, &loadOperationKey);\n if (operations) {\n return operations;\n }\n operations = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsWeakMemory capacity:0];\n objc_setAssociatedObject(self, &loadOperationKey, operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n return operations;\n }\n}\n绕了这么大一圈,你可能会问,为什么一上来要调用sd_cancelImageLoadOperationWithKey:这个方法?通过上面的源码分析SDWebImage这样设计是为了解决TableViewCell复用时,如果被复用的Cell的ImageView请求的图片没有回调时展示图片错乱的问题。原理就是如果被复用的Cell的ImageView之前请求的图片还没有回调,而此时需要请求新的图片,那么就取消掉之前的请求operation,并从operationDictionary中移除掉。然后去加载需要加载的新图片。如果说,之前的图片请求在这之后回调回来的话,会判断之前请求的operation是否存在,以及operation的isCancel属性,如果不存在或者isCancel=Yes的话,就不会回调到UI界面。也就是如下代码逻辑:\n@weakify(operation);\noperation.loaderOperation = [self.imageLoader requestImageWithURL:url options:options context:context progress:progressBlock completed:^(UIImage *downloadedImage, NSData *downloadedData, NSError *error, BOOL finished) {\n @strongify(operation);\n if (!operation || operation.isCancelled) {\n // Do nothing if the operation was cancelled\n // See #699 for more details\n // if we would call the completedBlock, there could be a race condition between this block and another completedBlock for the same object, so if this one is called second, we will overwrite the new data\n }\n说了这么多,相信应该清楚为什么要调用sd_cancelImageLoadOperationWithKey:方法了,我们接着回到sd_internalSetImageWithURL:方法中,cancel之后就会清掉当前imageView上次下载的图片:\nif (!(options & SDWebImageDelayPlaceholder)) {\n dispatch_main_async_safe(^{\n [self sd_setImage:placeholder imageData:nil basedOnClassOrViaCustomSetImageBlock:setImageBlock cacheType:SDImageCacheTypeNone imageURL:url];\n });\n}\n这里可以解释,复用的时候,已经展示过图片的imageView为什么在被复用的时候没有展示之前存在的图片而是展示placeholer或者不展示的原因。\n接下来,就是判断我们传入的url是否合法,以及设置UIImageView的加载指示器,还有加载进度block,此处不做详细说明了。我们着重看加载图片的方法:\nid operation = [manager loadImageWithURL:url options:options context:context progress:combinedProgressBlock completed:^(UIImage *image, NSData *data, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {\n ......\n}\n这里当前view利用前面生成的manager 去加载我们需要的图片,并把获取的结果回调给了上一级调用方。从上面的代码可以看到,获取图片的同时返回了一个operation,这个operation就是标识获取当前url图片的一个操作。之后会把这个operation放在当前view的operationDictionary中:\n[self sd_setImageLoadOperation:operation forKey:validOperationKey];\nsd_setImageLoadOperation:内部实现如下:\n- (void)sd_setImageLoadOperation:(nullable id)operation forKey:(nullable NSString *)key {\n if (key) {\n [self sd_cancelImageLoadOperationWithKey:key];\n if (operation) {\n SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];\n @synchronized (self) {\n [operationDictionary setObject:operation forKey:key];\n }\n }\n }\n}\n这也是程序一开始时,能够取消掉同名operation的原因。就是同一个view发送一个图片请求就会记录在operationDictionary中来标识有请求正在执行。\n我们接着看loadImageWithURL:方法内部实现:\n首先,判断url是否合法,然后生成一个请求图片的operation,这个和我们刚才讲到的operation在内存中是同一个,因为是从该方法中返回出去的。\n其次,将这个operation添加到正在运行的操作容器中:\nSD_LOCK(self.runningOperationsLock);\n[self.runningOperations addObject:operation];\nSD_UNLOCK(self.runningOperationsLock);\n之后进入重点,那就是开始从缓存中读取图片:\n// Start the entry to load image from cache\n[self callCacheProcessForOperation:operation url:url options:options context:context progress:progressBlock completed:completedBlock];\n同样的,将我们刚才讲到的operation传入到这个方法中。我们看一下这个方法中做了什么:\n// Query cache process\n- (void)callCacheProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation \n url:(nonnull NSURL *)url \n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock {\n // Check whether we should query cache\n BOOL shouldQueryCache = (options & SDWebImageFromLoaderOnly) == 0;\n if (shouldQueryCache) {\n id cacheKeyFilter = context[SDWebImageContextCacheKeyFilter];\n NSString *key = [self cacheKeyForURL:url cacheKeyFilter:cacheKeyFilter];\n @weakify(operation);\n operation.cacheOperation = [self.imageCache queryImageForKey:key options:options context:context completion:^(UIImage * _Nullable cachedImage, NSData * _Nullable cachedData, SDImageCacheType cacheType) {\n @strongify(operation);\n if (!operation || operation.isCancelled) {\n [self safelyRemoveOperationFromRunning:operation];\n return;\n }\n // Continue download process\n [self callDownloadProcessForOperation:operation url:url options:options context:context cachedImage:cachedImage cachedData:cachedData cacheType:cacheType progress:progressBlock completed:completedBlock];\n }];\n } else {\n // Continue download process\n [self callDownloadProcessForOperation:operation url:url options:options context:context cachedImage:nil cachedData:nil cacheType:SDImageCacheTypeNone progress:progressBlock completed:completedBlock];\n }\n}\n从上面的源码可以看出,\n首先判断是否需要从缓存中读取图片,如果需要,就处理url,处理后得到我们读取缓存的key。\n然后,开始从缓存中读取图片,回调之后判断当前operation是否还存在,以及operation是否被取消,如果取消的话就从runningOperations中移除当前operation并返回,什么也不做。否则,调用下载处理程序:callDownloadProcessForOperation:并把我们读取出来的缓存数据传入该方法。接下来我们看看这个方法的内部实现:\n首先判断是否需要下载图片,如果不需要就判断缓存数据如果缓存有值就直接返回给调用方,如果需要就先看一下之前读取的缓存数据是否有值,如果有值,就直接返回给调用方。如果没有的话,就使用imageLoader下载图片:\n// `SDWebImageCombinedOperation` -> `SDWebImageDownloadToken` -> `downloadOperationCancelToken`, which is a `SDCallbacksDictionary` and retain the completed block below, so we need weak-strong again to avoid retain cycle\n@weakify(operation);\noperation.loaderOperation = [self.imageLoader requestImageWithURL:url options:options context:context progress:progressBlock completed:^(UIImage *downloadedImage, NSData *downloadedData, NSError *error, BOOL finished) {\n @strongify(operation);\n if (!operation || operation.isCancelled) {\n // Do nothing if the operation was cancelled\n // See #699 for more details\n // if we would call the completedBlock, there could be a race condition between this block and another completedBlock for the same object, so if this one is called second, we will overwrite the new data\n } else if (cachedImage && options & SDWebImageRefreshCached && [error.domain isEqualToString:SDWebImageErrorDomain] && error.code == SDWebImageErrorCacheNotModified) {\n // Image refresh hit the NSURLCache cache, do not call the completion block\n } else if (error) {\n [self callCompletionBlockForOperation:operation completion:completedBlock error:error url:url];\n BOOL shouldBlockFailedURL = [self shouldBlockFailedURLWithURL:url error:error];\n\n if (shouldBlockFailedURL) {\n SD_LOCK(self.failedURLsLock);\n [self.failedURLs addObject:url];\n SD_UNLOCK(self.failedURLsLock);\n }\n } else {\n if ((options & SDWebImageRetryFailed)) {\n SD_LOCK(self.failedURLsLock);\n [self.failedURLs removeObject:url];\n SD_UNLOCK(self.failedURLsLock);\n }\n [self callStoreCacheProcessForOperation:operation url:url \n options:options context:context \n downloadedImage:downloadedImage \n downloadedData:downloadedData \n finished:finished \n progress:progressBlock \n completed:completedBlock];\n } \n\n if (finished) {\n [self safelyRemoveOperationFromRunning:operation];\n }\n}];\n从上面的源码中可以看出请求图片的回调回来后:\n1.如果operation不存在或者被取消,什么也不处理\n2.如果有error则直接回调错误信息,并把当前url加入到filedURLs中。\n3.如果一切正常,则把错误请求从filedURLs中移除,并把下载好的图片数据传递到缓存处理程序。\n4.最后,如果finished==YES,则把当前operation从runningOperations中移除。\n接下来我们看一下这个方法的内部实现:\n首先处理一些下载器选项,然后调用下载图片方法:\nreturn [self downloadImageWithURL:url options:downloaderOptions context:context progress:progressBlock completed:completedBlock];\n接着看上面这个方法的内部实现:\n首先判断url是否合法,如果合法,从下载器的URLOperations属性中读取该url对应的operation,如果operation不存在,或者已经取消或者已经完成,则根据url重新生成一个operation,同时记录该operation到URLOperations中,并把该operation添加到下载队列中去:\nself.URLOperations[url] = operation;\n// Add operation to operation queue only after all configuration done according to Apple's doc.\n// `addOperation:` does not synchronously execute the `operation.completionBlock` so this will not cause deadlock.\n[self.downloadQueue addOperation:operation];\n如果存在operation,但是operation没有正在执行,则根据条件调整operation的请求优先级。\n如果有正在执行的operation,不创建新的请求operation,而是给当前operation添加回调对象progressBlock 和 completedBlock。\nid downloadOperationCancelToken = [operation addHandlersForProgress:progressBlock completed:completedBlock];\n看下这个方法的内部实现:\n- (nullable id)addHandlersForProgress:(nullable SDWebImageDownloaderProgressBlock)progressBlock\ncompleted:(nullable SDWebImageDownloaderCompletedBlock)completedBlock {\n SDCallbacksDictionary *callbacks = [NSMutableDictionary new];\n if (progressBlock) callbacks[kProgressCallbackKey] = [progressBlock copy];\n if (completedBlock) callbacks[kCompletedCallbackKey] = [completedBlock copy];\n SD_LOCK(self.callbacksLock);\n [self.callbackBlocks addObject:callbacks];\n SD_UNLOCK(self.callbacksLock);\n return callbacks;\n}\n从中可以看出一个ImageDownloaderOperation可以有多个回调block。\n那么问题来了,SDWebImage为什么会这么设计呢?\n答案是为了解决在同一时间,多个请求同时下载一张图片的时候,对该图片请求只下载一次。也就是请求只发送一次,而请求有结果的时候根据存储的多个返回block 依次返回给调用方。这方法是不是很机智。这一点也可从请求结果的代码中得到验证:\n- (void)callCompletionBlocksWithImage:(nullable UIImage *)image\nimageData:(nullable NSData *)imageData\n error:(nullable NSError *)error\n finished:(BOOL)finished {\n NSArray *completionBlocks = [self callbacksForKey:kCompletedCallbackKey];\n dispatch_main_async_safe(^{\n for (SDWebImageDownloaderCompletedBlock completedBlock in completionBlocks) {\n completedBlock(image, imageData, error, finished);\n }\n });\n}\n从上面的代码中可以看到,方法内部是遍历了所有需要完成回调的completedBlock,然后回调出去。\nReference\nSDWebImage源码学习 | 江涛的博客 (coderjtao.github.io)\nSDWebImage (5.0.6) 图片加载奇淫巧技 | Charles' Blog (icloudart.com) 图片加载奇淫巧技/)\nSDWebImage (5.0.6) 图片缓存读写原理 | Charles' Blog (icloudart.com) 图片缓存读写原理/)\n"},"iOS/Knowledge/Dyld.html":{"url":"iOS/Knowledge/Dyld.html","title":"Dyld","keywords":"","body":"Dyld\n1.1 简介\ndyld 全名 The dynamic link editor . 它是苹果的动态链接器,是苹果操作系统一个重要组成部分 ,在应用被编译打包成可执行文件格式的 Mach-O 文件之后 ,交由 dyld 负责链接 , 加载程序 。\n1.2 共享缓存\n解读 dyld 有一个必不可少的东西 - 共享缓存 .\n由于 iOS 系统中 UIKit / Foundation 等库每个应用都会通过 dyld 加载到内存中 , 因此 , 为了节约空间 , 苹果将这些系统库放在了一个地方 : 动态库共享缓存区 (dyld shared cache) . ( Mac OS 一样有 ) .\n因此 , 类似 NSLog 的函数实现地址 , 并不会也不可能会在我们自己的工程的 Mach-O 中 , 那么我们的工程想要调用 NSLog 方法 , 如何能找到其真实的实现地址呢 ?\n其流程如下 :\n\n\n在工程编译时 , 所产生的 Mach-O 可执行文件中会预留出一段空间 , 这个空间其实就是符号表 , 存放在 _DATA 数据段中 ( 因为 _DATA 段在运行时是可读可写的 ) \n编译时 : 工程中所有引用了共享缓存区中的系统库方法 , 其指向的地址设置成符号地址 , ( 例如工程中有一个 NSLog , 那么编译时就会在 Mach-O 中创建一个 NSLog 的符号 , 工程中的 NSLog 就指向这个符号 ) \n运行时 : 当 dyld将应用进程加载到内存中时 , 根据 load commands 中列出的需要加载哪些库文件 , 去做绑定的操作 ( 以 NSLog 为例 , dyld 就会去找到 Foundation 中 NSLog 的真实地址写到 _DATA 段的符号表中 NSLog 的符号上面 ) \n\n\n这个过程被称为 PIC 技术 . ( Position Independent Code : 位置代码独立 ) \n了解了系统函数的整个加载过程 , 我们来看 fishhook 的函数名称 :\nrebind_symbols :: 重绑定符号 也就简单明了了.\nfishhook 原理就是 :\n\n将编译后系统库函数所指向的符号 , 在运行时重绑定到用户指定的函数地址 , 然后将原系统函数的真实地址赋值到用户指定的指针上.\n\n2、dyld 加载流程\n新建一个空 app 工程 , 在 ViewController 中添加 load 方法 .\n+ (void)load{\n NSLog(@\"load 来了\");\n}\n\nload 方法添加断点 . 运行程序 . 查看函数调用栈 .\n\n通过 lldb : bt + up / down 指令来到入口 _dyld_start 处 .\n\n2.1 _dyld_start\n上图第 11 行 : call 就是调用函数的指令 , ( 同 bl ) . 这个函数也就是我们 app 开始的地方 .\n当我们点开一个应用 , 系统内核会开启一个进程 , 然后由 dyld 开始加载这个可执行文件 .\n2.1.1 dyldbootstrap :: start\ndyldbootstrap::start 就是指 dyldbootstrap 这个命名空间作用域里的 start 函数 .\n来到源码中 , 搜索 dyldbootstrap , 然后找到 start 函数 .\n cmd + shift + j 可以定位文件位置 \nuintptr_t start(const struct macho_header* appsMachHeader, int argc, const char* argv[], \n intptr_t slide, const struct macho_header* dyldsMachHeader,\n uintptr_t* startGlue)\n{\n slide = slideOfMainExecutable(dyldsMachHeader);\n bool shouldRebase = slide != 0;\n#if __has_feature(ptrauth_calls)\n shouldRebase = true;\n#endif\n if ( shouldRebase ) {\n rebaseDyld(dyldsMachHeader, slide);\n }\n\n mach_init();\n const char** envp = &argv[argc+1];\n const char** apple = envp;\n while(*apple != NULL) { ++apple; }\n ++apple;\n\n __guard_setup(apple);\n\n#if DYLD_INITIALIZER_SUPPORT\n runDyldInitializers(dyldsMachHeader, slide, argc, argv, envp, apple);\n#endif\n uintptr_t appsSlide = slideOfMainExecutable(appsMachHeader);\n return dyld::_main(appsMachHeader, appsSlide, argc, argv, envp, apple, startGlue);\n}\n\n这个函数首先有两个参数我们要说明一下 :\n\n\n1️⃣、const struct macho_header* appsMachHeader , 这个参数就是 Mach-O 的 header . 关于这个 header , Mach-O文件 这篇文章中 Mach-O 文件结构 里有详细描述 .\n2️⃣、intptr_t slide , 这个其实就是 ALSR , 说白了就是通过一个随机值 ( 也就是我们这里的 slide ) 来实现地址空间配置随机加载 .\n当某个特定进程,在存储器中所能够使用与控制的地址空间在运行时随机进行分配 , 可以使某些攻击者无法事先获知地址 ,令攻击者难以通过固定地址获取函数或者内存值进行攻击 .\nMac OS X Lion10.7 开始所有的应用程序均提供了 ASLR 支持 .\n\n\n3️⃣、 物理地址 = ALSR + 虚拟地址 ( 偏移 ) .\n\n\n那么接下来 , 这个函数到底做了什么呢 ?\n流程如下 :\n\n首先 , 根据计算出来的 ASLR 的 slide 来重定向 macho .\n初始化 , 允许 dyld 使用 mach 消息传递 .\n栈溢出保护 .\n初始化完成后调用 dyld 的 main 函数 ,dyld::_main .\n\n2.1.2 dyld::_main\n直接点击跳转到 dyld - main 函数中 . 该函数是加载 app 的主要函数.\nuintptr_t\n_main(const macho_header* mainExecutableMH, uintptr_t mainExecutableSlide, \n int argc, const char* argv[], const char* envp[], const char* apple[], \n uintptr_t* startGlue)\n{\n // *函数太长 , 这里就不贴了.*/\n}\n\n这个函数主要流程如下 :\n2.1.2.1 准备工作\n\n1️⃣ : 配置相关环境变量 .\n\n2️⃣ : 设置上下文信息 setContext .\n\n3️⃣ : 检测进程是否受限 , 在上下文中做出对应处理 configureProcessRestrictions , 检测环境变量 checkEnvironmentVariables\n\n\n熟悉越狱插件的同学应该都很清楚 , 某些环境变量会直接影响该库是否会被加载 , 有些防护操作就是基于这个原理来做的 . ( 后续更新越狱篇章攻防会详细讲述和演示 ) \n\n\n\n4️⃣ : 根据环境变量配置打印信息 , DYLD_PRINT_OPTS 与 DYLD_PRINT_ENV, 大家可以在如下图中配置玩一玩 .\n\n\n5️⃣ : 获取程序架构 getHostInfo .\n\n\n2.1.2.2 加载共享缓存库\n该流程主要步骤如下 :\n\n1️⃣ : 检测共享缓存禁用状态 checkSharedRegionDisable . ( iOS 下不会被禁用 ) . \n\n2️⃣ : 加载共享缓存库 , mapSharedCache -> loadDyldCache .这里加载共享缓存有几种情况 :\n\n1、仅加载到当前进程 mapCachePrivate , ( 模拟器仅支持加载到当前进程 ) .\n\n2、共享缓存是第一次被加载 , 就去做加载操作 mapCacheSystemWide .\n\n3、共享缓存不是第一次被加载 , 那么就不做任何处理 .\n\n\n\n\n\n2.1.2.3 reloadAllImages\nsMainExecutable = instantiateFromLoadedImage(mainExecutableMH, mainExecutableSlide, sExecPath);\n\n实例化主程序 , 检测可执行程序格式 .\nstatic ImageLoaderMachO* instantiateFromLoadedImage(const macho_header* mh, uintptr_t slide, const char* path)\n{\n // try mach-o loader\n if ( isCompatibleMachO((const uint8_t*)mh, path) ) {\n ImageLoader* image = ImageLoaderMachO::instantiateMainExecutable(mh, slide, path, gLinkContext);\n addImage(image);\n return (ImageLoaderMachO*)image;\n }\n\n throw \"main executable not a known format\";\n}\n\nisCompatibleMachO 里就会通过 header 里的 magic , cputype , cpusubtype 去检测是否兼容 .\n\n检测通过 , 就会通过 instantiateMainExecutable 实例化这个 image , 并添加到 static std::vector sAllImages; 这个全局的镜像列表中去 , 设置好上下文 .\n\ninstantiateMainExecutable 里 , 真正实例化主程序是用 sniffLoadCommands 这个函数去做的 . 有的同学可能对这个函数比较熟悉了 . 我们来稍微看一下 .\n还是 ImageLoaderMachO 这个作用域里的 sniffLoadCommands 函数 .\nvoid ImageLoaderMachO::sniffLoadCommands(const macho_header* mh, const char* path, bool inCache, bool* compressed,\n unsigned int* segCount, unsigned int* libCount, const LinkContext& context,\n const linkedit_data_command** codeSigCmd,\n const encryption_info_command** encryptCmd)\n{\n *compressed = false;\n *segCount = 0;\n *libCount = 0;\n *codeSigCmd = NULL;\n *encryptCmd = NULL;\n /*\n ...省略掉.\n */\n // fSegmentsArrayCount is only 8-bits\n if ( *segCount > 255 )\n dyld::throwf(\"malformed mach-o image: more than 255 segments in %s\", path);\n\n // fSegmentsArrayCount is only 8-bits\n if ( *libCount > 4095 )\n dyld::throwf(\"malformed mach-o image: more than 4095 dependent libraries in %s\", path);\n\n if ( needsAddedLibSystemDepency(*libCount, mh) )\n *libCount = 1;\n}\n\n这个函数就是根据 Load Commands 来加载主程序 .\n这里几个参数我们稍微说明下 :\n\ncompressed -> 根据 LC_DYLD_INFO_ONYL 来决定 .\nsegCount 段命令数量 , 最大不能超过 255 个.\nlibCount 依赖库数量 , LC_LOAD_DYLIB (Foundation / UIKit ..) , 最大不能超过 4095 个.\ncodeSigCmd , 应用签名 , 在 应用签名原理及重签名 (重签微信应用实战) 这篇文章中有非常详细的讲述 , 建议读一读 .\nencryptCmd , 应用加密信息 , ( 我们俗称的应用加壳 , 我们非越狱环境重签名都是需要砸过壳的应用才能调试 , 关于应用的砸壳 , 后续逆向文章越狱篇里会实际操作演练 ) .\n\n经过以上步骤 , 主程序的实例化就已经完成了 .\n2.1.2.4 加载插入动态库\nif ( sEnv.DYLD_INSERT_LIBRARIES != NULL ) {\n for (const char* const* lib = sEnv.DYLD_INSERT_LIBRARIES; *lib != NULL; ++lib) \n loadInsertedDylib(*lib);\n}\n\n熟悉越狱插件的同学应该很清楚这个机制了 . 根据 DYLD_INSERT_LIBRARIES 环境变量来决定是否需要加载插入的动态库 .\n越狱的插件就是基于这个原理来实现只需要下载插件 , 就可以影响到应用 . 有部分防护手段就用到了这个环境变量 ( 后续逆向文章会带着大家自己写一个越狱插件 , 这个很简单 , 然后会讲一讲越狱环境插件如何防护 . ) . \nsInsertedDylibCount = sAllImages.size()-1;\n记录插入动态库的数量 .\n2.1.2.5 链接主程序\n// link main executable\ngLinkContext.linkingMainExecutable = true;\n\nlink(sMainExecutable, sEnv.DYLD_BIND_AT_LAUNCH, true, ImageLoader::RPathChain(NULL, NULL), -1);\nsMainExecutable->setNeverUnloadRecursive();\nif ( sMainExecutable->forceFlat() ) {\n gLinkContext.bindFlat = true;\n gLinkContext.prebindUsage = ImageLoader::kUseNoPrebinding;\n}\nif ( sInsertedDylibCount > 0 ) {\n for(unsigned int i=0; i setNeverUnloadRecursive();\n }\n\n for(unsigned int i=0; i registerInterposing(gLinkContext);\n }\n}\n\n点击进入 link 函数 , link 函数中有一系列 recursiveLoadLibraries , recursiveBindWithAccounting -> recursiveBind , 也就是递归进行符号绑定的过程 .\nlink 函数执行完毕之后 , dyld :: main 会调用 sMainExecutable->weakBind(gLinkContext); 进行弱绑定 , 懒加载绑定 , 也就是说弱绑定一定发生在 其他库链接绑定完成之后 .\n绑定的过程就是我们上述 1.2 章节中所讲的共享缓存绑定的过程 .\n\n走到了这里 , 主程序已经实例化完毕 , 但还没有加载 , framework 已经加载完毕了 , 那讲到这插一句题外话 , 不同 framework , 谁先会被加载 ? 其实根据二进制顺序有关 , Xcode 中可以自由调整 .\n\n\n拖动就可以自己调整顺序了 , 编译顺序就会根据这个顺序来 , 同样你可以使用 MachOView 来查看二进制顺序 .\n\n至此 , 配置环境变量 -> 加载共享缓存 -> 实例化主程序 -> 加载动态库 -> 链接动态库 就已经完成了 .\n继续往 dyld :: main 下面找 , 我们会看到\ninitializeMainExecutable();\n\n那么我们回到函数调用栈看下 .\n\n2.1.3 运行主程序\n通过查看源码查看 , 结合函数调用栈 , 我们跟进去调用流程 . initializeMainExecutable -> runInitializers -> processInitializers -> 递归调用 recursiveInitialization .\n到了这里 , 直接点击 进不去了 , 同理 , cmd + shift + o, 搜索 recursiveInitialization . 来到函数实现 , 找到如下代码 :\n// let objc know we are about to initialize this image\nuint64_t t1 = mach_absolute_time();\nfState = dyld_image_state_dependents_initialized;\noldState = fState;\ncontext.notifySingle(dyld_image_state_dependents_initialized, this, &timingInfo);\n\n// initialize this image\nbool hasInitializers = this->doInitialization(context);\n\n// let anyone know we finished initializing this image\nfState = dyld_image_state_initialized;\noldState = fState;\ncontext.notifySingle(dyld_image_state_initialized, this, NULL);\n\n调用 notifySingle 函数 .\n⚠️ : 重头戏来了 . 根据函数调用栈我们发现 , 下一步是调用 load_images , 可是这个 notifySingle 里并没有找到 load_images 的影子 . 但是我们看到了这么个东西 :\n(*sNotifyObjCInit)(image->getRealPath(), image->machHeader());\n\n\n这是个回调函数的调用 , sNotifyObjCInit 上面判断了并不会为空 , 那就代表一定是有值的 . 那我们搜索一下 sNotifyObjCInit , 看看什么时候被赋的值 .\n\n直接本文件搜索 , 看到如下 :\nvoid registerObjCNotifiers(_dyld_objc_notify_mapped mapped, _dyld_objc_notify_init init, _dyld_objc_notify_unmapped unmapped)\n{\n // record functions to call\n sNotifyObjCMapped = mapped;\n sNotifyObjCInit = init;\n sNotifyObjCUnmapped = unmapped;\n\n // call 'mapped' function with all images mapped so far\n try {\n notifyBatchPartial(dyld_image_state_bound, true, NULL, false, true);\n }\n catch (const char* msg) {\n // ignore request to abort during registration\n }\n\n // call 'init' function on all images already init'ed (below libSystem)\n for (std::vector::iterator it=sAllImages.begin(); it != sAllImages.end(); it++) {\n ImageLoader* image = *it;\n if ( (image->getState() == dyld_image_state_initialized) && image->notifyObjC() ) {\n dyld3::ScopedTimer timer(DBG_DYLD_TIMING_OBJC_INIT, (uint64_t)image->machHeader(), 0, 0);\n (*sNotifyObjCInit)(image->getRealPath(), image->machHeader());\n }\n }\n}\n\n也就是说 , 这个函数调用 , 其第二个参数赋值给了 sNotifyObjCInit , 然后在 notifySingle 里被执行 .\n那么我们搜索一下 registerObjCNotifiers , 看看其在什么时候被调用的 , 搜索发现 :\nvoid _dyld_objc_notify_register(_dyld_objc_notify_mapped mapped,\n _dyld_objc_notify_init init,\n _dyld_objc_notify_unmapped unmapped)\n{\n dyld::registerObjCNotifiers(mapped, init, unmapped);\n}\n\n再继续搜索 , 没啥结果了 . 那么怎么办 , 不着急 , 我们来到测试工程里下一个符号断点 _dyld_objc_notify_register , 运行来到断点 , 看函数调用栈 .\n\n . 至此 , 我们看到的就是 runtime 被加载的整个流程 , 来到 objc 750 的代码中直接搜索 _objc_init .\n2.1.4 _objc_init\nvoid _objc_init(void)\n{\n static bool initialized = false;\n if (initialized) return;\n initialized = true;\n\n // fixme defer initialization until an objc-using image is found?\n environ_init();\n tls_init();\n static_init();\n lock_init();\n exception_init();\n\n _dyld_objc_notify_register(&map_images, load_images, unmap_image);\n}\n\n来到这里 , 我们就看到了 _dyld_objc_notify_register 被调用 , 传递了三个参数 , 这三个分别代表 在 分类底层原理详细研究 中我们也有详细讲述过 .\n\n\nmap_images : dyld 将 image 加载进内存时 , 会触发该函数.\nload_images : dyld 初始化 image 会触发该方法. ( 我们所熟知的 load 方法也是在此处调用 ) .\nunmap_image : dyld 将 image 移除时 , 会触发该函数 .\n\n\n当然 , 你可以通过 lldb 验证一下 .\n\n那么这个 load_images , 就调用了各个类的 load 方法 ( call_load_methods ) . 关于这个请看 分类底层原理详细研究 与 load方法调用机制解析 这两篇文章 .\n要声明一下的是 :\n\n那么也就是说 :\n\n\n1️⃣、 当 dyld 加载到开始链接主程序的时候 , 递归调用 recursiveInitialization 函数 .\n2️⃣、 这个函数第一次执行 , 进行 libsystem 的初始化 . 会走到 doInitialization -> doModInitFunctions -> libSystemInitialized .\n3️⃣、 Libsystem 的初始化 , 它会调用起 libdispatch_init , libdispatch 的 init 会调用 _os_object_init , 这个函数里面调用了 _objc_init .\n4️⃣、_objc_init 中注册并保存了 map_images , load_images , unmap_image 函数地址.\n5️⃣ : 注册完毕继续回到 recursiveInitialization 递归下一次调用 , 例如 libobjc , 当 libobjc 来到 recursiveInitialization 调用时 , 会触发 libsystem 调用到 _objc_init 里注册好的回调函数进行调用 . 就来到了 libobjc , 调用 load_images.\n\n\n跟我们上面截图的函数调用栈一模一样 .\n2.1.5 doInitialization\ndyld 来到 doInitialization 时 ,\nbool ImageLoaderMachO::doInitialization(const LinkContext& context)\n{\n CRSetCrashLogMessage2(this->getPath());\n\n // mach-o has -init and static initializers\n doImageInit(context);\n doModInitFunctions(context);\n\n CRSetCrashLogMessage2(NULL);\n\n return (fHasDashInit || fHasInitializers);\n}\n\n在 doModInitFunctions 中 , 值得一提的是会调用 c++ 的构造方法 .\n演示如下 :\n\n打印结果 :\n\n这种 c++ 构造方法存储在 __DATA 段 , __mod_init_func 节中.\n\n2.1.6 找到主程序的入口\n// find entry point for main executable\nresult = (uintptr_t)sMainExecutable->getEntryFromLC_MAIN();\n\n找到真正 main 函数入口 并返回.\n总结 :\n\nReference\n1. iOS 底层 - 从头梳理 dyld 加载流程\n"},"iOS/Knowledge/AppLaunchDetail.html":{"url":"iOS/Knowledge/AppLaunchDetail.html","title":"App启动详细","keywords":"","body":"App Launch Detail\n基本概念\n启动的定义\n启动有两种定义:\n\n广义:点击图标到首页数据加载完毕\n狭义:点击图标到 Launch Image 完全消失第一帧\n\n这是从用户感知维度定义启动,那么代码上如何定义启动呢?Apple 在 MetricKit 中给出了官方计算方式:\n\n起点:进程创建的时间\n终点:第一个CA::Transaction::commit()\n\n\nTips:CATransaction 是 Core Animation 提供的一种事务机制,把一组 UI 上的修改打包,一起发给 Render Server 渲染。\n\n启动的种类\n根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。\n\n冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动 App\n热启动:如果把 App 进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在\n回前台:大多数时候不会被定义为启动,因为此时 App 仍然活着,只不过处于 suspended 状态\n\nMach-O\nMach-O 是 iOS 可执行文件的格式,典型的 Mach-O 是主二进制和动态库。Mach-O 可以分为三部分:\n\nHeader\nLoad Commands\nData\n\n\nHeader 的最开始是 Magic Number,表示这是一个 Mach-O 文件,除此之外还包含一些 Flags,这些 flags 会影响 Mach-O 的解析。\nLoad Commands 存储 Mach-O 的布局信息,比如 Segment command 和 Data 中的 Segment/Section 是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动 App 需要的信息。\nData 部分包含了实际的代码和数据,Data 被分割成很多个 Segment,每个 Segment 又被划分成很多个 Section,分别存放不同类型的数据。\n标准的三个 Segment 是 TEXT,DATA,LINKEDIT,也支持自定义:\n\nTEXT,代码段,只读可执行,存储函数的二进制代码(text),常量字符串(cstring),Objective C 的类/方法名等信息\nDATA,数据段,读写,存储 Objective C 的字符串(__cfstring),以及运行时的元数据:class/protocol/method…\nLINKEDIT,启动 App 需要的信息,如 bind & rebase 的地址,代码签名,符号表…\n\ndyld\ndyld 是启动的辅助程序,是 in-process 的,即启动的时候会把 dyld 加载到进程的地址空间里,然后把后续的启动过程交给 dyld。dyld 主要有两个版本:dyld2 和 dyld3。\ndyld2 是从 iOS 3.1 引入,一直持续到 iOS 12。dyld2 有个比较大的优化是 dyld shared cache[1],什么是 shared cache 呢?\n\nshared cache 就是把系统库(UIKit 等)合成一个大的文件,提高加载性能的缓存文件。\n\niOS 13 开始 Apple 对三方 App 启用了 dyld3,dyld3 的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。\n虚拟内存\n内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。\n物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。\niPhone 6s 开始,物理内存的 Page 大小是 16K,6 和之前的设备都是 4K,这是 iPhone 6 相比 6s 启动速度断崖式下降的原因之一。\nmmap\nmmap 的全称是 memory map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:File Backed Page In,把对应的文件内容读入物理内存。\n启动的时候,Mach-O 就是通过 mmap 映射到虚拟内存里的(如下图)。下图中部分页被标记为 zero fill,是因为全局变量的初始值往往都是 0,那么这些 0 就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在 Page In 之后对其置为 0,这个行为叫做 zero fill。\n\nPage In\n启动的路径上会触发很多次 Page In,其实也比较容易理解,因为启动的会读写二进制中的很多内容。Page In 会占去启动耗时的很大一部分,我们来看看单个 Page In 的过程:\n\n\nMMU 找到空闲的物理内存页面\n触发磁盘 IO,把数据读入物理内存\n如果是 TEXT 段的页,要进行解密\n对解密后的页,进行签名验证\n\n其中解密是大头,IO 其次。为什么要解密呢?\n因为 iTunes Connect 会对上传 Mach-O 的 TEXT 段进行加密,防止 IPA 下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做“砸壳”,砸的就是这一层 TEXT 段加密。iOS 13 对这个过程进行了优化,Page In 的时候不需要解密了。\n二进制重排\n既然 Page In 耗时,有没有什么办法优化呢?\n启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以 Page In 读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少 Page In 的次数,从而优化启动时间:\n以下图为例,方法 1 和方法 3 是启动的时候用到的,为了执行对应的代码,就需要两次 Page In。假如我们把方法 1 和 3 排列到一起,那么只需要一次 Page In,从而提升启动速度。\n链接器 ld 有个参数-order_file 支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案 APP 启动速度提升超 15%。\nIPA 构建\npipeline\n既然要构建,那么必然会有一些地方去定义如何构建,对应 Xcode 中的两个配置项:\n\nBuild Phase:以 Target 为维度定义了构建的流程。可以在 Build Phase 中插入脚本,来做一些定制化的构建,比如 CocoaPod 的拷贝资源就是通过脚本的方式完成的。\nBuild Settings:配置编译和链接相关的参数。特别要提到的是 other link flags 和 other c flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的 CocoaPod 做的组件化,这时候编译选项在对应的.xcconfig 文件里。\n\n以单 Target 为例,我们来看下构建流程:\n\n\n源文件(.m/.c/.swift 等)是单独编译的,输出对应的目标文件(.o)\n目标文件和静态库/动态库一起,链接出最后的 Mach-O\nMach-O 会被裁剪,去掉一些不必要的信息\n资源文件如 storyboard,asset 也会编译,编译后加载速度会变快\nMach-O 和资源文件一起,打包出最后的.app\n对.app 签名,防篡改\n\n编译\n编译器可以分为两大部分:前端和后端,二者以 IR(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。C 语言家族的前端是 clang,swift 的前端是 swiftc,二者的后端都是 llvm。\n\n前端负责预处理,词法语法分析,生成 IR\n后端基于 IR 做优化,生成机器码\n\n那么如何利用编译优化启动速度呢?\n代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用 LLVM 插桩来实现。LLVM 的代码优化流程是一个一个 Pass,由于 LLVM 是开源的,我们可以添加一个自定义的 Pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了 。\nFacebook 给 LLVM 提的 order_file[2]的 feature 就是实现了类似的插桩。\n链接\n经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个 Mach-O。链接的过程并不产生新的代码,只会做一些移动和补丁。\n\n\ntbd 的全称是 text-based stub library,是因为链接的过程中只需要符号就可以了,所以 Xcode 6 开始,像 UIKit 等系统库就不提供完整的 Mach-O,而是提供一个只包含符号等信息的 tbd 文件。\n\ndyld3 启动流程\nApple 在 iOS 13 上对第三方 App 启用了 dyld3,官方数据[3]显示,过去四年新发布的设备中有 93%的设备是 iOS 13,所以我们重点看下 dyld3 的启动流程。\nBefore dyld\n用户点击图标之后,会发送一个系统调用 execve 到内核,内核创建进程。接着会把主二进制 mmap 进来,读取 load command 中的 LC_LOAD_DYLINKER,找到 dyld 的的路径。然后 mmap dyld 到虚拟内存,找到 dyld 的入口函数_dyld_start,把 PC 寄存器设置成_dyld_start,接下来启动流程交给了 dyld。\n注意这个过程都是在内核态完成的,这里提到了 PC 寄存器,PC 寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取 PC 寄存器来完成的。\ndyld\n创建启动闭包\ndyld 会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新/下载 App 的第一次启动才会创建。闭包存储在沙盒的 tmp/com.apple.dyld 目录,清理缓存的时候切记不要清理这个目录。\n闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:\n\ndependends,依赖动态库列表\nfixup:bind & rebase 的地址\ninitializer-order:初始化调用顺序\noptimizeObjc: Objective C 的元数据\n其他:main entry, uuid…\n\n动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是 libSystem,因为他是所有依赖的源头。\n\n为什么闭包能提高启动速度呢?\n因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是 Objective C 的运行时数据(Class/Method**…)解析非常**慢。\nfixup\n有了闭包之后,就可以用闭包启动 App 了。这时候很多动态库还没有加载进来,会首先对这些动态库 mmap 加载到虚拟内存里。接着会对每个 Mach-O 做 fixup,包括 Rebase 和 Bind。\n\nRebase:修复内部指针。这是因为 Mach-O 在 mmap 到虚拟内存的时候,起始地址会有一个随机的偏移量 slide,需要把内部的指针指向加上这个 slide。\nBind:修复外部指针。这个比较好理解,因为像 printf 等外部函数,只有运行时才知道它的地址是什么,bind 就是把指针指向这个地址。\n\n举个例子:一个 Objective C 字符串@\"1234\",编译到最后的二进制的时候是会存储在两个 section 里的\n\n__TEXT,__cstring,存储实际的字符串\"1234\"\n__DATA,__cfstring,存储 Objective C 字符串的元数据,每个元数据占用 32Byte,里面有两个指针:内部指针,指向__TEXT,__cstring中字符串的位置;外部指针 isa,指向类对象的,这就是为什么可以对 Objective C 的字符串字面量发消息的原因。\n\n如下图,编译的时候,字符串 1234 在__cstring的 0x10 处,所以 DATA 段的指针指向 0x10。但是 mmap 之后有一个偏移量 slide=0x1000,这时候字符串在运行时的地址就是 0x1010,那么 DATA 段的指针指向就不对了。Rebase 的过程就是把指针从 0x10,加上 slide 变成 0x1010。运行时类对象的地址已经知道了,bind 就是把 isa 指向实际的内存地址。\n\nLibSystem Initializer\nBind & Rebase 之后,首先会执行 LibSystem 的 Initializer,做一些最基本的初始化:\n\n初始化 libdispatch\n初始化 objc runtime,注册 sel,加载 category\n\n注意这里没有初始化 objc 的类方法等信息,是因为启动闭包的缓存数据已经包含了 optimizeObjc。\nLoad & Static Initializer\n接下来会进行 main 函数之前的一些初始化,主要包括+load 和 static initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在+load 里,对应会有一些地方读取这些注册的数据,如果在+load 中读取,很有可能读取的时候还没有注册。\n那么,如何找到代码里有哪些 load 和 static initializer 呢?\n在 Build Settings 里可以配置 write linkmap,这样在生成的 linkmap 文件里就可以找到有哪些文件里包含 load 或者 static initializer:\n\n__mod_init_func,static initializer\n__objc_nlclslist,实现+load 的类\n__objc_nlcatlist,实现+load 的 Category\n\nload 举例\n如果+load 方法里的内容很简单,会影响启动时间么?比如这样的一个+load 方法?\n+ (void)load { printf(\"1234\"); }\n编译完了之后,这个函数会在二进制中的 TEXT 两个段存在:__text存函数二进制,cstring存储字符串 1234。为了执行函数,首先要访问__text触发一次 Page In 读入物理内存,为了打印字符串,要访问__cstring,还会触发一次 Page In。\n\n为了执行这个简单的函数,系统要额外付出两次 Page In 的代价,所以 load 函数多了,page in 会成为启动性能的瓶颈。\n\n\nstatic initializer 产生的条件\n静态初始化是从哪来的呢?以下几种代码会导致静态初始化\n\n__attribute__((constructor))\nstatic class object\nstatic object in global namespace\n\n注意,并不是所有的 static 变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接 inline。\n//会产生静态初始化\nclass Demo{ \nstatic const std::string var_1; \n};\nconst std::string var_2 = \"1234\"; \nstatic Logger logger;//不会产生静态初始化\nstatic const int var_3 = 4; \nstatic const char * var_4 = \"1234\";\nstd::string 会合成 static initializer 是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~\nUIKit Init\n+load 和 static initializer 执行完毕之后,dyld 会把启动流程交给 App,开始执行 main 函数。main 函数里要做的最重要的事情就是初始化 UIKit。UIKit 主要会做两个大的初始化:\n\n初始化 UIApplication\n启动主线程的 Runloop\n\n由于主线程的 dispatch_async 是基于 runloop 的,所以在+load 里如果调用了 dispatch_async 会在这个阶段执行。\nRunloop\n线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,Runloop 就是实现这个功能的。\nRunloop 本质上是一个While 循环,在图中橙色部分的 mach_msg_trap 就是触发一个系统调用,让线程休眠,等待事件到来,唤醒 Runloop,继续执行这个 while循环。\nRunloop 主要处理几种任务:Source0,Source1,Timer,GCD MainQueue,Block。在循环的合适时机,会以 Observer 的方式通知外部执行到了哪里。\n那么,Runloop 与启动又有什么关系呢?\n\nApp 的 LifeCycle 方法是基于 Runloop 的 Source0 的\n首帧渲染是基于 Runloop Block 的\n\nRunloop 在启动上主要有几点应用:\n\n精准统计启动时间\n找到一个时机,在启动结束去执行一些预热任务\n利用 Runloop 打散耗时的启动预热任务\n\n\nTips : 会有一些逻辑要在启动之后 delay 一小段时间再回到主线程上执行,对于性能较差的设备,主线程 Runloop 可能一直处于忙的状态,所以这个 delay 的任务并不一定能按时执行。\n\nAppLifeCycle\nUIKit 初始化之后,就进入了我们熟悉的 UIApplicationDelegate 回调了,在这些会调里去做一些业务上的初始化:\n\nwillFinishLaunch\ndidFinishLaunch\ndidFinishLaunchNotification\n\n要特别提一下 didFinishLaunchNotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到 UI 渲染里。\nFirst Frame Render\n一般会用 Root Controller 的 viewDidApper 作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,Apple 在 MetricsKit 里对启动终点定义是第一个CA::Transaction::commit()。\n什么是 CATransaction 呢?我们先来看一下渲染的大致流程\n\niOS 的渲染是在一个单独的进程 RenderServer 做的,App 会把 Render Tree 编码打包给 RenderServer,RenderServer 再调用渲染框架(Metal/OpenGL ES)来生成 bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。CATransaction 就是把一组 UI 上的修改,合并成一个事务,通过 commit 提交。\n渲染可以分为四个步骤\n\nLayout(布局),源头是 Root Layer 调用[CALayer layoutSubLayers],这时候 UIViewController 的 viewDidLoad 和 LayoutSubViews 会调用,autolayout 也是在这一步生效\nDisplay(绘制),源头是 Root Layer 调用[CALayer display],如果 View 实现了 drawRect 方法,会在这个阶段调用\nPrepare(准备),这个过程中会完成图片的解码\nCommit(提交),打包 Render Tree 通过 XPC 的方式发给 Render Server\n\n\n启动 Pipeline\n详细回顾下整个启动过程,以及各个阶段耗时的影响因素:\n\n\n点击图标,创建进程\nmmap 主二进制,找到 dyld 的路径\nmmap dyld,把入口地址设为_dyld_start\n重启手机/更新/下载 App 的第一次启动,会创建启动闭包\n把没有加载的动态库 mmap 进来,动态库的数量会影响这个阶段\n对每个二进制做 bind 和 rebase,主要耗时在 Page In,影响 Page In 数量的是 objc 的元数据\n初始化 objc 的 runtime,由于闭包已经初始化了大部分,这里只会注册 sel 和装载 category\n+load 和静态初始化被调用,除了方法本身耗时,这里还会引起大量 Page In\n初始化 UIApplication,启动 Main Runloop\n执行 will/didFinishLaunch,这里主要是业务代码耗时\nLayout,viewDidLoad 和Layoutsubviews 会在这里调用,Autolayout 太多会影响这部分时间\nDisplay,drawRect 会调用\nPrepare,图片解码发生在这一步\nCommit,首帧渲染数据打包发给 RenderServer,启动结束\n\ndyld2\ndyld2 和 dyld3 的主要区别就是没有启动闭包,就导致每次启动都要:\n\n解析动态库的依赖关系\n解析 LINKEDIT,找到 bind & rebase 的指针地址,找到 bind 符号的地址\n注册 objc 的 Class/Method 等元数据,对大型工程来说,这部分耗时会很长\n\nReference\n1 抖音品质建设 - iOS启动优化《原理篇》\n本地离线缓存文章\n"},"iOS/Knowledge/MachO.html":{"url":"iOS/Knowledge/MachO.html","title":"Mach-O","keywords":"","body":"MachO\nMachO 文件\nMach-O 其实是 Mach Object 文件格式的缩写,是 mac 以及 iOS 上可执行文件的格式, 类似于 windows 上的 PE 格式 ( Portable Executable ) , linux 上的 elf 格式 ( Executable and Linking Format ) .\n它是一种用于可执行文件、目标代码、动态库的文件格式。作为 a.out 格式的替代,Mach-O 提供了更强的扩展性。\n但是除了可执行文件外 , 其实还有一些文件也是使用的 Mach-O 的文件格式 .\n属于 Mach-O 格式的常见文件\n\n\n目标文件 .o\n库文件\n.a\n.dylib\nFramework\n\n\n可执行文件\ndyld ( 动态链接器 )\n.dsym ( 符号表 )\n\n\n使用 file 命令可以查看文件类型\n也就是说 Mach-O 并非一定是可执行文件 , 它是一种文件格式 , 分为 Mach-O Object 目标文件 、 Mach-O executable 可执行文件、Mach-O dynamically动态库文件、Mach-O dynamic linker动态链接器文件、Mach-O dSYM companion` 符号表文件 , 等等 .\n还看到一个 arm64 , 这个是什么意思呢 ?\n\n\n在 release 模式下\n支持 iOS 11.0 系统版本以下\n\n\n当满足这两个条件时 , 我们的应用打包出来的 Mach-O ececutable 可执行文件是包含 arm64 以及 arm_v7 的架构的 , iPhone 5C 以上机型都是 64 位系统了 .\n那么包含了支持多架构的 Mach-O executable 可执行文件被称为 : 通用二进制文件 , 即多种架构都可读取运行 .\n另外 Xcode 中通过编译设置 Architectures 是可以更改所生成的 Mach-O executable 可执行文件的支持架构的 .\n\n\n编译器在生成 Mach-O 文件会选择 Architectures 以及 Valid Architectures 的交集 , 因此想要支持多架构的话 , 在Valid Architectures 中继续添加就可以了 , 编译生成 Mach-O 之后 , 使用 file 命令可以检查下结果 .\n\n通用二进制文件\n\n苹果公司提出的一种程序代码。能同时适用多种架构的二进制文件\n同一个程序包中同时为多种架构提供最理想的性能。\n因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大。\n但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。\n而且由于执行中只调用一部分代码,运行起来也不需要额外的内存。\n\n通用二进制文件通常被称为 Universal binary , 在 MachOView 等 中叫做 Fat binary , 这种二进制文件是可以完全拆分开来 , 或者重新组合的\nMach-O 文件结构\n\n\nMach-O 的组成结构如图所示包括了\n\nHeader 包含该二进制文件的一般信息\n字节顺序、架构类型、加载指令的数量等。\n使得可以快速确认一些信息,比如当前文件用于 32 位还是 64 位,对应的处理器是什么、文件类型是什么\n\n\nLoad commands 一张包含很多内容的表\n内容包括区域的位置、符号表、动态符号表等。\n\n\nData 通常是对象文件中最大的部分\n包含 Segement 的具体数据\n\n\n\nMach Header\n\nHeader 中存储的内容大致如上图所示 , 那么每一条到底对应着什么呢 ? , 我们打开源码看一下, cmd + shift + o , 搜索 load.h , 找 mach_header_64 结构体.\nstruct mach_header_64 {\n uint32_t magic; /* 魔数,快速定位64位/32位 */\n cpu_type_t cputype; /* cpu 类型 比如 ARM */\n cpu_subtype_t cpusubtype; /* cpu 具体类型 比如arm64 , armv7 */\n uint32_t filetype; /* 文件类型 例如可执行文件 .. */\n uint32_t ncmds; /* load commands 加载命令条数 */\n uint32_t sizeofcmds; /* load commands 加载命令大小*/\n uint32_t flags; /* 标志位标识二进制文件支持的功能 , 主要是和系统加载、链接有关*/\n uint32_t reserved; /* reserved , 保留字段 */\n};\n\nmach_header_64 相较于 mach_header , 也就是 32 位头文件 , 只是多了一个保留字段 . mach_header 是链接器加载时最先读取的内容 , 它决定了一些基础架构 , 系统类型 , 指令条数等信息.\nLoad Commands\nLoad Commands 详细保存着加载指令的内容 , 告诉链接器如何去加载这个 Mach-O 文件.\n通过查看内存地址我们发现 , 在内存中 , Load Commands 是紧跟在 Mach_header 之后的 .\n那么这些 Load Commands 对应了什么呢 ? 我们以 arm64 为例.\n\n其中 _TEXT 段和 _DATA 段 , 是我们经常需要研究的 , MachOView 下面也有详细列出.\n\n \n_TEXT 段\n我们来看看 _TEXT 段里都存放了什么 , 其实真正开始读取就是从 _TEXT 段开始读取的 .\n\n\n\n名称\n内容\n\n\n\n\n_text\n主程序代码\n\n\n_stubs , _stub_helper\n动态链接\n\n\n_objc_methodname\n方法名称\n\n\n_objc_classname\n类名称\n\n\n_objc_methtype\n方法类型 ( v@: )\n\n\n_cstring\n静态字符串常量\n\n\n\n_DATA 段\n_DATA 在内存中是紧跟在 _TEXT 段之后的.\n\n\n\n名称\n内容\n\n\n\n\n_got : Non-Lazy Symbol Pointers\n非懒加载符号表\n\n\n_la_symbol_ptr : Lazy Symbol Pointers\n懒加载符号表\n\n\n_objc_classlist\n类列表\n\n\n\n下面列举一些常见的 Section。\n\n\n\nSection\n用途\n\n\n\n\n__TEXT.__text\n主程序代码\n\n\n__TEXT.__cstring\nC 语言字符串\n\n\n__TEXT.__const\nconst 关键字修饰的常量\n\n\n__TEXT.__stubs\n用于 Stub 的占位代码,很多地方称之为桩代码。\n\n\n__TEXT.__stubs_helper\n当 Stub 无法找到真正的符号地址后的最终指向\n\n\n__TEXT.__objc_methname\nObjective-C 方法名称\n\n\n__TEXT.__objc_methtype\nObjective-C 方法类型\n\n\n__TEXT.__objc_classname\nObjective-C 类名称\n\n\n__DATA.__data\n初始化过的可变数据\n\n\n__DATA.__la_symbol_ptr\nlazy binding 的指针表,表中的指针一开始都指向 __stub_helper\n\n\n__DATA.nl_symbol_ptr\n非 lazy binding 的指针表,每个表项中的指针都指向一个在装载过程中,被动态链机器搜索完成的符号\n\n\n__DATA.__const\n没有初始化过的常量\n\n\n__DATA.__cfstring\n程序中使用的 Core Foundation 字符串(CFStringRefs)\n\n\n__DATA.__bss\nBSS,存放为初始化的全局变量,即常说的静态内存分配\n\n\n__DATA.__common\n没有初始化过的符号声明\n\n\n__DATA.__objc_classlist\nObjective-C 类列表\n\n\n__DATA.__objc_protolist\nObjective-C 原型\n\n\n__DATA.__objc_imginfo\nObjective-C 镜像信息\n\n\n__DATA.__objc_selfrefs\nObjective-C self 引用\n\n\n__DATA.__objc_protorefs\nObjective-C 原型引用\n\n\n__DATA.__objc_superrefs\nObjective-C 超类引用\n\n\n\nReference\n1. Macho-O文件\n2.Mach-O 文件格式探索\n"},"iOS/Knowledge/PreMain.html":{"url":"iOS/Knowledge/PreMain.html","title":"PreMain","keywords":"","body":"main 函数之前发生了什么\n大体分为如下步骤:\n(1) 系统为程序启动做好准备\n(2) 系统将控制权交给 Dyld,Dyld 会负责后续的工作\n(3) Dyld 加载程序所需的动态库\n(3) Dyld 对程序进行 rebase 以及 bind 操作\n(4) Objc SetUp\n(5) 运行初始化函数\n(6) 执行程序的 main 函数\n需要注意的是,dyld2和dyld3的加载方式略有不同。dyld2是纯粹的in-process,也就是在程序进程内执行的,也就意味着只有当应用程序被启动的时候,dyld2才能开始执行任务。dyld3则是部分out-of-process,部分in-process。\ndyld2的过程是:加载dyld到App进程,加载动态库(包括所依赖的所有动态库),Rebase,Bind,初始化Objective C Runtime和其它的初始化代码。\ndyld3的out-of-process会做如下事情:分析Mach-o Headers,分析依赖的动态库,查找需要Rebase & Bind之类的符号,把上述结果写入缓存。这样,在应用启动的时候,就可以直接从缓存中读取数据,加快加载速度。\nDyld\nDyld 是 iOS 系统的动态链接器, 在dyldStartup.s 文件中有个名为 __dyld_start 的方法,它会去调用 dyldbootstrap::start() 方法,然后进一步调用 dyld::_main() 方法,里面包含 App 的整个启动流程,该函数最终返回应用程序 main 函数的地址,最后 Dyld 会去调用它。\n之后会去加载可执行文件,二进制文件常被称为 image,包括可执行文件、动态库等,ImageLoader 的作用就是将二进制文件加载进内存。dyld::_main() 方法在设置好运行环境后,会调用instantiateFromLoadedImage 函数将可执行文件加载进内存中,加载过程分为三步:\n合法性检查。主要是检查可执行文件是否合法,是否能在当前的 CPU 架构下运行。\n选择 ImageLoader 加载可执行文件。系统会去判断可执行文件的类型,选择相应的 ImageLoader 将其加载进内存空间中。\n注册 image 信息。可执行文件加载完成后,系统会调用 addImage 函数将其管理起来,并更新内存分布信息。\n\n以上三步完成后,Dyld 会调用 link 函数开始之后的处理流程。\n具体查看-> Dyld\n总结:\nmain()函数调用之前,其实是做了很多准备工作,主要是dyld这个动态链接器在负责,核心流程如下:\n1. 程序执行从_dyld_star开始\n\n1.1. 读取macho文件信息,设置虚拟地址偏移量,用于重定向。\n1.2. 调用dyld::_main方法进入macho文件的主程序。\n\n2. 配置一些环境变量\n\n2.1. 设置的环境变量方便我们打印出更多的信息。\n2.1. 调用getHostInfo()来获取machO头部获取当前运行架构的信息。\n\n3. 实例化主程序,即macho可执行文件。\n4. 加载共享缓存库。\n5. 插入动态缓存库。\n6. 链接主程序。\n7. 初始化函数。\n\n7.1. 经过一系列的初始化函数最终调用notifSingle函数。\n7.2. 此回调是被运行时_objc_init初始化时赋值的一个函数load_images\n7.3. load_images里面执行call_load_methods函数,循环调用所用类以及分类的load方法。\n7.4. doModInitFunctions函数,内部会调用全局C++对象的构造函数,即 attribute ((constructor))这样的函数。\n\n8. 返回主程序的入口函数,开始进入主程序的main()函数。\nReference\n1. iOS App从点击到启动\n2. 一步一步带你揭开main函数之前的面纱\n"},"iOS/Knowledge/Complie.html":{"url":"iOS/Knowledge/Complie.html","title":"iOS 编译过程","keywords":"","body":"iOS 编译过程梳理\n编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率很高。\n编译器的概述\n编译器的作用是把我们的高级语言转换成机器可以识别的机器码,经典的设计结构如下:\n\n\n前端(Frontend):语法分析,语义分析和生成中间代码。在这个过程中,也会对代码进行检查,如果发现出错的或需要警告的会标注出来。\n优化器(Optimizer):会进行 BitCode 的生成,链接期优化等工作。\n后端(Backend):针对不同的架构,生成对应的机器码。\n\nClang + LLVM 的编译过程\n\n预处理阶段:import 头文件替换;macro 宏展开;处理预编译指令\n词法分析:预处理完成后进入词法分析,将输入的代码转化为一系列符合特定语言的词法单元(token 流)。\n语法分析:将词法分析得到的 token 流进行语法静态分析(Static Analysis),输出抽象语法树(AST),过程中会校验语法是否错误。\nCodeGen 生成 IR 中间代码:CodeGen 负责将语法树自顶向下遍历翻译成 LLVM IR,IR 是编译过程中前端的输出后端的输入。\nOptimize 优化 IR:到这里 LLVM 会做一些优化工作,在 Xcode 的编译设置里可以设置优化级别 -01, -03, -0s,也可以写自己的 Pass,Pass 是 LLVM 优化工作的一个节点,一个节点做些事,一起加起来就构成了 LLVM 完整的优化和转化。附件:官方 Pass 教程。\nLLVM Bitcode 生成字节码:如果开启了 bitcode,苹果会做进一步优化。若有新的后端架构,依旧可以用这份优化过的 bitcode 去生成。\n生成汇编\n生成目标文件\n生成可执行文件\n\nXcode Build 的流程\n我们在 Xcode 中使用 Command + B 或 Command + R 时,即完成了一次编译,来看下这个过程做了哪些事情。\n编译过程分为四个步骤:\n\n预编译(Pre-process):宏替换、删除注释、展开头文件,产生 .i 文件。\n编译(Compliling):把前面生成的 .i 文件转化为汇编语言,产生 .s 文件。\n汇编(Asembly):把汇编语言 .s 文件转化为机器码文件,产生 .0 文件。\n链接(Link):对 .o 文件中的对于其他库的引用的地方进行引用,生成最后的可执行文件。也包括多个 .o 文件进行 link。\n\n通过解析 Xcode 编译 log,可以发现 Xcode 是根据 Target 进行编译的。我们可以通过 Xcode 中的 Build Phases、Build Settings 及 Build Rules 来控制编译过程。\n\nBuild Settings:这一栏下是对编译的细节进行设定,包含 build 过程的每个阶段的设置选项(包含编译、链接、代码签名、打包)。\nBuild Phases:用于控制从源文件到可执行文件的整个过程,如编译哪些文件,编译过程中执行哪些自定义脚本。例如 CocoaPods 在这里会进行相关配置。\nBuild Rules:指定了不同的文件类型该如何编译。一般我们不需要修改这里的内容。如果需要对特定类型的文件添加处理方法,可以在这里添加规则。\n\n每个 Target 的具体编译过程也可以通过 log 日志获得。大致过程为:\n\n编译信息写入辅助文件(如Entitlements.plist),创建编译后的文件架构\n写入辅助信息(.hmap 文件)。将项目的文件结构对应表、将要执行的脚本、项目依赖库的文件结构对应表写成文件。\n运行预设的脚本。如 Cocoapods 会在 Build Phases 中预设一些脚本(CheckPods Manifest.lock)。\n编译 .m 文件,生成可执行文件 Mach-O。每次进行了 LLVM 的完整流程:前端(词法分析 - 语法分析 - 生成 IR)、优化器(优化 IR)、后端(生成汇编 - 生成目标文件 - 生成可执行文件)。使用 CompileC 和 clang 命令。\nCompileC 是 xcodebuild 内部函数的日志记录表示形式,它是 build.log 文件中有关编译的基本信息来源。\n链接需要的库。如 Foundation.framework,AFNetworking.framework…\n拷贝资源文件到目标包\n编译 storyboard 文件\n链接 storyboard 文件\n编译 Asset 文件。如果使用 Asset.xcassets 来管理图片,这些图片会被编译为机器码,除了 icon 和 launchIamge。\n处理 infoplist\n执行 CocoaPods 脚本,将在编译项目前已编译好的依赖库和相关资源拷贝到包中。\n拷贝 Swift 标准库\n创建 .app 文件并对其签名\n\nReference\n1 iOS 编译过程梳理\n"},"iOS/Knowledge/BinaryOrder.html":{"url":"iOS/Knowledge/BinaryOrder.html","title":"二进制重排","keywords":"","body":"二进制重排\n原理\nApp启动和内存加载\nLinux 系统下,进程申请内存并不是直接物理内存给我们运行,而是只标记当前进程拥有该段内存,当真正使用这段段内存时才会分配,此时的内存是虚拟内存。\n\n在虚拟内存出现前,程序指令必须都在物理内存内,使得物理内存能存放的进程十分有限,并且由于是相邻存储,容易发生越界访问等情况。\n虚拟内存是作为 内存的管理和保护工具 诞生的,为每个进程提供了一片连续完整的虚拟内存空间,使用时先通过界限寄存器判断访问是否越界,再通过基址寄存器转换为实际内存地址。降低了内存管理的复杂度,保护每个进程的内存地址空间不会被其它进程破坏,并且实现了 共享缓存功能,访问时先判断是否已缓存到主存中才通过 CPU 寻址(虚拟地址)访问主存或硬盘。\n\n当我们需要访问一个内存地址时,如果虚拟内存地址对应的物理内存还未分配,CPU 会执行 page fault,将指令从磁盘加载到物理内存中并进行验签操作(App Store 发布情况下)。\n\n二进制重排,主要是优化我们启动时需要的函数非常分散在各个页,启动时就会多次Page Fault造成时间的损耗\n\nPage Fault\n进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。为了提高效率和方便管理,又对虚拟内存和物理内存又进行分页(Page)。当进程访问一个虚拟内存 Page 而对应的物理内存却不存在时,会触发一次缺页中断(Page Fault),分配物理内存,有需要的话会从磁盘 mmap 读人数据。\n通过 App Store 渠道分发的 App,Page Fault 还会进行签名验证,所以一次 Page Fault 的耗时比想象的要多:\n\n二进制重排原理\n在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(Page Fault),因此阻塞进程。此时就需要先加载数据到物理内存,然后再继续访问。这个对性能是有一定影响的。\n在App 启动过程中,会调用各种函数,由于这些函数分布在各个 TEXT 段中且不连续,此时需要执行多次 page fault 创建分页,将代码读取到物理内存中,并且这些分页中的部分代码不会在启动阶段被调用。如下图所示,假设我们在启动阶段需要调用 Func A、B、C,则需执行3次 page default(包括首次读取),并使用3个分页。\n\n重排\n编译器在生成二进制代码的时候,默认按照链接的 Object File(.o)顺序写文件,按照 Object File 内部的函数顺序写函数。\n\n静态库文件.a 就是一组.o 文件的 ar 包,可以用ar -t查看.a 包含的所有.o。\n\n\n默认布局\n简化问题:假设我们只有两个 page:page1/page2,其中绿色的 method1 和 method3 启动时候需要调用,为了执行对应的代码,系统必须进行两个 Page Fault。\n但如果我们把 method1 和 method3 排布到一起,那么只需要一个 Page Fault 即可,这就是二进制文件重排的核心原理。\n\nReference\n1. 深入探索 iOS 启动速度优化(二进制重排)\n"},"iOS/Knowledge/RuntimeSuper.html":{"url":"iOS/Knowledge/RuntimeSuper.html","title":"self class && super class","keywords":"","body":"Father Son\n下面的代码输出什么?\n@implementation Son : Father\n- (id)init {\n self = [super init];\n if (self) {\n NSLog(@\"%@\", NSStringFromClass([self class]));\n NSLog(@\"%@\", NSStringFromClass([super class]));\n }\n return self;\n}\n@end\n\n self 是类的隐藏参数,指向调用方法的这个类的实例,是一个 指针。\n 而 super 跟 self 不一样,并不是指向父类的指针,只是一个 编译器修饰符 作用。\n用 self 调用方法是从该类的方法列表当中找对应方法调用,如果没有就从父类当中找;而 super 关键词是从父类的方法列表当中找,调用父类的那个方法。但是这两种方式的事件调用者都是当前的实例 Son ,最终都是找到了 NSObject 中的 class 的方法。\n在 NSObject.mm 中可以找到 -(Class)class 的实现:\n- (Class)class {\n return object_getClass(self);\n}\n\n在 objc_class.mm 中找到 object_getClass 的实现:\nClass object_getClass(id obj)\n{\n if (obj) return obj->getIsa();\n else return Nil;\n}\n\n可以看到,最终这个方法返回的是,调用这个方法的 objc 的 isa 指针。那我们只需要知道在题干中的代码里面最终是谁在调用 -(Class)class 方法就可以找到答案了。\n接下来,我们利用 clang -rewrite-objc 命令,将题干的代码转化为如下代码:\nNSLog((NSString *)&__NSConstantStringImpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_T_Car_3f2069_mi_0, NSStringFromClass(((Class (*)(id, SEL))(void *)objc_msgSend)((id)self, sel_registerName(\"class\"))));\n\nNSLog((NSString *)&__NSConstantStringImpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_T_Car_3f2069_mi_1, NSStringFromClass(((Class (*)(__rw_objc_super *, SEL))(void *)objc_msgSendSuper)((__rw_objc_super){(id)self, (id)class_getSuperclass(objc_getClass(\"Car\"))}, sel_registerName(\"class\"))));\n\n从上方可以得出,调用 Father class 的时候,本质是在调用\nobjc_msgSendSuper(struct objc_super *super, SEL op, ...)\n\nstruct objc_super 的定义如下:\nstruct objc_super {\n /// Specifies an instance of a class.\n __unsafe_unretained _Nonnull id receiver;\n\n /// Specifies the particular superclass of the instance to message. \n#if !defined(__cplusplus) && !__OBJC2__\n /* For compatibility with old objc-runtime.h header */\n __unsafe_unretained _Nonnull Class class;\n#else\n __unsafe_unretained _Nonnull Class super_class;\n#endif\n /* super_class is the first class to search */\n};\n\n里面传两个参数,第一个参数objc_super结构体中有两个成员:\n\n\nreceiver: a pointer of type id. Specifies an instance of a class.\nsuper_class: a pointer to a Class data structure. Specifies the particular superclass of the instance to the message.\n\n\nreceiver 就是调用这个事件的接受者 self,然后第二个就是父类的 class Father,然后从这个 Father 类开始找 class 方法,一直找到了 NSObject ,最后这两个方法都是调用了 [self class] 打印当前类的 class。\n从定义可以得知:当利用 super 调用方法时,只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用,是去父类找实现,super 仅仅是一个编译指示器。但是消息的接收者 receiver 依然是self。最终在 NSObject 获取 isa 指针的时候,获取到的依旧是 self 的 isa,所以,我们得到的结果是:Son。\nReference\nRuntime学习:面试题狙击\niOS:关于super 关键字(使用runtime分析)\n"},"iOS/Knowledge/RuntimeCls.html":{"url":"iOS/Knowledge/RuntimeCls.html","title":"isKindOfClass && isMemberOfClass","keywords":"","body":"isKindOfClass isMemberOfClass\n以下的代码会输出什么结果?\n@interface Sark : NSObject\n@end\n@implementation Sark\n@end\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n // insert code here...\n\n NSLog(@\"%@\", [NSObject class]);\n NSLog(@\"%@\", [Sark class]);\n\n BOOL res1 = [(id)[NSObject class] isKindOfClass:[NSObject class]];\n BOOL res2 = [(id)[NSObject class] isMemberOfClass:[NSObject class]];\n BOOL res3 = [(id)[Sark class] isKindOfClass:[Sark class]];\n BOOL res4 = [(id)[Sark class] isMemberOfClass:[Sark class]];\n NSLog(@\"%d--%d--%d--%d\", res1, res2, res3, res4);\n }\n return 0;\n}\n\n结果: 1--0--0--0\n分析:\n首先,我们先去查看一下题干中两个方法的源码:\n- (BOOL)isMemberOfClass:(Class)cls {\n return [self class] == cls;\n}\n\n- (BOOL)isKindOfClass:(Class)cls {\n for (Class tcls = [self class]; tcls; tcls = tcls->superclass) {\n if (tcls == cls) return YES;\n }\n return NO;\n}\n\n可以得知:\n\nisKindOfClass 的执行过程是拿到自己的 isa 指针和自己比较,若不等则继续取 isa 指针所指的 super class 进行比较。如此循环。\nisMemberOfClass 是拿到自己的 isa 指针和自己比较,是否相等。\n\nNSObject class 执行完之后调用 isKindOfClass,第一次判断先判断 NSObject 和 NSObject 的 meta class 是否相等,之前讲到 meta class 的时候放了一张很详细的图,从图上我们也可以看出,NSObject 的 meta class 与本身不等。接着第二次循环判断 NSObject 与meta class 的 superclass 是否相等。还是从那张图上面我们可以看到:Root class(meta) 的 superclass 就是 Root class(class),也就是 NSObject 本身。所以第二次循环相等,于是第一行 res1 输出应该为YES。\n\nisa 指向 NSObject 的 Meta Class,所以和 NSObject Class不相等。\nSark class 执行完之后调用 isKindOfClass,第一次 for 循环,Sark 的 Meta Class 与 Sark class 不等,第二次 for 循环,Sark Meta Class 的 super class 指向的是 NSObject Meta Class, 和 Sark Class 不相等。第三次 for 循环,NSObject Meta Class 的 super class 指向的是 NSObject Class,和 Sark Class 不相等。第四次循环,NSObject Class 的super class 指向 nil, 和 Sark Class 不相等。第四次循环之后,退出循环,所以第三行的 res3 输出为 NO。\nisa 指向 Sark 的 Meta Class,和 Sark Class 也不等。\n\nReference\nRuntime学习:面试题狙击\n"},"Network/TCPMessageFrame.html":{"url":"Network/TCPMessageFrame.html","title":"TCP粘包","keywords":"","body":"TCP 协议粘包问题\n当应用层协议使用 TCP 协议传输数据时,TCP 协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从 TCP 缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。\n粘包并不是 TCP 协议造成的,它的出现是因为应用层协议设计者对 TCP 协议的错误理解,忽略了 TCP 协议的定义并且缺乏设计应用层协议的经验。本文将从 TCP 协议以及应用层协议出发,分析我们经常提到的 TCP 协议中的粘包是如何发生的:\n\nTCP 协议是面向字节流的协议,它可能会组合或者拆分应用层协议的数据;\n应用层协议的没有定义消息的边界导致数据的接收方无法拼接数据;\n\nTCP 协议是面向连接的、可靠的、基于字节流的传输层通信协议,应用层交给 TCP 协议的数据并不会以消息为单位向目的主机传输,这些数据在某些情况下会被组合成一个数据段发送给目标的主机。\nNagle 算法是一种通过减少数据包的方式提高 TCP 传输性能的算法。因为网络 带宽有限,它不会将小的数据块直接发送到目的主机,而是会在本地缓冲区中等待更多待发送的数据,这种批量发送数据的策略虽然会影响实时性和网络延迟,但是能够降低网络拥堵的可能性并减少额外开销。\nNagle 算法确实能够在数据包较小时提高网络带宽的利用率并减少 TCP 和 IP 协议头带来的额外开销,但是使用该算法也可能会导致应用层协议多次写入的数据被合并或者拆分发送,当接收方从 TCP 协议栈中读取数据时会发现不相关的数据出现在了同一个数据段中,应用层协议可能没有办法对它们进行拆分和重组。\n消息边界\n在应用层协议中,最常见的两种解决方案就是基于长度或者基于终结符(Delimiter)。\n除了这两种方式之外,我们可以基于特定的规则实现消息的边界,例如:使用 TCP 协议发送 JSON 数据,接收方可以根据接收到的数据是否能够被解析成合法的 JSON 判断消息是否终结。\n总结\nTCP 协议粘包问题是因为应用层协议开发者的错误设计导致的,他们忽略了 TCP 协议数据传输的核心机制 — 基于字节流,其本身不包含消息、数据包等概念,所有数据的传输都是流式的,需要应用层协议自己设计消息的边界,即消息帧(Message Framing),我们重新回顾一下粘包问题出现的核心原因:\n\nTCP 协议是基于字节流的传输层协议,其中不存在消息和数据包的概念;\n应用层协议没有使用基于长度或者基于终结符的消息边界,导致多个消息的粘连;\n\n发生TCP粘包或拆包有很多原因,现列出常见的几点,\n1、要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。\n2、待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。\n3、要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包。\n4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。\nReference\n1 为什么 TCP 协议有粘包问题\n2 Socket 粘包和分包问题\n3 TCP粘包,拆包及解决方法、丢包的原因及解决办法\n"},"Network/Https.html":{"url":"Network/Https.html","title":"Https","keywords":"","body":"Https\nHTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密\nHTTPS 即 HTTP over TLS,是一种在加密信道进行 HTTP 内容传输的协议。\n\nTLS 的早期版本叫做 SSL。SSL 的 1.0, 2.0, 3.0 版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的 SSL 版本进行支持了,因此这里我们就统一使用 TLS 名称了。\n\nHTTPS = HTTP + SSL/TLS\nHTTPS是安全的HTTP.\n\nHTTPS和HTTP的区别主要如下:\n  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。\n  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。\n  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。\n  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。\nHTTPS 连接经历流程是怎么样的\nHTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。\n\n\n会话秘钥\n会话秘钥 = randomS + randomC + 预主秘钥\nTLS 的基本过程如下\n(取自 what-happens-when-zh_CN):\n\n客户端发送一个 ClientHello 消息到服务器端,消息中同时包含了它的 Transport Layer Security (TLS) 版本,可用的加密算法和压缩算法。\n服务器端向客户端返回一个 ServerHello 消息,消息中包含了服务器端的 TLS 版本,服务器所选择的加密和压缩算法,以及数字证书认证机构(Certificate Authority,缩写 CA)签发的服务器公开证书,证书中包含了公钥。客户端会使用这个公钥加密接下来的握手过程,直到协商生成一个新的对称密钥。证书中还包含了该证书所应用的域名范围(Common Name,简称 CN),用于客户端验证身份。\n客户端根据自己的信任 CA 列表,验证服务器端的证书是否可信。如果认为可信(具体的验证过程在下一节讲解),客户端会生成一串伪随机数,使用服务器的公钥加密它。这串随机数会被用于生成新的对称密钥\n服务器端使用自己的私钥解密上面提到的随机数,然后使用这串随机数生成自己的对称主密钥\n客户端发送一个 Finished 消息给服务器端,使用对称密钥加密这次通讯的一个散列值\n服务器端生成自己的 hash 值,然后解密客户端发送来的信息,检查这两个值是否对应。如果对应,就向客户端发送一个 Finished 消息,也使用协商好的对称密钥加密\n从现在开始,接下来整个 TLS 会话都使用对称秘钥进行加密,传输应用层(HTTP)内容\n\n从上面的过程可以看到,TLS 的完整过程需要三个算法(协议),密钥交互算法,对称加密算法,和消息认证算法(TLS 的传输会使用 MAC(message authentication code) 进行完整性检查)。\nHTTPS的验证流程\n这一部分看的比较多,主要归纳了一下,分5条。\n1)客户端发起一个http请求,连接到服务器的443端口。\n2)服务端把自己的信息以数字证书的形式返回给客户端(证书内容有密钥公钥,网站地址,证书颁发机构,失效日期等)。证书中有一个公钥来加密信息,私钥由服务器持有。\n3)验证证书的合法性\n客户端收到服务器的响应后会先验证证书的合法性(证书中包含的地址与正在访问的地址是否一致,证书是否过期)。\n4)生成随机密码(RSA签名)\n如果验证通过,或用户接受了不受信任的证书,浏览器就会生成一个随机的对称密钥(session key)并用公钥加密,让服务端用私钥解密,解密后就用这个对称密钥进行传输了,并且能够说明服务端确实是私钥的持有者。\n5)生成对称加密算法\n验证完服务端身份后,客户端生成一个对称加密的算法和对应密钥,以公钥加密之后发送给服务端。此时被黑客截获也没用,因为只有服务端的私钥才可以对其进行解密。之后客户端与服务端可以用这个对称加密算法来加密和解密通信内容了。\nHTTPS都是用了哪些加密手段?\n非对称加密算法(公钥加密)\n有RSA、DSA/DSS、Elgamal、Rabin、D-H、ECC等。在客户端与服务器相互验证的过程中用的就是非对称加密算法\nRSA密码体制就是公钥密码体制,RSA的一对公钥和私钥都可以用来加密和解密。\n比如公钥加密后只能由私钥解密;私钥加密后只能由公钥解密。且一方加密的内容只能由对方进行解密。\n对称加密算法(私钥加密)\n有AES、DES、3DES、TDEA、Blowfish、RC4、RC5、IDEA等。加密使用的密钥和解密使用的密钥是同一个密钥。由于加密算法是公开的,若要保证安全性,密钥不能对外公开。通常用来加密消息体。\nHASH算法\n有MD5,SHA1,SHA256。用来确认信息没有被篡改。主要用来生成签名,签名是加在信息后面的,可以证明信息没有被修改过。一般对信息先做hash计算得到一个hash值,然后用私钥加密(这个加密一般是非对称加密)作为一个签名和信息一起发送。接收方收到信息后重新计算信息的hash值,且和信息所附带的hash值解密后进行对比。如果一样则认为没有被修改,反之则认为修改过,不做处理。可能有一种情况,黑客修改了信息并把hash值也改了,从而让他们相匹配。所以hash值一般都是加密后(生成签名)再和信息一起发送,确保hash值不会被修改。\n数字证书\n主要包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。\n\n连接建立过程中是用非对称加密,非对称加密很耗时\n后续通讯过程是用对称加密\n\n非对称加密\n\n对称加密\n\nReference\n1. HTTPS 基本过程\n2. HTTPS运行流程\n3. 第15讲 | HTTPS协议:点外卖的过程原来这么复杂\n"},"Network/TCPHandShake.html":{"url":"Network/TCPHandShake.html","title":"TCPHandShake","keywords":"","body":"三次握手和四次挥手\n三次握手\n三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。\n刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。 进行三次握手:\n\n第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c)。此时客户端处于 SYN_SEND 状态。\n首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但要消耗掉一个序号。\n\n第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。\n在确认报文段中SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y。\n\n第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。\n确认报文段ACK=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。\n\n\n发送第一个SYN的一端将执行主动打开(active open),接收这个SYN并发回下一个SYN的另一端执行被动打开(passive open)。\n在socket编程中,客户端执行connect()时,将触发三次握手。\n\n为什么需要三次握手,两次不行吗?\n弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。\n\n第一次握手:客户端发送网络包,服务端收到了。 这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。\n第二次握手:服务端发包,客户端收到了。 这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。\n第三次握手:客户端发包,服务端收到了。 这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。\n\n因此,需要三次握手才能确认双方的接收与发送能力是否正常。\n试想如果是用两次握手,则会出现下面这种情况:\n\n如客户端发出连接请求,但因连接请求报文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端共发出了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,但是第一个丢失的报文段只是在某些网络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务端,此时服务端误认为客户端又发出一次新的连接请求,于是就向客户端发出确认报文段,同意建立连接,不采用三次握手,只要服务端发出确认,就建立新的连接了,此时客户端忽略服务端发来的确认,也不发送数据,则服务端一致等待客户端发送数据,浪费资源。\n\n1.2 什么是半连接队列?\n服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。\n当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。\n这里在补充一点关于SYN-ACK 重传次数的问题: 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传。如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。 注意,每次重传等待的时间不一定相同,一般会是指数增长,例如间隔时间为 1s,2s,4s,8s......\n1.3 ISN(Initial Sequence Number)是固定的吗?\n当一端为建立连接而发送它的SYN时,它为连接选择一个初始序号。ISN随时间而变化,因此每个连接都将具有不同的ISN。ISN可以看作是一个32比特的计数器,每4ms加1 。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它做错误的解释。\n三次握手的其中一个重要功能是客户端和服务端交换 ISN(Initial Sequence Number),以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果 ISN 是固定的,攻击者很容易猜出后续的确认号,因此 ISN 是动态生成的。\n1.4 三次握手过程中可以携带数据吗?\n其实第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据\n为什么这样呢?大家可以想一个问题,假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的 SYN 报文中放入大量的数据。因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发 SYN 报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。\n也就是说,第一次握手不可以放数据,其中一个简单的原因就是会让服务器更加容易受到攻击了。而对于第三次的话,此时客户端已经处于 ESTABLISHED 状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据也没啥毛病。\n1.5 SYN攻击是什么?\n服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到SYN洪泛攻击。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server则回复确认包,并等待Client确认,由于源地址不存在,因此Server需要不断重发直至超时,这些伪造的SYN包将长时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。SYN 攻击是一种典型的 DoS/DDoS 攻击。\n检测 SYN 攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。在 Linux/Unix 上可以使用系统自带的 netstats 命令来检测 SYN 攻击。\nnetstat -n -p TCP | grep SYN_RECV\n\n常见的防御 SYN 攻击的方法有如下几种:\n\n缩短超时(SYN Timeout)时间\n增加最大半连接数\n过滤网关防护\nSYN cookies技术\n\n四次挥手\n建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由TCP的半关闭(half-close)造成的。所谓的半关闭,其实就是TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。\nTCP 的连接的拆除需要发送四个包,因此称为四次挥手(Four-way handshake),客户端或服务器均可主动发起挥手动作。\n刚开始双方都处于 ESTABLISHED 状态,假如是客户端先发起关闭请求。四次挥手的过程如下:\n\n第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态。 即发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。\n第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT 状态。 即服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。\n第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。 即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。\n第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。 即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。\n\n收到一个FIN只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入TIME_WAIT是正常的,服务端通常执行被动关闭,不会进入TIME_WAIT状态。\n在socket编程中,任何一方执行close()操作即可产生挥手操作。\n\n\n2.1 挥手为什么需要四次?\n因为当服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端,\"你发的FIN报文我收到了\"。只有等到我服务端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。\n2.2 2MSL等待状态\nTIME_WAIT状态也成为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime),它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段。\n对一个具体实现所给定的MSL值,处理的原则是:当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2倍的MSL。这样可让TCP再次发送最后的ACK以防这个ACK丢失(另一端超时并重发最后的FIN)。\n这种2MSL等待的另一个结果是这个TCP连接在2MSL等待期间,定义这个连接的插口(客户的IP地址和端口号,服务器的IP地址和端口号)不能再被使用。这个连接只能在2MSL结束后才能再被使用。\n2.3 四次挥手释放连接时,等待2MSL的意义?\n\nMSL是Maximum Segment Lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。\n\n为了保证客户端发送的最后一个ACK报文段能够到达服务器。因为这个ACK有可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN-ACK的确认报文。服务器会超时重传这个FIN-ACK,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2MSL,而是在发送完ACK之后直接释放关闭,一但这个ACK丢失的话,服务器就无法正常的进入关闭连接状态。\n两个理由:\n\n保证客户端发送的最后一个ACK报文段能够到达服务端。 这个ACK报文段有可能丢失,使得处于LAST-ACK状态的B收不到对已发送的FIN+ACK报文段的确认,服务端超时重传FIN+ACK报文段,而客户端能在2MSL时间内收到这个重传的FIN+ACK报文段,接着客户端重传一次确认,重新启动2MSL计时器,最后客户端和服务端都进入到CLOSED状态,若客户端在TIME-WAIT状态不等待一段时间,而是发送完ACK报文段后立即释放连接,则无法收到服务端重传的FIN+ACK报文段,所以不会再发送一次确认报文段,则服务端无法正常进入到CLOSED状态。\n防止“已失效的连接请求报文段”出现在本连接中。 客户端在发送完最后一个ACK报文段后,再经过2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,使下一个新的连接中不会出现这种旧的连接请求报文段。\n\n2.4 为什么TIME_WAIT状态需要经过2MSL才能返回到CLOSE状态?\n理论上,四个报文都发送完毕,就可以直接进入CLOSE状态了,但是可能网络是不可靠的,有可能最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。\n \n作者:猿人谷\n链接:https://juejin.cn/post/6844903958624878606\n来源:掘金\n著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。\nReference\n1 三次握手和四次挥手\n"},"Network/TCPUDP.html":{"url":"Network/TCPUDP.html","title":"TCP&UDP","keywords":"","body":"TCP & UDP\nTCP协议的特点\n\n面向连接\n面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。\n\n仅支持单播传输\n\n\n每条TCP传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。\n\n面向字节流\n\nTCP不像UDP一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。\n\n可靠传输\n对于可靠传输,判断丢包,误码靠的是TCP的段编号以及确认号。TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。\n\n提供拥塞控制\n\n\n当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞\n\nTCP提供全双工通信\n\nTCP允许通信双方的应用程序在任何时候都能发送数据,因为TCP连接的两端都设有缓存,用来临时存放双向通信的数据。当然,TCP可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于MSS)\nUDP协议的特点\n1. 面向无连接\n首先 UDP 是不需要和 TCP一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。\n具体来说就是:\n\n在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了\n在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作\n\n2. 有单播,多播,广播的功能\nUDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。\n3. UDP是面向报文的\n发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文\n4. 不可靠性\n首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。\n并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。\n再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。\nTCP和UDP的比较\n1. 对比\n\n\n\n\nUDP\nTCP\n\n\n\n\n是否连接\n无连接\n面向连接\n\n\n是否可靠\n不可靠传输,不使用流量控制和拥塞控制\n可靠传输,使用流量控制和拥塞控制\n\n\n连接对象个数\n支持一对一,一对多,多对一和多对多交互通信\n只能是一对一通信\n\n\n传输方式\n面向报文\n面向字节流\n\n\n首部开销\n首部开销小,仅8字节\n首部最小20字节,最大60字节\n\n\n适用场景\n适用于实时应用(IP电话、视频会议、直播等)\n适用于要求可靠传输的应用,例如文件传输\n\n\n\nTCP/UDP区别以及UDP如何实现可靠传输\nTCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。\n\nUDP(用户数据报协议)\n特点:\n\n无连接\n尽最大努力交付\n面向报文(既不合并,也不拆分)\n\n\n功能:\n复用,分用,差错检测\nTCP(传输控制协议)\n特点\n\n面向连接\n数据传输前需要建立连接\n数据传输结束后断开连接\n\n\n可靠传输\n面向字节流\n流量控制\n拥塞控制\n\n为什么要进行三次握手\n超时问题,客户端超时重传策略,又发一次sync,造成多次建立连接\n如何保证可靠传输\n主要需要保证报文无差错,不丢失,不重复,按序到达。\nTCP主要靠停止等待协议实现的\n\n无差错情况\n超时重传\n确认丢失\n确认迟到\n\n\n\n\n\nTCP与UDP区别总结\n1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接\n2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付\n3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的\nUDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)\n4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信\n5、TCP首部开销20字节;UDP的首部开销小,只有8个字节\n6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道\nUDP如何实现可靠传输\n由于在传输层UDP已经是不可靠的连接,那就要在应用层自己实现一些保障可靠传输的机制\n简单来讲,要使用UDP来构建可靠的面向连接的数据传输,就要实现类似于TCP协议的\n超时重传(定时器)\n有序接受 (添加包序号)\n应答确认 (Seq/Ack应答机制)\n滑动窗口流量控制等机制 (滑动窗口协议)\n等于说要在传输层的上一层(或者直接在应用层)实现TCP协议的可靠数据传输机制,比如使用UDP数据包+序列号,UDP数据包+时间戳等方\n"},"Network/HTTPDNS.html":{"url":"Network/HTTPDNS.html","title":"HTTPDNS","keywords":"","body":"HTTPDNS\nHTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。\nHTTPDNS是一款递归DNS服务,与权威DNS不同,HTTPDNS并不具备决定解析结果的能力,而是主要负责解析过程的实现。\n传统的DNS系统存在很多问题,最常见的就是DNS劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是DNS劫持,因为DNS解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按 TTL 缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名->IP】的映射方式,那就是HttpDNS。\nHttpDNS是通过ip直接请求http获取服务器A记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟。HttpDNS和LocalDNS最大的区别在与:前者使用HTTP协议进行域名解析;后者协议运行在UDP协议之上,使用端口号53。\n解决的问题\n使用HttpDns,可以有效解决传统DNS的DNS劫持、访问时间延迟等问题。\n\nLocal DNS 劫持:由于 HttpDns 是通过 IP 直接请求 HTTP 获取服务器 A 记录地址,不存在向本地运营商询问 domain 解析过程,所以从根本避免了劫持问题。\n平均访问延迟下降:由于是 IP 直接访问省掉了一次 domain 解析过程,通过智能算法排序后找到最快节点进行访问。\n用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。\n\nIP直连方案有下面几大优势: \n\n摒弃了系统DNS,减少外界干扰,摆脱DNS劫持困扰。 \n自建DNS更新时机可以控制。 \nIP列表更换方便。\n\nReference\nHTTPDNS深度解析\n"},"Network/CA.html":{"url":"Network/CA.html","title":"CA","keywords":"","body":"CA证书\nSSL如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到CA证书\nCA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。\nCA 拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。\n证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循X.509国际标准。\n数据加密\n数字签名:当我们去银行办理业务时,会在业务单上签下自己的名字,这个叫签名。而在网络通信中,签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确\n信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如SHA1,MD5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。\nSSL的加密机制:在使用SSL的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为DES、3DES,AES等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有RSA、Elgamal、ECC等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请网上搜索相应的资料。\n使用用户身份信息生成数字签名\n在传输的过程中,客户端如何获得服务器端的公钥呢?当时是服务器分发给客户端,如果一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。\n为了防止这种情况,数字证书就出现了,它其实就是基于上上面所说的私钥加密数据,公钥解密来验证其身份。\n 数字证书是由权威的CA(Certificate Authority)机构给服务端进行颁发,CA机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。\n 数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?\n 一个证书中含有三个部分:\"证书内容,散列算法,加密密文\",证书内容会被散列算法hash计算出hash值,然后使用CA机构提供的私钥进行RSA加密。\n当客户端发起请求时,服务器将该数字证书发送给客户端,客户端通过CA机构提供的公钥对加密密文进行解密获得散列值(数字签名),同时将证书内容使用相同的散列算法进行Hash得到另一个散列值,比对两个散列值,如果两者相等则说明证书没问题。\n对称加密方式\n\nCA认证链\n根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的,若终端信任根证书,则信任根证书生成的其他证书。终端没有安装相应https证书则不能访问https网站。\n\nReference\nCA证书详解 - 知乎 (zhihu.com)\n一文看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥 - 简书 (jianshu.com)\n"},"Struct/BinaryTree.html":{"url":"Struct/BinaryTree.html","title":"二叉树","keywords":"","body":"二叉树\n1 重点概念\n1.1 节点概念\n节点是数据结构中的基础,是构成复杂数据结构的基本组成单位。\n2 树\n2.1 定义\n树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:\n 1)有且仅有一个特定的称为根(Root)的结点;\n 2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、......、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。\n此外,树的定义还需要强调以下两点:\n 1)n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。\n 2)m>0时,子树的个数没有限制,但它们一定是互不相交的。\n2.2 结点的度\n结点拥有的子树数目称为结点的度。\n节点的度:结点拥有的子树数目称为结点的度,叶子结点 就是度为0的结点\n3 二叉树\n3.1 定义\n二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。\n一棵典型的二叉树如下图所示:\n\n3.2 二叉树特点\n由二叉树定义以及图示分析得出二叉树有以下特点:\n 1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。\n 2)左子树和右子树是有顺序的,次序不能任意颠倒。\n 3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。\n3.3 二叉树性质\n1)在二叉树的第i层上最多有2(i-1) 个节点 。(i>=1)\n 2)二叉树中如果深度为k,那么最多有2(k)-1个节点。(k>=1)\n 3)n0=n2+1 n0表示度数为0的节点数,n2表示度数为2的节点数。\n 4)在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。\n 5)若对含 n 个结点的完全二叉树从上到下且从左至右进行 1 至 n 的编号,则对完全二叉树中任意一个编号为 i 的结点有如下特性:\n\n(1) 若 i=1,则该结点是二叉树的根,无双亲, 否则,编号为 [i/2] 的结点为其双亲结点;\n (2) 若 2i>n,则该结点无左孩子, 否则,编号为 2i 的结点为其左孩子结点;\n (3) 若 2i+1>n,则该结点无右孩子结点, 否则,编号为2i+1 的结点为其右孩子结点。\n\n \n3.4 斜树\n斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。\n\n图3.2 左斜树\n\n图3.3 右斜树\n3.5 满二叉树\n满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。\n 满二叉树的特点有:\n 1)叶子只能出现在最下一层。出现在其它层就不可能达成平衡。\n 2)非叶子结点的度一定是2。\n 3)在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。\n3.6 完全二叉树\n完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1\n\n图3.5 完全二叉树\n特点:\n 1)叶子结点只能出现在最下层和次下层。\n 2)最下层的叶子结点集中在树的左部。\n 3)倒数第二层若存在叶子结点,一定在右部连续位置。\n 4)如果结点度为1,则该结点只有左孩子,即没有右子树。\n 5)同样结点数目的二叉树,完全二叉树深度最小。\n注:满二叉树一定是完全二叉树,但反过来不一定成立。\n3.7 二叉树的存储结构\n3.7.1 顺序存储\n二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。\n\n图3.6\n图3.6所示的一棵完全二叉树采用顺序存储方式,如图3.7表示:\n\n图3.7 顺序存储\n由图3.7可以看出,当二叉树为完全二叉树时,结点数刚好填满数组。\n 那么当二叉树不为完全二叉树时,采用顺序存储形式如何呢?\n例如:对于图3.8描述的二叉树:\n\n图3.8.png\n其中浅色结点表示结点不存在。那么图3.8所示的二叉树的顺序存储结构如图3.9所示:\n\n图3.9\n其中,∧表示数组中此位置没有存储结点。此时可以发现,顺序存储结构中已经出现了空间浪费的情况。\n 那么对于图3.3所示的右斜树极端情况对应的顺序存储结构如图3.10所示:\n\n图3.10\n由图3.10可以看出,对于这种右斜树极端情况,采用顺序存储的方式是十分浪费空间的。因此,顺序存储一般适用于完全二叉树。\n3.7.2 二叉链表\n既然顺序存储不能满足二叉树的存储需求,那么考虑采用链式存储。由二叉树定义可知,二叉树的每个结点最多有两个孩子。因此,可以将结点数据结构定义为一个数据和两个指针域。表示方式如图3.11所示:\n\n图3.11\n定义结点代码:\ntypedef struct BiTNode{\n TElemType data;//数据\n struct BiTNode *lchild, *rchild;//左右孩子指针\n} BiTNode, *BiTree;\n\n则图3.6所示的二叉树可以采用图3.12表示。\n\n图3.12\n图3.12中采用一种链表结构存储二叉树,这种链表称为二叉链表。\n3.8 二叉树遍历\n二叉树的遍历一个重点考查的知识点。\n3.8.1 定义\n二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。\n 二叉树的访问次序可以分为四种:\n\n前序遍历\n 中序遍历\n 后序遍历\n 层序遍历\n\n \n前,中,后只是指父节点遍历的顺序,前序就是 父节点->左子树->右子树,中序是 左子树->父节点->右子树,后序是 左子树 -> 右子树 ->父节点\n3.8.2 前序遍历\n前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。\n\n3.13\n 图3.13所示二叉树访问如下:\n\n从根结点出发,则第一次到达结点A,故输出A;\n 继续向左访问,第一次访问结点B,故输出B;\n 按照同样规则,输出D,输出H;\n 当到达叶子结点H,返回到D,此时已经是第二次到达D,故不在输出D,进而向D右子树访问,D右子树不为空,则访问至I,第一次到达I,则输出I;\n I为叶子结点,则返回到D,D左右子树已经访问完毕,则返回到B,进而到B右子树,第一次到达E,故输出E;\n 向E左子树,故输出J;\n 按照同样的访问规则,继续输出C、F、G;\n\n则3.13所示二叉树的前序遍历输出为:\n ABDHIEJCFG\n3.8.3 中序遍历\n中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。\n图3.13所示二叉树中序访问如下:\n\n从根结点出发,则第一次到达结点A,不输出A,继续向左访问,第一次访问结点B,不输出B;继续到达D,H;\n 到达H,H左子树为空,则返回到H,此时第二次访问H,故输出H;\n H右子树为空,则返回至D,此时第二次到达D,故输出D;\n 由D返回至B,第二次到达B,故输出B;\n 按照同样规则继续访问,输出J、E、A、F、C、G;\n\n则3.13所示二叉树的中序遍历输出为:\n HDIBJEAFCG\n3.8.4 后序遍历\n后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。\n图3.13所示二叉树后序访问如下:\n\n从根结点出发,则第一次到达结点A,不输出A,继续向左访问,第一次访问结点B,不输出B;继续到达D,H;\n 到达H,H左子树为空,则返回到H,此时第二次访问H,不输出H;\n H右子树为空,则返回至H,此时第三次到达H,故输出H;\n 由H返回至D,第二次到达D,不输出D;\n 继续访问至I,I左右子树均为空,故第三次访问I时,输出I;\n 返回至D,此时第三次到达D,故输出D;\n 按照同样规则继续访问,输出J、E、B、F、G、C,A;\n\n则图3.13所示二叉树的后序遍历输出为:\n HIDJEBFGCA\n 虽然二叉树的遍历过程看似繁琐,但是由于二叉树是一种递归定义的结构,故采用递归方式遍历二叉树的代码十分简单。\n 递归实现代码如下:\n/*二叉树的前序遍历递归算法*/\nvoid PreOrderTraverse(BiTree T)\n{\n if(T==NULL)\n return;\n printf(\"%c\", T->data); /*显示结点数据,可以更改为其他对结点操作*/\n PreOrderTraverse(T->lchild); /*再先序遍历左子树*/\n PreOrderTraverse(T->rchild); /*最后先序遍历右子树*/\n}\n\n\n/*二叉树的中序遍历递归算法*/\nvoid InOrderTraverse(BiTree T)\n{\n if(T==NULL)\n return;\n InOrderTraverse(T->lchild); /*中序遍历左子树*/\n printf(\"%c\", T->data); /*显示结点数据,可以更改为其他对结点操作*/\n InOrderTraverse(T->rchild); /*最后中序遍历右子树*/\n}\n\n\n/*二叉树的后序遍历递归算法*/\nvoid PostOrderTraverse(BiTree T)\n{\n if(T==NULL)\n return;\n PostOrderTraverse(T->lchild); /*先后序遍历左子树*/\n PostOrderTraverse(T->rchild); /*再后续遍历右子树*/\n printf(\"%c\", T->data); /*显示结点数据,可以更改为其他对结点操作*/\n}\n\n3.8.5 层次遍历\n层次遍历就是按照树的层次自上而下的遍历二叉树。针对图3.13所示二叉树的层次遍历结果为:\n ABCDEFGHIJ\n 层次遍历的详细方法可以参考二叉树的按层遍历法。\n3.8.6 遍历常考考点\n对于二叉树的遍历有一类典型题型。\n 1)已知前序遍历序列和中序遍历序列,确定一棵二叉树。\n 例题:若一棵二叉树的前序遍历为ABCDEF,中序遍历为CBAEDF,请画出这棵二叉树。\n 分析:前序遍历第一个输出结点为根结点,故A为根结点。早中序遍历中根结点处于左右子树结点中间,故结点A的左子树中结点有CB,右子树中结点有EDF。\n 如图3.14所示:\n\n图3.14\n按照同样的分析方法,对A的左右子树进行划分,最后得出二叉树的形态如图3.15所示:\n\n图3.15.png\n2)已知后序遍历序列和中序遍历序列,确定一棵二叉树。\n 后序遍历中最后访问的为根结点,因此可以按照上述同样的方法,找到根结点后分成两棵子树,进而继续找到子树的根结点,一步步确定二叉树的形态。\n 注:已知前序遍历序列和后序遍历序列,不可以唯一确定一棵二叉树。\n平衡二叉树\n平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:\n\n平衡二叉树要么是一棵空树\n要么保证左右子树的高度之差不大于 1\n子树也必须是一颗平衡二叉树\n\n也就是说,树的两个左子树的高度差别不会太大。\n那我们接着看前面的极端情况的二叉排序树,现在用它来构造一棵平衡二叉树。\n以 12 为根节点,当添加 24 为它的右子树后,根节点的左右子树高度差为 1,这时还算平衡,这时再添加一个元素 28:\n\n这时根节点 12 觉得不平衡了,我左孩子一个都没有,右边都有俩了,超过了之前说的最大为 1,不行,给我调整!\n于是我们就需要调整当前的树结构,让它进行旋转。\n因为最后一个节点加到了右子树的右子树,就要想办法给右子树的左子树加点料,因此需要逆时针旋转,将 24 变成根节点,12 右旋成 24 的左子树,就变成了这样(有点丑哈哈):\n\n这时又恢复了平衡,再添加 37 到 28 的右子树,还算平衡:\n\n这时如果再添加一个 30,它就需要在 37 的左子树:\n\n这时我们可以看到这个树又不平衡了,以 24 为根节点的树,明显右边太重,左边太稀,想要保持平衡就 24 得让位给 28,然后变成这样:\n\n丑了点,但的确保持了平衡。\n依次类推,平衡二叉树在添加和删除时需要进行旋转保持整个树的平衡,内部做了这么复杂的工作后,我们在使用它时,插入、查找的时间复杂度都是 O(logn),性能已经相当好了。\nReference\n深入学习二叉树(一) 二叉树基础\n3 分钟理解完全二叉树、平衡二叉树、二叉查找树\n"},"Algorithm/BinaryInsertSort.html":{"url":"Algorithm/BinaryInsertSort.html","title":"二分法插入排序","keywords":"","body":"二分法插入排序\n二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left\n(一)概念及实现\n二分查找插入排序的原理:是直接插入排序的一个变种,区别是:在有序区中查找新元素插入位置时,为了减少元素比较次数提高效率,采用二分查找算法进行插入位置的确定。\n具体如下(实现为升序):\n设数组为a[0…n]。\n\n将原序列分成有序区和无序区。a[0…i-1]为有序区,a[i…n] 为无序区。(i从1开始)\n\n从无序区中取出第一个元素,即a[i],使用二分查找算法在有序区中查找要插入的位置索引j。\n\n将a[j]到a[i-1]的元素后移,并将a[i]赋值给a[j]。\n\n重复步骤2~3,直到无序区元素为0。\n\n\n(二)算法复杂度\n\n时间复杂度:O(n^2)\n\n二分查找插入位置,因为不是查找相等值,而是基于比较查插入合适的位置,所以必须查到最后一个元素才知道插入位置。\n二分查找最坏时间复杂度:当2^X>=n时,查询结束,所以查询的次数就为x,而x等于log2n(以2为底,n的对数)。即O(log2n)\n所以,二分查找排序比较次数为:x=log2n\n二分查找插入排序耗时的操作有:比较 + 后移赋值。时间复杂度如下:\n1) 最好情况:查找的位置是有序区的最后一位后面一位,则无须进行后移赋值操作,其比较次数为:log2n 。即O(log2n)\n2) 最坏情况:查找的位置是有序区的第一个位置,则需要的比较次数为:log2n,需要的赋值操作次数为n(n-1)/2加上 (n-1) 次。即O(n^2)\n3) 渐进时间复杂度(平均时间复杂度):O(n^2)\n\n空间复杂度:O(1)\n\n从实现原理可知,二分查找插入排序是在原输入数组上进行后移赋值操作的(称“就地排序”),所需开辟的辅助空间跟输入数组规模无关,所以空间复杂度为:O(1)\n(三)稳定性\n二分查找排序是稳定的,不会改变相同元素的相对顺序。\npublic static void advanceInsertSortWithBinarySearch(int[] arr) {\n for (int i = 1; i temp) { \n high = mid - 1; \n } else { // 元素相同时,也插入在后面的位置 \n low = mid + 1; \n } \n } \n for(int j = i - 1; j >= low; j--) { \n arr[j + 1] = arr[j]; \n } \n arr[low] = temp; \n }\n}\n\nReference\n优化的直接插入排序(二分查找插入排序,希尔排序)\n"},"Algorithm/BinarySort.html":{"url":"Algorithm/BinarySort.html","title":"二叉树排序","keywords":"","body":"二叉树排序\n二叉树的前中后序遍历的非递归实现\n前,中,后只是指父节点遍历的顺序,前序就是 父节点->左子树->右子树,中序是 左子树->父节点->右子树,后序是 左子树 -> 右子树 ->父节点\n二叉树定义\nclass TreeNode:\n def __init__(self, x, L=None, R=None):\n self.val = x\n self.left = L\n self.right = R\n\ndef List2TN(lst, needs=None):\n '''\n lst: a leetcode way tree list\n needs: A list of Int. The nodes whose indexes provided in this list would be returned.\n '''\n nit = []\n root = TreeNode(lst[0])\n tnQ = [root]\n i = 1\n if needs and i in needs:\n nit.append(root)\n while i = len(lst):\n break\n if lst[i] != None:\n cur.right = TreeNode(lst[i])\n tnQ.append(cur.right)\n if needs and i in needs:\n nit.append(cur.right)\n i += 1\n if needs:\n return root, nit\n else:\n return root\n\n前序遍历\n\n144. 二叉树的前序遍历\n\n具体过程\n1、首先申请一个新的栈,记为stack。\n2、然后将头节点head压入stack中。\n3、每次从stack中弹出栈顶节点,记为cur,然后打印cur节点的值。如果cur右孩子不为空的话,将cur的右孩子先压入stack中。最后如果cur的左孩子不为空的话,将cur的左孩子压入stack中。\n4、不断重复步骤3,直到stack为空,全部过程结束。\n代码实现\nclass Solution(object):\n def preorderTraversal(self,root):\n \"\"\"\n 根->左->右\n :type root: TreeNode\n :rtype: List[int]\n \"\"\"\n stack = [root]\n res = []\n while stack:\n cur = stack.pop()\n res.append(cur.val)\n if cur.right:\n stack.append(cur.right)\n if cur.left:\n stack.append(cur.left)\n return res\n\n中序遍历\n\n94. 二叉树的中序遍历\n\n具体过程\n\n1、申请一个新的栈,记为stack,申请一个变量cur,初始时令stack为空,cur等于头节点。\n2、先把cur节点压入栈中,对以cur节点为头的整棵子树来说,依次把整棵树的左边界压入栈中,即不断令cur=cur.left,然后重复步骤2。\n3、不断重复步骤2,直到发现cur为空,此时从stack中弹出一个节点,记为node。打印node的值,并让cur=node.right,然后继续重复步骤2。\n4、当stack为空并且cur为空时,整个过程结束。\n\n代码实现\nclass Solution(object):\n def inorderTraversal(self, root):\n \"\"\"\n 左->根->右\n :type root: TreeNode\n :rtype: List[int]\n \"\"\"\n stack = []\n cur = root\n res = []\n while stack or cur:\n if cur:\n stack.append(cur)\n cur = cur.left\n else:\n node = stack.pop()\n res.append(node.val)\n cur = node.right\n return res\n\n后序遍历\n\n145. 二叉树的后序遍历\n\n具体过程\n方法一:使用两个栈实现\n1、申请一个栈,记为s1,然后将头节点压入s1中。\n2、从s1中弹出的节点记为cur,然后先把cur的左孩子压入s1中,然后把cur的右孩子压入s1中。\n3、在整个过程中,每一个从s1中弹出的节点都放进第二个栈s2中。\n4、不断重复步骤2和步骤3,直到s1为空,过程停止。\n5、从s2中依次弹出节点并打印,打印的顺序就是后序遍历的顺序了。\n方法二:使用一个栈实现\n1、申请一个栈,记为stack,将头节点压入stack,同时设置两个变量h和c。在整个流程中,h代表最近一次弹出并打印的节点,c代表当前stack的栈顶节点,初始时令h为头节点,c为null。\n2、每次令c等于当前stack的栈顶节点,但是不从stack中弹出节点,此时分以下三种情况。\n(1)如果c的左孩子不为空,并且h不等于c的左孩子,也不等于c的右孩子,则把c的左孩子压入stack中。\n(2)如果情况1不成立,并且c的右孩子不为空,并且h不等于c的右孩子,则把c的右孩子压入stack中。\n(3)如果情况1和情况2都不成立,那么从stack中弹出c并打印,然后令h等于c。\n3、一直重复步骤2,直到stack为空,过程停止。\n代码实现\n方法一:\nclass Solution(object):\n def postorderTraversal(self, root):\n \"\"\"\n 左->右->根\n :type root: TreeNode\n :rtype: List[int]\n \"\"\"\n stack1 = [root]\n stack2 = []\n while stack1:\n cur = stack1.pop()\n stack2.append(cur.val)\n if cur.left:\n stack1.append(cur.left)\n if cur.right:\n stack1.append(cur.right)\n return stack2[::-1]\n\n方法二:\nclass Solution:\n def postorderTraversal(self, root: TreeNode) -> List[int]:\n if not root:\n return list()\n\n res = list()\n stack = list()\n prev = None\n\n while root or stack:\n while root:\n stack.append(root)\n root = root.left\n root = stack.pop()\n if not root.right or root.right == prev:\n res.append(root.val)\n prev = root\n root = None\n else:\n stack.append(root)\n root = root.right\n\n return res\n\n层次遍历\nbfs\ndef bfs(root):\n queue = []\n # 根节点加入队列中\n queue.append(root)\n res = []\n while queue:\n temp = queue.pop(0)\n l = temp.left\n r = temp.right\n if l:\n queue.append(l)\n if r:\n queue.append(r)\n res.append(temp.val)\n return res\n\nReference\nhttp://www.ichenfei.com/2019/05/02/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%89%8D%E4%B8%AD%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E7%9A%84%E9%9D%9E%E9%80%92%E5%BD%92%E5%AE%9E%E7%8E%B0(Python)/\n"},"Algorithm/remove-duplicates-from-sorted-array.html":{"url":"Algorithm/remove-duplicates-from-sorted-array.html","title":"删除有序数组中的重复项","keywords":"","body":"26. 删除有序数组中的重复项\n给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。\n不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。\n说明:\n为什么返回数值是整数,但输出的答案是数组呢?\n请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。\n你可以想象内部操作如下:\n// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝\nint len = removeDuplicates(nums);\n// 在函数里修改输入数组对于调用者是可见的。\n// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。\nfor (int i = 0; i \n示例 1:\n输入:nums = [1,1,2]\n输出:2, nums = [1,2]\n解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。\n示例 2:\n输入:nums = [0,0,1,1,1,2,2,3,3,4]\n输出:5, nums = [0,1,2,3,4]\n解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。\n提示:\n0 \n解决:\n双指针\n这道题目的要求是:对给定的有序数组 \\textit{nums}nums 删除重复元素,在删除重复元素之后,每个元素只出现一次,并返回新的长度,上述操作必须通过原地修改数组的方法,使用 O(1)O(1) 的空间复杂度完成。\n由于给定的数组 \\textit{nums}nums 是有序的,因此对于任意 i\n如果数组 \\textit{nums}nums 的长度为 00,则数组不包含任何元素,因此返回 00。\n当数组 \\textit{nums}nums 的长度大于 00 时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此 \\textit{nums}[0]nums[0] 保持原状即可,从下标 11 开始删除重复元素。\n定义两个指针 \\textit{fast}fast 和 \\textit{slow}slow 分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标 11。\n假设数组 \\textit{nums}nums 的长度为 nn。将快指针 \\textit{fast}fast 依次遍历从 11 到 n-1n−1 的每个位置,对于每个位置,如果 \\textit{nums}[\\textit{fast}] \\ne \\textit{nums}[\\textit{fast}-1]nums[fast] \n\n =nums[fast−1],说明 \\textit{nums}[\\textit{fast}]nums[fast] 和之前的元素都不同,因此将 \\textit{nums}[\\textit{fast}]nums[fast] 的值复制到 \\textit{nums}[\\textit{slow}]nums[slow],然后将 \\textit{slow}slow 的值加 11,即指向下一个位置。\n遍历结束之后,从 \\textit{nums}[0]nums[0] 到 \\textit{nums}[\\textit{slow}-1]nums[slow−1] 的每个元素都不相同且包含原数组中的每个不同的元素,因此新的长度即为 \\textit{slow}slow,返回 \\textit{slow}slow 即可。\n使用快慢双指针,快指针在满之后后面遍历数组,由于数组是有序的,快指针向后遍历时,若碰到当前下标与慢指针值不一样时,就将当前值前移到慢指针位置,知道快指针遍历完数组,原理其实就是将不同的数向前提前,不扩大数组空间\nclass Solution:\n def removeDuplicates(self, nums: List[int]) -> int:\n if not nums:\n return 0\n\n n = len(nums)\n fast = slow = 1\n while fast \n复杂度分析\n时间复杂度:O(n),其中 n 是数组的长度。快指针和慢指针最多各移动 n 次。\n空间复杂度:O(1)。只需要使用常数的额外空间。\n"},"Algorithm/QuickSort.html":{"url":"Algorithm/QuickSort.html","title":"快速排序","keywords":"","body":"快速排序\n01、快速排序\n我们先看看维基百科的解释:\n\n快速排序(英语:QuickSort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序 n 个项目要 O(nlogn) 次比较。在最坏状况下则需要 O(n^2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地达成。\n\n 平均情况下快速排序的时间复杂度是Θ(𝑛log𝑛),最坏情况是n²,但通过随机算法可以避免最坏情况。由于递归调用,快排的空间复杂度是Θ(log𝑛)。\n02、算法思想\n快速排序的算法思想是分而治之,将一个大的待排序列,分成两个子序列,然后采用递归的方式,依次将子序列也分成更小的子序列,依次进行,最后得到排序好的序列。算法的实现主要分成三步\n\n找到基准点:\n排列序列,将比基准点小的放在左边的子序列,将比基准点大的放在右边的子序列;\n采用递归,依次重新选取基准点,在重复进行 1,2 步骤,得到最终的顺序序列\n\n03、算法实现\n\npublic class QuickSort {\n\n public static void main(String[] args) {\n int[] array = new int[]{2, 3, 1, 4, 7, 8, 3, 5, 2, 6, 8, 9, 1};\n quickSort(array, 0, array.length - 1);\n for (int i = 0; i left && array[right] >= base) {\n right--;\n }\n //交互位置\n array[left] = array[right];\n while (left \n运行结果:\n\n1 1 2 2 3 3 4 5 6 7 8 8 9\n\n从运行的结果我们看到,已经正常的排序结束了,说明这个算法已经满足了我们的要求,而且详细的代码分析也已经加上了注释,我想大家应该都能看懂。只要记住核心的几个点就可以了,这里我在重复说明一下:\n\n先找基准点 base;\n比较大小,比 base 小的放在左边序列,比 base 大的放在右边序列;\n递归左右序列。\n\n注意上面内部的两个 while 循环,这里是使用类似两个指针,分别从序列的左右两个端点开始往中间进行遍历,主要进行的第二步比较和赋值的操作。\n题目\n排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(D)\nA.5, 2, 16, 12, 28, 60, 32, 72\nB.2, 16, 5, 28, 12, 60, 32, 72\nC.2, 12, 16, 5, 28, 32, 72, 60\nD.5, 2, 12, 28, 16, 32, 72, 60\n\n先找第一个中间元素,满足左边的比他小,右边比他大,第二趟就是看第一个元素分割的两半,再同样找是否在子序列中,有一个中间元素满足左边的都比他小,右边的比他大;\n\nReference\n你应该知道的常用排序算法之快速排序\n"},"Algorithm/BST.html":{"url":"Algorithm/BST.html","title":"二叉搜索树与平衡二叉树","keywords":"","body":"二叉查找树、平衡树(AVL)\n为什么有了二叉查找树/平衡树还需要红黑树\n二叉查找树 (Binary Search Tree)\n概念\n二叉查找树又称二叉搜索树,二叉排序树,特点如下:\n\n左子树上所有结点值均小于根结点\n右子树上所有结点值均大于根结点\n结点的左右子树本身又是一颗二叉查找树\n二叉查找树中序遍历得到结果是递增排序的结点序列。\n\n1、二叉查找树的缺点\n二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图\n\n基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为 O(logn)。\n之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如\n\n这种情况也是满足二叉查找树的条件,然而,此时的二叉查找树已经近似退化为一条链表,这样的二叉查找树的查找时间复杂度顿时变成了 O(n),可想而知,我们必须不能让这种情况发生,为了解决这个问题,于是我们引申出了平衡二叉树。\n2、平衡二叉树\n平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了,平衡树具有如下特点\n1、具有二叉查找树的全部特性。\n2、每个节点的左子树和右子树的高度差至多等于1。\n例如:图一就是一颗平衡树了,而图二则不是(节点右边标的是这个节点的高度)\n\n。\n\n对于图二,因为节点9的左孩子高度为2,而右孩子高度为0。他们之间的差值超过1了。\n平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。关于平衡树如何构建、插入、删除、左旋、右旋等操作这里不在说明,具体可以看我之前写的一篇文章:【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。\n于是,通过平衡树,我们解决了二叉查找树的缺点。对于有 n 个节点的平衡树,最坏的查找时间复杂度也为 O(logn)。\n为什么有了平衡树还需要红黑树?\n虽然平衡树解决了二叉查找树退化为近似链表的缺点,能够把查找时间控制在 O(logn),不过却不是最佳的,因为平衡树要求每个节点的左子树和右子树的高度差至多等于1,这个要求实在是太严了,导致每次进行插入/删除节点的时候,几乎都会破坏平衡树的第二个规则,进而我们都需要通过左旋和右旋来进行调整,使之再次成为一颗符合要求的平衡树。\n显然,如果在那种插入、删除很频繁的场景中,平衡树需要频繁着进行调整,这会使平衡树的性能大打折扣,为了解决这个问题,于是有了红黑树,红黑树具有如下特点:\n1、具有二叉查找树的特点。\n2、根节点是黑色的;\n3、每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存数据。\n4、任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。\n5、每个节点,从该节点到达其可达的叶子节点是所有路径,都包含相同数目的黑色节点。\n例如下面的图片(注意,图片中黑色的、空的叶子节点没有画出)(图片来自极客时间)\n\n正是由于红黑树的这种特点,使得它能够在最坏情况下,也能在 O(logn) 的时间复杂度查找到某个节点。至于为什么就能够保证时间复杂度为 O(logn),我这里就不细讲了,后面的文章可能会讲。\n不过,与平衡树不同的是,红黑树在插入、删除等操作,不会像平衡树那样,频繁着破坏红黑树的规则,所以不需要频繁着调整,这也是我们为什么大多数情况下使用红黑树的原因。\n不过,如果你要说,单单在查找方面的效率的话,平衡树比红黑树快。\n所以,我们也可以说,红黑树是一种不大严格的平衡树。也可以说是一个折中发方案。\n如果我上面讲的,你都懂,都能够在面试中说出来,应该是足够的了。我当时就是这么回答的。\n总结\n所以,最后的答案是,平衡树是为了解决二叉查找树退化为链表的情况,而红黑树是为了解决平衡树在插入、删除等操作需要频繁调整的情况。\nBST 查找\nclass Solution:\n def searchBST(self, root: TreeNode, val: int) -> TreeNode:\n if root is None or val == root.val:\n return root\n\n return self.searchBST(root.left, val) if val \nReference\n记一次腾讯面试:有了二叉查找树、平衡树(AVL)为啥还需要红黑树?\n"},"Article/ReadME.html":{"url":"Article/ReadME.html","title":"技术文章收集","keywords":"","body":"技术文章\n"},"Article/贝聊 IAP 实战之满地是坑.html":{"url":"Article/贝聊 IAP 实战之满地是坑.html","title":"贝聊 IAP 实战之满地是坑","keywords":"","body":"\n原文地址 https://juejin.im/post/5a3b14f36fb9a045104aa6c8\n注意: 文章中讨论的 IAP 是指使用苹果内购购买消耗性的项目。\n\n这次为大家带来我司 IAP 的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会包含三篇。\n\n第一篇:[iOS] 贝聊 IAP 实战之满地是坑,这一篇是支付基础知识的讲解,主要会详细介绍 IAP,同时也会对比支付宝和微信支付,从而引出 IAP 的坑和注意点。\n第二篇:[iOS] 贝聊 IAP 实战之见坑填坑,这一篇是高潮性的一篇,主要针对第一篇文章中分析出的 IAP 的问题进行具体解决。\n第三篇:[iOS] 贝聊 IAP 实战之订单绑定,这一篇是关键性的一篇,主要讲述作者探索将自己服务器生成的订单号绑定到 IAP 上的过程。\n\n不用担心,我从来不会只讲原理不留源码,我已经将我司的源码整理出来,你使用时只需要拽到工程中就可以了,下面开始我们的内容 。\n源码在这里。\n01. 题外话\n今年上半年的公众号打赏事件,大家可还记得?我们对苹果强收过路费的行为愤懑,也为微信可惜不已,此事最后以腾讯高管团队访问苹果画上句号。显然,协商结果两位老板以及他们的团队都很满意。\n02. 熟悉的支付宝和微信支付\n仔细看一下下面这张图,这是我们每次在买早餐使用支付宝支付的流程图。下面我们来一步一步看一下每一步对应的操作原理。\n\n\n第一步:我们的 APP 发起一笔支付交易,此时,第一件事,我们要去我们自己的服务器上创建一个订单信息。同时服务器会组装好一笔交易交给我们。关于组装交易信息,有两种做法,第一种就是支付宝推荐我们做的,由我们服务器来组装交易信息,服务器加密交易信息,并保存签名信息;另一种做法是,服务器返回商品信息给 APP,由 APP 来组装交易信息,并进行加密处理等操作。显然我们应该采用第一种方式。\n第二步:服务器创建好交易信息以后,返回给 APP,APP 不对交易信息做处理。\n第三步:APP 拿到交易信息,开始调起支付宝的 SDK,支付宝的 SDK 把交易信息传给支付宝的服务器。\n第四步:验证通过以后,支付宝服务器会告诉支付宝 SDK 验证通过。\n第五步:验证通过以后,我们的 APP 会调起支付宝 APP,跳转到支付宝 APP。\n第六步:在支付宝 APP 里,用户输入密码进行交易,和支付宝服务器进行通讯。\n第七步:支付成功,支付宝服务器回调支付宝 APP。\n第八步:支付宝回到我们自己的 APP,并通过 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 方法处理支付宝的回调结果,对应的进行刷新 UI 等操作。\n第九步:支付宝服务器会回调我们的服务器并把收据传给我们服务器,如果我们的服务器没有确认已经收到支付宝的收据信息,那么支付宝服务器就会一直回调我们的服务器,只是回调时间间隔会越来越久。\n第十步:我们的服务器收到支付宝的回调,并回调支付宝,确认已经收到收据信息,此时早餐买完了。\n\n支付宝的支付流程讲完了,那微信支付也讲完了,因为它们流程相似。\n03. 坑爹的 IAP 支付\nIAP 坑爹之处从以下两个方面来理解。\n第一方面,APP 不接 IAP 审核不让过。接不接 IAP,苹果不是和你商量,而是强制要求,爸爸说怎么样,就怎么样。当然,这篇文章解决不了这个问题,所以也只是说说而已。上面说了微信公众号的事情,虽然它不是 IAP 的事情,但是实质上都属于强收过路费的行为。\n第二方面,坑开发人员。下面开始数坑。\n\n只有 8 步,比支付宝少 2 步,对不对?看起来比支付宝还简单,有木有?\n\n第一步:用户开始购买,首先会去我们自己的服务器创建一个交易订单,返回给 APP。\n第二步:APP 拿到交易信息,然后开始调起 IAP 服务创建订单,并把订单推入支付队列。\n第三步:IAP 会和 IAP 服务器通讯,让用户确认购买,输入密码。\n第四步:IAP 服务器回调 APP,通知购买成功,并把收据写入到 APP 沙盒中。\n第五步:此时,APP 应该去获取沙盒中的收据信息(一段 Base 64 编码的数据),并将收据信息上传给服务器。\n第六步:服务器拿到收据以后,就应该去 IAP 服务器查询这个收据对应的已付款的订单号。\n第七步:我们自己的服务器拿到这个收据对应的已付款的订单号以后,就去校验当前的已付款订单中是否有要查询的那一笔,如果有,就告诉 APP。\n第八步:APP 拿到查询结果,然后把这笔交易给 finish 掉。\n\n04. 对比支付宝和 IAP\n没啥大毛病,对吧?现在来详细分析一下。\n由于移动端所处的网络环境远远比服务端要复杂,所以,最大可能出现问题的是与移动端的通讯上。对于支付宝,只要移动端确实付款完成,那么接下来的验证工作都是服务器于服务器之间的通讯。这样一来,只要用户确实产生了一笔交易,那么接下来的验证就变得可靠的多,而且支付宝服务器会一直回调我们的服务器,交易的可靠性得到了极大的保证。\n同样,我们再来看看 IAP,交易是一样的。但是验证交易这一环需要移动端来驱动我们自己的服务器来进行查询,这是第一个坑,先记一笔。另外一点,IAP 的服务器远在美国,我们的服务器去查询延时相当严重,这是其二。\n05.IAP 设计上的坑\n上面讲了两个很大的坑,接下来看一看 IAP 本身有哪些坑。最大的一个就是,从 IAP 交易结果出来到通知 APP,只有一次。这里有以下几个问题:\n\n1. 如果用户后买成功以后,网络就不行了,那么苹果的 IAP 也收不到支付成功的通知,就没法通知 APP,我们也没法给用户发货。\n2. 如果 IAP 通知我们支付成功,我们驱动服务器去 IAP 服务器查询失败的话,那就要等下次 APP 启动的时候,才会重新通知我们有未验证的订单。这个周期根本没法想象,如果用户一个月不重启 APP,那么我们可能一个月没法给用户发货。\n3. 有人反馈,IAP 通知已经交易成功了,此时去沙盒里取收据数据,发现为空,或者出现通知交易成功那笔交易没有被及时的写入到沙盒数据中,导致我们服务器去 IAP 服务器查询的时候,查不到这笔订单。\n4. 如果用户的交易还没有得到验证,就把 APP 给卸载了,以后要怎么恢复那些没有被验证的订单?\n5. 越狱手机有无数奇葩的收据丢失或无效或被替换的问题,应该怎样酌情处理?\n6. 交易没有发生变化,仅仅是重启一下,收据信息就会发生改变。\n7. 当验证交易成功以后我们去取 IAP 的待验证交易列表的时候,这个列表没有数据。\n\n好吧,算起来有九个比较大的问题了,还有没照顾到的请各位补充。这九个问题,基本上每一个都是致命的。这么多的不确定性,我们应该怎么综合处理,怎么相互平衡?\n我们先放一放这些问题,下一篇就一起来着手解决这些问题,现在我们先来看一看 IAP 支付的基本代码。\n06.IAP 支付代码\n我们先不去想那么多,先把支付逻辑跑通再说。下面我们看看 IAP 的代码。\n#import \n\n@interface BLPaymentManager ()\n\n@end\n\n@implementation BLPaymentManager\n\n- (void)dealloc {\n [[SKPaymentQueue defaultQueue] removeTransactionObserver:self];\n}\n\n- (void)init {\n self = [super init];\n if(self) {\n [[SKPaymentQueue defaultQueue] addTransactionObserver:self];\n }\n return self;\n}\n\n- (void)buyProduction {\n if ([SKPaymentQueue canMakePayments]) {\n\n [self getProductInfo:nil];\n\n } else {\n NSLog(@\"用户禁止应用内付费购买\");\n }\n}\n\n// 从Apple查询用户点击购买的产品的信息.\n- (void)getProductInfo:(NSString *)productIdentifier {\n NSSet *identifiers = [NSSet setWithObject:productIdentifier];\n SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers];\n request.delegate = self;\n [request start];\n}\n\n#pragma mark - SKPaymentTransactionObserver\n\n// 购买操作后的回调.\n- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {\n // 这里的事务包含之前没有完成的.\n for (SKPaymentTransaction *transcation in transactions) {\n switch (transcation.transactionState) {\n case SKPaymentTransactionStatePurchasing:\n [self transcationPurchasing:transcation];\n break;\n\n case SKPaymentTransactionStatePurchased:\n [self transcationPurchased:transcation];\n break;\n\n case SKPaymentTransactionStateFailed:\n [self transcationFailed:transcation];\n break;\n\n case SKPaymentTransactionStateRestored:\n [self transcationRestored:transcation];\n break;\n\n case SKPaymentTransactionStateDeferred:\n [self transcationDeferred:transcation];\n break;\n }\n }\n}\n\n#pragma mark - TranscationState\n\n// 交易中.\n- (void)transcationPurchasing:(SKPaymentTransaction *)transcation {\n NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];\n NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];\n if (!receipt) {\n NSLog(@\"没有收据, 处理异常\");\n return;\n }\n}\n\n// 交易成功.\n- (void)transcationPurchased:(SKPaymentTransaction *)transcation {\n // 存储到本地先.\n // 发送到服务器, 等待验证结果.\n [[SKPaymentQueue defaultQueue] finishTransaction:transcation];\n}\n\n// 交易失败.\n- (void)transcationFailed:(SKPaymentTransaction *)transcation {\n\n}\n\n// 已经购买过该商品.\n- (void)transcationRestored:(SKPaymentTransaction *)transcation {\n\n}\n\n// 交易延期.\n- (void)transcationDeferred:(SKPaymentTransaction *)transcation {\n\n}\n\n#pragma mark - SKProductsRequestDelegate\n\n// 查询成功后的回调.\n- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {\n NSArray *products = response.products;\n if (!products.count) {\n NSLog(@\"没有正在出售的商品\");\n return;\n }\n\n SKPayment *payment = [SKPayment paymentWithProduct:products.firstObject];\n [[SKPaymentQueue defaultQueue] addPayment:payment];\n}\n\n@end\n\n代码大致做了如下事情,初始化的时候去添加支付结果的监听,并在 -dealloc: 方法中移除监听。同时可以通过 - (void)fetchProductInfoWithProductIdentifiers:(NSSet *)productIdentifiers 方法查询后台配置的商品信息。通过 -buyProduction: 方法购买产品,购买成功以后,IAP 通过 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 方法通知购买进度。\n"},"Article/关于离屏渲染的深入研究 - Medium.html":{"url":"Article/关于离屏渲染的深入研究 - Medium.html","title":"关于离屏渲染的深入研究 - Medium","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 https://medium.com/@jasonyuh/%E5%85%B3%E4%BA%8E%E7%A6%BB%E5%B1%8F%E6%B8%B2%E6%9F%93%E7%9A%84%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6-e776f56b3e60\n\n在平时的 iOS 面试中,我们经常会考察有关离屏渲染(Offscreen rendering)的知识点。一般来说,绝大多数人都能答出 “圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如:\n\n离屏渲染是在哪一步进行的?为什么?\n设置 cornerRadius 一定会触发离屏渲染吗?\n\n90% 的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效果。\niOS 渲染架构\n在 WWDC 的 Advanced Graphics and Animations for iOS Apps(WWDC14 419,关于 UIKit 和 Core Animation 基础的 session 在早年的 WWDC 中比较多)中有这样一张图:\n\n我们可以看到,在 Application 这一层中主要是 CPU 在操作,而到了 Render Server 这一层,CoreAnimation 会将具体操作转换成发送给 GPU 的 draw calls(以前是 call OpenGL ES,现在慢慢转到了 Metal),显然 CPU 和 GPU 双方同处于一个流水线中,协作完成整个渲染工作。\n离屏渲染的定义\n如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的 frame buffer,作为像素数据存储区域,而这也是 GPU 存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写入 frame buffer,而是先暂存在另外的内存区域,之后再写入 frame buffer,那么这个过程被称之为离屏渲染。\n\n渲染结果先经过了离屏 buffer,再到 frame buffer\nCPU” 离屏渲染 “\n大家知道,如果我们在 UIView 中实现了 drawRect 方法,就算它的函数体内部实际没有代码,系统也会为这个 view 申请一块内存区域,等待 CoreGraphics 可能的绘画操作。\n对于类似这种 “新开一块 CGContext 来画图 “的操作,有很多文章和视频也称之为 “离屏渲染”(因为像素数据是暂时存入了 CGContext,而不是直接到了 frame buffer)。进一步来说,其实所有 CPU 进行的光栅化操作(如文字渲染、图片解码),都无法直接绘制到由 GPU 掌管的 frame buffer,只能暂时先放在另一块内存之中,说起来都属于 “离屏渲染”。\n自然我们会认为,因为 CPU 不擅长做这件事,所以我们需要尽量避免它,就误以为这就是需要避免离屏渲染的原因。但是根据苹果工程师的说法,CPU 渲染并非真正意义上的离屏渲染。另一个证据是,如果你的 view 实现了 drawRect,此时打开 Xcode 调试的 “Color offscreen rendered yellow” 开关,你会发现这片区域不会被标记为黄色,说明 Xcode 并不认为这属于离屏渲染。\n其实通过 CPU 渲染就是俗称的 “软件渲染”,而真正的离屏渲染发生在 GPU。\nGPU 离屏渲染\n在上面的渲染流水线示意图中我们可以看到,主要的渲染操作都是由 CoreAnimation 的 Render Server 模块,通过调用显卡驱动所提供的 OpenGL/Metal 接口来执行的。通常对于每一层 layer,Render Server 会遵循 “画家算法”,按次序输出到 frame buffer,后一层覆盖前一层,就能得到最终的显示结果(值得一提的是,与一般桌面架构不同,在 iOS 中,设备主存和 GPU 的显存共享物理内存,这样可以省去一些数据传输开销)。\n\n” 画家算法 “,把每一层依次输出到画布\n然而有些场景并没有那么简单。作为 “画家” 的 GPU 虽然可以一层一层往画布上进行输出,但是无法在某一层渲染完成之后,再回过头来擦除 / 改变其中的某个部分——因为在这一层之前的若干层 layer 像素数据,已经在渲染中被永久覆盖了。这就意味着,对于每一层 layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改 / 剪裁操作。\n如果要绘制一个带有圆角并剪切圆角以外内容的容器,就会触发离屏渲染。我的猜想是(如果读者中有图形学专家希望能指正):\n\n将一个 layer 的内容裁剪成圆角,可能不存在一次遍历就能完成的方法\n容器的子 layer 因为父容器有圆角,那么也会需要被裁剪,而这时它们还在渲染队列中排队,尚未被组合到一块画布上,自然也无法统一裁剪\n\n此时我们就不得不开辟一块独立于 frame buffer 的空白内存,先把容器以及其所有子 layer 依次画好,然后把四个角 “剪” 成圆形,再把结果画到 frame buffer 中。这就是 GPU 的离屏渲染。\n常见离屏渲染场景分析\n\ncornerRadius+clipsToBounds,原因就如同上面提到的,不得已只能另开一块内存来操作。而如果只是设置 cornerRadius(如不需要剪切内容,只需要一个带圆角的边框),或者只是需要裁掉矩形区域以外的内容(虽然也是剪切,但是稍微想一下就可以发现,对于纯矩形而言,实现这个算法似乎并不需要另开内存),并不会触发离屏渲染。关于剪切圆角的性能优化,根据场景不同有几个方案可供选择,非常推荐阅读 AsyncDisplayKit 中的一篇文档。\n\n\nASDK 中对于如何选择圆角渲染策略的流程图,非常实用\n\nshadow,其原因在于,虽然 layer 本身是一块矩形区域,但是阴影的形状却未必是矩形,而是与 layer 中” 非透明区域 “的形状一致,这就意味着需要先知道 layer 与其所有子结构组合之后的形状。更关键的是,阴影需要显示在所有 layer 内容的下方,那么根据画家算法,下层必须先被渲染,而此时阴影的本体(layer 和其子 layer)都还没有被组合到一起,怎么可能在第一步就画出只有完成最后一步之后才能知道的形状呢?这样一来又只能另外申请一块内存,把本体内容都先画好,再根据渲染结果的形状,添加阴影到 frame buffer,最后把内容画上去(这只是我的猜测,实际情况可能更复杂)。不过如果我们能够预先告诉 CoreAnimation(通过 shadowPath 属性)阴影的几何形状,那么阴影当然可以先被独立渲染出来,不需要依赖 layer 本体,也就不再需要离屏渲染了。\n\n\n阴影会作用在所有子 layer 所组成的形状上,那就只能等全部子 layer 画完才能得到\n\ngroup opacity,其实从名字就可以猜到,alpha 并不是分别应用在每一层之上,而是只有到整个 layer 树画完之后,再统一加上 alpha,最后和底下其他 layer 的像素进行组合。显然也无法通过一次遍历就得到最终结果。将一对蓝色和红色 layer 叠在一起,然后在父 layer 上设置 opacity=0.5,并复制一份在旁边作对比。左边关闭 group opacity,右边保持默认(从 iOS7 开始,如果没有显式指定,group opacity 会默认打开),然后打开 offscreen rendering 的调试,我们会发现右边的那一组确实是离屏渲染了。\n\n\n同样的两个 view,右边打开 group opacity(默认行为)的被标记为 Offscreen rendering\n\nmask,我们知道 mask 是应用在 layer 和其所有子 layer 的组合之上的,而且可能带有透明度,那么其实和 group opacity 的原理类似,不得不在离屏渲染中完成。\n\n\nWWDC 中苹果的解释,mask 需要遍历至少三次\n\nUIBlurEffect,同样无法通过一次遍历完成,其原理在 WWDC 中提到:\n\n\n\n其他还有一些,类似 allowsEdgeAntialiasing 等等也可能会触发离屏渲染,原理也都是类似:如果你无法仅仅使用 frame buffer 来画出最终结果,那就只能另开一块内存空间来储存中间结果。这些原理并不神秘。\n\nGPU 离屏渲染的性能影响\nGPU 的操作是高度流水线化的。本来所有计算工作都在有条不紊地正在向 frame buffer 输出,此时突然收到指令,需要输出到另一块内存,那么流水线中正在进行的一切都不得不被丢弃,切换到只能服务于我们当前的 “切圆角” 操作。等到完成以后再次清空,再回到向 frame buffer 输出的正常流程。\n在 tableView 或者 collectionView 中,滚动的每一帧变化都会触发每个 cell 的重新绘制,因此一旦存在离屏渲染,上面提到的上下文切换就会每秒发生 60 次,并且很可能每一帧有几十张的图片要求这么做,对于 GPU 的性能冲击可想而知(GPU 非常擅长大规模并行计算,但是我想频繁的上下文切换显然不在其设计考量之中)\n\n每 16ms 就需要根据当前滚动位置渲染整个 tableView,是个不小的性能挑战\n善用离屏渲染\n尽管离屏渲染开销很大,但是当我们无法避免它的时候,可以想办法把性能影响降到最低。优化思路也很简单:既然已经花了不少精力把图片裁出了圆角,如果我能把结果缓存下来,那么下一帧渲染就可以复用这个成果,不需要再重新画一遍了。\nCALayer 为这个方案提供了对应的解法:shouldRasterize。一旦被设置为 true,Render Server 就会强制把 layer 的渲染结果(包括其子 layer,以及圆角、阴影、group opacity 等等)保存在一块内存中,这样一来在下一帧仍然可以被复用,而不会再次触发离屏渲染。有几个需要注意的点:\n\nshouldRasterize 的主旨在于降低性能损失,但总是至少会触发一次离屏渲染。如果你的 layer 本来并不复杂,也没有圆角阴影等等,打开这个开关反而会增加一次不必要的离屏渲染\n离屏渲染缓存有空间上限,最多不超过屏幕总像素的 2.5 倍大小\n一旦缓存超过 100ms 没有被使用,会自动被丢弃\nlayer 的内容(包括子 layer)必须是静态的,因为一旦发生变化(如 resize,动画),之前辛苦处理得到的缓存就失效了。如果这件事频繁发生,我们就又回到了 “每一帧都需要离屏渲染” 的情景,而这正是开发者需要极力避免的。针对这种情况,Xcode 提供了 “Color Hits Green and Misses Red” 的选项,帮助我们查看缓存的使用是否符合预期\n其实除了解决多次离屏渲染的开销,shouldRasterize 在另一个场景中也可以使用:如果 layer 的子结构非常复杂,渲染一次所需时间较长,同样可以打开这个开关,把 layer 绘制到一块缓存,然后在接下来复用这个结果,这样就不需要每次都重新绘制整个 layer 树了\n\n什么时候需要 CPU 渲染\n渲染性能的调优,其实始终是在做一件事:平衡 CPU 和 GPU 的负载,让他们尽量做各自最擅长的工作。\n\n平衡 CPU 和 GPU 的负载\n绝大多数情况下,得益于 GPU 针对图形处理的优化,我们都会倾向于让 GPU 来完成渲染任务,而给 CPU 留出足够时间处理各种各样复杂的 App 逻辑。为此 Core Animation 做了大量的工作,尽量把渲染工作转换成适合 GPU 处理的形式(也就是所谓的硬件加速,如 layer composition,设置 backgroundColor 等等)。\n但是对于一些情况,如文字(CoreText 使用 CoreGraphics 渲染)和图片(ImageIO)渲染,由于 GPU 并不擅长做这些工作,不得不先由 CPU 来处理好以后,再把结果作为 texture 传给 GPU。除此以外,有时候也会遇到 GPU 实在忙不过来的情况,而 CPU 相对空闲(GPU 瓶颈),这时可以让 CPU 分担一部分工作,提高整体效率。\n\n来自 WWDC18 session 221,可以看到 Core Text 基于 Core Graphics\n一个典型的例子是,我们经常会使用 CoreGraphics 给图片加上圆角(将图片中圆角以外的部分渲染成透明)。整个过程全部是由 CPU 完成的。这样一来既然我们已经得到了想要的效果,就不需要再另外给图片容器设置 cornerRadius。另一个好处是,我们可以灵活地控制裁剪和缓存的时机,巧妙避开 CPU 和 GPU 最繁忙的时段,达到平滑性能波动的目的。\n这里有几个需要注意的点:\n\n渲染不是 CPU 的强项,调用 CoreGraphics 会消耗其相当一部分计算时间,并且我们也不愿意因此阻塞用户操作,因此一般来说 CPU 渲染都在后台线程完成(这也是 AsyncDisplayKit 的主要思想),然后再回到主线程上,把渲染结果传回 CoreAnimation。这样一来,多线程间数据同步会增加一定的复杂度\n同样因为 CPU 渲染速度不够快,因此只适合渲染静态的元素,如文字、图片(想象一下没有硬件加速的视频解码,性能惨不忍睹)\n作为渲染结果的 bitmap 数据量较大(形式上一般为解码后的 UIImage),消耗内存较多,所以应该在使用完及时释放,并在需要的时候重新生成,否则很容易导致 OOM\n如果你选择使用 CPU 来做渲染,那么就没有理由再触发 GPU 的离屏渲染了,否则会同时存在两块内容相同的内存,而且 CPU 和 GPU 都会比较辛苦\n一定要使用 Instruments 的不同工具来测试性能,而不是仅凭猜测来做决定\n\n即刻的优化\n由于在 iOS10 之后,系统的设计风格慢慢从扁平化转变成圆角卡片,即刻的设计风格也随之发生变化,加入了大量圆角与阴影效果,如果在处理上稍有不慎,就很容易触发离屏渲染。为此我们采取了以下一些措施:\n\n即刻大量应用 AsyncDisplayKit(Texture) 作为主要渲染框架,对于文字和图片的异步渲染操作交由框架来处理。关于这方面可以看我之前的一些介绍\n对于图片的圆角,统一采用 “precomposite” 的策略,也就是不经由容器来做剪切,而是预先使用 CoreGraphics 为图片裁剪圆角\n对于视频的圆角,由于实时剪切非常消耗性能,我们会创建四个白色弧形的 layer 盖住四个角,从视觉上制造圆角的效果\n对于 view 的圆形边框,如果没有 backgroundColor,可以放心使用 cornerRadius 来做\n对于所有的阴影,使用 shadowPath 来规避离屏渲染\n对于特殊形状的 view,使用 layer mask 并打开 shouldRasterize 来对渲染结果进行缓存\n对于模糊效果,不采用系统提供的 UIVisualEffect,而是另外实现模糊效果(CIGaussianBlur),并手动管理渲染结果\n\n\n即刻客户端中有大量的圆角、阴影等效果\n总结\n\nCPU 渲染虽然也是 “离屏”,但是通常提到的离屏渲染是发生在 GPU\n如果一个 layer 无法在一次遍历就完成绘制,那么就不得不触发离屏渲染\n离屏渲染的开销主要在与 frame buffer 与离屏 buffer 之间的上下文切换。如果无法避免,也可以通过有效利用 shouldRasterize,减少触发的次数\nCPU 和 GPU 是相互扶持的关系。CPU 渲染效率不高,但是较为通用灵活;GPU 擅长并行计算,但也有捉襟见肘之时,此时 CPU 可以适当给与帮助\n\n离屏渲染牵涉了很多 Core Animation、GPU 和图形学等等方面的知识,在实践中也非常考验一个工程师排查问题的基本功、经验和判断能力——如果在不恰当的时候打开了 shouldRasterize,只会弄巧成拙。\n从一个更广阔的视角看,离屏渲染也仅仅是渲染性能优化中的一部分,而能否保证 UI 性能过关,将会直接影响到用户日常的操作体验。渲染技术作为客户端工程师的关键技术能力之一,值得持续研究。\n推荐资料\nAndy Matuschak 关于离屏渲染的解释\nObjc.io: Moving Pixels onto the Screen\nMastering Offscreen Render\nWWDC 2011 421 Core Animation Essentials\nWWDC 2011 121 Understanding UIKit Rendering\nWWDC 2014 419 Advanced Graphics and Animations for iOS Apps\nWWDC 2010 135 Advanced Performance Optimization on iPhone OS Part 1\n《Core Animation: Advanced Techniques》\n"},"Article/面试驱动技术 - Category 相关考点.html":{"url":"Article/面试驱动技术 - Category 相关考点.html","title":"面试驱动技术 - Category 相关考点","keywords":"","body":"\n面试驱动技术合集(初中级 iOS 开发),关注仓库,及时获取更新 Interview-series\n\n原文: 面试驱动技术 - Category 相关考点\nCategory 相关的问题一般初中级问的比较多,一般最深的就问到关联对象,本文把比较常见的 Category 的问题都罗列解决了一下,如果还有其他常见的 Category 的试题欢迎补充~\nI. Category\nCategory 相关面试题\n\nCategory 实现原理?\n实际开发中,你用 Category 做了哪些事?\nCategory 能否添加成员变量,如果可以,如何添加?\nload 、initialize 方法的区别是什么,他们在 category 中的调用顺序?以及出现继承时他们之间的调用过程?\nCategory 和 Class Extension 的区别是什么?\n为什么分类会 “覆盖” 宿主类的方法?\n\n1.Category 的特点\n\n运行时决议\n通过 runtime 动态将分类的方法合并到类对象、元类对象中\n实例方法合并到类对象中,类方法合并到元类对象中\n\n\n可以为系统类添加分类\n\n2. 分类中可以添加哪些内容\n\n实例方法\n类方法\n协议\n属性\n\n分类中原理解析\n使用 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc MNPerson+Test.m 函数,生产一个 cpp 文件, 窥探其底层结构 (编译状态)\nstruct _category_t {\n //宿主类名称 - 这里的MNPerson\n const char *name;\n\n //宿主类对象,里面有isa\n struct _class_t *cls;\n\n //实例方法列表\n const struct _method_list_t *instance_methods;\n\n //类方法列表\n const struct _method_list_t *class_methods;\n\n //协议列表\n const struct _protocol_list_t *protocols;\n\n //属性列表\n const struct _prop_list_t *properties;\n};\n\n//_class_t 结构\nstruct _class_t {\n struct _class_t *isa;\n struct _class_t *superclass;\n void *cache;\n void *vtable;\n struct _class_ro_t *ro;\n};\n复制代码\n\n每个分类都是独立的\n每个分类的结构都一致,都是category_t\n\n函数转换\n@implementation MNPerson (Test)\n\n- (void)test{\n NSLog(@\"test - rua~\");\n}\n\n@end\n复制代码\n\nstatic void \nattachCategories(Class cls, category_list *cats, bool flush_caches)\n{\n if (!cats) return;\n if (PrintReplacedMethods) printReplacements(cls, cats);\n\n bool isMeta = cls->isMetaClass();\n\n // fixme rearrange to remove these intermediate allocations\n\n /* 二维数组( **mlists => 两颗星星,一个)\n [\n [method_t,],\n [method_t,method_t],\n [method_t,method_t,method_t],\n ]\n\n */\n method_list_t **mlists = (method_list_t **)\n malloc(cats->count * sizeof(*mlists));\n property_list_t **proplists = (property_list_t **)\n malloc(cats->count * sizeof(*proplists));\n protocol_list_t **protolists = (protocol_list_t **)\n malloc(cats->count * sizeof(*protolists));\n\n // Count backwards through cats to get newest categories first\n int mcount = 0;\n int propcount = 0;\n int protocount = 0;\n int i = cats->count;//宿主类,分类的总数\n bool fromBundle = NO;\n while (i--) {//倒序遍历,最先访问最后编译的分类\n\n // 获取某一个分类\n auto& entry = cats->list[i];\n\n // 分类的方法列表\n method_list_t *mlist = entry.cat->methodsForMeta(isMeta);\n if (mlist) {\n //最后编译的分类,最先添加到分类数组中\n mlists[mcount++] = mlist;\n fromBundle |= entry.hi->isBundle();\n }\n\n property_list_t *proplist = \n entry.cat->propertiesForMeta(isMeta, entry.hi);\n if (proplist) {\n proplists[propcount++] = proplist;\n }\n\n protocol_list_t *protolist = entry.cat->protocols;\n if (protolist) {\n protolists[protocount++] = protolist;\n }\n }\n\n auto rw = cls->data();\n\n prepareMethodLists(cls, mlists, mcount, NO, fromBundle);\n\n // 核心:将所有分类的对象方法,附加到类对象的方法列表中\n rw->methods.attachLists(mlists, mcount);\n free(mlists);\n if (flush_caches && mcount > 0) flushCaches(cls);\n\n rw->properties.attachLists(proplists, propcount);\n free(proplists);\n\n rw->protocols.attachLists(protolists, protocount);\n free(protolists);\n}\n复制代码\nvoid attachLists(List* const * addedLists, uint32_t addedCount) {\n if (addedCount == 0) return;\n\n if (hasArray()) {\n // many lists -> many lists\n uint32_t oldCount = array()->count;\n uint32_t newCount = oldCount + addedCount;\n\n //realloc - 重新分配内存 - 扩容了\n setArray((array_t *)realloc(array(), array_t::byteSize(newCount)));\n array()->count = newCount;\n\n //memmove,内存挪动\n //array()->lists 原来的方法列表\n memmove(array()->lists + addedCount,\n array()->lists,\n oldCount * sizeof(array()->lists[0]));\n\n //memcpy - 将分类的方法列表 copy 到原来的方法列表中\n memcpy(array()->lists,\n addedLists,\n addedCount * sizeof(array()->lists[0]));\n }\n ...\n}\n复制代码\n画图分析就是\n\n\n\n\n\n3. 实际开发中,你用 Category 做了哪些事?\n\n声明私有方法\n\n分解体积庞大的类文件\n\n把Framework的私有方法公开\n\n\n4.Category 实现原理?\n\nCategory 编译之后,底层结构是 category_t,里面存储着分类的各种信息,包括 对象方法、类方法、属性、协议信息\n分类的在编译后,方法并不会直接添加到类信息中,而是要在程序运行的时候,通过 runtime, 讲 Category 的数据,\n\n5. 为什么分类会 “覆盖” 宿主类的方法?\n\n其实不是真正的 “覆盖”,宿主类的同名方法还是存在\n分类将附加到类对象的方法列表中,整合的时候,分类的方法优先放到前面\nOC 的函数调用底层走的是 msg_send() 函数,它做的是方法查找,因为分类的方法优先放在前面,所以通过选择器查找到分类的方法之后直接调用,宿主类的方法看上去就像被 “覆盖” 而没有生效\n\n6.Category 和 Class Extension 的区别是什么?\nClass Extension(扩展)\n\n声明私有属性\n声明私有方法\n声明私有成员变量\n编译时决议,Category 运行时决议\n不能为系统类添加扩展\n只能以声明的形式存在,多数情况下,寄生于宿主类的. m 文件中\n\nII. load 、initialize\nload 实现原理\n\n\n类第一次加载进内存的时候,会调用 + load 方法,无需导入,无需使用\n每个类、分类的 + load 在程序运行过程中只会执行一次\n+ load 走的不是消息发送的 objc_msgSend 调用,而是找到 + load 函数的地址,直接调用\n\n\nvoid call_load_methods(void)\n{\n static bool loading = NO;\n bool more_categories;\n\n loadMethodLock.assertLocked();\n\n // Re-entrant calls do nothing; the outermost call will finish the job.\n if (loading) return;\n loading = YES;\n\n void *pool = objc_autoreleasePoolPush();\n\n do {\n // 1\\. Repeatedly call class +loads until there aren’t any more\n while (loadable_classes_used > 0) {\n //先加载宿主类的load方法(按照编译顺序,调用load方法)\n call_class_loads();\n }\n\n // 2\\. Call category +loads ONCE\n more_categories = call_category_loads();\n\n // 3\\. Run more +loads if there are classes OR more untried categories\n } while (loadable_classes_used > 0 || more_categories);\n\n objc_autoreleasePoolPop(pool);\n\n loading = NO;\n}\n复制代码\nstatic void schedule_class_load(Class cls)\n{\n if (!cls) return;\n assert(cls->isRealized()); // _read_images should realize\n\n if (cls->data()->flags & RW_LOADED) return;\n\n // Ensure superclass-first ordering\n // 递归调用,先将父类添加到load方法列表中,再将自己加进去\n schedule_class_load(cls->superclass);\n\n add_class_to_loadable_list(cls);\n cls->setInfo(RW_LOADED); \n}\n复制代码\n\n调用顺序\n\n先调用宿主类的+ load 函数\n按照编译先后顺序调用(先编译,先调用)\n调用子类的 + load 之前会先调用父类的 + load\n\n\n再调用分类的的+ load 函数\n按照编译先后顺序调用(先编译,先调用)\n\n\n\n实验证明:宿主类先调用,分类再调用\n2019-02-27 17:28:00.519862+0800 load-Initialize-Demo[91107:2281575] MNPerson + load\n2019-02-27 17:28:00.520032+0800 load-Initialize-Demo[91107:2281575] MNPerson (Play) + load\n2019-02-27 17:28:00.520047+0800 load-Initialize-Demo[91107:2281575] MNPerson (Eat) + load\n复制代码\n\n\n2019-02-27 17:39:10.354050+0800 load-Initialize-Demo[91308:2303030] MNDog + load (宿主类1)\n2019-02-27 17:39:10.354237+0800 load-Initialize-Demo[91308:2303030] MNPerson + load (宿主类2)\n2019-02-27 17:39:10.354252+0800 load-Initialize-Demo[91308:2303030] MNDog (Rua) + load (分类1)\n2019-02-27 17:39:10.354263+0800 load-Initialize-Demo[91308:2303030] MNPerson (Play) + load(分类2)\n2019-02-27 17:39:10.354274+0800 load-Initialize-Demo[91308:2303030] MNPerson (Eat) + load(分类3)\n2019-02-27 17:39:10.354285+0800 load-Initialize-Demo[91308:2303030] MNDog (Run) + load(分类4)\n复制代码\nInitialize 实现原理\n\n\n类第一次接收到消息的时候,会调用该方法,需导入,并使用\n+ Initialize 走的是消息发送的 objc_msgSend 调用\n\n\nInitialize 题目出现\n/*父类*/\n@interface MNPerson : NSObject\n\n@end\n\n@implementation MNPerson\n\n+ (void)initialize{\n NSLog(@\"MNPerson + initialize\");\n}\n\n@end\n\n/*子类1*/\n@interface MNTeacher : MNPerson\n\n@end\n\n@implementation MNTeacher\n\n@end\n\n/*子类2*/\n@interface MNStudent : MNPerson\n\n@end\n\n@implementation MNStudent\n\n@end\n\n---------------------------------------------\n问题出现:以下会输出什么结果\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n [MNTeacher alloc];\n [MNStudent alloc];\n }\n return 0;\n}\n\n复制代码\n\n结果如下:\n2019-02-27 17:57:33.305655+0800 load-Initialize-Demo[91661:2331296] MNPerson + initialize\n2019-02-27 17:57:33.305950+0800 load-Initialize-Demo[91661:2331296] MNPerson + initialize\n2019-02-27 17:57:33.306476+0800 load-Initialize-Demo[91661:2331296] MNPerson + initialize\n复制代码\nexo me? 为啥打印三次呢\n原理分析:\n\ninitialize 在类第一次接收消息的时候会调用,OC 里面的 [ xxx ] 调用都可以看成 objc_msgSend, 所以这时候,[MNTeacher alloc] 其实内部会调用 [MNTeacher initialize]\ninitialize 调用的时候,要先实现自己父类的 initialize 方法,第一次调用的时候,MNPerson 没被使用过,所以未被初始化,要先调用一下父类的 [MNPerson initialize], 输出第一个MNPerson + initialize\nMNPerson 调用了 initialize 之后,轮到MNTeacher 类自己了,由于他内部没有实现 initialize方法,所以调用父类的initialize, 输出第二个MNPerson + initialize\n然后轮到[MNStudent alloc],内部也是调用 [MNStudent initialize], 然后判断得知 父类MNPerson类调用过initialize了,因此调用自身的就够了,由于他和MNTeacher 一样,也没实现initialize 方法,所以同理调用父类的[MNPerson initialize], 输出第 3 个MNPerson + initialize\n\n\ninitialize 与 load 的区别\n\nload 是类第一次加载的时候调用,initialize 是类第一次接收到消息的时候调用,每个类只会 initialize 一次(父类的 initialize 方法可能被调用多次)\nload 和 initialize,加载 or 调用的时候,都会先调用父类对应的 load or initialize 方法,再调用自己本身的;\nload 和 initialize 都是系统自动调用的话,都只会调用一次\n调用方式也不一样,load 是根据函数地址直接调用,initialize 是通过objc_msgSend\n调用时刻,load 是 runtime 加载类、分类的时候调用(只会调用一次)\n调用顺序:\nload:\n先调用类的 load\n先编译的类,优先调用 load\n调用子类的 load 之前,会先调用父类的 load\n\n\n在调用分类的 load\n\n\ninitialize:\n先初始化父列\n再初始化子类(可能最终调用的是父类的初始化方法)\n\n\n\n\n\n/*父类*/\n@interface MNPerson : NSObject\n\n@end\n\n@implementation MNPerson\n\n+ (void)initialize{\n NSLog(@\"MNPerson + initialize\");\n}\n\n+ (void)load{\n NSLog(@\"MNPerson + load\");\n}\n\n/*子类1*/\n@interface MNTeacher : MNPerson\n\n@end\n\n@implementation MNTeacher\n\n+ (void)load{\n NSLog(@\"MNTeacher + load\");\n}\n\n/*子类2*/\n@interface MNStudent : MNPerson\n\n@end\n\n@implementation MNStudent\n\n+ (void)load{\n NSLog(@\"MNStudent + load\");\n}\n\n------------------------------------\n问题出现:以下会输出什么结果?\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n [MNTeacher load];\n }\n return 0;\n}\n\n复制代码\n答案出现!!!\n2019-02-27 18:17:12.034392+0800 load-Initialize-Demo[92064:2370496] MNPerson + load\n2019-02-27 18:17:12.034555+0800 load-Initialize-Demo[92064:2370496] MNStudent + load\n2019-02-27 18:17:12.034569+0800 load-Initialize-Demo[92064:2370496] MNTeacher + load\n2019-02-27 18:17:12.034627+0800 load-Initialize-Demo[92064:2370496] MNPerson + initialize\n2019-02-27 18:17:12.034645+0800 load-Initialize-Demo[92064:2370496] MNPerson + initialize\n2019-02-27 18:17:12.034658+0800 load-Initialize-Demo[92064:2370496] MNTeacher + load\n复制代码\nexo me again!怎么这么多!连 load 也有了?\n解释:\n\n前三个 load 不多 bb 了吧,程序一运行,runtime 直接将全部的类加载到内存中,肯定最先输出;\n第一个 MNPerson + initialize,因为是MNTeacher的调用,所以会先让父类MNPerson 调用一次initialize,输出第一个 MNPerson + initialize\n第二个 MNPerson + initialize, MNTeacher 自身调用,由于他自己没有实现 initialize, 调用父类的initialize, 输出第二个 MNPerson + initialize\n最后一个MNTeacher + load可能其实有点奇怪,不是说 load只会加载一次吗,而且他还不走 objc_msgSend 吗,怎么还能调用这个方法?\n因为!当类第一次加载进内存的时候,调用的 load 方法是系统调的,这时候不走 objc_msgSend\n但是,你现在是[MNTeacher load]啊,这个就是 objc_msgSend(MNTeacher,@selector(MNTeacher)),这就跑到MNTeacher + load里了!\n只是一般没人手动调用load 函数,但是,还是可以调用的!\n\n\n\nIII. 关联对象 AssociatedObject\nCategory 能否添加成员变量,如果可以,如何添加?\n\n这道题实际上考的就是关联对象\n\n如果是普通类声明生命属性的话\n@interface MNPerson : NSObject\n\n@property (nonatomic, copy)NSString *property;\n\n@end\n复制代码\n上述代码系统内部会自动三件事:\n\n帮我们生成一个生成变量_property\n生成一个 get 方法 - (NSString *)property\n生成一个 set 方法 - (void)setProperty:(NSString *)property\n\n@implementation MNPerson{\n NSString *_property;\n}\n\n- (void)setProperty:(NSString *)property{\n _property = property;\n}\n\n- (NSString *)property{\n return _property;\n}\n\n@end\n复制代码\n分类也是可以添加属性的 - 类结构里面,有个properties 列表,里面就是 存放属性的;\n分类里面,生成属性,只会生成方法的声明,不会生成成员变量 && 方法实现!\n\n\n人工智障翻译:实例变量不能放在分类中\n\n所以:\n不能直接给 category 添加成员变量,但是可以间接实现分类有成员变量的效果 (效果上感觉像成员变量)\n@interface MNPerson (Test)\n\n@property (nonatomic, assign) NSInteger age;\n\n@end\n\n@implementation MNPerson (Test)\n\n@end\n复制代码\n\nperson.age = 10等价于 [person setAge:10],所以证明了,给分类声明属性之后,并没有添加其对应的实现!\n关联对象\nobjc_setAssociatedObject Api\nobjc_setAssociatedObject( , (对象)\n ,(key)\n ,(关联的值)\n )(关联策略)\n复制代码\n关联策略,等价于属性声明\ntypedef OBJC_ENUM(uintptr_t, objc_AssociationPolicy) {\n OBJC_ASSOCIATION_ASSIGN = 0, \n OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, \n OBJC_ASSOCIATION_COPY_NONATOMIC = 3, \n OBJC_ASSOCIATION_RETAIN = 01401, \n OBJC_ASSOCIATION_COPY = 01403 \n};\n复制代码\n\n比如这里的 age 属性,默认声明是@property (nonatomic, assign) NSInteger age;,就是 assign,所以这里选择OBJC_ASSOCIATION_ASSIGN\n取值\nobjc_getAssociatedObject(, )\n复制代码\n面试题 - 以下代码输出的结果是啥\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n MNPerson *person = [[MNPerson alloc]init];\n\n {\n MNPerson *test = [[MNPerson alloc]init];\n objc_setAssociatedObject(person,\n @\"test\",\n test,\n OBJC_ASSOCIATION_ASSIGN);\n }\n\n NSLog(@\"%@\",objc_getAssociatedObject(person, @\"test\"));\n }\n return 0;\n}\n\n复制代码\n\n\n原因,关联的对象是 person,关联的 value 是 test,test 变量 出了他们的{} 作用域之后,就会销毁; 此时通过 key 找到 对应的对象,访问对象内部的 value,因为 test 变量已经销毁了,所以程序崩溃了,这也说明了 => 内部 test 对 value 是强引用!\n\n关联对象的本质\n\n在分类中,因为类的实例变量的布局已经固定,使用 @property 已经无法向固定的布局中添加新的实例变量(这样做可能会覆盖子类的实例变量),所以我们需要使用关联对象以及两个方法来模拟构成属性的三个要素。\n\n引用自 关联对象 AssociatedObject 完全解析\n\n关联对象的原理\n实现关联对象技术的核心对象有\n\nAssociationsManager\nAssociationsHashMap\nObjectAssociationMap\nObjcAssociation\n\nclass AssociationsManager {\n static spinlock_t _lock;//自旋锁,保证线程安全\n static AssociationsHashMap *_map;\n}\n复制代码\nclass AssociationsHashMap : public unordered_map \n复制代码\nclass ObjectAssociationMap : public std::map\n复制代码\nclass ObjcAssociation {\n uintptr_t _policy;\n id _value;\n}\n复制代码\n以关联对象代码为例:\n objc_setAssociatedObject(obj, @selector(key), @\"hello world\", OBJC_ASSOCIATION_COPY_NONATOMIC);\n复制代码\n\n\n关联对象并不是存储在被关联对象本身的内存中的\n关联对象,存储在全局的一个统一的AssociationsManager中\n关联对象其实就是 ObjcAssociation 对象, 关联的 value 就放在 ObjcAssociation 内\n关联对象由 AssociationsManager 管理并在 AssociationsHashMap 存储\n对象的指针以及其对应 ObjectAssociationMap 以键值对的形式存储在 AssociationsHashMap 中\nObjectAssociationMap 则是用于存储关联对象的数据结构\n每一个对象都有一个标记位 has_assoc 指示对象是否含有关联对象\n存储在全局的一个统一的AssociationsManager 内部有一持有一个_lock,他其实是一个 spinlock_t(自旋锁), 用来保证AssociationsHashMap操作的时候,是线程安全的\n\nCategory 相关的问题一般初中级问的比较多,一般最深的就问到关联对象,上面的问题以及解答已经把比较常见的 Category 的问题都罗列解决了一下,如果还有其他常见的 Category 的试题欢迎补充~\n\n参考资料:\n关联对象 AssociatedObject 完全解析\nassociated-objects\n"},"Article/iOS 编译过程的原理和应用.html":{"url":"Article/iOS 编译过程的原理和应用.html","title":"iOS 编译过程的原理和应用","keywords":"","body":"\n 原文地址 https://mp.weixin.qq.com/s/32W4orJWvRkKXwSCzjkxGA\n\n\n\n\n前言\n一般可以将编程语言分为两种,编译语言和直译式语言。\n像 C++,Objective C 都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率较高。\n像 JavaScript,Python 都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为 CPU 可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活,也就是为啥 JS 大法好。\niOS 开发目前的常用语言是:Objective 和 Swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于 Clang + LLVM. 篇幅限制,本文只关注 Objective C,因为原理上大同小异。\n可能会有同学想问,我不懂编译的过程,写代码也没问题啊?这点我是不否定的。但是,充分理解了编译的过程,会对你的开发大有帮助。本文的最后,会以以下几个例子,来讲解如何合理利用 XCode 和编译\n\nattribute\n\nClang 警告处理\n\n预处理\n\n插入编译期脚本\n\n提高项目编译速度\n\n\n对于不想看我啰里八嗦讲一大堆原理的同学,可以直接跳到本文的最后一个章节。\niOS 编译\nObjective C 采用 Clang(swift 采用 swift) 作为编译器前端,LLVM(Low level vritual machine) 作为编译器后端。\n简单的编译过程如图\n\n编译器前端\n\n编译器前端的任务是进行:语法分析,语义分析,生成中间代码 (intermediate representation)。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。\n\n\n编译器后端\n\n编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。iOS 的编译过程,后端的处理如下\n\n\nLVVM 优化器会进行 BitCode 的生成,链接期优化等等。\n\n\nLLVM 机器码生成器会针对不同的架构,比如 arm64 等生成不同的机器码。\n\n执行一次 XCode build 的流程\n当你在 XCode 中,选择 build 的时候(快捷键 command+B),会执行如下过程\n\n编译信息写入辅助文件,创建编译后的文件架构 (name.app)\n\n处理文件打包信息,例如在 debug 环境下\n\n\nEntitlements:\n{\n \"application-identifier\" = \"app的bundleid\";\n \"aps-environment\" = development;\n}\n\n\n\n\n执行 CocoaPod 编译前脚本\n\n例如对于使用 CocoaPod 的工程会执行 CheckPods Manifest.lock\n\n编译各个. m 文件,使用 CompileC 和 clang 命令。\n\n\nCompileC ClassName.o ClassName.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler\nexport LANG=en_US.US-ASCII\nexport PATH=\"...\"\nclang -x objective-c -arch x86_64 -fmessage-length=0 -fobjc-arc... -Wno-missing-field-initializers ... -DDEBUG=1 ... -isysroot iPhoneSimulator10.1.sdk -fasm-blocks ... -I 上文提到的文件 -F 所需要的Framework -iquote 所需要的Framework ... -c ClassName.c -o ClassName.c\n\n\n通过这个编译的命令,我们可以看到\nclang是实际的编译命令\n-x objective-c 指定了编译的语言\n-arch x86_64制定了编译的架构,类似还有arm7等\n-fobjc-arc 一些列-f开头的,指定了采用arc等信息。这个也就是为什么你可以对单独的一个.m文件采用非ARC编程。\n-Wno-missing-field-initializers 一系列以-W开头的,指的是编译的警告选项,通过这些你可以定制化编译选项\n-DDEBUG=1 一些列-D开头的,指的是预编译宏,通过这些宏可以实现条件编译\n-iPhoneSimulator10.1.sdk 制定了编译采用的iOS SDK版本\n-I 把编译信息写入指定的辅助文件\n-F 链接所需要的Framework\n-c ClassName.c 编译文件\n-o ClassName.o 编译产物\n\n\n\n\n链接需要的 Framework,例如 Foundation.framework,AFNetworking.framework,ALiPay.fframework\n\n编译 xib 文件\n\n拷贝 xib,图片等资源文件到结果目录\n\n编译 ImageAssets\n\n处理 info.plist\n\n执行 CocoaPod 脚本\n\n拷贝 Swift 标准库\n\n创建. app 文件和对其签名\n\n\nIPA 包的内容\n例如,我们通过 iTunes Store 下载微信,然后获得 ipa 安装包,然后实际看看其安装包的内容。\n\n\n右键 ipa,重命名为. zip\n\n双击 zip 文件,解压缩后会得到一个文件夹。所以,ipa 包就是一个普通的压缩包。\n\n\n\n\n右键图中的WeChat,选择显示包内容,然后就能够看到实际的 ipa 包内容了。\n\n二进制文件的内容\n通过 XCode 的 Link Map File,我们可以窥探二进制文件中布局。 在 XCode -> Build Settings -> 搜索 map -> 开启 Write Link Map File\n\n开启后,在编译,我们可以在对应的 Debug/Release 目录下看到对应的 link map 的 text 文件。 默认的目录在\n~/Library/Developer/Xcode/DerivedData/-对应ID/Build/Intermediates/.build/Debug-iphoneos/.build/\n\n\n例如,我的 TargetName 是 EPlusPan4Phone,目录如下\n/Users/huangwenchen/Library/Developer/Xcode/DerivedData/EPlusPan4Phone-eznmxzawtlhpmadnbyhafnpqpizo/Build/Intermediates/EPlusPan4Phone.build/Debug-iphonesimulator/EPlusPan4Phone.build\n\n\n这个映射文件的主要包含以下部分:\nObject files\n这个部分包括的内容\n\n.o 文文件,也就是上文提到的. m 文件编译后的结果。\n\n.a 文件\n\n需要 link 的 framework\n\n*\n\n\n\n! Arch: x86_64 #Object files: [0] linker synthesized [1] /EPlusPan4Phone.build/EPlusPan4Phone.app.xcent [2]/EPlusPan4Phone.build/Objects-normal/x86_64/ULWBigResponseButton.o … [1175]/UMSocial_Sdk_4.4/libUMSocial_Sdk_4.4.a(UMSocialJob.o) [1188]/iPhoneSimulator10.1.sdk/System/Library/Frameworks//Foundation.framework/Foundation\n\n这个区域的存储内容比较简单:前面是文件的编号,后面是文件的路径。文件的编号在后续会用到\nSections\n这个区域提供了各个段(Segment)和节(Section)在可执行文件中的位置和大小。这个区域完整的描述克可执行文件中的全部内容。\n其中,段分为两种\n\n__TEXT 代码段\n\n__DATA 数据段\n\n\n例如,之前写的一个 App,Sections 区域如下,可以看到,代码段的\ntext 节的地址是 0x1000021B0,大小是 0x0077EBC3,而二者相加的下一个位置正好是stubs 的位置 0x100780D74。\n# Sections:\n# 位置 大小 段 节\n# Address Size Segment Section\n0x1000021B0 0x0077EBC3 __TEXT __text //代码\n0x100780D74 0x00000FD8 __TEXT __stubs\n0x100781D4C 0x00001A50 __TEXT __stub_helper\n0x1007837A0 0x0001AD78 __TEXT __const //常量\n0x10079E518 0x00041EF7 __TEXT __objc_methname //OC 方法名\n0x1007E040F 0x00006E34 __TEXT __objc_classname //OC 类名\n0x1007E7243 0x00010498 __TEXT __objc_methtype //OC 方法类型\n0x1007F76DC 0x0000E760 __TEXT __gcc_except_tab \n0x100805E40 0x00071693 __TEXT __cstring //字符串\n0x1008774D4 0x00004A9A __TEXT __ustring \n0x10087BF6E 0x00000149 __TEXT __entitlements \n0x10087C0B8 0x0000D56C __TEXT __unwind_info \n0x100889628 0x000129C0 __TEXT __eh_frame\n0x10089C000 0x00000010 __DATA __nl_symbol_ptr\n0x10089C010 0x000012C8 __DATA __got\n0x10089D2D8 0x00001520 __DATA __la_symbol_ptr\n0x10089E7F8 0x00000038 __DATA __mod_init_func\n0x10089E840 0x0003E140 __DATA __const //常量\n0x1008DC980 0x0002D840 __DATA __cfstring\n0x10090A1C0 0x000022D8 __DATA __objc_classlist // OC 方法列表\n0x10090C498 0x00000010 __DATA __objc_nlclslist \n0x10090C4A8 0x00000218 __DATA __objc_catlist\n0x10090C6C0 0x00000008 __DATA __objc_nlcatlist\n0x10090C6C8 0x00000510 __DATA __objc_protolist // OC协议列表\n0x10090CBD8 0x00000008 __DATA __objc_imageinfo\n0x10090CBE0 0x00129280 __DATA __objc_const // OC 常量\n0x100A35E60 0x00010908 __DATA __objc_selrefs\n0x100A46768 0x00000038 __DATA __objc_protorefs \n0x100A467A0 0x000020E8 __DATA __objc_classrefs \n0x100A48888 0x000019C0 __DATA __objc_superrefs // OC 父类引用\n0x100A4A248 0x0000A500 __DATA __objc_ivar // OC iar\n0x100A54748 0x00015CC0 __DATA __objc_data\n0x100A6A420 0x00007A30 __DATA __data\n0x100A71E60 0x0005AF70 __DATA __bss\n0x100ACCDE0 0x00053A4C __DATA __common\n\n\n\nSymbols\nSection 部分将二进制文件进行了一级划分。而,Symbols 对 Section 中的各个段进行了二级划分, 例如,对于TEXT text, 表示代码段中的代码内容。\n0x1000021B0 0x0077EBC3 __TEXT __text //代码\n\n\n而对应的 Symbols,起始地址也是 0x1000021B0 。其中,文件编号和上文的编号对应\n[2]/EPlusPan4Phone.build/Objects-normal/x86_64/ULWBigResponseButton.o\n\n\n具体内容如下\n# Symbols:\n 地址 大小 文件编号 方法名\n# Address Size File Name\n0x1000021B0 0x00000109 [ 2] -[ULWBigResponseButton pointInside:withEvent:]\n0x1000022C0 0x00000080 [ 3] -[ULWCategoryController liveAPI]\n0x100002340 0x00000080 [ 3] -[ULWCategoryController categories]\n....\n\n\n\n到这里,我们知道 OC 的方法是如何存储的,我们再来看看 ivar 是如何存储的。 首先找到数据栈中DATA objc_ivar\n0x100A4A248 0x0000A500 __DATA __objc_ivar\n\n\n然后,搜索这个地址 0x100A4A248,就能找到 ivar 的存储区域。\n0x100A4A248 0x00000008 [ 3] _OBJC_IVAR_$_ULWCategoryController._liveAPI\n\n\n值得一提的是,对于 String,会显式的存储到数据段中,例如,\n0x1008065C2 0x00000029 [ 11] literal string: http://sns.whalecloud.com/sina2/callback\n\n\n所以,若果你的加密 Key 以明文的形式写在文件里,是一件很危险的事情。\ndSYM 文件\n我们在每次编译过后,都会生成一个 dsym 文件。dsym 文件中,存储了 16 进制的函数地址映射。\n在 App 实际执行的二进制文件中,是通过地址来调用方法的。在 App crash 的时候,第三方工具(Fabric, 友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含 crash 地址的调用信息。然后,通过 dSYM 文件,我们就可以由地址映射到具体的函数位置。\nXCode 中,选择 Window -> Organizer 可以看到我们生成的 archier 文件\n\n然后,\n\n右键 -> 在 finder 中显示。\n\n右键 -> 查看包内容。\n\n\n关于如何用 dsym 文件来分析崩溃位置,可以查看我之前的一篇博客。\n\niOS 如何调试第三方统计到的崩溃报告 [1]\n\n那些你想到和想不到的应用场景\nattribute\n或多或少,你都会在第三方库或者 iOS 的头文件中,见到过 attribute。 比如\n__attribute__ ((warn_unused_result)) //如果没有使用返回值,编译的时候给出警告\n\n\n\n__attribtue__ 是一个高级的的编译器指令,它允许开发者指定更更多的编译检查和一些高级的编译期优化。\n\n分为三种:\n\n函数属性 (Function Attribute)\n类型属性 (Variable Attribute)\n变量属性 (Type Attribute)\n\n语法结构\n__attribute__语法格式为:attribute((attribute-list)) 放在声明分号 “;” 前面。\n比如,在三方库中最常见的,声明一个属性或者方法在当前版本弃用了\n@property (strong,nonatomic)CLASSNAME * property __deprecated;\n\n这样的好处是:给开发者一个过渡的版本,让开发者知道这个属性被弃用了,应当使用最新的 API,但是被__deprecated 的属性仍然可以正常使用。如果直接弃用,会导致开发者在更新 Pod 的时候,代码无法运行了。\nattribtue 的使用场景很多,本文只列举 iOS 开发中常用的几个:\n//弃用API,用作API更新\n#define __deprecated __attribute__((deprecated)) \n\n//带描述信息的弃用\n#define __deprecated_msg(_msg) __attribute__((deprecated(_msg)))\n\n//遇到__unavailable的变量/方法,编译器直接抛出Error\n#define __unavailable __attribute__((unavailable))\n\n//告诉编译器,即使这个变量/方法 没被使用,也不要抛出警告\n#define __unused __attribute__((unused))\n\n//和__unused相反\n#define __used __attribute__((used))\n\n//如果不使用方法的返回值,进行警告\n#define __result_use_check __attribute__((__warn_unused_result__))\n\n//OC方法在Swift中不可用\n#define __swift_unavailable(_msg) __attribute__((__availability__(swift, unavailable, message=_msg)))\n\n\nClang 警告处理\n你一定还见过如下代码:\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wundeclared-selector\"\n///代码\n#pragma clang diagnostic pop\n\n\n\n这段代码的作用是\n\n对当前编译环境进行压栈\n\n忽略 - Wundeclared-selector(未声明的)Selector 警告\n\n编译代码\n\n对编译环境进行出栈\n\n\n通过 clang diagnostic push/pop, 你可以灵活的控制代码块的编译选项。\n我在之前的一篇文章里,详细的介绍了 XCode 的警告相关内容。本文篇幅限制,就不详细讲解了。\n\niOS 合理利用 Clang 警告来提高代码质量 [2]\n\n在这个链接,你可以找到所有的 Clang warnings 警告\n\nfuckingclangwarnings\n\n预处理\n所谓预处理,就是在编译之前的处理。预处理能够让你定义编译器变量,实现条件编译。 比如,这样的代码很常见\n#ifdef DEBUG\n//...\n#else\n//...\n#endif\n\n\n\n同样,我们同样也可以定义其他预处理变量, 在 XCode - 选中 Target-build settings 中,搜索 proprecess。然后点击图中蓝色的加号,可以分别为 debug 和 release 两种模式设置预处理宏。 比如我们加上:TestServer,表示在这个宏中的代码运行在测试服务器\n\n然后,配合多个 Target(右键 Target,选择 Duplicate),单独一个 Target 负责测试服务器。这样我们就不用每次切换测试服务器都要修改代码了。\n#ifdef TESTMODE\n//测试服务器相关的代码\n#else\n//生产服务器相关代码\n#endif\n\n\n\n插入脚本\n通常,如果你使用 CocoaPod 来管理三方库,那么你的 Build Phase 是这样子的:\n\n其中:[CP] 开头的,就是 CocoaPod 插入的脚本。\n\nCheck Pods Manifest.lock,用来检查 cocoapod 管理的三方库是否需要更新\n\nEmbed Pods Framework,运行脚本来链接三方库的静态 / 动态库\n\nCopy Pods Resources,运行脚本来拷贝三方库的资源文件\n\n\n而这些配置信息都存储在这个文件 (.xcodeprog) 里\n\n到这里,CocoaPod 的原理也就大致搞清楚了,通过修改 xcodeproject,然后配置编译期脚本,来保证三方库能够正确的编译连接。\n同样,我们也可以插入自己的脚本,来做一些额外的事情。比如,每次进行 archive 的时候,我们都必须手动调整 target 的 build 版本,如果一不小心,就会忘记。这个过程,我们可以通过插入脚本自动化。\nbuildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\")\nbuildNumber=$(($buildNumber + 1))\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\"\n\n\n\n这段脚本其实很简单,读取当前 pist 的 build 版本号, 然后对其加一,重新写入。\n使用起来也很简单:\n\nXcode - 选中 Target - 选中 build phase\n\n选择添加 Run Script Phase\n\n\n\n\n然后把这段脚本拷贝进去,并且勾选 Run Script Only When installing,保证只有我们在安装到设备上的时候,才会执行这段脚本。重命名脚本的名字为 Auto Increase build number\n\n然后,拖动这个脚本的到 Link Binary With Libraries 下面\n\n\n\n脚本编译打包\n脚本化编译打包对于 CI(持续集成)来说,十分有用。iOS 开发中,编译打包必备的两个命令是:\n//编译成.app\nxcodebuild -workspace $projectName.xcworkspace -scheme $projectName -configuration $buildConfig clean build SYMROOT=$buildAppToDir\n//打包\nxcrun -sdk iphoneos PackageApplication -v $appDir/$projectName.app -o $appDir/$ipaName.ipa\n\n通过info命令,可以查看到详细的文档\ninfo xcodebuild\n\n\n\n完整的脚本 [3],使用的时候,需要拷贝到工程的根目录\n提高项目编译速度\n通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了 XCode 的编译过程后,我们可以从以下角度来优化编译速度:\n查看编译时间\n我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。 对于 XCode 8,关闭 XCode,终端输入以下指令\n$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES\n\n\n然后,重启 XCode,然后编译,你会在这里看到编译时间。\n\n代码层面的优化\nforward declaration\n所谓 forward declaration,就是 @class CLASSNAME,而不是 #import CLASSNAME.h。这样,编译器能大大提高 #import 的替换速度。\n对常用的工具类进行打包(Framework/.a)\n打包成 Framework 或者静态库,这样编译的时候这部分代码就不需要重新编译了。\n常用头文件放到预编译文件里\nXCode 的 pch 文件是预编译文件,这里的内容在执行 XCode build 之前就已经被预编译,并且引入到每一个. m 文件里了。\n编译器选项优化\nDebug 模式下,不生成 dsym 文件\n上文提到了,dysm 文件里存储了调试信息,在 Debug 模式下,我们可以借助 XCode 和 LLDB 进行调试。所以,不需要生成额外的 dsym 文件来降低编译速度。\nDebug 开启 Build Active Architecture Only\n在 XCode -> Build Settings -> Build Active Architecture Only 改为 YES。这样做,可以只编译当前的版本,比如 arm7/arm64 等等,记得只开启 Debug 模式。这个选项在高版本的 XCode 中自动开启了。\nDebug 模式下,关闭编译器优化\n编译器优化\n\n参考\n[1]http://blog.csdn.net/hello_hwc/article/details/50036323\n[2]http://blog.csdn.net/Hello_Hwc/article/details/46425503\n[3]https://github.com/LeoMobileDeveloper/Blogs/blob/master/DemoProjects/Scripts/autoIPA.sh\n"},"Article/Objective-C Runtime 机制简析.html":{"url":"Article/Objective-C Runtime 机制简析.html","title":"Objective-C Runtime 机制简析","keywords":"","body":"\n 原文地址 https://www.jianshu.com/p/0a4e5b944d7d\n\nObjective-C 在 C 的基础上添加了面向对象的特性,同时它是一种动态编程语言,将静态语言在编译和链接时需要做的一些事情给延后到运行时执行。例如方法的调用,只有在程序执行的时候,才能具体定位到哪个类的哪个方法。这就需要一个运行时库,就是 Runtime。\n1. 类的结构和定义\n在 Objective-C 中,类实际上是一个 objc_class 结构体,其定义如下:\ntypedef struct objc_class *Class;\nstruct objc_class {\n Class isa OBJC_ISA_AVAILABILITY;\n\n#if !__OBJC2__\n Class super_class OBJC2_UNAVAILABLE;\n const char *name OBJC2_UNAVAILABLE;\n long version OBJC2_UNAVAILABLE;\n long info OBJC2_UNAVAILABLE;\n long instance_size OBJC2_UNAVAILABLE;\n struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;\n struct objc_method_list **methodLists OBJC2_UNAVAILABLE;\n struct objc_cache *cache OBJC2_UNAVAILABLE;\n struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;\n#endif\n\n} OBJC2_UNAVAILABLE;\n\nstruct objc_object {\n Class isa OBJC_ISA_AVAILABILITY;\n};\n\n可以看到,在 objc2.0 中,除了 isa 指针外,objc_class 的其他成员变量皆已被弃用。\n其中 isa 是 objc_class 结构体的指针,它指向当前类的 meta class。\n\nmeta class 与 class\n在 objc 中,class 存储类的实例方法(-),meta class 存储类的类方法(+),class 的 isa 指针指向 meta class。下文会对此详细介绍。\n\nobjc_object 结构体就是 objc 中的对象,它仅包含一个 isa 指针,指向当前对象所属的类。 我们常用的 id 实质上就是一个 objc_object 类型的指针。\n\n如图 1.1 所示,一个对象(Instance of Subclass)的 isa 指针指向它所属的类 Subclass(class),Subclass(class)的 isa 指针指向 Subclass(meta),Subclass(meta)的 isa 指针指向 Root class(meta)。Root class(meta)的 isa 指针指向本身。\n同时,Root class(meta)的父类是 Root class(class),即 NSObject,NSObject 的父类为 nil。\n2. 方法的调用\n在这里需要先了解几个概念\nSEL\nSEL 是 objc_selector 类型指针,是根据特定规则生成的方法的唯一标识。需要注意的是,只要方法名相同,生成的 SEL 就相同,与这个方法属于哪个类没有关系。\ntypedef struct objc_selector *SEL;\nIMP\n如果说,SEL 是方法名,那么 IMP 就是方法的实现。IMP 指针定义了一个方法的入口,指向了实现方法的代码块的内存地址。\ntypedef id (*IMP)(id, SEL, ...);\nobjc_method\n在 objc 中,方法实质上是一个 objc_method 指针。其中,method_name 相当于 objc_method 的 hash 值,runtime 通过 method_name 找到相应的方法入口(method_imp),从而执行方法的代码块。\nstruct objc_method {\n SEL method_name OBJC2_UNAVAILABLE;\n char *method_types OBJC2_UNAVAILABLE;\n IMP method_imp OBJC2_UNAVAILABLE;\n} OBJC2_UNAVAILABLE;\n调用一个方法时具体做了什么?\n在 Objective-C 中,方法的调用采用如下方式:\n[object methodWithArg:arg];\n在编译期间,以上代码会被转化为\nobjc_msgSend(object, methodWithArg, arg)\n可以把它看作是发送消息的过,其中 object 为消息的接收体,它可能是一个对象,也可能是一个类。若为对象,则是实例方法(- 方法);反之,则是类方法(+ 方法)。mehodWithArg、arg 是具体的消息内容。\nobject 接收到消息之后,若是实例方法,则会从其所属的类 Subclass(class) 的 methodLists 去寻找 methodWithArg: 方法。若未找着,则到其父类 Superclass(class) 的 methodLists 中寻找。以此类推,直到根类 NSObject,若仍未找着,就 crash。\n同理,若是类方法,则从对象所属类的 meta class 开始寻找。\n3. 在 Objective-C 2.0 中的变化\n前面提到过在 objc2.0 中,objc_class 只剩下一个 isa 指针。由于 Xcode 对 API 进行了一定的封装,类的信息并未全部对开发者开放。我们不妨通过阅读 Objective-C 2.0 的源码去分析,可以通过 官网浏览,或者从 github 上下载源码。\n从 objc-runtime-new.h 中可以看到 objc_class 的定义(只截取关键代码,下文同)\nstruct objc_object {\n isa_t isa;\n};\nstruct objc_class : objc_object {\n // Class ISA;\n Class superclass;\n cache_t cache; // formerly cache pointer and vtable\n class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n\n class_rw_t *data() { \n return bits.data();\n }\n};\n其中,superclass 指向父类,cache 缓存指针、方法入口等,用于提高效率。bits 用于存储类名、类版本号、方法列表、协议列表等信息,替代了 Objective-C1.0 中 methodLists、protocols 等成员变量。\nclass_data_bits_t 结构体\nclass_data_bits_t 结构体中只有一个 64 位的指针 bits,它相当于 class_rw_t 指针加上 rr/alloc 等标志位。其中 class_rw_t 指针存在于 4~47 位(从 1 开始计)。\n\n#define FAST_IS_SWIFT (1ULis_swift 标记位标示是否为 swift 的类。通过进行位运算可以得到一个 class_rw_t 类型指针。\nclass_rw_t 结构体的定义如下\nstruct class_rw_t {\n uint32_t flags;\n uint32_t version;\n\n const class_ro_t *ro;\n\n method_array_t methods;\n property_array_t properties;\n protocol_array_t protocols;\n\n Class firstSubclass;\n};\n其中 methods 存储方法列表、properties 存储属性列表、protocols 存储协议列表。注意到这里有一个 class_ro_t 类型指针,我们会在下文详细介绍。\ndyld 加载镜像\ndyld 是 objc 的动态链接库,在程序运行时,会将镜像加载进内存。\n\n镜像\n工程的编译产物,包括一些动态链接库、Foundation 等等,是一些二进制文件。\n\n在程序初始化方法_objc_init 中注册了两个回调\n dyld_register_image_state_change_handler(dyld_image_state_bound,1/*batch*/, &map_2_images);\n dyld_register_image_state_change_handler(dyld_image_state_dependents_initialized, 0/*not batch*/, &load_images);\n其中, map2_images 方法的注释为:Process the given images which are being mapped in by dyld,即处理由 dyld 映射的给定镜像。它的调用如下:\n_map_2_images → map_images_nolock → _read_images → realizeAllClasses\nrealizeAllClasses 会完成对镜像中所有类的加载和预处理,它最终会调用 realizeClass 来处理每一个类,而 realizeClass 又通过调用 methodizeClass 来对类结构体的 methods 列表赋值。\n可以通过添加符号断点,来直观的查看这几个方法的调用关系,如图 3.2。\n\n+load 方法\n+load 方法会在 main 方法之前被调用,所有使用到的类的 load 方法都会被调用。先调用父类的 + load 方法,再调用子类的 + load 方法;先调用主类的 + load 方法,再调用分类的 + load 方法。\n\n图 3.3 是 + load 方法的调用栈。load_images 方法是每个镜像加载完毕的回调。\nconst char *\nload_images(enum dyld_image_states state, uint32_t infoCount,\n const struct dyld_image_info infoList[])\n{\n bool found;\n\n // Return without taking locks if there are no +load methods here.\n found = false;\n for (uint32_t i = 0; i load_Images 会判断镜像是否实现了 + load 方法,并且调用 load_images_nolock 方法找到所有 + load 方法,之后通过 call_load_methods 调用所有的 + load 方法。\nclass_ro_t\nclass_ro_t 与 class_rw_t 的最大区别在于一个是只读的,一个是可读写的,实质上 ro 就是 readonly 的简写,rw 是 readwrite 的简写。\nstruct class_ro_t {\n const char * name;\n method_list_t * baseMethodList;\n protocol_list_t * baseProtocols;\n const ivar_list_t * ivars;\n};\n在编译之后,class_ro_t 的 baseMethodList 就已经确定。当镜像加载的时候,methodizeClass 方法会将 baseMethodList 添加到 class_rw_t 的 methods 列表中,之后会遍历 category_list,并将 category 的方法也添加到 methods 列表中。\n这里的 category 指的是分类,基于此,category 能扩充一个类的方法。这是开发时经常需要使用到。\nclass_ro_t 在内存中是不可变的。在运行期间,动态给类添加方法,实质上是更新 class_rw_t 的 methods 列表。\nbaseProtocols 与 baseMethodList 类似。\nobjc_object、objc_class、class_rw_t、class_ro_t 的关系如图 3.4。\n\n类的理解与方法的调用\n\n对象方法:前面提过,调用对象方法,相当于给对象发送消息, 例如 [obj methodWithArg: arg] 。 当 obj_object 接收到消息后,通过其 isa 指针找到对应的 objc_class,objc_class 又通过其 data() 方法,查询 class_rw_t 的 methods 列表。若有,则返回;否则,到其父类寻找。以此类推,直到根类,若在根类中仍没有该方法,则 crash。\n\n类方法: 在 objc 中,类本身也是一个对象。objc_class 继承自 objc_object,有一个 isa 指针,指向其所属的类,即 meta class。可以这样理解,类是 meta class 的对象。所以,当调用类方法是,例如 [classObj methodWithArg: arg],classObj 也会通过其 isa 指针到其所属的类(meta class)中寻找。这也就是为什么说,图 1.1 里 class 存储对象方法,meta class 存储类方法。\n\nmeta class 的 isa 指针:meta class 本身也是一个对象,它的 isa 指针指向的也是其所属的类。子 meta class 的 isa 指针指向 NSObjct 的 meta class。 NSObjct 的 meta class 的 isa 指针指向自身。当然,由于苹果进行了封装,在开发中基本不可能直接去使用 meta class。\n\n\n对象的成员变量寻址\n前面提过,在 objc_object 中只有一个 isa 指针。实际上当我们调用 +alloc 方法来初始化一个对象时,也仅仅在内存中生成了一个 objc_object 结构体,并根据其 instanceSize 来分配空间,将其 isa 指针指向所属的类。\n类的成员变量 ivar_t 存储在 class_ro_t 中的 ivar_list_t * ivars 中,ivar_t 的定义如下:\nstruct ivar_t {\n int32_t *offset;\n const char *name;\n const char *type;\n uint32_t size;\n}\n\n其中 offset 是成员变量相对于对象内存地址的偏移量,正是通过它来完成变量寻址。\n当我们使用对象的成员变量时,如 myObject.var ,编译器会将其转化为 object_getInstanceVariable(myObject, 'var', **value) 找到其 ivar_t 结构体 ivar,然后调用 object_getIvar(myObject, ivar) 来获取成员变量的内存地址。其计算公式如下:\nid *location = (id *)((char *)obj + ivar_offset);\n\n基于此,虽然多个对象的 isa 指针指向同一个 objc_class,但由于对象的内存地址不一样,所以它们的实例变量存储位置也不一样,从而实现对象与类之间的多对一关系。\n"},"Article/OC 消息机制和 super 关键字.html":{"url":"Article/OC 消息机制和 super 关键字.html","title":"OC 消息机制和 super 关键字","keywords":"","body":"\n 原文地址 https://juejin.im/post/5c87a218f265da2dd868cfcd\n\n原文链接 OC 消息机制和 super 关键字\n消息发送\n在 Objective-C 里面调用一个方法[object method],运行时会将它翻译成objc_msgSend(id self, SEL op, ...)的形式。\nobjc_msgSend\nobjc_msgSend的实现在objc-msg-arm.s、objc-msg-arm64.s等文件中,是通过汇编实现的。这里主要看在arm64即objc-msg-arm64.s的实现。由于汇编不熟,里面的实现只能连看带猜。\n ENTRY _objc_msgSend\n UNWIND _objc_msgSend, NoFrame\n MESSENGER_START\n\n cmp x0, #0 // nil check and tagged pointer check\n b.le LNilOrTagged // (MSB tagged pointer looks negative)\n ldr x13, [x0] // x13 = isa\n and x16, x13, #ISA_MASK // x16 = class \nLGetIsaDone:\n CacheLookup NORMAL // calls imp or objc_msgSend_uncached\n\nLNilOrTagged:\n /* nil check,如果为空就是调用LReturnZero,LReturnZero里调用MESSENGER_END_NIL*/\n b.eq LReturnZero // nil check\n\n // tagged\n mov x10, #0xf000000000000000\n cmp x0, x10\n b.hs LExtTag\n adrp x10, _objc_debug_taggedpointer_classes@PAGE\n add x10, x10, _objc_debug_taggedpointer_classes@PAGEOFF\n ubfx x11, x0, #60, #4\n ldr x16, [x10, x11, LSL #3]\n b LGetIsaDone\n\nLExtTag:\n // ext tagged\n adrp x10, _objc_debug_taggedpointer_ext_classes@PAGE\n add x10, x10, _objc_debug_taggedpointer_ext_classes@PAGEOFF\n ubfx x11, x0, #52, #8\n ldr x16, [x10, x11, LSL #3]\n b LGetIsaDone\n\nLReturnZero:\n // x0 is already zero\n mov x1, #0\n movi d0, #0\n movi d1, #0\n movi d2, #0\n movi d3, #0\n MESSENGER_END_NIL\n ret\n\n END_ENTRY _objc_msgSend\n复制代码\n上面的流程可能是这样的:\n \n从CacheLookup的注释有两处:\n\ncalls imp or objc_msgSend_uncached\nLocate the implementation for a selector in a class method cache.\n\n即使看不懂汇编代码,但是从上面的注释我们可以猜测,消息机制会先从缓存中去查找。\n__objc_msgSend_uncached\n通过方法名我们可以知道,没有缓存的时候应该会执行__objc_msgSend_uncached。\n STATIC_ENTRY __objc_msgSend_uncached\n UNWIND __objc_msgSend_uncached, FrameWithNoSaves\n\n // THIS IS NOT A CALLABLE C FUNCTION\n // Out-of-band x16 is the class to search\n\n MethodTableLookup\n br x17\n\n END_ENTRY __objc_msgSend_uncached\n复制代码\n这里的MethodTableLookup里涉及到objc-runtime-new.mm文件中的_class_lookupMethodAndLoadCache3。该函数会调用lookUpImpOrForward函数。\nlookUpImpOrForward\nlookUpImpOrForward会返回一个imp,它的函数实现比较长,但是注释写的非常清楚。它的实现主要由以下几步(这里直接从缓存获取开始):\n\n通过cache_getImp从缓存中获取方法,有则返回,否则进入第 2 步;\n通过getMethodNoSuper_nolock从类的方法列表中获取,有加入缓存中并返回,否则进入第 3 步;\n通过父类的缓存和父类的方法列表中寻找是否有对应的 imp,此时会进入一个for循环,沿着类的父类一直往上找,直接找到 NSObject 为止。如果找到返回,否则进入第 4 步;\n进入方法决议(method resolve)的过程即调用_class_resolveMethod,如果失败,进入第 5 步;\n在缓存、当前类、父类以及方法决议都没有找到的情况下,Objective-C 还为我们提供了最后一次翻身的机会,调用_objc_msgForward_impcache进行方法转发,如果找到便加入缓存;如果没有就 crash。\n\n上述过程中有几个比较重要的函数:\n_class_resolveMethod\nvoid _class_resolveMethod(Class cls, SEL sel, id inst) {\n if (! cls->isMetaClass()) {\n // try [cls resolveInstanceMethod:sel]\n _class_resolveInstanceMethod(cls, sel, inst);\n } \n else {\n // try [nonMetaClass resolveClassMethod:sel]\n // and [cls resolveInstanceMethod:sel]\n _class_resolveClassMethod(cls, sel, inst);\n if (!lookUpImpOrNil(cls, sel, inst, \n NO/*initialize*/, YES/*cache*/, NO/*resolver*/)) \n {\n _class_resolveInstanceMethod(cls, sel, inst);\n }\n }\n}\n复制代码\n上述函数会根据当前传入的类的是不是一个元类,在_class_resolveInstanceMethod和_class_resolveClassMethod中选择一个进行调用。注释也说明了这两个方法的作用就是判断当前类是否实现了 resolveInstanceMethod:或者resolveClassMethod:方法,然后用objc_msgSend执行上述方法。\n_class_resolveClassMethod\n_class_resolveClassMethod和_class_resolveInstanceMethod实现类似,这里就只看_class_resolveClassMethod的实现。\nstatic void _class_resolveClassMethod(Class cls, SEL sel, id inst) {\n assert(cls->isMetaClass());\n\n if (! lookUpImpOrNil(cls, SEL_resolveClassMethod, inst, \n NO/*initialize*/, YES/*cache*/, NO/*resolver*/)) {\n //没有找到resolveClassMethod方法,直接返回。\n return;\n }\n\n BOOL (*msg)(Class, SEL, SEL) = (typeof(msg))objc_msgSend;\n bool resolved = msg(_class_getNonMetaClass(cls, inst), \n SEL_resolveClassMethod, sel);\n\n // 缓存结果\n IMP imp = lookUpImpOrNil(cls, sel, inst, \n NO/*initialize*/, YES/*cache*/, NO/*resolver*/);\n // 以下代码省略不影响阅读 \n}\n复制代码\n_objc_msgForward_impcache\n STATIC_ENTRY __objc_msgForward_impcache\n\n MESSENGER_START\n nop\n MESSENGER_END_SLOW\n\n // No stret specialization.\n b __objc_msgForward\n\n END_ENTRY __objc_msgForward_impcache\n\n ENTRY __objc_msgForward\n\n adrp x17, __objc_forward_handler@PAGE\n ldr x17, [x17, __objc_forward_handler@PAGEOFF]\n br x17\n\n END_ENTRY __objc_msgForward\n复制代码\n_objc_msgForward_impcache用来进行消息转发,但是其真正的核心是调用_objc_msgForward。\n消息转发\n关于_objc_msgForward在objc中并没有其相关实现,只能看到_objc_forward_handler。其实_objc_msgForward的实现是在CFRuntime.c中的,但是开源出来的CFRuntime.c并没有相关实现,但是也不影响我们对真理的追求。\n我们做几个实验来验证消息转发。\n消息重定向测试\n// .h文件\n@interface AObject : NSObject\n\n- (void)sendMessage;\n\n@end\n// .m文件\n@implementation AObject\n\n/** 验证消息重定向 */\n- (id)forwardingTargetForSelector:(SEL)aSelector {\n if (aSelector == @selector(sendMessage)) {\n return [BObject new];\n }\n\n return [super forwardingTargetForSelector:aSelector];\n}\n\n@end\n\n// .h文件\n@interface BObject : NSObject\n\n- (void)sendMessage;\n\n@end\n\n// .m文件\n@implementation BObject\n\n- (void)sendMessage {\n NSLog(@\"%@ send message\", self.class);\n}\n\n@end\n\n// 调用\nAObject *a = [AObject new];\n[a sendMessage];\n复制代码\n运行结果:\n2019-03-12 10:18:54.252949+0800 iOSCodeLearning[18165:5967575] BObject send message\n复制代码\n在forwardingTargetForSelector:处打个断点,查看一下调用栈:\n\n_CF_forwarding_prep_0和___forwarding___这两个方法会先被调用了,之后调用了forwardingTargetForSelector:。\n方法签名测试\n// .h文件\n@interface AObject : NSObject\n\n- (void)sendMessage;\n\n@end\n// .m文件\n@implementation AObject\n\n/** 消息重定向 */\n- (id)forwardingTargetForSelector:(SEL)aSelector {\n return nil;\n}\n\n/** 方法签名测试 */\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {\n if (aSelector == @selector(sendMessage)) {\n return [BObject instanceMethodSignatureForSelector:@selector(sendMessage)];\n }\n\n return [super methodSignatureForSelector:aSelector];\n}\n\n- (void)forwardInvocation:(NSInvocation *)anInvocation {\n SEL selector = [anInvocation selector];\n if (selector == @selector(sendMessage)) {\n [anInvocation invokeWithTarget:[BObject new]];\n } else {\n [super forwardInvocation:anInvocation];\n }\n}\n\n@end\n\n// .h文件\n@interface BObject : NSObject\n\n- (void)sendMessage;\n\n@end\n\n// .m文件\n@implementation BObject\n\n- (void)sendMessage {\n NSLog(@\"%@ send message\", self.class);\n}\n\n@end\n\n// 调用\nAObject *a = [AObject new];\n[a sendMessage];\n复制代码\n\n代码执行结果和消息重定向测试的运行结果一致。_CF_forwarding_prep_0和___forwarding___这两个方法又再次被调用了,之后代码会先执行forwardingTargetForSelector:(消息重定向),消息重定向如果失败后调用methodSignatureForSelector:和forwardInvocation:方法签名。所以说___forwarding___方法才是消息转发的真正实现。\ncrash 测试\n// .h文件\n@interface AObject : NSObject\n\n- (void)sendMessage;\n\n@end\n// .m文件\n@implementation AObject\n\n- (id)forwardingTargetForSelector:(SEL)aSelector {\n return nil;\n}\n\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {\n return [super methodSignatureForSelector:aSelector];\n}\n\n- (void)forwardInvocation:(NSInvocation *)anInvocation {\n}\n\n/** 验证Crash */\n- (void)doesNotRecognizeSelector:(SEL)aSelector {\n if (aSelector == @selector(sendMessage)) {\n NSLog(@\"%@ doesNotRecognizeSelector\", self.class);\n }\n}\n\n@end\n\n// .h文件\n@interface BObject : NSObject\n\n- (void)sendMessage;\n\n@end\n\n// .m文件\n@implementation BObject\n\n- (void)sendMessage {\n NSLog(@\"%@ send message\", self.class);\n}\n\n@end\n\n// 调用\nAObject *a = [AObject new];\n[a sendMessage];\n复制代码\n代码运行结果肯定是 crash,结合上面的代码我们知道消息转发会调用___forwarding___这个内部方法。___forwarding___方法调用顺序是forwardingTargetForSelector:->methodSignatureForSelector:->doesNotRecognizeSelector:\n我们用一张图表示整个消息发送的过程:\n\nsuper 关键字\n我们先查看一下执行[super init]的时候,调用了那些方法\n\nobjc_msgSendSuper2的声明在objc-abi.h中\n// objc_msgSendSuper2() takes the current search class, not its superclass.\nOBJC_EXPORT id _Nullable\nobjc_msgSendSuper2(struct objc_super * _Nonnull super, SEL _Nonnull op, ...)\n OBJC_AVAILABLE(10.6, 2.0, 9.0, 1.0, 2.0);\n复制代码\nobjc_super的定义如下:\nstruct objc_super {\n /// Specifies an instance of a class.\n __unsafe_unretained _Nonnull id receiver;\n\n /// Specifies the particular superclass of the instance to message. \n#if !defined(__cplusplus) && !__OBJC2__\n /* For compatibility with old objc-runtime.h header */\n __unsafe_unretained _Nonnull Class class;\n#else\n __unsafe_unretained _Nonnull Class super_class;\n#endif\n /* super_class is the first class to search */\n};\n复制代码\n从上面的定义我们可以知道receiver即消息的实际接收者, super_class为指向当前类的父类。\n所以该函数实际的操作是:从objc_super结构体指向的super_class开始查找,直到会找到 NSObject 的方法为止。找到后以receiver去调用。当然整个查找的过程还是和消息发送的流程一样。\n所以我们能理解为什么下面这段代码执行的结果都是AObject了吧。虽然使用[super class],但是真正执行方法的对象还是AObject。\n// 代码\n@implementation AObject\n\n- (instancetype)init {\n if (self = [super init]) {\n NSLog(@\"%@\", [super class]);\n NSLog(@\"%@\", [self class]);\n }\n\n return self;\n}\n\n@end\n\n// 执行结果\n2019-03-12 19:44:46.003313+0800 iOSCodeLearning[34431:7234182] AObject\n2019-03-12 19:44:46.003442+0800 iOSCodeLearning[34431:7234182] AObject\n复制代码\n"},"Article/UIViewController 预加载方案浅谈.html":{"url":"Article/UIViewController 预加载方案浅谈.html","title":"UIViewController 预加载方案浅谈","keywords":"","body":"转自: 知识小集推荐\nUIViewController 预加载方案浅谈\n一. 引子\n预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后一页的分页数据,在用户继续翻页时,能极大提升响应速度;在微信公众号列表,不仅预加载了多个分页数据,还加载了某个公众文章的文字部分,所以当列表加载完毕之后,你走到了没有网络的电梯里,依然可以点击某个文字,阅读文字部分,图片是空白。\n在 iOS 常规的优化方案中,预加载也是极常见的手段,多见于:预加载图片、配置文件、离线包等业务资源。查阅后知, ASDK 有一套很智能的预加载策略;\n\n在滚动方向(Leading)上 Fetch Data 区域会是非滚动方向(Trailing)的两倍,ASDK 会根据滚动方向的变化实时改变缓冲区的位置;在向下滚动时,下面的 Fetch Data 区域就是上面的两倍,向上滚动时,上面的 Fetch Data 区域就是下面的两倍。\n\n系统层面,iOS 10 里UIKit 还为开发者新增了UITableViewDataSourcePrefetching\n@protocol UITableViewDataSourcePrefetching \n@required\n\n// indexPaths are ordered ascending by geometric distance from the table view\n- (void)tableView:(UITableView *)tableView prefetchRowsAtIndexPaths:(NSArray *)indexPaths;\n\n@optional\n\n// indexPaths that previously were considered as candidates for pre-fetching, but were not actually used; may be a subset of the previous call to -tableView:prefetchRowsAtIndexPaths:\n- (void)tableView:(UITableView *)tableView cancelPrefetchingForRowsAtIndexPaths:(NSArray *)indexPaths;\n\n@end\n\n等新的协议来提供UITableView\\UICollectionView 预加载 data 的能力。\n但是对于整个 App 的核心组件 UIViewController 却少见预加载的策略。极少数场景是这样的:整个界面包含多个 UIViewController 的层级,除了显示第一个 UIViewController 外 ,预加载其他的 UIViewController 。\n二. UIViewController 到底能不能预加载?\n在和同事解决严选 App 内“领取津贴”弹窗慢的问题时,我思考了这个问题,所以查阅了 Developer Documentation, 大概有以下的收获;\n\n在同一个 navigation stack里不能 push 相同的一个UIViewController ,否则会崩溃;而来自不同 navigation stack 的 UIViewController 是可以被压入 stack 的,这也是预加载的关键。\n当某个 UIViewController 执行了 viewDidLoad()之后,整个 UIViewController 对象已经在内存内。如果我们要使用 VC 时,可以直接从内存里获取,将会获得速度提升\nUIViewController 作为 UIWindow 和 vc.view中间层,负责事件分发、响应链, UIViewController 子元素容器,子元素根据 UIViewController 的尺寸 layout\nUIViewController.view 是个懒加载属性,由 loadView() 初始化,在 viewDidLoad 事件开始时,就已经完成\nUIViewController 在被添加到 navigation stack后是否会被渲染,取决于所在的 window 是不是 hidden = NO,和在不在屏幕上没有关系\n\n答案:可以被预加载,除了本文尝试的多个navigation stack的方式外, apple 自己在早期推广 storyboard 和 xib 文件模式开发 iOS 应用时,也抱有相同的意图\n三. UIViewController 渲染的流程?\n因为 UIKit 没有开源,我从 Apple Documents 和 Chameleon project 的重写源码里试图还原真实的 UIViewController 在 UIKit 中的渲染逻辑。以下是我根据自己的理解画的 UIViewController 被添加到 UIWindow 的渲染流程,肯定有错误和遗漏,仅供理解本文使用。\n图例参考 Safari,序号后面的图形,表示本阶段 ViewController 的 view 层级,认清这些事件,可以知道哪个阶段做哪些操作是合适的?\n\n注意:以上为 iOS 12 里的情况,在 iOS 13 里,第 5 序号的 View 比目前 iOS 12 要多两个 View,UIDropShadowView,UITransitionView。\n四. ViewControllerPreRender\n在整理出上面的流程结论后,编写了ViewControllerPreRender,虽然不到 100 行,前后却花了一周,主要是为了解决下面这个 XCode 警告。\n\"Unbalanced calls to begin/end appearance transitions for \"\n幸好通过多次尝试,最终解决掉。\n代码很短,全文摘录,以下以注释的方式详细解读。\n//.h 文件\n@interface ViewControllerPreRender : NSObject\n\n+ (instancetype)defaultRender;\n\n- (void)showRenderedViewController:(Class)viewControllerClass completion:(void (^)(UIViewController *vc))block;\n@end\n//.m 文件\n#import \"ViewControllerPreRender.h\"\n\n@interface ViewControllerPreRender ()\n\n@property (nonatomic, strong) UIWindow *windowNO2;\n/**\n 已经被渲染过后的 ViewController,池子,在必要时候 purge 掉\n */\n@property (nonatomic, strong) NSMutableDictionary *renderedViewControllers;\n@end\n\nstatic ViewControllerPreRender *_myRender = nil;\n@implementation ViewControllerPreRender\n\n+ (instancetype)defaultRender{\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n _myRender = [ViewControllerPreRender new];\n _myRender.renderedViewControllers = [NSMutableDictionary dictionaryWithCapacity:3];\n // 增加一个监听,当内存紧张时,丢弃这些预加载的对象不会造成功能错误,\n // 这样也要求 UIViewController 的 dealloc 都能正确处理资源释放\n [[NSNotificationCenter defaultCenter] addObserver:_myRender\n selector:@selector(dealMemoryWarnings:)\n name:UIApplicationDidReceiveMemoryWarningNotification\n object:nil];\n });\n return _myRender;\n}\n\n/**\n 内部方法,用来产生可用的 ViewController,如果第一次使用。\n 直接返回全新创建的对象,同时也预热一个相同类的对象,供下次使用。\n 支持预热多个 ViewController,但是不易过多,容易引起内存紧张\n\n @param viewControllerClass UIViewController 子类\n @return UIViewControllerd 实例\n */\n- (UIViewController *)getRendered:(Class)viewControllerClass{\n if (_windowNO2 == nil) {\n CGRect full = [UIScreen mainScreen].bounds;\n // 对于 no2 的尺寸多少为合适。我自己做了下实验\n // 这里设置的尺寸会影响被缓存的 VC 实例的尺寸。但在预热好的 VC 被添加到当前工作的 navigation stack 时,它的 View 的尺寸是正确的和 no2 的尺寸无关。\n // 同样的,在被添加到 navigation stack 时,会触发 viewLayoutMarginsDidChange 事件。\n // 而且对于内存而言,尺寸越小内存占用越少,理论上 (1,1,1,1) 的 no2 有能达到预热 VC 的效果。\n // 但是有些 view 不是被 presented 或者 pushed,而是作为子 ViewController 的子 view 来渲染界面的。这需要 view 有正确的尺寸。\n // 所以这里预先设置将来真正展示时的尺寸,减少 resize、和作为子 ViewController 使用时出错,在本 demo 中,默认大部分的尺寸是全屏。\n UIWindow *no2 = [[UIWindow alloc] initWithFrame:CGRectOffset(full, CGRectGetWidth(full), 0)];\n UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[UIViewController new]];\n no2.rootViewController = nav;\n no2.hidden = NO;// 必须是显示的 window,才会触发预热 ViewController,隐藏的 window 不可用。但是和是否在屏幕可见没关系\n no2.windowLevel = UIWindowLevelStatusBar + 14;\n\n _windowNO2= no2;\n }\n\n NSString *key = NSStringFromClass(viewControllerClass);\n UIViewController *vc = [self.renderedViewControllers objectForKey:key];\n if (vc == nil) { // 下次使用缓存\n vc = [viewControllerClass new];\n // 解决 Unbalanced calls to begin/end appearance transitions for 关键点\n // 1. 使用 UINavigationController 作为 no2 的 rootViewController\n // 2. 如果使用 UIViewController 作为 no2 的 rootViewController,始终有 Unbalanced calls 的错误\n // 虽然是编译器警告,实际上 Unbalanced calls 会影响被缓存的 vc, 当它被添加到当前活动的 UINavigation stack 时,它的生命周期是错误的\n // 所以这个警告必须解决。\n UINavigationController *nav = (UINavigationController *)_windowNO2.rootViewController;\n [nav pushViewController:vc animated:NO];\n [self.renderedViewControllers setObject:vc forKey:key];\n //\n return [viewControllerClass new];\n } else { // 本次使用缓存,同时储备下次\n // 必须是先设置 no2 的新 rootViewController,之后再复用从缓存中拿到的 viewControllerClass。否则会奔溃\n UINavigationController *nav = (UINavigationController *)_windowNO2.rootViewController;\n [nav popViewControllerAnimated:NO];\n UIViewController *fresh = [viewControllerClass new];\n\n [nav pushViewController:fresh animated:NO];\n // 在 setObject to renderedViewControllers 字典时,保证被渲染过\n [self.renderedViewControllers setObject:fresh forKey:key];\n\n return vc;\n }\n}\n\n/**\n 主方法。传入一个 UIViewController 的 class 对象,在调用的 block 中同步的返回一个预先被渲染的 ViewController\n\n @param viewControllerClass 必须是 UIViewController 的 Class 对象\n @param block 业务逻辑回调\n */\n- (void)showRenderedViewController:(Class)viewControllerClass completion:(void (^)(UIViewController *vc))block{\n // CATransaction 为了避免一个 push 动画和另外一个 push 动画同时进行的问题。\n [CATransaction begin];\n UIViewController *vc1 = [self getRendered:viewControllerClass];\n\n // 这里包含一个陷阱—— 必须先渲染将要被 cached 的 ViewController,然后再执行真实的 block\n // 理想情况,应该是先执行 block,然后执行 cache ViewController,因为 block 更重要些。暂时没想到方法\n [CATransaction setCompletionBlock:^{\n block(vc1);\n }];\n [CATransaction commit];\n}\n\n- (void)dealMemoryWarnings:(id)notif\n{\n NSLog(@\"release memory pressure\");\n [self.renderedViewControllers removeAllObjects];\n}\n@end\n\n五. 性能提升如何?\n以 native 体验中通常体验最差的 webview 为例, 目标是严选商城的 h5 ,http://m.you.163.com,分别以传统的,每次都新创建 ViewController的方式;第二次之后使用预热的 ViewController加载严选首页两种方式测试,保持 ViewController内部逻辑相同,详见 demo 工程里注释。\n测试方案:模拟器,每种方式测试时都重启,各测试了 20 次左右,统计表格如下,navigationStart 作为网络加载时间的开始标志,以 document.onload 作为页面加载完毕的标志;\n> 1. 传统方式\n点击到网络加载时间(ms) | 点击到页面加载完毕时间(ms)\n---|---\n409.042969 | 2237.258057\n382.000244 | 2294.206055\n421.780762 | 2377.906250\n435.476318 | 2358.933350\n443.190186 | 2261.447998\n379.502930 | 2243.837158\n386.897949 | 2322.465088\n508.499023 | 2385.695068\n490.614014 | 2639.933105\n407.436035 | 2384.422852\n478.447998 | 2305.270264\n426.408691 | 2340.742920\n598.571777 | 2465.007812\n453.924072 | 2424.213135\n441.053955 | 2371.049805\n399.669922 | 2218.141113\n779.028809 | 2659.640625\n68.835938 | 1934.873047\n515.513916 | 2552.829834\n439.666016 | 2268.033936\n440.330811 | 2357.508789\nAvg of 21: |\n443.14 | 2352.54\n> 2. 使用预加载方式\n\n\n\n点击到网络加载时间(ms)\n点击到页面加载完毕时间(ms)\n\n\n\n\n63.797852\n2538.381836\n\n\n63.152832\n2333.105957\n\n\n64.150146\n2302.843750\n\n\n59.484863\n2155.601074\n\n\n57.637207\n2382.412842\n\n\n55.749756\n2050.655762\n\n\n51.270020\n1895.146729\n\n\n54.883789\n1793.544922\n\n\n53.313965\n1897.723877\n\n\n78.262207\n1777.684814\n\n\n48.425049\n1828.953857\n\n\n50.403320\n2075.978027\n\n\n48.640625\n2168.324951\n\n\n58.913818\n1946.458984\n\n\n40.200928\n1850.614990\n\n\n54.635010\n2198.915039\n\n\n51.363770\n1956.969971\n\n\nAvg of 17:\n\n\n\n56.13\n2067.84\n\n\n\n从测试数据可见,使用预加载的方式显著的提升了 navigationStart的性能,443 ms 减少到 56 ms,相应的 document.onload事件也提前,2357 到 2067。\n相比之下,预加载方式提前 400ms 发送网络请求(但是完成加载耗时只少 300ms,猜测是 CPU 资源调度问题)。以上数据只作为性能提升参考,对于加载 WebView 的 VC 而言,预初始化 WebView 以及其他元素,可以提高加载 h5 页面的速度。\n六,原因探析\n对 ViewControllerPrerender的逻辑分析解释为什么会有提速,在使用ViewControllerPreRender时,需要特别留意什么地方,以免掉入误区。\n根据 preRender 的原理,我大概画了图例来解释。\n\n上半部分,所有阶段是线性的;下半部分,可以做到并行,尤其是第三个 VC 的显示,将异步加载数据也放到并行逻辑了,这对有性能瓶颈的界面优化不失为一种方式\n总结:预加载利用了并行这一传统性能优化技术,同时对 ViewController 的生命周期也提出更高的要求,譬如:\n\n被预热的 ViewController,需要划分职责,在viewDidLoad里搭建框架,,而在另一个单独的接口如本 demo 里的setUrl用来使用业务数据渲染页面。\n被预加载的 ViewController 的viewDidLoad 不宜占用太多主线程资源,避免对当前界面打开产生负面影响。\n\n七,preRender 适宜的场景\n在 App 性能问题中, native 自己的 ViewController性能表现并不是瓶颈,所以目前业界对 UIViewController 的预加载并没有太多可参考的案例,不过对于某些场景优化还是有指导意义。在本文开始时提到的严选商品详情页里领取津贴是弹窗,常规情况下弹出是比较慢的,经过讨论后,我们决定对津贴弹窗做两个优化\n\n在弹窗出现时使用缩放动画,h5 加载也使用 loading\n使用预加载弹窗的 ViewController。\n从测试数据来看,从点击到最后加载完毕,大概节省了 300 ms,还需要进一步考虑 h5 的页面优化。\n\n题外话,App 作为严选用户体验的重要载体,App 性能是极其重要一环。我们对弹窗的体验做了少许优化。\n在严选里弹窗有两种,一种是被动弹窗,比方说从后台数据返回中,得知有弹窗需要显示,native 根据全局弹窗排序,决定显示那个——当后台数据返回指定的 url 被加载完毕之后,才弹出遮罩,显示被加载好的 url;如果 url 加载失败,就不会弹出弹窗。\n而对于用户主动弹出的弹窗,如用户在详情页点击 cell,弹出领取津贴,我们分 native 加速(使用预加载)和 h5 加速两部分。\n另外比较适合 preRender 的地方如,\n\n我的订单界面,当用户某个订单有商家已发货未收货时,根据行为统计,用户大概率会打开第一条已发货的订单去查看当前物流(物流数据来自第三方,响应速度没有保证),所以在进入我的订单时,可以预先加载一个查看最新未完成订单的物流的 ViewController。\n用户在详情页面,点击了我好评率,那么大概率,用户还会打开用户晒单的视频和图片。这时候可以预加载一个视频播放器和图片浏览器,提供用户的响应速度等。\n\n\n对于大部分功能也能而言, prefetch 并不是必选项,还需要根据自身的业务来决定使用可以 prefetch 的思想解决 App 体验的瓶颈问题,不要随意使用 ViewControllerPrefetch,增加额外复杂度。\n八,xib 和 storyboard 带来的启示\n当我接触 iOS 开发时,已经到了 iOS 推销 storyboard 开发方式失败的时候,大部分可需要持续迭代的 App,其实不适合用 xib 和 storyboard 来开发,它的可视化带来的好处相比项目协作迭代里遇到的 diff 困难、复用困难、启动慢等坏处,不值一提。\n时至今日,当我思考预加载方式在 viewDidiLoad 里还要多少操作空间时,我发现 xib 和 storyboard 在被苹果推广时没有被提到它预加载的优点,一直没有引起重视。\n相同的 ViewController 使用的 xib 和 storyboard 文件被 init 为 实例之后,后续相同的ViewController 都会来 copy 被初始化好的 storyboard 来构建界面。开发人员创建完 xib 和 storyboard,需要持久化为文件,使用 initWithCoder:方法实现序列化,打开 xib 和 storyboard 时,先从文件反序列化解析得到 xml 文件,然后用 xml 文件绘制 interface builder。它的底层机制决定了它在开发启动、App 启动时会有性能损耗,不过也为我们做了一个例子—— 如何预加载 View 片段乃至 ViewController 本身。以 storyboard 为例,你可以在 storyboard 里做以下操作;\n\n绘制 ViewController 的 view 层次,特别的,会首先限制 storyboard 里绘制的静态数据\n添加 view 之间的约束\n转场(segue)和按钮动作跳转\n\n而最终的用户界面需要等待网络返回真实数据后重新渲染,在此期间,显示静态的等待界面。所以在需要被缓存的 UIViewController需要可以安全的编写 UI、事件和转场等逻辑,将动态部分(网络请求)的发起逻辑写在转场结束之后。\n十,补记\n\n[Unbalanced calls to begin/end appearance transitions for ,这个警告必须解决,否则会导致被缓存的 ViewController 被添加到活动 stack 时,生命周期紊乱导致一些依赖生命周期执行的逻辑失效,如电商行业里很看重的曝光统计数据不正确\nDemo 工程里已经有 calc.rb 可以直接将从 console 里拿到的数据实现为报表,方便你测试自己的页面性能加载提升对比。\n\n参考\n[1] 预加载与智能预加载(iOS)\n[2] iOS性能优化系列篇之“列表流畅度优化”\n[3] UIWindow 源码 of Chameleons\n[4]https://developer.apple.com/documentation/uikit/uiviewcontroller?language=objc\n[5] Sharing the Same UIViewController as the rootViewController with Two UINavigationControllers\n[6] Storyboards vs. the old XIB way\n[7] Unbalanced calls to begin/end appearance transitions for \n[8] ViewControllerPreRender\n"},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"url":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","title":"有赞移动 iOS 组件化(模块化)架构设计实践","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5d4136295188255d5861d0e4\n\n一、背景\n业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自 16 年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出 iOS 相关框架 Bifrost (雷神里的彩虹桥)。在过程中我们深刻体会到 “没有绝对正确的架构,只有最合适的架构” 这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,提供一种思路,对遇到类似问题的同学能有所启发。\n注:\n\n区别于功能模块 / 组件(比如图片库,网络库),本文讨论的是业务模块 / 组件(比如订单模块,商品模块)相关的架构设计。\n相比组件(Component),个人感觉称之为模块(Module)更为合适。组件强调物理拆分,以便复用;模块强调逻辑拆分,以便解耦。而且如果用过 Android Studio, 会发现它创建的子系统都叫 Module. 但介于业界习惯称之为组件化,所以我们继续使用这个术语。本文下面所用名词,“模块” 等同于 “组件”。\n\n二、什么是业务模块化(组件化)\n传统的 App 架构设计更多强调的是分层,基于设计模式六大原则之一的单一职责原则,将系统划分为基础层,网络层,UI 层等等,以便于维护和扩展。但随着业务的发展,系统变得越来越复杂,只做分层就不够了。App 内各子系统之间耦合严重, 边界越来越模糊,经常发生你中有我我中有你的情况(图一)。这对代码质量,功能扩展,以及开发效率都会造成很大的影响。此时,一般会将各个子系统划分为相对独立的模块,通过中介者模式收敛交互代码,把模块间交互部分进行集中封装, 所有模块间调用均通过中介者来做(图二)。这时架构逻辑会清晰很多,但因为中介者仍然需要反向依赖业务模块,这并没有从根本上解除循坏依赖等问题。时不时发生一个模块进行改动,多个模块受影响编译不过的情况。进一步的,通过技术手段,消除中介者对业务模块依赖,即形成了业务模块化架构设计(图三)。\n\n通过业务模块化架构,一般可以达到明确模块职责及边界,提升代码质量,减少复杂依赖,优化编译速度,提升开发效率等效果。很多文章都有相关分析,在此不再累述。\n三、业界常见模块化方案\n业务模块化设计通过对各业务模块的解耦改造,避免循环双向依赖,达到提升开发效率和质量的目的。但业务需求的依赖是无法消除的,所以模块化方案首先要解决的是如何在无代码依赖的情况下实现跨模块通信的问题。iOS 因为其强大的运行时特性,无论是基于 NSInvocation 还是基于 peformSelector 方法, 都可以很很容易做到这一点。但不能为了解耦而解耦,提升质量与效率才是我们的目的。直接基于 hardcode 字符串 + 反射的代码明显会极大损害开发质量与效率,与目标背道而驰。所以,模块化解耦需求的更准确的描述应该是 “如何在保证开发质量和效率的前提下做到无代码依赖的跨模块通信”。目前业界常见的模块间通讯方案大致如下几种:\n\n基于路由 URL 的 UI 页面统跳管理。\n基于反射的远程接口调用封装。\n基于面向协议思想的服务注册方案。\n基于通知的广播方案。\n\n根据具体业务和需求的不同,大部分公司会采用以上一种或者某几种的组合。\n3.1 路由 URL 统跳方案\n统跳路由是页面解耦的最常见方式,大量应用于前端页面。通过把一个 URL 与一个页面绑定,需要时通过 URL 可以方便的打开相应页面。\n//通过路由URL跳转到商品列表页面\n//kRouteGoodsList = @\"//goods/goods_list\"\nUIViewController *vc = [Router handleURL:kRouteGoodsList]; \nif(vc) {\n [self.navigationController pushViewController:vc animated:YES];\n}\n复制代码\n当然有些场景会比这个复杂,比如有些页面需要更多参数。 基本类型的参数,URL 协议天然支持:\n//kRouteGoodsDetails = @“//goods/goods_detail?goods_id=%d”\nNSString *urlStr = [NSString stringWithFormat:@\"kRouteGoodsDetails\", 123];\nUIViewController *vc = [Router handleURL:urlStr];\nif(vc) {\n [self.navigationController pushViewController:vc animated:YES];\n}\n复制代码\n复杂类型的参数,可以提供一个额外的字典参数 complexParams, 将复杂参数放到字典中即可:\n+ (nullable id)handleURL:(nonnull NSString *)urlStr\n complexParams:(nullable NSDictionary*)complexParams\n completion:(nullable RouteCompletion)completion;\n复制代码\n上面方法里的 completion 参数,是一个回调 block, 处理打开某个页面需要有回调功能的场景。比如打开会员选择页面,搜索会员,搜到之后点击确定,回传会员数据:\n//kRouteMemberSearch = @“//member/member_search”\nUIViewController *vc = [Router handleURL:urlStr complexParams:nil completion:^(id _Nullable result) {\n //code to handle the result\n ...\n}];\nif(vc) {\n [self.navigationController pushViewController:vc animated:YES];\n}\n复制代码\n考虑到实现的灵活性,提供路由服务的页面,会将 URL 与一个 block 相绑定。block 中放入所需的初始化代码。可以在合适的地方将初始化 block 与路由 URL 绑定,比如在 +load 方法里:\n+ (void)load {\n [Router bindURL:kRouteGoodsList\n toHandler:^id _Nullable(NSDictionary * _Nullable parameters) {\n return [[GoodsListViewController alloc] init];\n }];\n}\n复制代码\n更多路由 URL 相关例子,可以参考 Bifrost 项目中的 Demo.\nURL 本身是一种跨多端的通用协议。使用路由 URL 统跳方案的优势是动态性及多端统一 (H5, iOS,Android,Weex/RN); 缺点是能处理的交互场景偏简单。所以一般更适用于简单 UI 页面跳转。一些复杂操作和数据传输,虽然也可以通过此方式实现,但都不是很效率。 目前天猫和蘑菇街都有使用路由 URL 作为自己的页面统跳方案,达到解耦的目的。\n3.2 基于反射的远程调用封装\n当无法 import 某个类的头文件但仍需调用其方法时,最常想到的就是基于反射来实现了。例:\nClass manager = NSClassFromString(@\"YZGoodsManager\");\nNSArray *list = [manager performSelector:@selector(getGoodsList)];\n//code to handle the list\n...\n复制代码\n但这种方式存在大量的 hardcode 字符串。无法触发代码自动补全,容易出现拼写错误,而且这类错误只能在运行时触发相关方法后才能发现。无论是开发效率还是开发质量都有较大的影响。\n如何进行优化呢?这其实是各端远程调用都需要解决的问题。移动端最常见的远程调用就是向后端接口发网络请求。针对这类问题,我们很容易想到创建一个网络层,将这类 “危险代码” 封装到里面。上层业务调用时网络层接口时,不需要 hardcode 字符串,也不需要理解内部麻烦的逻辑。\n类似的,我可以将模块间通讯也封装到一个 “网络层” 中(或者叫消息转发层)。这样危险代码只存在某几个文件里,可以特别地进行 code review 和联调测试。后期还可以通过单元测试来保障质量。模块化方案中,我们可以称这类 “转发层” 为 Mediator (当然你也可以起个别的名字)。同时因为 performSelector 方法附带参数数量有限,也没有返回值,所以更适合使用 NSInvocation 来实现。\n//Mediator提供基于NSInvocation的远程接口调用方法的统一封装\n- (id)performTarget:(NSString *)targetName\n action:(NSString *)actionName\n params:(NSDictionary *)params;\n\n//Goods模块所有对外提供的方法封装在一个Category中\n@interface Mediator(Goods)\n- (NSArray*)goods_getGoodsList;\n- (NSInteger)goods_getGoodsCount;\n...\n@end\n@impletation Mediator(Goods)\n- (NSArray*)goods_getGoodsList {\n return [self performTarget:@“GoodsModule” action:@\"getGoodsList\" params:nil];\n}\n- (NSInteger)goods_getGoodsCount {\n return [self performTarget:@“GoodsModule” action:@\"getGoodsCount\" params:nil];\n}\n...\n@end\n复制代码\n然后各个业务模块依赖 Mediator, 就可以直接调用这些方法了。\n//业务方依赖Mediator模块,可以直接调用相关方法\n...\nNSArray *list = [[Mediator sharedInstance] goods_getGoodsList];\n...\n复制代码\n这种方案的优势是调用简单方便,代码自动补全和编译时检查都仍然有效。 劣势是 category 存在重名覆盖的风险,需要通过开发规范以及一些检查机制来规避。同时 Mediator 只是收敛了 hardcode, 并未消除 hardcode, 仍然对开发效率有一定影响。\n业界的 CTMediator 开源库,以及美团都是采用类似方案。\n3.3 服务注册方案\n有没有办法绝对的避免 hardcode 呢?如果接触过后端的服务化改造,会发现和移动端的业务模块化很相似。Dubbo 就是服务化的经典框架之一。它是通过服务注册的方式来实现远程接口调用的。即每个模块提供自己对外服务的协议声明,然后将此声明注册到中间层。调用方能从中间层看到存在哪些服务接口,然后直接调用即可。例:\n//Goods模块提供的所有对外服务都放在GoodsModuleService中\n@protocol GoodsModuleService\n- (NSArray*)getGoodsList;\n- (NSInteger)getGoodsCount;\n...\n@end\n//Goods模块提供实现GoodsModuleService的对象, \n//并在+load方法中注册\n@interface GoodsModule : NSObject\n@end\n@implementation GoodsModule\n+ (void)load {\n //注册服务\n [ServiceManager registerService:@protocol(service_protocol) \n withModule:self.class]\n}\n//提供具体实现\n- (NSArray*)getGoodsList {...}\n- (NSInteger)getGoodsCount {...}\n@end\n\n//将GoodsModuleService放在某个公共模块中,对所有业务模块可见\n//业务模块可以直接调用相关接口\n...\nid module = [ServiceManager objByService:@protocol(GoodsModuleService)];\nNSArray *list = [module getGoodsList];\n...\n复制代码\n这种方式的优势也包括调用简单方便。代码自动补全和编译时检查都有效。实现起来也简单,协议的所有实现仍然在模块内部,所以不需要写反射代码了。同时对外暴露的只有协议,符合团队协作的 “面向协议编程” 的思想。劣势是如果服务提供方和使用方依赖的是公共模块中的同一份协议(protocol), 当协议内容改变时,会存在所有服务依赖模块编译失败的风险。同时需要一个注册过程,将 Protocol 协议与具体实现绑定起来。\n业界里,蘑菇街的 ServiceManager 和阿里的 BeeHive 都是采用的这个方案。\n3.4 通知广播方案\n基于通知的模块间通讯方案,实现思路非常简单, 直接基于系统的 NSNotificationCenter 即可。 优势是实现简单,非常适合处理一对多的通讯场景。 劣势是仅适用于简单通讯场景。复杂数据传输,同步调用等方式都不太方便。 模块化通讯方案中,更多的是把通知方案作为以上几种方案的补充。\n3.5 其它\n除了模块间通讯的实现,业务模块化架构还需要考虑每个模块内部的设计,比如其生命周期控制,复杂对象传输,重复资源的处理等。可能因为每个公司都有自己的实际场景,业界方案里对这些问题描述的并不是很多。但实际上他们非常重要,有赞在模块化过程中做了很多相关思考和尝试,会在后面环节进行介绍。\n四、有赞的模块化实践\n有赞移动自 16 年起开始实践业务模块化架构方式,大致经历了 2016 年的尝试 + 摸索,2017 年的思考 + 优化以及 2018 年的成熟 + 沉淀几个阶段。期间有过对已有 App 的模块化改造,也试过直接应用于新起项目。模块化方案经历过几次改版,踩过一些坑,也收获了很多宝贵的经验。\n4.1 v1.0: 尝试 + 摸索\n16 年,有赞微信商城、有赞收银等 App 经历了初期的功能快速迭代,内部依赖混乱,耦合严重,急需优化重构。传统的 MVVM、MVP 等优化方式无法从全局层面解决这些问题。后来在 InfoQ 的 \"移动开发前线\" 微信群里听了蘑菇街的组件化方案分享,非常受启发。不过当时还是有一些顾虑,比如微信商城和收银当时都属于中小型项目,每端开发人员都只有 4-6 人。业务模块化改造后会形成一定的开发门槛,带来一定的开发效率下降。小项目适合模块化改造吗?其收益是否能匹配付出呢?但考虑到当时 App 各模块边界已经稳定,即使模块化改造出现问题,也可以用很小的代价将其降级到传统的中介者模式,所以改造开始了。\n4.1.1 模块间通信方式设计\n首先是梳理我们的模块间通信需求,主要包括以下三种:\n\nUI 页面跳转。比如 IM 模块点击用户头像打开会员模块的用户详情页。\n动作执行及复杂数据传输。比如商品模块向开单模块传递商品数据模型并进行价格计算。\n一对多的通知广播。比如 logout 时账号模块发出广播,各业务模块进行 cache 清理及其它相应操作。\n\n我们选择了路由 URL + 远程接口调用封装 + 广播相结合的方式。\n对于远程接口调用的封装方式,我们没有完全照抄 Mediator 方案。当时非常期望保留模块化的编译隔离属性。比如当 A 模块对外提供的某个接口发生变化时,不会引发依赖这个接口的模块的编译错误。这样可以避免依赖模块被迫中断手头的工作先去解决编译问题。当时也没有采用 Beehive 的服务注册方式,也是因为同样的原因。 经过讨论,当时选择参考网络层封装方式,在每个模块中设计一个对外的 “网络层” ModuleService。将对其它模块的接口的反射调用,放入各个模块的 ModuleService 中。 同时,我们希望各业务模块不需要去理解所依赖模块的内部复杂实现。比如 A 模块依赖 D 模块的 class D1 的接口 method1, class D2 的接口 method2, class D3 的接口 method3. A 需要了解 D 模块的这些内部信息才能完成反射功能的实现。如果 D 模块中这些命名有所变化,还会出现调用失败。所以我们对各个模块使用外观(Facade)模式进行重构。D 模块创建一个外观层 FacadeD. 通过 FacadeD 对象对外提供所有服务,同时隐藏内部复杂实现。调用方也只需要理解 FacadeD 的头文件 包含哪些接口即可。\n外观(Facade)模式: 为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。\n\n另外,为什么还需要路由 URL 呢? 其实从功能角度,远程接口的网络层,完全可以取代路由 URL 实现页面跳转,而且没有路由 URL 的一些 hardcode 的问题。而且路由 URL 和 远程接口存在一定的功能重合,还会造成后续实现新功能时,分不清应选择路由 URL 还是选择远程接口的困惑。这里选择支持路由 URL 的主要原因是我们存在动态化且多端统一的需求。比如消息模块下发的各种消息数据模型完全是动态的。后端配好展示内容以及跳转需求后,客户端不需要理解具体需求,只需要通过统一的路由跳转协议执行跳转动作即可。\n4.1.2 模块内设计及 App 结构调整\n每个模块除了 Facade 模式改造之外,还需要考虑以下问题:\n\n合适的注册及初始化方式。\n接收并处理全局事件。\nApp 层和 Common 层设计。\n模块编译产出以及集成到 App 中的方式。\n\n因为考虑到每个 App 中业务模块数量不会很多(我们几个 App 内大多是 20 个左右),所以我们为每个模块创建了一个 Module 对象并令其为单例。在 +load 方法中将自身注册给模块化 SDK Bifrost. 经测试,这里因为单例造成的内存占用以及 +load 方法引起的启动速度影响都微乎其微。模块需要监听的全局事件主要为 UIApplicationDelegate 中的那些方法。所以我们定义了一个继承 UIApplicationDelegate 的协议 BifrostModuleProtocol,令每个模块的 Module 对象都服从这个协议。App 的 AppDelegate 对象,会轮询所有注册了的业务模块并进行必要的调用。\n@protocol BifrostModuleProtocol \n@required\n+ (instancetype)sharedInstance;\n- (void)setup;\n...\n@optional\n+ (BOOL)setupModuleSynchronously;\n...\n@end\n复制代码\n所有业务代码挪入各业务模块的 Module 对象后,AppDelegate 非常干净。\n@implementation YZAppDelegate\n- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n [Bifrost setupAllModules];\n [Bifrost checkAllModulesWithSelector:_cmd arguments:@[Safe(application), Safe(launchOptions)]];\n return YES;\n}\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n [Bifrost checkAllModulesWithSelector:_cmd arguments:@[Safe(application), Safe(launchOptions)]];\n return YES;\n}\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n [Bifrost checkAllModulesWithSelector:_cmd arguments:@[Safe(application)]];\n}\n...\n@end\n复制代码\n每个业务模块都作为一个子 Project 集成入 App Project. 同时创建一个特殊的模块 Common,用于放置一些通用业务和全局的基类。App 层只保留 AppDelegate 等全局类和 plist 等特殊配置,基本没有任何业务代码。Common 层因为没有明确的业务组来负责,所以也应该尽量轻薄。各业务模块之间互不可见,但可以直接依赖 Common 模块。通过 search path 来设置模块依赖关系。\n每个业务模块的产出包括可执行文件和资源文件两部分。有 2 种选择:生成 framework 和生成静态库 + 资源 bundle.\n使用 framework 的优点是输出在同一个对象内,方便管理。缺点是作为动态库载入,影响加载速度。所以当时选择了静态库 + bundle 的形式。不过个人感觉这块还是需要具体测一下会慢做少再做决定更合适。但因为二者差别不大,所以后续我们也一直没作调整。\n另外如果使用 framework,需要注意资源读取的问题。因为传统的资源读取方式无法定位到 framework 内资源,需要通过 bundleForClass: 才行。\n//传统方式只能定位到指定bundle,比如main bundle中资源\nNSURL *path = [[NSBundle mainBundle] URLForResource:@\"file_name\" withExtension:@\"txt\"]; \n\n// framework bundle需要通过bundleForClass获取\nNSBundle *bundle = [NSBundle bundleForClass:classA]; //classA为framework中的某各类\n// 读UIStoryboard\nUIStoryboard *storyboard = [UIStoryboard storyboardWithName:@“sb_name” bundle:bundle];\n// 读UIImage\nUIImage *image = [UIImage imageNamed:@\"icon_name\" inBundle:bundle compatibleWithTraitCollection:nil];\n...\n复制代码\n4.1.3 复杂对象传输\n当时最纠结的点就是复杂对象的传输。例如商品模型,它包含几十个字段。如果是传字典或传 json, 那么数据提供方(商品模块)和使用方(开单模块)都需要专门理解并实现一下这种模型的各种字段,对开发效率影响很大.\n有没有办法直接传递模型对象呢?这里涉及到模型的类文件放在哪里。最容易想到的方案是沉入 Common 模块。但一旦这个口子放开,后续会有越来越多的模型放入 Common,和前面提到的简化 Common 层的目标是相悖的。而且因为 Common 模块没有明确业务组归属,所有小组都能编辑, 其质量和稳定性难以保障。最终我们采用了一个 tricky 的方案,把要传递的复杂模型的代码复制一份放在使用方模块中,同时通过修改类名前缀加以区分,这样就可以避免打包时的链接冲突错误。比如商品模块内叫 _YZG_GoodsModel, 开单模块内叫 _YZS_GoodsModel. 商品模块的接口返回的是 YZGGoodsModel,开单模块将其强转为 YZSGoodsModel 即可。\n//YZSaleModuleService.m内\n#import \"YZSGoodsModel.h\"\n\n- (YZSGoodsModel*)goodsById:(NSString*)goodsId {\n //Sale Module远程调用Goods Module的接口\n id obj = [Bifrost performTarget:@\"YZGoodsModule\"\n action:@\"goodsById:\"\n params:@[goodsId]];\n //做一次强转\n YZSGoodsModel *goods = (YZSGoodsModel*)obj;\n return goods;\n}\n复制代码\n这种方式虽然比较粗暴,但考虑到两个模块间交互的复杂对象应该不会很多(如果太多则应考虑这两个模块是否划分合适),同时拷贝粘贴操作起来成本可控,所以可以接受。同时这种方法也能达到预期的编译隔离的效果。但两边模型定义及实现还是有不一致的风险。为了解决一致性问题,我们做了个检查脚本工具,在编译时触发。会根据命名规则查找这类 “同名” model 的代码,并做一个比较。如果发现不一致,则报 warning. 注意不是报 error, 因为我们希望一个模块做了接口修改,另一个模块可以存在一种选择,是马上更新接口,还是先完成手头的工作将来再更新。\n4.1.4 重复资源处理\n这类资源主要包括图片、音视频,数据模型等等。\n首先我们排除了无脑放入 Common 的方案。因为下沉入 Common 会破坏各业务模块的完整性,同时也会影响 Common 的质量。经过讨论后,决定把资源分为三类:\n\n通用功能所用资源,将相关代码整理为功能组件后一起放入 Common.\n业务功能的大部分资源可以通过无损压缩控制体积,体积不大的资源允许一定程度上的重复。\n较大体积的资源放到服务端,App 端动态拉取放在本地缓存中。\n\n同时平时定期通过自动化工具检测无用资源,以及重复资源的大小,以便及时优化包体积。\n4.1.5 体验与成果\n基于以上设计,我们大概花了 3 的个月的时间对已有项目进行了业务模块化改造(边做业务边改造)。因为方案细节考虑的比较多,大家对一些可能存在的问题也都有预期,所以当时改造后大家多持肯定态度,成本 vs 收益还是可观的。\nv1.0 版本改造后,App 架构关系如图:\n\nApp 项目结构如图:\n\n4.2 v2.0: 思考 + 优化\n16 年的第一版模块化设计方案虽然可行,但还存在两个痛点:\n\n模块间网络层的封装基于反射代码, 写起来仍然有些麻烦。而且需要额外写单测保证质量。\n复杂对象的处理方式也存在一些问题,比如拷贝粘贴的方式比较丑陋,重复代码会带来包体积的增加。\n\n上述问题在团队规模扩大,新同学到来时格外明显,经常需要答疑讲解。甚至有一次业务项目时间特别紧张时,有些小伙伴私下更改模块间头文件 search path,直接依赖的了别的模块,以便重用复杂模型类的情况。\n这些问题的根本原因还是存在效率损失,\"不方便\",怎么优化呢?\n4.2.1 远程接口封装优化\n首先是如何避免反射及 hardcode. 阿里 Beehive 的基于服务注册的方式 是不需要 hardcode 代码的。但它有额外的服务注册过程,可能会影响启动速度,性能弱于基于反射的接口封装方案。这里对启动速度的影响究竟有多少呢?我们做了个测试,在 +load 方法中注册了 1000 个 Sevice Protocol, 启动时间影响大概是 2-4 ms, 非常少。\n\n因为我们每个模块都是基于外观模式设计的。所以每个模块只需要对外暴露一个 Service Protocol 即可。我们 App 的实际模块数量大概是 20 个,所以对启动速度的影响可以忽略不计。而且前文提到,每个模块本来也需要注册自己的外观类(Module 对象)以处理生命周期和接受 AppDelegate 消息。这里 Service Protocl 的实现者就是这个 Module 对象,所以其实没有额外的性能消耗。\n4.2.2 复杂对象传输优化\n之前的业务模块化方案没有使用 Beehive 还有个原因,就是服务提供方和使用方共同依赖同一个 Protocol,不符合我们编译隔离的需求。但既然我们可以拷贝粘贴复杂对象代码,是否也可以拷贝粘贴 Protocol 声明呢?答案是可行的。而且即使工程中同时存在多个同名的 Protocol 也不会引起编译问题,连改名这一步都省去了。以商品模型为例,为它定义一个 GoodModelProtocol, 服务使用方开单模块可以直接将这个 Protocol 的声明 copy 到自己模块中,也不需要改名,操作成本非常低。然后商品模块内就可以使用这个 Protocol 了。同时因为用的是同一个协议对象,所以 v1.0 中的类型强转风险也没有了。\n跨模块进行方法调用和数据读取非常便捷:\nNSString *goodsID = @\"123123123\";\nid goods = [BFModule(YZGoodsModuleService) goodsById:goodsID];\nself.goodsCell.name = goods.name;\nself.goodsCell.price = goods.price;\n...\n复制代码\n为尽量减少拷贝粘贴频率,我们将每个模块对外提供的接口服务,路由定义,通知定义,以及复杂对象 Protocol 定义都放在 ModuleService.h 中。管理非常方便规范,别的模块 copy 起来也简单,只需要把这个 ModuleService.h 文件 copy 到自己模块内部,就可以直接依赖并调用接口了。而且如果将来需要从服务器拉取相关配置,一个文件会方便很多。但是也需要考虑如果以上内容都放入同一个头文件,会不会导致文件过大的问题。当时分析模块间交互是有限的,否则就需要考虑模块划分是否合适。所以问题应该不大。从结果来看,目前我们最大的 ModuleService.h, 加上注释大概是 300 多行。\n4.2.3 其它优化\n另外,我们发现每个模块对初始化顺序也有需求。比如账号模块的初始化可能要优先于别的模块,以便别的模块在初始化时使用其服务。所以我们也对 ModuleProtocol 增加了优先级接口。每个模块可以定义自己的初始化优先级。\n/**\n The priority of the module to be setup. 0 is the lowest priority;\n If not provided, the default priority is BifrostModuleDefaultPriority;\n\n @return the priority\n */\n+ (NSUInteger)priority;\n复制代码\n经过以上优化改造,基本解决了 v1.0 的所有质量及效率方面的隐患,业务模块化方案趋近成熟。\n4.3 v3.0: 成熟 + 沉淀\n17 年优化后的模块化方案,基本算是具有有赞特色的相对成熟的方案了,支撑了包括零售在内的多个大型 app 的开发。\n4.3.1 编译隔离的思考\nCopy 头文件的方式仍然有一些理解成本。移动团队规模快速发展,一些新来的小伙伴还是会提出疑问。18 年年中我们做了几次检查,发现模块间 ModuleService 版本不一致的情况时有发生。当时零售移动团队虽然达到 30 多人,但仍然是一个协作紧密的整体,发版节奏基本一致。各业务模块代码都在同一个 git 工程中,基本每次发版用的都是各个模块的最新版本。而且实际做了几次调查,发现 ModuleService 中接口改变导致的依赖模块的修改,其实成本很低,改起来很快。此时我们开始思考之前追求的编译隔离是否适合当前阶段,是否有实际价值。\n最终我们决定节省每一份精力,效率最大化。将各业务的 ModuleService 进行下沉到 Commom 模块,各业务模块直接依赖 Common 中的这些 ModuleServie 头文件,不再需要 copy 操作。这样改造的代价是形成了更多的依赖。本来一个业务模块是可以不依赖 Common 的,但现在就必须依赖了。但考虑到实际情况,还没有不依赖 Common 的业务模块存在,这种追求没有价值,所以应该问题不大。同时因为下沉的都是一些头文件,没有具体实现,将来如果需要模块间的进一步隔离,比如模块单独打包等,只需要将这些 Moduleservie 做到服务端可配置 + 自动化下载生成即可,改造成本非常小。\n但这样改造后又发生了一件事。某个新来的同学,直接在 Common 模块中写代码通过这些 ModuleService 调用了上层业务模块的功能,形成了底层 Commmon 模块对上层业务模块的反向依赖。于是我们进一步拆分出了一个新模块 Mediator, 将 Bifrost SDK 和这些 ModuleSevice 放入其中。Common 模块和 Mediator 互不可见。\n最终形成的 App 架构为:\n\n注\n:业界有些方案是把 ModuleServie 分开存放的,相当于把以上方案里的 Mediator 部分进行分拆,每个业务模块都有一个。这种方式的优点是职责明确,大家不用同时对一个公共模块进行修改,同时可以做到依赖关系很清晰;劣势是模块的数量增加了一倍,维护成本增加很多。考虑到我们目前的情况,Mediator 模块是很薄的一层,共同修改维护这个模块也可以接受,所以目前没有将其拆开。将来如果需要,再将其做分拆改造即可,改造工作量很小。\n4.3.2 代码隔离的思考\n除了不在不合适的阶段追求编译隔离,我们还发现代码隔离并不适合我们。\n业务模块化的效果之一就是个业务模块可以单独打包,放入壳工程运行。很容易想到的一个改造就是把各个模块拆到不同的 git 中。好处很多,比如单独的权限控制,独立的版本号,万一发版时发现问题可以及时 rollback 用老版本打包。我们的微信商城 App 就做了这种尝试。将代码迁到了很多 git 中,通过 pod 的方式进行管理。但后续开发中体验并不是很好。当时微信商城 App 的模块数量比开发同学数量多很多,每个同学都同时维护着多个模块。有时一个项目,一个人需要同时在多个 git 中修改多个模块的代码。修改完成后,要多次执行提交、打版本号以及集成测试等操作,很不效率。同时因为涉及到多个 git,代码提交的 Merge Request 和相关的编译检查也复杂了很多。同样的,因为微信商城 App 中不同模块的开发发版节奏也基本一致,所以多 git 多 pod 的不同版本管理及回退的优势也没有体现出来。最终还是将各模块代码迁回了主 git 中。\n4.3.3 没价值的隔离?\n但编译隔离和代码隔离真的没有价值吗?当然不是,主要是我们当前阶段并不需要。过早的调整增加了成本却没有价值产出,所以并不合适。实际上我们还有一些业务模块是跨 App 使用的,比如 IM 模块,资产模块等等。他们都是独立 git 独立发版的。编译隔离和代码隔离属性对他们很有效。\n另外,每个模块单独 git 可以有更细粒度的权限管理。我们因为在一个 git 中,曾发生过好几次小伙伴改别人的模块改出问题的例子(虽然有 MR, 但人难免有遗漏)。后来我们是通过 git commit hook + 修改文件路径来控制修改权限才解决了这个问题。后续介绍有赞移动基础设施建设的文章中会有更多相关细节。\n4.3.4 Bifrost (雷神里的彩虹桥)\n最终,我们总结了所有我们需要的业务模块化需求,沉淀出了轻量级的模块化 SDK Bifrost.\n为什么不直接使用业界的 CTMediator 或者 Beehive 或者 MGJRouter, 要再造个轮子呢?主要有三个原因:一是我们开始尝试模块化改造时,业界还没有相关框架开源出来,所以需要自己实现。二是我们的需求和业界的开源库不完全相符。MGJRouter 缺少服务管理,CTMediator 和设计不符,Beehive 没有路由管理同时不够轻量 (很多接口还是基于阿里的需求提供的,我们用不到,会形成理解成本)。原因三其实是最关键的,就是模块化 SDK 的实现其实不难。通过前面的介绍,可以发现其中并没有什么黑魔法,代码量也不多,实现成本很低。模块化过程更多精力花在了全局架构设计,与之配合的开发规范,以及结合自己团队情况的一些取舍。模块化 SDK 只是模块化整体设计的冰山一角。我们也推荐读者所在团队,如果有时间可以尝试自己实现模块化工具,Bifrost 只用做参考即可。\n4.3.5 业务模块化时机\n我们建议所有进入业务领域划分稳定期(业务模块基本确定,不会发生较大变动)的团队采用业务模块化架构设计。即使模块划分还没完全明确,也可以考虑对部分明确了模块进行模块化改造。因为迟早要用,晚用不如早用。目前基于路由 URL + 协议注册的模块间通讯方式,对开发效率基本无损。\n五、总结\n移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”。有赞移动团队通过过往 3 年的实践,发现一味的追求性能,绝对的追求模块间编译隔离,过早的追求模块代码管理隔离等方式都偏离了模块化设计的真正目的,是得不偿失的。更合适的方式是在可控的改造代价下,一定程度考虑未来的优化方式,更多的考虑当前的实际场景,来设计适合自己的模块化方式。希望通过本文提供的具体案例和思考方式,大家都能找到适合自己应用的业务模块化之路。\n"},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"url":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","keywords":"","body":"\n 原文地址 https://draveness.me/whys-the-design-git-the-best\n\n为什么你应该使用 Git 进行版本控制 · Why's THE Design?\n\n为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。\n\nGit 是 Linus 在 2005 年开发出的版本控制系统(Version Control System),演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用 SVN 或者 CVS 对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用 Git 在绝大多数的场景下都能让我们的开发和合作变得更加高效。\n很多关于 Git 与其他版本控制工具的对比文章和讨论都已经有着相当久的年头了,我们目前面对的开发场景与几年前有很多不同,而这些不同的版本控制工具也各自演化,不过作者始终认为 Git 是目前最高效的工具,这都是由顶层的设计思想决定的,我们今天就来看一看『为什么你应该使用 Git 进行版本控制』。\n概述\n当我们谈论最好的版本控制系统时,我们需要为 Git 找几个用于比较的对手,只有通过对手我们才能更清晰的理解 Git 背后的设计哲学为它带来了怎样与众不同的功能,而我们今天在介绍 Git 时可能就会同时比较 SVN 以及其他的版本控制工具。\n无论是 Git、SVN 还是其他的版本控制系统,它们绝大多数的功能都是重叠的,所以很多时候我们也能找到不同工具之间命令的对照表,下面就是一个 Git 和 SVN 命令对照表,其中包括了两个不同工具对于检出仓库、更新本地仓库、本地提交和向主仓库提交几个最常用的简单命令:\n# Check out the repository\n+ svn checkout --username= \n+ git clone git://\n\n# Update locally checked out files\n+ svn update\n+ git pull\n\n# Commit files locally\n+ N/A\n+ git add && git commit\n\n# Add files to the main repo\n+ svn commit\n+ git push\n虽然说这两个版本控制系统有很多等价的功能,但是从两者不同的地方我们就能看到它们在设计上的不同抉择,例如:SVN 不支持在本地提交文件,这一点背后的设计哲学就与 Git 完全不同。\n在继续深入理解 Git 在设计上的决策之前,我们首先要回到今天要讨论的问题,也就是『为什么你应该使用 Git 进行版本控制』,我们可以换一种方式思考这个问题 —— 我们对于版本控制系统的的要求是什么,又应该如何定义一个更好的版本控制系统呢?Linus 在 2007 年的 Google Talk 上曾经介绍过版本控制系统必须具有的三个特性:\n\n版本控制系统中的开发模型必须是分布式的;\n版本控制系统必须提供足够好的性能支持;\n版本控制系统必须保证文件的完整性,提供来自于数据丢失或者损坏的保护;\n\n\n上述三点中的后两点是非常容易理解的,虽然很多人可能会疑惑为什么性能对于一个日常使用频率不高的版本控制工具如此重要,但是没有人拒绝性能的提升(尤其是在免费的情况下)。\n设计\n我们在上一节中已经介绍了版本控制系统必须满足的三个特性:分布式、高性能以及可靠性,在这里我们就会分别从这三个方面介绍 Linus 在设计 Git 时是如何满足自己提出的这些需求的:\n\n分布式的方式更加符合版本控制系统的工作场景;\n性能的提升能够鼓励我们做出成本更低的操作;\n可靠性能帮助我们能够及时发现数据因磁盘故障而丢失或者损坏;\n\n上述的几个特性对于一个好的版本控制系统来说缺一不可,我们会依次介绍它们的重要性以及 Git 是如何遵循这些规则来设计和实现的。\n分布式\n分布式对于一个版本控制工具非常重要,如果你从开发程序以来就一直使用 Git 作为版本控制工具的话,你可能无法体会使用集中式版本控制工具的局限性,假设我们使用的是一个集中式的版本控制系统的话,所有的开发者都必须连接到同一个服务器上才能进行开发和提交:\n\n选择集中式的版本控制工具意味着我们必须接受以下的几个缺点:\n\n工程师必须都需要连接网络才能开发,在网络状况不好或者无网络的情况下无法进行提交;\n很多人可能认为自己并没有离线工作的需求,但是这实际上在我们的日常工作中也比较常见,百兆带宽虽然已经能够满足日常开发的需求,不过在复杂的网络环境下,很多时候我们还是会遇到无法联网或者网络极差的场景,例如在飞机和火车上;\n对于一个较大的分布式开发团队,在实际生产中我们也难以保证所有成员都能同时通过骨干网等高速网络连接到同一个主仓库;\n\n\n对中心仓库的提交和改动,例如创建分支等操作对于所有的开发人员都是可见的;\n当我们使用集中式的开发模型时,无论是提交代码还是创建新的实验分支,这些操作其实都会改变所有人共享的代码库,这也就意味着如果某个开发者创建了很多的实验分支,所有开发者的代码库也都会变大;\n虽然我们能在中心仓库中创建分支,但是由于中心仓库中不存在名空间,如果开发者创建分支没有遵循特定的命名规则,就非常容易出现命名冲突的问题,例如各种 test 分支;\n\n\n当前仓库的所有开发者都需要有直接向主仓库提交代码的权限,否则他们就无法进行开发;\n同时让项目中的所有开发者具有写权限其实是一件危险的事情,我们并不是知道这些开发者是否有着足够的经验操作主仓库,一旦出现操作上的失误,所有的成员都将面临这一失误带来的风险;\n\n\n\n以上的三个问题都是集中式的主仓库带来的,它们是中心化的系统无法避免的问题,这些集中式版本控制系统的缺点非常影响它的使用体验,这也是为什么 Git 选择使用分布式的设计思想指导其实现,正是版本控制系统的场景其实与分布式的模型更加相似,所以通过分布式的模型能够很好地解决上述的关键问题。\n\n在一个分布式的版本控制系统中,所有的节点在实现上都是等同的,只要有权限,它们都可以一次获取其他仓库中的全部数据。不同的节点之间可以互相拉取代码,我们可以使用 git clone 命令将某一个仓库中的全部数据下载到本地并在本地创建分支、修改和提交,也可以选择将新的改动推送到其他的节点上或者等待其他节点的拉取。\n虽然在实现上所有的节点都是等同的,但是在实际操作中我们还可能会有一个或者多个主仓库帮助多个开发者同步代码,各个节点之间的关系更像一个可以分叉的树形结构,与中心化的版本控制系统相比,通过分布式的模型:\n\nGit 可以让我们在本地进行提交以支持离线工作;\nGit 可以让我们在本地创建分支并且没有命名空间冲突的问题;\nGit 可以让提交通过 Pull Request 的方式进行,不需要所有的开发者都有主仓库的写权限;\n\n集中式和分布式系统的特性也为 SVN 和 Git 带来一些其他的差异,例如 SVN 的所有版本号都是串行的递增数字,版本号不会有冲突的可能也更利于沟通和交流,Git 则使用由 40 个字母组成的 SHA-1 作为版本号,这一方面是因为一个分布式系统中没有全局时钟和版本的概念,另一个方面 SHA-1 能够作为 Checksum 验证仓库中的内容是否被更改,我们会在『可靠性』一节中详细介绍这一特性。\n虽然分布式的版本控制系统能够为我们带来各种各样的好处,但是这并不是说集中式的系统就不能用,正相反在一些代码需要严格控制的项目中,集中式的版本控制系统却能更好的工作,这是因为企业或者项目在做决策时认为『代码需要非常严格的控制』,由此带来的效率降低等问题是可以接受的,所以这其实是对开发效率与权限审核的权衡。\n\n很多公司和决策者因为不了解工程和版本控制系统,可能非常容易地就低估了集中式仓库带来的『效率降低』程度。\n\n然而在实际场景中,真正需要严格控制的代码都非常少,大多数公司的内部代码都是一些秘密等级非常低的业务代码,不仅代码质量非常差、而且一旦脱离了公司的环境就无法运行,作为公司内部的开发者通过 Git 来访问这些代码不会有什么问题,通过计算机之外的方式对代码进行控制是一种效率更高的做法。\n性能\n性能对于一个版本控制系统也至关重要,但是更重要的其实是选取合适的指标对性能进行度量,Linus 在 Google Talk 上的演讲就此嘲讽过 SVN 的开发者,因为它们选择将『创建分支』作为度量版本控制系统的重要性能,还在自己的官网上以此进行宣传(具体界面已经不可考证)。\n然而『合并分支』的性能对于版本控制系统来说才更加重要,因为我们创建新分支的最终目的就是合并回主干分支,如果合并分支的性能非常差,每次合并可能都需要几十秒甚至几分钟,那么这种昂贵的代价就会使开发者谨慎地使用分支合并操作,很多人可能因为合并分支的复杂和困难选择直接在主干分支上开发,因为他们认为只改一两行代码怎么可能会导致线上事故!\n\n今天的绝大多数开发者都已经在日常开发中使用 Git 进行版本控制了,分支的创建和合并是非常常用的功能,这其实是因为使用 Git 合并多个分支是一件非常容易并且快速的事情,它能在几秒钟以内将两个复杂的分支进行比较和合并,不需要等待较长的时间。\n除此之外,使用 Git 来比较两个不同版本和不同文件夹之间的差异也是非常迅速的,作为分布式系统,每一个 Git 仓库都有全量的变更数据,我们不需要通过网络获取仓库的相关信息,与中心化的版本控制工具相比,在出现问题时我们也能快速定位导致问题的变更所在。\n可靠性\n可靠性对于一个版本控制系统来说也至关重要,专业的云服务商提供的磁盘都不一定能够保证我们数据的可靠性,避免数据损坏和丢失等问题,我们作为普通用户和开发者,更需要通过一些机制来保护我们的代码不会被损坏,如果版本控制系统不能为我们提供保护或者一致性的校验,我们可能就会遇到只有在编译或者打开文件时才会发现文件损坏的窘境。\nGit 对每一个版本的提交都会生成一个 20 字节的 SHA-1 哈希,例如:e328029255d8f02909ec0cbc16cc74ef4b79e1d0,这个哈希就表示了当前提交的版本号,它是由以下的数据共同计算而来的:\n\n当前提交的源代码树;\n上一次提交的 SHA-1 哈希;\n作者和提交人的名字、邮件等信息;\n当前提交的消息;\n\n你可以使用如下所示的命令来生成当前仓库 HEAD 的提交版本号,这个命令通过以上信息重新计算出了 git commit 命令为我们生成 SHA-1 哈希,你可以在 这篇文章 中找到更详细的解释:\n$ (printf \"commit %s\\0\" $(git cat-file commit HEAD | wc -c); git cat-file commit HEAD) | sha1sum\n652baf18601eecf42521a1361a8815576bc8eb55 -\n(base)\n\nSHA-1 哈希的计算同时使用了源代码树、上一次提交的哈希、作者和提交人的信息以及当前提交的消息,所以只要使用的任何信息有所变动,我们就会在校验时发现哈希的不一致,从而检测出当前仓库的数据中包含数据的变更、损坏和丢失,同时这也能够帮助我们阻挡攻击者对仓库的恶意修改,因为即使对仓库修改成功,攻击者也很难保证哈希的不变,虽然在研究中表明这种的哈希冲突攻击是可能的,但是在实践中遇到这种问题的几率还是非常低。\n\n由于 2017 年 GitHub 检测到了 SHA-1 的哈希碰撞,所以 Git 社区也在考虑使用更加复杂的哈希算法来替代 SHA-1,例如:SHA-256,Git hash function transition 是一篇关于 Git 如何从 SHA-1 迁移到更复杂的哈希的提案,感兴趣的读者可以简单阅读一下。\n\n\n所有的 Commit 共同组成了一个链条,我们只要验证当前的提交版本是否合法,就能够信任整条链路上的全部提交,如果本地仓库的磁盘损坏,我们可以通过当前的提交记录从远程仓库上获取相同的代码并且通过下面的命令来验证仓库中的数据是否发生了损坏:\n$ git fsck\nChecking object directories: 100% (256/256), done.\nChecking objects: 100% (1046479/1046479), done.\nChecking connectivity: 1034279, done.\ndangling blob 5d05609b383fffc5f9f36f65de0d7d7d3df91ce6\ndangling blob 190de0ca85c16aef74c490127b94fa8ff04e168e\n...\n\nGit 通过 SHA-1 哈希的一致性检查,保证我们能够立刻感知到仓库中的数据损坏和变更,还能够帮助我们抵御来自攻击者对文件的恶意篡改,保证了仓库的安全和可靠性。\n总结\n文档和工具链对于一个工具来说十分重要,一个好的文档不仅能够帮助初学者快速上手,还能帮助使用者解决大多数使用过程中的困惑、理解工具背后的设计和实现,Git 的生态目前建设的也非常好,GitHub 和 GitLab 等服务商提供个人版和企业版的 Git 服务,图形界面的 Git 客户端和插件也降低了 Git 的使用门槛,SourceTree 和 IDE 的集成也不再需要我们直接使用命令行来进行操作(作者还是倾向于使用命令行),这些都帮助 Git 的生态走的更加成熟,也是为什么我们应该使用 Git 的重要原因。\n我们还是需要简单总结一下正文中提出的一些观点:\n\nGit 作为分布式的版本控制系统能够让开发者离线工作和本地提交,不仅能够避免直接提交大量代码带来的风险,还能帮助我们限制对主仓库的授权,减少由于命名空间导致的冲突问题;\nGit 在优化性能时选择了合并分支作为主要的性能衡量指标,将合并分支变成了成本非常低的操作以鼓励分支的使用;\nGit 通过 SHA-1 哈希来保证仓库中数据的可靠性,我们通过 SHA-1 就可以对数据进行校验,保证整个提交链条上的所有数据的稳定性和可靠性,也帮助我们抵御了来自攻击者的恶意篡改;\n\n这里我们还是要强调,集中式的版本控制系统在一些需要严格控制源代码的公司中还是有着一席之地,不过我们总是可以通过将代码分到多个仓库来分别限制权限,但是如果这一操作并不可行,选择集中式的版本控制系统可能就是最后不得不做的选择。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细想一下下面的问题:\n\nSVN 能够在哪些场景下发挥出 Git 无法发挥的作用?它有哪些特性是作为分布式系统的 Git 做不到的?\n目前的 Git 在设计上有哪些缺点和问题,我们能不能改变它?如果能的话又如何改变它?\n有没有什么方式能够帮助我们发现使用『哈希碰撞』进行的恶意攻击从而保证仓库的安全呢?\n\n\n如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因,可以在博客下面留言,作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容。\n\nReference\n\nLinus 在 2007 年 Google Talk 上介绍 Git\nSubversion vs. Git: Myths and Facts\nA year of using Git: the good, the bad, and the ugly\nProud to be a Moron – My Journey with Git\nGIT: a Nightmare of Mixed Metaphors\n10 things I hate about Git\nWhat are the differences between Subversion and Git?\nWhich is better, SVN or Git?\n关于滨野纯的访谈\nSVN 和 Git 在日常使用中的明显差异\nWhy is Git better than Subversion?\nGit and Other Systems - Git as a Client\nSHA-1 collision detection on GitHub.com\nGit hash function transition\nGit series 1/3: Understanding git for real by exploring the .git directory\nDoes Git prevent data degradation\nHow is git commit sha1 formed\nWhat does git fsck stand for?\n\n"},"Article/深入了解 iOS 的初始化.html":{"url":"Article/深入了解 iOS 的初始化.html","title":"深入了解 iOS 的初始化.md","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5dd24e3ff265da0bbc3067ae\n\n深入了解 iOS 的初始化.md\n初始化\n在 iOS 里面,无论是 Objective-C 还是 Swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在 Objective-C 中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在 Swift 则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。\n类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(Designated Initializers )、便利初始化器(Convenience Initializers)\nDesignated Initializers\n指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。在 iOS 里,视图控件类,如果:UIView、UIViewController就有两个指定初始化器,分别代表从代码初始化、从Nib初始化\nConvenience Initializers\n便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在初始化时更方便设置相关的属性(成员变量)。既然便利初始化器是为了便利,那么一个类(结构体、枚举)就可以有多个便利初始化器,这些便利初始化器里面最后都需要调用自身的指定初始化器\n核心规则\niOS 的初始化最核心两条的规则:\n\n必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)\n便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器\n\n\n所有的其他规则都根据这两条规则而展开,只是 Objective-C 没有那么多安全检查,显得比较随意、宽松,而 Swift 则有一堆的限制。\nObjective-C\nObjective-C 在初始化时,会自动给每个属性(成员变量)赋值为 0 或者 nil,没有强制要求额外为每个属性(成员变量)赋值,方便的同时也缺少了代码的安全性。\nObjective-C 中的指定初始化器会在后面被NS_DESIGNATED_INITIALIZER修饰,以下为NSObject 和UIView的指定初始化器\n// NSObject\n@interface NSObject \n\n- (instancetype)init\n#if NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER\n NS_DESIGNATED_INITIALIZER\n#endif\n ;\n@end\n\n\n// UIView\n@interface UIView : UIResponder\n\n- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;\n- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;\n\n@end\n复制代码\n在 Objective-C 里面,所有类都继承自NSObject。当自定义一个类的时候,要么直接继承自NSObject,要么继承自UIView或者其他类。\n无论继承自什么类,都经常需要新的初始化方法,而这个新的初始化方法其实就是新的指定初始化器。如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。为了遵循必须要调用指定初始化器的规则,就必须重写旧的定初始化器,在里面调用新的指定初始化器,这样就能确保所有属性(成员变量)被初始化\n根据这条规则,可以从NSObject、UIView中看出,由于UIView拥有新的指定初始化器-initWithFrame:,导致父类NSObject的指定初始化器-init退化成便利初始化器。所以当调用[[UIView alloc] init]时,-init里面必然调用了-initWithFrame:\n当存在一个新的指定初始化器的时候,推荐在方法名后面加上NS_DESIGNATED_INITIALIZER,主动告诉编译器有一个新的指定初始化器,这样就可以使用 XCode 自带的Analysis功能分析,找出初始化过程中可能存在的漏洞\n@interface MyView : UIView\n\n@property (nonatomic, strong) NSString *name;\n\n// 推荐加上NS_DESIGNATED_INITIALIZER\n- (instancetype)initWithFrame:(CGRect)frame name:(NSString *)name NS_DESIGNATED_INITIALIZER;\n\n@end\n\n\n@implementation MyView\n\n// 初始化时加入参数name,这个方法已经成为新的指定初始化器\n- (instancetype)initWithFrame:(CGRect)frame name:(NSString *)name {\n if (self = [super initWithFrame:frame]) {\n self.name = name;\n }\n return self;\n}\n\n// 旧的指定初始化器就自动退化成便利初始化器,必须在里面调用新的指定初始化器\n- (instancetype)initWithFrame:(CGRect)frame {\n return [self initWithFrame:frame name:@\"Daniels\"];\n}\n\n@end\n复制代码\n当然,一个新的类也可以不增加新的初始化方法,在 Objective-C 中,子类会直接继承父类所有的初始化方法\nSwift\n在 Swift 中,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手 Swift 或者一直对 iOS 的初始化没有深入理解的人很头疼。其实核心规则还是一样,只要理解了各个规则的含义和作用,写起来还是没有压力。\n从 iOS 初始化的核心规则展开而来,Swift 多了一些规则:\n\n初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值,否则会报错。\n在没有给所有非可选类型属性赋值(初始化完成)之前,不能调用self相关的任何东西,例如:调用实例属性,调用实例方法。\n\n不存在继承\n这种情况处理就十分简单,自己里面的init方法就是它的指定初始化器,而且可以随意创建多个它的指定初始化器。如果需要创建便利初始化器,则在方法名前面加上convenience,且在里面必须调用其他初始化器,使得最后肯定调用指定初始化器\nclass Person {\n\n var name: String\n\n var age: Int\n\n // 可以存在多个指定初始化器\n init(name: String, age: Int) {\n self.name = name;\n self.age = age;\n }\n\n // 可以存在多个指定初始化器\n init(age: Int) {\n self.name = \"Daniels\";\n self.age = age;\n }\n\n // 便利初始化器\n convenience init(name: String) {\n // 必须要调用自己的指定初始化器\n self.init(name: name, age: 18)\n // 必须在初始化完成后才能调用实例方法\n jump()\n }\n\n func jump() {\n\n }\n}\n复制代码\n存在继承\n如果子类没有新的非可选类型属性,或者保证所有非可选类型属性都已经有默认值,则可以直接继承父类的指定初始化器和便利初始化器\nclass Student: Person {\n\n var score: Double = 100\n\n}\n复制代码\n如果子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,则需要新创建一个指定初始化器,或者重写父类的指定初始化器\n\n新创建一个指定初始化器,会覆盖父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器\n重写父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器\n在保证子类有指定初始化器,才能创建便利初始化器,且在便利初始化器里面必须调用指定初始化器\n\nclass Student: Person {\n\n var score: Double\n\n // 新的指定初始化器,如果有新的指定初始化器,就不会继承父类的所有初始化器,除非重写\n init(name: String, age: Int, score: Double) {\n self.score = score\n super.init(name: name, age: age)\n }\n\n // 重写父类的指定初始化器,如果不重写,则子类不存在这个方法\n override init(name: String, age: Int) {\n score = 100\n super.init(name: name, age: age)\n }\n\n\n // 便利初始化器\n convenience init(name: String) {\n // 必须要调用自己的指定初始化器\n self.init(name: name, age: 10, score: 100)\n }\n}\n复制代码\n需要注意的是,如果子类重写父类所有指定初始化器,则会继承父类的便利初始化器。原因也是很简单,因为父类的便利初始化器,依赖于自己的指定初始化器\nFailable Initializers\n在 Swift 中可以定义一个可失败的初始化器(Failable Initializers),表示在某些情况下会创建实例失败。\n只有在表示创建失败的时候才有返回值,并且返回值为nil。\n子类可以把父类的可失败的初始化器重写为不可失败的初始化器,但不能把父类的不可失败的初始化器重写为可失败的初始化器\nclass Animal {\n\n let name: String\n // 可失败的初始化器,如果把 ! 换成 ?,则为隐式的可失败的初始化器\n init?(name: String) {\n if name.isEmpty {\n return nil\n }\n self.name = name\n }\n}\n\nclass Dog: Animal {\n\n override init(name: String) {\n if name.isEmpty {\n super.init(name: \"旺财\")!\n } else {\n super.init(name: name)!\n }\n }\n}\n复制代码\nRequired Initializers\n在 Swift 中,可以使用required修饰初始化器,来指定子类必须实现该初始化器。需要注意的是,如果子类可以直接继承父类的指定初始化器和便利初始化器,所以也就可以不用额外实现required修饰的初始化器\n子类实现该初始化器时,也必须加上required修饰符,而不是override\nclass MyView: UIView {\n\n var name: String\n\n\n init(frame: CGRect, name: String) {\n self.name = name;\n super.init(frame: frame)\n }\n\n // 必须实现此初始化器,但由于是可失败的初始化器,所以里面可以不做具体实现\n required init?(coder: NSCoder) {\n fatalError(\"init(coder:) has not been implemented\")\n }\n}\n复制代码\n总结\niOS 的初始化最核心两条的规则:\n\n必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)\n便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器\n\n展开而来的多条规则:\n\n无论在 Objective-C 还是 Swift 中,都可以有多个指定初始化器和多个便利指定初始化器。如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器\n无论在 Objective-C 还是 Swift 中,都需要在便利初始化器中调用指定初始化器\n在 Objective-C 中,初始化的时候不需要保证所有属性(成员变量)都有值\n在 Objective-C 中,如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。必须重写旧的定初始化器,在里面调用新的指定初始化器\n在 Swift 中,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值\n在 Swift 中,必须在初始化完成后才能调用实例属性,调用实例方法\n在 Swift 中,如果存在继承,并且子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,那么就需要新创建一个指定初始化器,或者重写父类的指定初始化器,并且在里面调用父类的指定初始化器\n在 Swift 中,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利指定初始化器\n在 Swift 中,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器,那么就不会继承父类的指定初始化器和便利指定初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器\n在 Swift 中,子类可以把父类的指定初始化器重写成便利初始化器\n在 Swift 中,如果子类没有直接继承父类的指定初始化器和便利指定初始化器,则必须实现父类中required修饰的初始化器\n\n参考资料\nInitialization\n"},"Article/App 启动时间:过去,现在和未来.html":{"url":"Article/App 启动时间:过去,现在和未来.html","title":"App 启动时间:过去,现在和未来","keywords":"","body":"\n原文地址 juejin.cn\n本次 WWDC 中,苹果发布了 dyld3.0。Dyld(动态连接器)的更新对 app 的启动速度、安全性等方面有着重大影响。本文介绍了 dyld 的历史和新的 dyld 3.0 所做的优化,以及适配 dyld 3.0 时需要注意的问题。\n\n本篇相关文档和 session 有:\n\nApp Startup Time: Past, Present, and Future\n\n一、如何优化 app 的启动时长\n在本次 session 开始之前,我们需要了解这样几个术语:\n\n启动时间:本次讨论的启动时间,指的是 main() 方法调用之前的时间。\n启动闭包(launch closure):这是一个新引入的概念,指的是 app 在启动期间所需要的所有信息。比如这个 app 使用了哪些动态链接库,其中各个符号的偏移量,代码签名在哪里等等。\n\n如何减少启动时间,最重要的还是尽可能的少做事。比如:尽可能的嵌入更少的动态链接库;尽可能少引入文件、少定义方法;尽可能少执行初始化程序。\n另外,苹果还建议更多使用 Swift。Swift 在设计上能避免很多 C、C++ 和 OC 的陷阱;Swift 没有初始化过程;Swift 也不允许不对齐的结构体。这些都对启动时间的优化有一定帮助。\n在 iOS 11 和 macOS 10.13 中,苹果给 Instruments 增加了一个工具,名叫静态初始化程序跟踪器(Static Initializer Tracing),用于定为 main() 函数调用之前的启动速度瓶颈。 由于这些初始化程序是在 main() 之前调用的,以前我们很难调试它们。而现在,这个工具能提供每一个静态初始化程序的时间,帮助我们找到耗时最长部分。\n\n在 WWDC 2016 中,苹果已经介绍了从 app 启动到 main() 函数执行这之间的工作:app 开始启动后,系统首先加载可执行文件,然后加载动态链接库。动态链接库的加载速度直接影响着 app 的启动速度,而 dyld 就是专门用来加载动态链接库的库。通过回顾 dyld 的发展过程,我们可以看到苹果在 app 启动上做的一系列优化。\n二、Dyld 的历史\nDyld 1.0(1996-2004)\nDyld 1.0 装载于 NeXTStep 3.3,在 dyld 出现之前,NeXT 使用静态的二进制文件。相比于静态的二进制文件,引入动态链接库可以实现代码共用,节约内存和磁盘空间;各个动态链接库的更新变得比较容易,易于库的维护;动态链接库在构建时不需要合并到可执行文件中去,能大大缩减可执行文件的体积。\n但是值得注意的是,在 dyld 1.0 出现时,POSIX dlopen() 还没有被标准化。现在 dlopen() 确实出现在了一部分 Unix 操作系统上,但这是得益于人们在后来适配了专门的扩展程序;而 NeXTStep 开发了与 Unix 不同的扩展程序,所以在 MacOS 10 上,人们必须使用第三方的封装函数来适配标准的 Unix 软件。而问题是,它们的语义并不完全一致,所以会出现一些怪异的边界案例,并且效率很慢。\n并且,dyld 1.0 出现的时候,很多系统还没有使用大型 C++ 动态库,所以 dyld 1.0 在面对一些大型 C++ 库时,动态链接非常慢。\n在 macOS 10.0,苹果开启了一个新的功能:预绑定(prebinding),用于找到系统中每个 dylib 的固定的地址,动态连接器会尝试从这些地址中加载,如果加载成功,就会编辑这些二进制,等到下次他们被放到同样的地址上时,就不需要做任何工作了。这样能大幅优化启动速度,但这意味着二进制文件在每次启动时都被修改,在安全性和其他方面都有隐患。\n\nDyld 2.0(2004-2007)\nDyld 2.0 出现在 macOS Tiger 上,是 dyld 的一次全面重写。它拥有正确的 C++ 语法支持,能对 C++ 库进行高效支持。\nDyld 2.0 完全支持了 dlopen() / dlsym() 语法,也就是说它抛弃了旧时期的接口。Dyld 2.0 是为了效率而设计的,所以在健全性检验上有一些限制。因此它也有安全性问题,所以苹果不断的改进它以适应今天的平台。\n另外,由于 dyld 2.0 在性能有了显著提升,所以 dyld 1.0 中的预绑定被抛弃了。\n\nDyld 2.0 发布至今,苹果对它进行了不断的优化和升级,即迭代出了 dyld 2.x ,其中的优化包括:\n\n不断增加了平台和架构:dyld2 起源于 PowerPC,后来增加了 x86,x86_64,arm,arm64 等架构的支持,并且增加了 iOS,tvOS,watchOS 平台;\n从多个角度增加了安全性,增加了代码签名支持,地址空间配置随机加载(Address space layout randomization)和边界检查;\n提升了性能,因此预绑定被完全废弃了,取而代之的是 shared cache\n\n\nShared cache 是 iOS 3.1 和 macOS Snow Leopard 引入的,它完全取代了预绑定。这是一个包含了大部分系统动态库的文件,正是由于这些都被合入到了一个文件,我们可以做一些优化。比如重新组织 TEXT 段、 DATA 段和整个符号表来缩减大小。它能打包二进制段,因此能节约内存空间。实际上它是一种动态库的预链接。它预先构建了 dyld 和 ObjC 需要的数据结构,这节约了内存和时间。\n三、Dyld 3.0\n今年,苹果发布了 dyld 3.0,dyld 3 是一个全新的动态链接器,它即将成为新的 macOS 和 iOS 上大部分系统 app 的默认动态链接器,在未来也会被用于第三方 app,来完全取代 dyld 2。\n为什么苹果需要引入 dyld 3?核心的理由有三点:性能、安全性和可测试性。什么是理论上启动一个 app 所要完成的最少的任务呢?我们能有更激进的安全性检查么?我们能让 dyld 更便于测试么?这些是苹果一直在思考的问题,也是 dyld 的改革方向。 那么应该如何做到以上这些呢?\n\n尽可能将复杂操作放到进程以外:如果 dyld 中的大部分只是一个常规的 daemon 进程,用标准化的测试工具就可以测试。\n让进程中的需要执行的动态链接操作尽可能少:这样可以减少 app 中能被攻击的部分,并且能提升 app 的启动速度。\n\n在介绍 dyld 3 之前,首先我们来回顾一下 dyld 2 是如何启动一个 app 的:\n\n解析 mach-o 文件,找到其依赖的库,并且递归的找到所有依赖的库,形成一张动态库的依赖图。iOS 上的大部分 app 都依赖 300 到 600 个动态链接库,所以这个步骤包含了较大的工作量。\n匹配 mach-o 文件到自身的地址空间\n进行符号查找:比如 app 中调用了 printf 方法,就需要去系统库中查找到 printf 的地址,然后将地址拷贝到 app 中的函数指针中\n绑定和变基:由于 app 需要让地址空间配置随机加载,所以所有的指针都需要加上一个基地址\n运行初始化程序,之后运行 main() 函数\n\n\n那么这些步骤在性能、安全性和可测试性上应该如何被优化呢?苹果提出了这样两点思路:\n\n识别安全性敏感的组件:解析 mach-o 文件并寻找依赖是安全性敏感的,因为恶意篡改的 mach-o 头部可以进行某些攻击,如果一个 app 使用了 @rpath,那么恶意修改路径或者将一些库插入到特定的地方,攻击者就可以毁坏 app。所以这部分工作需要被搬到进程外来完成,比如搬到一个 daemon 进程中。\n识别可以被缓存的部分:符号查找就是其中一个,因为在一个特定的库中,除非软件更新或者这个库被改变,不然每个符号都应该有固定的偏移量。\n\n以上两点思路也是 dyld 3.0 的优化思路。在 dyld 3.0 中,mach-o 头部解析和符号查找工作完成后,这些执行结果会被作为 “启动闭包(launch closure)” 写入硬盘。\n\n所以我们可以认为 dyld 3.0 是 3 个组件的结合:\n\n一个进程外的 MachO 解析器 / 编译器:它处理了所有可能影响启动速度的 search path,@rpaths 和环境变量;它解析 mach-o 二进制文件,并且完成了所有符号查找的工作;最后它将这些工作的结果创建成了启动闭包。这是一个普通的 daemon 进程,可以使用通常的测试架构。\n一个进程内的引擎,来运行启动闭包:它所做的一切是验证启动闭包,将动态链接库映射出去,然后跳转到 main() 函数中。它不需要解析 mach-o 头部,也不需要做符号查找。\n一个启动闭包缓存服务:系统 app 的启动闭包被构建在一个 shared cache 中,我们甚至不需要打开一个单独的文件;对于第三方 app,我们会在 app 安装或者系统升级的时候构建这个启动闭包。在 iOS,tvOS,watchOS 中,一切都是在 app 启动之前做完的。在 macOS 上,由于有 sideload app,进程内引擎会在首次启动时启动一个 daemon,之后就可以使用启动闭包了。总之大部分情景下,这些工作都在 app 启动之前完成了。\n\n大部分的启动场景都不需要调用这个进程外的 mach-o 解析器。而启动闭包又比 MachO 简单很多,因为它是一个内存映射文件,解析和验证都非常简单,并且经过了良好的性能优化。所以 dyld 3.0 的引入,能让 app 的启动速度得到明显提升。\n从今年开始,系统 app 就将使用 dyld 3.0 了,未来第三方 app 也将会使用 dyld 3,最终 dyld 3 将全面取代 dyld 2。\n四、潜在问题和适配方案\nDyld 3 完全兼容 dyld 2.x,但在一些特殊场景下也可能会有一些潜在问题。在适配时我们需要注意以下几点:\n部分接口的性能\n由于 dyld 3 需要完全兼容 dyld 2.x,所以有些现存接口会进入降级模式,这些接口的执行效率将会特别慢。所以在使用时,我们需要注意避免这样的接口。另外,有些针对于 2.x 的优化将不再起作用。\n更严格的链接语法\n在一些边界条件下,某一些操作的行为在今天看来其实是不正确的,苹果收集了这些案例并且在 dyld 3 中对这些操作进行了改进。这就可能导致 dyld 3 中某些行为的结果和 dyld 2 中不符。苹果对旧的二进制做了一些兼容,但是链接器将会禁止新的二进制使用这些方案,所以可能会出现链接错误。\n需要修正不对齐指针\n如果有一个全局的结构体,它指向一个函数或者另一个全局结构体,那么为了更好的运行性能这个指针必须和系统字长对齐。如果出于某些特殊原因,第三方程序员必须使用 attributes 来强行指定对齐方式,那么系统会在 app 启动时矫正这些不对齐的指针,但矫正是一个复杂的工作。所以静态链接器会产生一个 warning,建议程序员自行修正不对齐的指针。不过 Swift 代码不存在这个问题。\n\n需要解决符号缺失问题\n由于符号解析的开销很大,dyld 2 默认采取的是懒惰的符号解析(lazy symbol resolution)策略。也就是说在二进制文件中,printf 并不指向真正的 printf 函数的地址,首次访问 printf 的时候,其实是访问了 dyld 中的一个方法,这个方法会返回 printf 的函数地址。从第二次访问 printf 开始,app 才会直接访问 printf 函数。\n但是引入了 dyld 3.0 之后,在 app 启动之前,符号解析的结果已经在启动闭包内了,所以 “懒惰的符号解析” 策略也不再被需要。这时,如果有符号缺失的情况,app 的行为也将和 dyld 2.0 时期不同:dyld 2 中,首次调用缺失符号时 app 会 crash;而 dyld 3.0 中,缺失符号会导致 app 一启动就会 crash。\n为了防止切换到 dyld 3.0 时缺失符号造成 app 的启动 crash,苹果提供了一个链接器标志-bind_at_link,在 dyld 2.x 的环境下不做懒惰符号解析,来帮助第三方程序员及时发现符号缺失的问题。当然,由于-bind_at_link会降低 app 的性能,所以这个链接器标志应该只在 DEBUG 模式下使用。\n\n抛弃 dlopen() / dlsym() / dladdr()\n尽可能的不要使用 dlopen() / dlsym() / dladdr() 方法,这些方法在 dyld 3 环境下,性能开销变得更大。\n抛弃 dlclose()\ndlclose() 的名字和它实际的功能是不相符的,在苹果的平台上,它代表的意思其实是 dlrelease,它可能并不会真的关闭 dylib。并且,苹果的平台有一些防止 dylib 卸载的机制,比如如果 dylib 中有 OC 类或者 Swift 类,dylib 就不会卸载;或者如果 dylib 中有 C 的 thread 和 C++ 的 thread_local 变量,dylib 也不会卸载。所以在 macOS 之外的平台,dlclose() 都应该被认为是一个无效的方法。\n抛弃 all_image_infos\nall_image_infos 接口起源于 dyld 1,如果我们有 300、400 个动态链接库,这个方法会浪费大量内存。所以苹果预计在未来的版本中废弃这个方法,同时苹果将会提供相应的替代接口。\n适配方案的最佳实践\n总结一下上述的适配方案,对于第三方程序员来说,我们在编码时应该做到以下几点:\n\n在 DEBUG 模式下,将 -bind_at_load 被添加链接标志符中\n参考静态链接器的警告,修复所有不对齐的指针\n抛弃依赖 dlclose() 方法\n如果必须使用,那么请让苹果知道你为什么需要使用 dlopen()、dlsym()、dladdr()、all_image_infos。\n\nDyld 3 的出现,改变了动态链接的流程,相信 dyld 3 能对 app 的启动速度带来明显优化。但是目前只有系统 app 可以使用 dyld 3,第三方 app 开放使用 dyld 3 预计还得等待一些时日。\n虽然 dyld 3 与 dyld 2 完全兼容,但在一些极端用例下,从 dyld 2 切换到 dyld 3 可能还是会有一些问题,所以各个第三方 app 的开发者也应该对适配有所留意,按照苹果提供的建议进行检查。\n"},"Article/iOSUIResponderChain.html":{"url":"Article/iOSUIResponderChain.html","title":"iOS事件处理,看我就够了~","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 juejin.cn\n\n\nUIResponder\nUIResponder是 iOS 中用于处理用户事件的 API,可以处理触摸事件、按压事件(3D touch)、远程控制事件、硬件运动事件。 可以通过touchesBegan、pressesBegan、motionBegan、remoteControlReceivedWithEvent等方法,获取到对应的回调消息。UIResponder不只用来接收事件,还可以处理和传递对应的事件,如果当前响应者不能处理,则转发给其他合适的响应者处理。\n应用程序通过响应者来接收和处理事件,响应者可以是继承自UIResponder的任何子类,例如UIView、UIViewController、UIApplication等。当事件来到时,系统会将事件传递给合适的响应者,并且将其成为第一响应者。\n第一响应者未处理的事件,将会在响应者链中进行传递,传递规则由UIResponder的nextResponder决定,可以通过重写该属性来决定传递规则。当一个事件到来时,第一响应者没有接收消息,则顺着响应者链向后传递。\n查找第一响应者\n基础 API\n查找第一响应者时,有两个非常关键的API,查找第一响应者就是通过不断调用子视图的这两个API完成的。\n调用方法,获取到被点击的视图,也就是第一响应者。\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;\n复制代码\nhitTest:withEvent:方法内部会通过调用这个方法,来判断点击区域是否在视图上,是则返回YES,不是则返回NO。\n- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;\n复制代码\n查找第一响应者\n应用程序接收到事件后,将事件交给keyWindow并转发给根视图,根视图按照视图层级逐级遍历子视图,并且遍历的过程中不断判断视图范围,并最终找到第一响应者。\n从keyWindow开始,向前逐级遍历子视图,不断调用UIView的hitTest:withEvent:方法,通过该方法查找在点击区域中的视图后,并继续调用返回视图的子视图的hitTest:withEvent:方法,以此类推。如果子视图不在点击区域或没有子视图,则当前视图就是第一响应者。\n在hitTest:withEvent:方法中,会从上到下遍历子视图,并调用subViews的pointInside:withEvent:方法,来找到点击区域内且最上面的子视图。如果找到子视图则调用其hitTest:withEvent:方法,并继续执行这个流程,以此类推。如果子视图不在点击区域内,则忽略这个视图及其子视图,继续遍历其他视图。\n可以通过重写对应的方法,控制这个遍历过程。通过重写pointInside:withEvent:方法,来做自己的判断并返回YES或NO,返回点击区域是否在视图上。通过重写hitTest:withEvent:方法,返回被点击的视图。\n此方法在遍历视图时,忽略以下三种情况的视图,如果视图具有以下特征则忽略。但是视图的背景颜色是clearColor,并不在忽略范围内。\n\n视图的hidden等于 YES。\n视图的alpha小于等于 0.01。\n视图的userInteractionEnabled为 NO。\n\n如果点击事件是发生在视图外,但在其子视图内部,子视图也不能接收事件并成为第一响应者。这是因为在其父视图进行hitTest:withEvent:的过程中,就会将其忽略掉。\n事件传递\n传递过程\n\nUIApplication接收到事件,将事件传递给keyWindow。\nkeyWindow遍历subViews的hitTest:withEvent:方法,找到点击区域内合适的视图来处理事件。\nUIView的子视图也会遍历其subViews的hitTest:withEvent:方法,以此类推。\n直到找到点击区域内,且处于最上方的视图,将视图逐步返回给UIApplication。\n在查找第一响应者的过程中,已经形成了一个响应者链。\n应用程序会先调用第一响应者处理事件。\n如果第一响应者不能处理事件,则调用其nextResponder方法,一直找响应者链中能处理该事件的对象。\n最后到UIApplication后仍然没有能处理该事件的对象,则该事件被废弃。\n\n模拟代码\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {\n if (self.alpha = 0; i--) {\n UIView *subView = subViews[i];\n CGPoint insidePoint = [self convertPoint:point toView:subView];\n UIView *hitView = [subView hitTest:insidePoint withEvent:event];\n if (hitView) {\n return hitView;\n }\n }\n return self;\n }\n return nil;\n}\n复制代码\n示例\n\n如上图所示,响应者链如下:\n\n如果点击UITextField后其会成为第一响应者。\n如果textField未处理事件,则会将事件传递给下一级响应者链,也就是其父视图。\n父视图未处理事件则继续向下传递,也就是UIViewController的View。\n如果控制器的View未处理事件,则会交给控制器处理。\n控制器未处理则会交给UIWindow。\n然后会交给UIApplication。\n最后交给UIApplicationDelegate,如果其未处理则丢弃事件。\n\n事件通过UITouch进行传递,在事件到来时,第一响应者会分配对应的UITouch,UITouch会一直跟随着第一响应者,并且根据当前事件的变化UITouch也会变化,当事件结束后则UITouch被释放。\nUIViewController没有hitTest:withEvent:方法,所以控制器不参与查找响应视图的过程。但是控制器在响应者链中,如果控制器的View不处理事件,会交给控制器来处理。控制器不处理的话,再交给View的下一级响应者处理。\n注意\n\n在执行hitTest:withEvent:方法时,如果该视图是hidden等于 NO 的那三种被忽略的情况,则改视图返回nil。\n如果当前视图在响应者链中,但其没有处理事件,则不考虑其兄弟视图,即使其兄弟视图和其都在点击范围内。\nUIImageView的userInteractionEnabled默认为 NO,如果想要UIImageView响应交互事件,将属性设置为 YES 即可响应事件。\n\n事件控制\n事件拦截\n有时候想让指定视图来响应事件,不再向其子视图继续传递事件,可以通过重写hitTest:withEvent:方法。在执行到方法后,直接将该视图返回,而不再继续遍历子视图,这样响应者链的终端就是当前视图。\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {\n return self;\n}\n复制代码\n事件转发\n在开发过程中,经常会遇到子视图显示范围超出父视图的情况,这时候可以重写该视图的pointInside:withEvent:方法,将点击区域扩大到能够覆盖所有子视图。\n\n假设有上面的视图结构,SuperView的Subview超出了其视图范围,如果点击Subview在父视图外面的部分,则不能响应事件。所以通过重写pointInside:withEvent:方法,将响应区域扩大为虚线区域,包含SuperView的所有子视图,即可让子视图响应事件。\n事件逐级传递\n如果想让响应者链中,每一级UIResponder都可以响应事件,可以在每级UIResponder中都实现touches并调用super方法,即可实现响应者链事件逐级传递。\n只不过这并不包含UIControl子类以及UIGestureRecognizer的子类,这两类会直接打断响应者链。\nGesture Recognizer\n如果有事件到来时,视图有附加的手势识别器,则手势识别器优先处理事件。如果手势识别器没有处理事件,则将事件交给视图处理,视图如果未处理则顺着响应者链继续向后传递。\n\n当响应者链和手势同时出现时,也就是既实现了touches方法又添加了手势,会发现touches方法有时会失效,这是因为手势的执行优先级是高于响应者链的。\n事件到来后先会执行hitTest和pointInside操作,通过这两个方法找到第一响应者,这个在上面已经详细讲过了。当找到第一响应者并将其返回给UIApplication后,UIApplication会向第一响应者派发事件,并且遍历整个响应者链。如果响应者链中能够处理当前事件的手势,则将事件交给手势处理,并调用touches的cancelled方法将响应者链取消。\n在UIApplication向第一响应者派发事件,并且遍历响应者链查找手势时,会开始执行响应者链中的touches系列方法。会先执行touchesBegan和touchesMoved方法,如果响应者链能够继续响应事件,则执行touchesEnded方法表示事件完成,如果将事件交给手势处理则调用touchesCancelled方法将响应者链打断。\n根据苹果的官方文档,手势不参与响应者链传递事件,但是也通过hitTest的方式查找响应的视图,手势和响应者链一样都需要通过hitTest方法来确定响应者链的。在UIApplication向响应者链派发消息时,只要响应者链中存在能够处理事件的手势,则手势响应事件,如果手势不在响应者链中则不能处理事件。\nApple UIGestureRecognizer Documentation\nUIControl\n根据上面的手势和响应者链的处理规则,我们会发现UIButton或者UISlider等控件,并不符合这个处理规则。UIButton可以在其父视图已经添加tapGestureRecognizer的情况下,依然正常响应事件,并且tap手势不响应。\n\n以UIButton为例,UIButton也是通过hitTest的方式查找第一响应者的。区别在于,如果UIButton是第一响应者,则直接由UIApplication派发事件,不通过Responder Chain派发。如果其不能处理事件,则交给手势处理或响应者链传递。\n不只UIButton是直接由UIApplication派发事件的,所有继承自UIControl的类,都是由UIApplication直接派发事件的。\nApple UIControl Documentation\n事件传递优先级\n测试\n为了有依据的推断响应事件的实现和传递机制,我们做以下测试。\n示例 1\n\n假设RootView、SuperView、Button都实现touches方法,并且Button添加buttonAction:的action,点击button后的调用如下。\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\nButton -> hitTest:withEvent:\nButton -> pointInside:withEvent:\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\n\nButton -> touchesBegan:withEvent:\nButton -> touchesEnded:withEvent:\nButton -> buttonAction:\n复制代码\n示例 2\n还是上面的视图结构,我们给RootView加上UITapGestureRecognizer手势,并且通过tapAction:方法接收回调,点击上面的SuperView后,方法调用如下。\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\nButton -> hitTest:withEvent:\nButton -> pointInside:withEvent:\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\n\nRootView -> gestureRecognizer:shouldReceivePress:\nRootView -> gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:\nSuperView -> touchesBegan:withEvent:\nRootView -> gestureRecognizerShouldBegin:\nRootView -> tapAction:\nSuperView -> touchesCancelled:\n复制代码\n示例 3\n\n上面的视图中Subview1、Subview2、Subview3是同级视图,都是SuperView的子视图。我们给Subview1加上UITapGestureRecognizer手势,并且通过subView1Action:方法接收回调,点击上面的Subview3后,方法调用如下。\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\nSubview3 -> hitTest:withEvent:\nSubview3 -> pointInside:withEvent:\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\n\nSubview3 -> touchesBegan:withEvent:\nSubview3 -> touchesEnded:withEvent:\n复制代码\n通过上面的例子来看,虽然Subview1在Subview3的下面,并且添加了手势,点击区域是在Subview1和Subview3两个视图上的。但是由于经过hitTest和pointInside之后,响应者链中并没有Subview1,所以Subview1的手势并没有被响应。\n分析\n根据我们上面的测试,推断 iOS 响应事件的优先级,以及整体的响应逻辑。\n当事件到来时,会通过hitTest和pointInside两个方法,从Window开始向上面的视图查找,找到第一响应者的视图。找到第一响应者后,系统会判断其是继承自UIControl还是UIResponder,如果是继承自UIControl,则直接通过UIApplication直接向其派发消息,并且不再向响应者链派发消息。\n如果是继承自UIResponder的类,则调用第一响应者的touchesBegin,并且不会立即执行touchesEnded,而是调用之后顺着响应者链向后查找。如果在查找过程中,发现响应者链中有的视图添加了手势,则进入手势的代理方法中,如果代理方法返回可以响应这个事件,则将第一响应者的事件取消,并调用其touchesCanceled方法,然后由手势来响应事件。\n如果手势不能处理事件,则交给第一响应者来处理。如果第一响应者也不能响应事件,则顺着响应者链继续向后查找,直到找到能够处理事件的UIResponder对象。如果找到UIApplication还没有对象响应事件的话,则将这次事件丢弃。\n接收事件深度剖析\n在UIApplication接收到响应事件之前,还有更复杂的系统级的处理,处理流程大致如下。\n\n系统通过IOKit.framework来处理硬件操作,其中屏幕处理也通过IOKit完成 (IOKit可能是注册监听了屏幕输出的端口)\n\n当用户操作屏幕,IOKit收到屏幕操作,会将这次操作封装为IOHIDEvent对象。通过mach port(IPC 进程间通信) 将事件转发给SpringBoard来处理。\n\nSpringBoard是 iOS 系统的桌面程序。SpringBoard收到mach port发过来的事件,唤醒main runloop来处理。\n\nmain runloop将事件交给source1处理,source1会调用__IOHIDEventSystemClientQueueCallback()函数。\n\n函数内部会判断,是否有程序在前台显示,如果有则通过mach port将IOHIDEvent事件转发给这个程序。\n\n如果前台没有程序在显示,则表明SpringBoard的桌面程序在前台显示,也就是用户在桌面进行了操作。 __IOHIDEventSystemClientQueueCallback()函数会将事件交给source0处理,source0会调用__UIApplicationHandleEventQueue()函数,函数内部会做具体的处理操作。\n\n例如用户点击了某个应用程序的 icon,会将这个程序启动。\n\n应用程序接收到SpringBoard传来的消息,会唤醒main runloop并将这个消息交给source1处理,source1调用__IOHIDEventSystemClientQueueCallback()函数,在函数内部会将事件交给source0处理,并调用source0的__UIApplicationHandleEventQueue()函数。 在__UIApplicationHandleEventQueue()函数中,会将传递过来的IOHIDEvent转换为UIEvent对象。\n\n在函数内部,调用UIApplication的sendEvent:方法,将UIEvent传递给第一响应者或UIControl对象处理,在UIEvent内部包含若干个UITouch对象。\n\nTips\nsource1是runloop用来处理mach port传来的系统事件的,source0是用来处理用户事件的。 source1收到系统事件后,都会调用source0的函数,所以最终这些事件都是由source0处理的。\n小技巧\n在开发中,有时会有找到当前View对应的控制器的需求,这时候就可以利用我们上面所学,根据响应者链来找到最近的控制器。\n在UIResponder中提供了nextResponder方法,通过这个方法可以找到当前响应环节的上一级响应对象。可以从当前UIView开始不断调用nextResponder,查找上一级响应者链的对象,就可以找到离自己最近的UIViewController。\n示例代码:\n- (UIViewController *)parentController {\n UIResponder *responder = [self nextResponder];\n while (responder) {\n if ([responder isKindOfClass:[UIViewController class]]) {\n return (UIViewController *)responder;\n }\n responder = [responder nextResponder];\n }\n return nil;\n}\n复制代码\n"},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"url":"Article/iOS 代码瘦身实践_ 删除无用的类.html","title":"iOS 代码瘦身实践_ 删除无用的类","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 juejin.cn\n\n本文将提供一种静态分析的方式,用于查找可执行文件 Mach-o 中未使用的类,源码链接:xuezhulian/classunref。\nMach-o文件中__DATA __objc_classrefs段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。\n引用类地址\n可以通过 Mac 自带的工具otool打印Mach-o中的段信息,需要注意的是模拟器和真机对应的可执行文件,数据的存储方式不同需要加以区分。 可以通过file命令获取到arch。\n#binary_file_arch: distinguish Big-Endian and Little-Endian\n#file -b output example: Mach-O 64-bit executable arm64\nbinary_file_arch = os.popen('file -b ' + path).read().split(' ')[-1].strip()\n复制代码\n在取类地址的时候区分x86_64和arm。\ndef pointers_from_binary(line, binary_file_arch):\n line = line[16:].strip().split(' ')\n pointers = set()\n if binary_file_arch == 'x86_64':\n #untreated line example:00000001030cec80 d8 75 15 03 01 00 00 00 68 77 15 03 01 00 00 00\n pointers.add(''.join(line[4:8][::-1] + line[0:4][::-1]))\n pointers.add(''.join(line[12:16][::-1] + line[8:12][::-1]))\n return pointers\n #arm64 confirmed,armv7 arm7s unconfirmed\n if binary_file_arch.startswith('arm'):\n #untreated line example:00000001030bcd20 03138580 00000001 03138878 00000001\n pointers.add(line[1] + line[0])\n pointers.add(line[3] + line[2])\n return pointers\n return None\n复制代码\n通过otool -v -s __DATA __objc_classrefs获取到引用类的地址。\ndef class_ref_pointers(path, binary_file_arch):\n ref_pointers = set()\n lines = os.popen('/usr/bin/otool -v -s __DATA __objc_classrefs %s' % path).readlines()\n for line in lines:\n pointers = pointers_from_binary(line, binary_file_arch)\n ref_pointers = ref_pointers.union(pointers)\n return ref_pointers\n复制代码\n所有类地址\n通过otool -v -s __DATA __objc_classlist获取所有类的地址。\ndef class_list_pointers(path, binary_file_arch):\n list_pointers = set()\n lines = os.popen('/usr/bin/otool -v -s __DATA __objc_classlist %s' % path).readlines()\n for line in lines:\n pointers = pointers_from_binary(line, binary_file_arch)\n list_pointers = list_pointers.union(pointers)\n return list_pointers\n复制代码\n取差集\n用所有类信息减去引用类的信息,此时我们可以拿到未使用类的地址信息。\nunref_pointers = class_list_pointers(path, binary_file_arch) - class_ref_pointers(path, binary_file_arch)\n复制代码\n符号化\n通过nm -nm命令可以得到地址和对应的类名字。\ndef class_symbols(path):\n symbols = {}\n #class symbol format from nm: 0000000103113f68 (__DATA,__objc_data) external _OBJC_CLASS_$_EpisodeStatusDetailItemView\n re_class_name = re.compile('(\\w{16}) .* _OBJC_CLASS_\\$_(.+)')\n lines = os.popen('nm -nm %s' % path).readlines()\n for line in lines:\n result = re_class_name.findall(line)\n if result:\n (address, symbol) = result[0]\n symbols[address] = symbol\n return symbols\n复制代码\n过滤\n在实际分析的过程中发现,如果一个类的子类被实例化,父类未被实例化,此时父类不会出现在__objc_classrefs这个段里,在未使用的类中需要将这一部分父类过滤出去。使用otool -oV可以获取到类的继承关系。\ndef filter_super_class(unref_symbols):\n re_subclass_name = re.compile(\"\\w{16} 0x\\w{9} _OBJC_CLASS_\\$_(.+)\")\n re_superclass_name = re.compile(\"\\s*superclass 0x\\w{9} _OBJC_CLASS_\\$_(.+)\")\n #subclass example: 0000000102bd8070 0x103113f68 _OBJC_CLASS_$_TTEpisodeStatusDetailItemView\n #superclass example: superclass 0x10313bb80 _OBJC_CLASS_$_TTBaseControl\n lines = os.popen(\"/usr/bin/otool -oV %s\" % path).readlines()\n subclass_name = \"\"\n superclass_name = \"\"\n for line in lines:\n subclass_match_result = re_subclass_name.findall(line)\n if subclass_match_result:\n subclass_name = subclass_match_result[0]\n superclass_match_result = re_superclass_name.findall(line)\n if superclass_match_result:\n superclass_name = superclass_match_result[0]\n\n if len(subclass_name) > 0 and len(superclass_name) > 0:\n if superclass_name in unref_symbols and subclass_name not in unref_symbols:\n unref_symbols.remove(superclass_name)\n superclass_name = \"\"\n subclass_name = \"\"\n return unref_symbols\n复制代码\n为了防止一些三方库的误伤,还可以去过滤一些前缀,或者是是仅保留带有某些前缀的类。\nfor unref_pointer in unref_pointers:\n if unref_pointer in symbols:\n unref_symbol = symbols[unref_pointer]\n if len(reserved_prefix) > 0 and not unref_symbol.startswith(reserved_prefix):\n continue\n if len(filter_prefix) > 0 and unref_symbol.startswith(filter_prefix):\n continue\n unref_symbols.add(unref_symbol)\n复制代码\n最终结果保存在脚本目录下。\nscript_path = sys.path[0].strip()\nf = open(script_path+\"/result.txt\",\"w\")\nf.write( \"unref class number: %d\\n\" % len(unref_symbles))\nf.write(\"\\n\")\nfor unref_symble in unref_symbles:\n f.write(unref_symble+\"\\n\")\nf.close()\n复制代码\n这个思路在一定程度上能够减少代码的冗余,减小包的体积。因为是静态分析,不能包括动态调用的情况,对于需要删除的类需要进一步的确认。\n"},"Article/iOSLaunchScreenBug.html":{"url":"Article/iOSLaunchScreenBug.html","title":"深夜暗坑 - iOS启动图异常修复方案","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com\n\n作者:shishu\n审核:gj,zsb,gbn,zjz\n引言\n你是否也碰到了启动图不更新、未加载等异常问题,今天就给大家带来一个终极解决方案。\nDemo 地址:https://github.com/iversonxh/DynamicLaunchImage\n效果图: \n\n一、背景和问题\niOS 启动图相信大家都非常熟悉,版本迭代中不免会遇到更换启动图的需求,本以为这是件很简单的事情,但实际操作时却遇到了各种毫无头绪的异常问题,如启动图不更新、启动图未成功渲染等。\n苹果曾在 2019 年 WWDC 上宣布自 2020 年 4 月起,提交审核的应用都必须使用 storyboard 来配置启动图。而步入 2020 年以来,苹果也多次发布公告要求更换启动图配置方式:\n\n具体可点击链接查看:https://developer.apple.com/news/?id=03262020b\n在此背景下,百度 App 随即开展了相关的更换工作,具体的LaunchScreen.storyboard配置方式不再赘述,我们直接说配置后出现的问题:\n\n启动图未渲染成功,表现为每次启动均为白屏,并且线上也有复现,这是我们遇到的主要问题(该问题我们在某些知名 App 上也有复现);\n\n启动图未能更新,启动后仍展示旧启动图,这个问题相信有不少同学遇到。\n\n\n二、问题分析定位\n首先我们怀疑是配置方式有误、编译缓存等导致的问题,所以针对这些猜测我们做了以下测试:\n\n不同系统、不同机型测试,均有复现,排除该问题只发生在特定机型或系统上;\n\n清空编译缓存,仍旧复现,故排除编译缓存问题;\n\n给imageView添加背景色,启动时正常显示imageView的背景色,但图片内容未显示,故排除了布局问题;\n\n将图片从Assets中迁移至工程根目录下,出现空白启动图概率降低,但仍会偶现;\n\n修改图片名,前几次正常,之后依旧偶现;\n\n卸载应用重新安装,大概率恢复正常,仍复现;\n\n将LaunchScreen.storyboard文件复制到新建的空工程中,仍复现,此时猜测为系统缓存问题;\n\n……\n\n\n经过一系列的测试,我们排除了人为因素、编译问题等可能出现问题的点,最终认定是系统问题导致。\n接着我们想到当启动图出现问题时,系统是否会有一些辅助信息输出呢?果然通过 Mac 控制台应用,虽然没有找到明显的异常信息输出,但是我们从中发现了关于启动图生成的关键信息(以下测试基于iOS13系统,不同系统上表现存在差异)。\n\n我们创建一个空工程,设备方向默认不更改,配置好启动图: \n\n\n在【Edit Scheme】-【``Run】-【Launch】,将其设置为【Wait for the executable to be launched】,接着运行工程,在控制台应用中搜索 SpringBoard 找到如下信息: \n\n从日志中我们了解到,应用安装后,SpringBoard 异步发起截图请求,接着由 SplashBoard.framework 生成截图,最后写入磁盘。\nDemo 中共生成四张截图,分别为对应着浅色主题下竖屏启动图、浅色主题下横屏启动图、深色主题下竖屏启动图、深色主题下横屏启动图,竖 / 横屏截图是否生成由 info.plist 中所支持的设备方向决定。如果在 info.plist 中未勾选任何方向,那么系统会输出 “无法生成启动图,因为当前应用不支持任何有效的方向”,此种情况下系统生成启动图时机为首次启动应用时,大家可以自行实验下。 \n\n相信大家也注意到上图红框中的写入路径(路径较长截图中未能完全显示),查看完整输出如下:\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/573E7FE9-8A15-4E84-A562-F8C4A62EAFBC/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/1FFD332B-EBA0-40C9-8EEE-BEC9AEF7C41A@3x.ktx\n\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/573E7FE9-8A15-4E84-A562-F8C4A62EAFBC/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/96920D11-6312-4D69-BBDB-AFBB52DBDDB3@3x.ktx\n\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/02CCE9FD-5F65-43F4-9D72-A5E0BA0C047E/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/98F7B5B1-5B3B-478B-93A8-ED3DE6492AD1@3x.ktx\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/573E7FE9-8A15-4E84-A562-F8C4A62EAFBC/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/D9D48845-8565-42CE-A834-479CC9CC8BAD@3x.ktx\n\n\n此时看到写入路径正是我们所熟知的沙盒目录,接着我们将应用沙盒目录导出,查看Library目录结构如下:\n├── Caches\n├── Preferences\n└── SplashBoard\n └── Snapshots\n └── baidu.TestLaunchScreen\\ -\\ {DEFAULT\\ GROUP}\n ├── 1FFD332B-EBA0-40C9-8EEE-BEC9AEF7C41A@3x.ktx\n ├── 96920D11-6312-4D69-BBDB-AFBB52DBDDB3@3x.ktx\n ├── 98F7B5B1-5B3B-478B-93A8-ED3DE6492AD1@3x.ktx\n └── D9D48845-8565-42CE-A834-479CC9CC8BAD@3x.ktx\n\n果然,按照控制台中所输出的路径,我们找到了系统生成的启动图文件,其格式为 KTX。\n缓存启动图的文件名具有规则,但其规则我们不得而知。\n\n接着我们点击应用图标启动应用,再次观察控制台应用中输出:\n如图可知,点击应用图标后,SpringBoard找到了一个可用的启动图,无需预热SplashBoard,直接使用可用的启动图。\n\n由以上分析我们知道系统启动应用时会检查当前是否有可用的启动图,所以我们猜想如果当前没有可用的启动图,那么应该会迫使系统重新生成。为此我们清空了缓存启动图,再次冷启应用,果然验证了我们的猜想:\n上图中大致流程为,检测到无可用缓存启动图,预热 SplashBoard,生成新的启动图,并缓存至沙盒目录,而我们在沙盒目录中也找到了新生成的启动图文件。\n\n\n根据以上的分析结果,我们知道应用启动时加载启动图的大致流程:\n\n查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;\n\n根据 LaunchScreen.storyboard 生成新的启动图,并将其缓存至沙盒目录 / Library/SplashBoard/Snapshots/ - {DEFAULT GROUP}/。\n\n\n但系统是如何生成的,调用了什么样的 API,我们无法得知,并且其生成时机也早于我们应用代码可控制时机,也就意味着我们无法控制系统生成启动图的行为,换句话说就是即使我们的 storyboard 文件配置无误,但启动图出现异常可能是无法避免的,所以我们的想法是既然无法从根源上避免启动图异常问题,那么我们是否能够提供补救措施,让其自动恢复正常,下次冷启就显示我们期望的启动图,这样不至于一旦出现异常后后续冷启都异常,对于用户来说也可接受。\n所以接下来我们做了一些尝试来验证是否能够修复我们所遇到的问题:\n\n清空启动图缓存目录,迫使系统重新生成启动图文件,但仍出现白屏问题,方案无效;\n\n是否可以我们自己生成启动图放至缓存目录,让系统认为存在可用的缓存启动图:a. 清空缓存目录,直接放入随意命名的图片,验证无效,系统会在应用下次启动时或应用挂起时,根据应用支持的界面方向及设备当前的方向重新生成对应的启动图;b. 替换缓存启动图文件,即保证该目录下所有子文件名不变,但文件内容全部替换,验证方案有效:替换后冷启效果: \n\n\n接着我们又做了多次测试,得出了以下结论:\n\na. 替换的图片名需与对应的缓存图完全一致,包括文件扩展名,但实际其内容格式可以为 PNG或JPEG。b. 替换的图片大小需与当前屏幕大小一致(图片宽高等于屏幕宽高或高宽),如果不一致,系统会重新生成缓存启动图。\n\n\n\n经过深度调研及不断地分析测试,我们终于得出一个可行方案,那就是替换系统生成的缓存启动图。\n三、解决方案\n最终我们决定直接摒弃系统缓存的启动图,完全替换为我们自己生成的启动图。\n即用户安装应用后,系统会自动生成启动图并缓存至沙盒目录,接着用户启动应用时,我们通过代码将沙盒目录下缓存的启动图文件全部替换为我们通过代码生成的启动图。\n3.1 生成启动图\n对 LaunchScreen.storyboard 的初始视图控制器进行截图,参考以下代码:\nNSString *launchScreenName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@\"UILaunchStoryboardName\"];\nUIStoryboard *storyboard = [UIStoryboard storyboardWithName:launchScreenName bundle:nil];\nUIViewController *vc = storyboard.instantiateInitialViewController;\nUIGraphicsBeginImageContextWithOptions([UIScreen mainScreen].bounds.size, NO, [UIScreen mainScreen].scale);\n[vc.view.layer renderInContext:UIGraphicsGetCurrentContext()];\nUIImage *image = UIGraphicsGetImageFromCurrentImageContext();\n\n3.2 替换启动图\n前面提到替换图片时,需保持缓存目录下文件名不变,所以这里最简单的办法就是遍历缓存目录下的文件名,接着以这些文件名直接写入替换的图片。\n然而当我们按照以上方案初步开发完成,进行多系统验证时,遇到了一个棘手的问题,测试发现方案在iOS10.0及以上工作正常替换成功,但是在iOS9.x及以下系统方案无效。通过断点调试发现调用NSFileManager接口获取缓存目录下的文件名列表为空,再通过观察控制台应用中的输出,发现根本原因是无读取权限:\n\nSandbox: TestLaunchScreen(403) deny(1) file-read-data /private/var/mobile/Containers/Data/Application/E7CB1946-1CB2-48FF-9193-88FCF7848323/Library/Caches/Snapshots/baidu.TestLaunchScreen\n\n接着我们又测试往缓存目录写入文件,发现也无写入权限:\n\nSandbox: TestLaunchScreen(630) deny(1) file-write-create /private/var/mobile/Containers/Data/Application/1C4B15FB-6AE4-444F-96FA-9FC3B84622CD/Library/Caches/Snapshots/baidu.TestLaunchScreen1/test.png\n\n顺带测试了下在 iOS9.x 上删除该缓存目录,发现同样无权限。\n这里也是经过不断调试,找到了如下 API 变相地实现了操作缓存目录,大家可以查看 Demo 体会其作用:\n- (BOOL)moveItemAtPath:(NSString *)srcPath \n toPath:(NSString *)dstPath \n error:(NSError **)error API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));\n\n3.3 横竖屏问题\n大部分非游戏类应用,支持的界面方向都只有竖屏(Portrait),即应用页面不会跟随设备方向旋转,始终以竖屏方向显示。但实际开发时,由于某些特殊需求,我们可能会勾选上横屏(LandScape Left / LandScape Right),虽然我们可以通过代码控制页面不跟随设备方向旋转,但是这会导致系统为应用分别生成横屏和竖屏的启动图,从而导致一个问题:\n\n若用户未开启系统旋转锁定,且横置手机启动应用,这会使得应用启动时显示横屏方向的启动图,而部分应用并未考虑适配横屏场景启动图,从而可能导致该场景下启动图拉伸或压缩等显示异常,比如在 LaunchScreen.storyboard 中仅添加一张背景图,给其设置约束铺满全屏,竖屏时正常显示,但横屏时就异常了。(ps:大家可以关闭系统旋转锁定,参考横屏冷启淘宝及微信的解决方案)有一种解决方案是 info.plist 中 Supported interface orientations 置空,但这解决不了启动图不更新或无法渲染问题。\n\n百度 App 正如上面所描述,我们的产品页面在 iPhone 上不会跟随设备方向旋转,但 iPad 上是需要支持设备方向旋转,所以我们的处理是:\n\n针对 iPhone 上,我们通过代码仅生成竖屏启动图,然后直接替换全部的缓存启动图,即启动时不管设备方向如何,展示的始终为竖屏启动图;\n而针对 iPad 上,我们通过代码同时生成竖屏及横屏启动图,接着分别使用这两张图进行替换,同时在替换时进行校验,只有当替换的启动图与缓存启动图宽高一致时才执行,即竖屏只替换竖屏、横屏只替换横屏。\n\n注意 iPad 上的方案涉及到图片宽高获取,而相信大家阅读到这里也知道了缓存图格式有KTX,但该图片无法直接使用UIImage接口进行加载,这里我们通过多机型、多系统地查看了KTX图片的元数据,发现总结其中的规则,通过取固定段的字节计算其宽高,或直接使用ImageIO相关的接口可以获取其宽高,参考:\n+ (CGSize)getImageSize:(NSData *)imageData {\n CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);\n CGImageRef imageRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);\n CGFloat width = CGImageGetWidth(imageRef);\n CGFloat height = CGImageGetHeight(imageRef);\n CFRelease(imageRef);\n CFRelease(source);\n return CGSizeMake(width, height);\n}\n\n3.4 细节优化\n在初步走通了流程,验证了方案的可行性后,我们开始完善设计整套流程,并且测试其性能消耗。如测试发现从storyboard生成截图较为耗时,为此我们做了一个缓存策略,避免每次都去截图。\n优化后完整流程图如下:\n\n3.5 方案小结\n经历了整个方案从调研到开发完成,以及多机型多系统的测试,我们对缓存启动图在不同系统版本上的表现差异性做了个简单归纳:\n\n缓存路径: \niOS13.0 及以上:Library/SplashBoard/Snapshots/${PRODUCT_BUNDLE_IDENTIFIER} - {DEFAULT GROUP};\niOS13.0 以下:Library/Caches/Snapshots/${PRODUCT_BUNDLE_IDENTIFIER};\n\n\n图片格式: \n iOS10.0 及以上:KTX\n iOS10.0 以下:PNG。\n\n系统缓存图目录读写权限:\n iOS10.0 及以上:有权限;\n iOS10.0 以下:无权限。\n\n\n四、总结\n本方案主要用于解决启动图无法渲染、不更新等异常问题,能够让应用自动恢复正常的启动图,从用户角度来说最坏的情况是首次启动时展示了异常的启动图,但下次冷启时即可展示正常的启动图了,保证了用户体验。\n理论上在本方案基础之上还可升级添加更多产品策略,但这里也忠告大家请勿滥用,并且未来苹果可能会修改该系统机制。\n希望本文能够对碰到此类问题的同学们有所帮助,也欢迎大家对本文指正不足。\n最后给大家奉上苹果爸爸关于启动图的官方文档,其中一段:\n\n呃。。。还是希望苹果爸爸能够 “完善” 这个问题。\n"},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"url":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","title":"抖音品质建设 - iOS 启动优化《原理篇》","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com\n\n前言\n启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。\n本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍 IPA 构建的基本流程,以及这个流程里可用于启动优化的点;最后大篇幅讲解 dyld3 的启动 pipeline,因为启动优化的重点还在运行时。\n基本概念\n启动的定义\n启动有两种定义:\n\n广义:点击图标到首页数据加载完毕\n\n狭义:点击图标到 Launch Image 完全消失第一帧\n\n\n不同产品的业务形态不一样,对于抖音来说,首页的数据加载完成就是视频的第一帧播放;对其他首页是静态的 App 来说,Launch Image 消失就是首页数据加载完成。由于标准很难对齐,所以我们一般使用狭义的启动定义:即启动终点为启动图完全消失的第一帧。\n以抖音为例,用户感受到的启动时间:\n\nTips:启动最佳时间是 400ms 以内,因为启动动画时长是 400ms。\n\n这是从用户感知维度定义启动,那么代码上如何定义启动呢?Apple 在 MetricKit 中给出了官方计算方式:\n\n起点:进程创建的时间\n\n终点:第一个CA::Transaction::commit()\n\n\n\nTips:CATransaction 是 Core Animation 提供的一种事务机制,把一组 UI 上的修改打包,一起发给 Render Server 渲染。\n\n启动的种类\n根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。\n\n冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动 App\n\n热启动:如果把 App 进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在\n\n回前台:大多数时候不会被定义为启动,因为此时 App 仍然活着,只不过处于 suspended 状态\n\n\n那么,线上用户的冷启动多还是热启动多呢?\n答案是和产品形态有关系,打开频次越高,热启动比例就越高。\nMach-O\nMach-O 是 iOS 可执行文件的格式,典型的 Mach-O 是主二进制和动态库。Mach-O 可以分为三部分:\n\nHeader\n\nLoad Commands\n\nData\n\n\nHeader 的最开始是 Magic Number,表示这是一个 Mach-O 文件,除此之外还包含一些 Flags,这些 flags 会影响 Mach-O 的解析。\nLoad Commands 存储 Mach-O 的布局信息,比如 Segment command 和 Data 中的 Segment/Section 是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动 App 需要的信息。\nData 部分包含了实际的代码和数据,Data 被分割成很多个 Segment,每个 Segment 又被划分成很多个 Section,分别存放不同类型的数据。\n标准的三个 Segment 是 TEXT,DATA,LINKEDIT,也支持自定义:\n\nTEXT,代码段,只读可执行,存储函数的二进制代码 (text),常量字符串 (cstring),Objective C 的类 / 方法名等信息\n\nDATA,数据段,读写,存储 Objective C 的字符串 (__cfstring),以及运行时的元数据:class/protocol/method…\n\nLINKEDIT,启动 App 需要的信息,如 bind & rebase 的地址,代码签名,符号表…\n\n\ndyld\ndyld 是启动的辅助程序,是 in-process 的,即启动的时候会把 dyld 加载到进程的地址空间里,然后把后续的启动过程交给 dyld。dyld 主要有两个版本:dyld2 和 dyld3。\ndyld2 是从 iOS 3.1 引入,一直持续到 iOS 12。dyld2 有个比较大的优化是 dyld shared cache[1],什么是 shared cache 呢?\n\nshared cache 就是把系统库 (UIKit 等) 合成一个大的文件,提高加载性能的缓存文件。\n\niOS 13 开始 Apple 对三方 App 启用了 dyld3,dyld3 的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。\n虚拟内存\n内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。\n物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。iPhone 6s 开始,物理内存的 Page 大小是 16K,6 和之前的设备都是 4K,这是 iPhone 6 相比 6s 启动速度断崖式下降的原因之一。\nmmap\nmmap 的全称是 memory map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:File Backed Page In,把对应的文件内容读入物理内存。\n启动的时候,Mach-O 就是通过 mmap 映射到虚拟内存里的 (如下图)。下图中部分页被标记为 zero fill,是因为全局变量的初始值往往都是 0,那么这些 0 就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在 Page In 之后对其置为 0,这个行为叫做 zero fill。\nPage In\n启动的路径上会触发很多次 Page In,其实也比较容易理解,因为启动的会读写二进制中的很多内容。Page In 会占去启动耗时的很大一部分,我们来看看单个 Page In 的过程:\n\nMMU 找到空闲的物理内存页面\n\n触发磁盘 IO,把数据读入物理内存\n\n如果是 TEXT 段的页,要进行解密\n\n对解密后的页,进行签名验证\n\n\n其中解密是大头,IO 其次。为什么要解密呢?\n因为 iTunes Connect 会对上传 Mach-O 的 TEXT 段进行加密,防止 IPA 下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做 “砸壳”,砸的就是这一层 TEXT 段加密。iOS 13 对这个过程进行了优化,Page In 的时候不需要解密了。\n二进制重排\n既然 Page In 耗时,有没有什么办法优化呢?\n启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以 Page In 读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少 Page In 的次数,从而优化启动时间:\n以下图为例,方法 1 和方法 3 是启动的时候用到的,为了执行对应的代码,就需要两次 Page In。假如我们把方法 1 和 3 排列到一起,那么只需要一次 Page In,从而提升启动速度。链接器 ld 有个参数 - order_file 支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案 APP 启动速度提升超 15%。\nIPA 构建\npipeline\n既然要构建,那么必然会有一些地方去定义如何构建,对应 Xcode 中的两个配置项:\n\nBuild Phase:以 Target 为维度定义了构建的流程。可以在 Build Phase 中插入脚本,来做一些定制化的构建,比如 CocoaPod 的拷贝资源就是通过脚本的方式完成的。\n\nBuild Settings:配置编译和链接相关的参数。特别要提到的是 other link flags 和 other c flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的 CocoaPod 做的组件化,这时候编译选项在对应的. xcconfig 文件里。\n\n\n以单 Target 为例,我们来看下构建流程:\n\n源文件 (.m/.c/.swift 等) 是单独编译的,输出对应的目标文件(.o)\n\n目标文件和静态库 / 动态库一起,链接出最后的 Mach-O\n\nMach-O 会被裁剪,去掉一些不必要的信息\n\n资源文件如 storyboard,asset 也会编译,编译后加载速度会变快\n\nMach-O 和资源文件一起,打包出最后的. app\n\n对. app 签名,防篡改\n\n\n编译\n编译器可以分为两大部分:前端和后端,二者以 IR(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。C 语言家族的前端是 clang,swift 的前端是 swiftc,二者的后端都是 llvm。\n\n前端负责预处理,词法语法分析,生成 IR\n\n后端基于 IR 做优化,生成机器码\n\n\n那么如何利用编译优化启动速度呢?\n代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用 LLVM 插桩来实现。LLVM 的代码优化流程是一个一个 Pass,由于 LLVM 是开源的,我们可以添加一个自定义的 Pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了 。\nFacebook 给 LLVM 提的 order_file[2] 的 feature 就是实现了类似的插桩。\n链接\n经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个 Mach-O。链接的过程并不产生新的代码,只会做一些移动和补丁。\n\ntbd 的全称是 text-based stub library,是因为链接的过程中只需要符号就可以了,所以 Xcode 6 开始,像 UIKit 等系统库就不提供完整的 Mach-O,而是提供一个只包含符号等信息的 tbd 文件。\n\n举一个基于链接优化启动速度的例子:\n最开始讲解 Page In 的时候,我们提到 TEXT 段的页解密很耗时,有没有办法优化呢?\n可以通过 ld 的 - rename_section,把 TEXT 段中的内容,比如字符串移动到其他的段 (启动路径上难免会读很多字符串),从而规避这个解密的耗时。抖音的重命名方案:\n\"-Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring\",\n\"-Wl,-rename_section,__TEXT,__const,__RODATA,__const\", \n\"-Wl,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab\", \n\"-Wl,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname\", \n\"-Wl,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname\",\n\"-Wl,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype\"\n裁剪\n编译完 Mach-O 之后会进行裁剪 (strip),是因为里面有些信息,如调试符号,是不需要带到线上去的。裁剪有多种级别,一般的配置如下:\n\nAll Symbols,主二进制\n\nNon-Global Symbols,动态库\n\nDebugging Symbols,二方静态库\n\n\n为什么二方库在出静态库的时候要选择 Debugging Symbols 呢?是因为像 order_file 等链接期间的优化是基于符号的,如果把符号裁剪掉,那么这些优化也就不会生效了。\n签名 & 上传\n裁剪完二进制后,会和编译好的资源文件一起打包成. app 文件,接着对这个文件进行签名。签名的作用是保证文件内容不多不少,没有被篡改过。接着会把包上传到 iTunes Connect,上传后会对__TEXT段加密,加密会减弱 IPA 的压缩效果,增加包大小,也会降低启动速度(iOS 13 优化了加密过程,不会对包大小和启动耗时有影响)。\ndyld3 启动流程\nApple 在 iOS 13 上对第三方 App 启用了 dyld3,官方数据 [3] 显示,过去四年新发布的设备中有 93% 的设备是 iOS 13,所以我们重点看下 dyld3 的启动流程。\nBefore dyld\n用户点击图标之后,会发送一个系统调用 execve 到内核,内核创建进程。接着会把主二进制 mmap 进来,读取 load command 中的 LC_LOAD_DYLINKER,找到 dyld 的的路径。然后 mmap dyld 到虚拟内存,找到 dyld 的入口函数_dyld_start,把 PC 寄存器设置成_dyld_start,接下来启动流程交给了 dyld。\n注意这个过程都是在内核态完成的,这里提到了 PC 寄存器,PC 寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取 PC 寄存器来完成的。\ndyld\n创建启动闭包\ndyld 会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新 / 下载 App 的第一次启动才会创建。闭包存储在沙盒的 tmp/com.apple.dyld 目录,清理缓存的时候切记不要清理这个目录。\n闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:\n\ndependends,依赖动态库列表\n\nfixup:bind & rebase 的地址\n\ninitializer-order:初始化调用顺序\n\noptimizeObjc: Objective C 的元数据\n\n其他:main entry, uuid…\n\n\n动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是 libSystem,因为他是所有依赖的源头。\n\n为什么闭包能提高启动速度呢?\n因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是 Objective C 的运行时数据(Class/Method**…)解析非常**慢。\nfixup\n有了闭包之后,就可以用闭包启动 App 了。这时候很多动态库还没有加载进来,会首先对这些动态库 mmap 加载到虚拟内存里。接着会对每个 Mach-O 做 fixup,包括 Rebase 和 Bind。\n\nRebase:修复内部指针。这是因为 Mach-O 在 mmap 到虚拟内存的时候,起始地址会有一个随机的偏移量 slide,需要把内部的指针指向加上这个 slide。\n\nBind:修复外部指针。这个比较好理解,因为像 printf 等外部函数,只有运行时才知道它的地址是什么,bind 就是把指针指向这个地址。\n\n\n举个例子:一个 Objective C 字符串 @\"1234\",编译到最后的二进制的时候是会存储在两个 section 里的\n\n__TEXT,__cstring,存储实际的字符串 \"1234\"\n\n__DATA,__cfstring,存储 Objective C 字符串的元数据,每个元数据占用 32Byte,里面有两个指针:内部指针,指向__TEXT,__cstring中字符串的位置;外部指针 isa,指向类对象的,这就是为什么可以对 Objective C 的字符串字面量发消息的原因。\n\n\n如下图,编译的时候,字符串 1234 在__cstring的 0x10 处,所以 DATA 段的指针指向 0x10。但是 mmap 之后有一个偏移量 slide=0x1000,这时候字符串在运行时的地址就是 0x1010,那么 DATA 段的指针指向就不对了。Rebase 的过程就是把指针从 0x10,加上 slide 变成 0x1010。运行时类对象的地址已经知道了,bind 就是把 isa 指向实际的内存地址。\nLibSystem Initializer\nBind & Rebase 之后,首先会执行 LibSystem 的 Initializer,做一些最基本的初始化:\n\n初始化 libdispatch\n\n初始化 objc runtime,注册 sel,加载 category\n\n\n注意这里没有初始化 objc 的类方法等信息,是因为启动闭包的缓存数据已经包含了 optimizeObjc。\nLoad & Static Initializer\n接下来会进行 main 函数之前的一些初始化,主要包括 + load 和 static initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在 + load 里,对应会有一些地方读取这些注册的数据,如果在 + load 中读取,很有可能读取的时候还没有注册。\n那么,如何找到代码里有哪些 load 和 static initializer 呢?\n在 Build Settings 里可以配置 write linkmap,这样在生成的 linkmap 文件里就可以找到有哪些文件里包含 load 或者 static initializer:\n\n__mod_init_func,static initializer\n\n__objc_nlclslist,实现 + load 的类\n\n__objc_nlcatlist,实现 + load 的 Category\n\n\nload 举例\n如果 + load 方法里的内容很简单,会影响启动时间么?比如这样的一个 + load 方法?\n+ (void)load { printf(\"1234\"); }\n编译完了之后,这个函数会在二进制中的 TEXT 两个段存在:__text存函数二进制,cstring存储字符串 1234。为了执行函数,首先要访问__text触发一次 Page In 读入物理内存,为了打印字符串,要访问__cstring,还会触发一次 Page In。\n\n为了执行这个简单的函数,系统要额外付出两次 Page In 的代价,所以 load 函数多了,page in 会成为启动性能的瓶颈。\n\n\nstatic initializer 产生的条件\n静态初始化是从哪来的呢?以下几种代码会导致静态初始化\n\n__attribute__((constructor))\n\nstatic class object\n\nstatic object in global namespace\n\n\n注意,并不是所有的 static 变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接 inline。\n//会产生静态初始化\nclass Demo{ \nstatic const std::string var_1; \n};\nconst std::string var_2 = \"1234\"; \nstatic Logger logger;\n//不会产生静态初始化\nstatic const int var_3 = 4; \nstatic const char * var_4 = \"1234\";\nstd::string 会合成 static initializer 是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~\nUIKit Init\n+load 和 static initializer 执行完毕之后,dyld 会把启动流程交给 App,开始执行 main 函数。main 函数里要做的最重要的事情就是初始化 UIKit。UIKit 主要会做两个大的初始化:\n\n初始化 UIApplication\n\n启动主线程的 Runloop\n\n\n由于主线程的 dispatch_async 是基于 runloop 的,所以在 + load 里如果调用了 dispatch_async 会在这个阶段执行。\nRunloop\n线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,Runloop 就是实现这个功能的。\nRunloop 本质上是一个While 循环,在图中橙色部分的 mach_msg_trap 就是触发一个系统调用,让线程休眠,等待事件到来,唤醒 Runloop,继续执行这个 while循环。\nRunloop 主要处理几种任务:Source0,Source1,Timer,GCD MainQueue,Block。在循环的合适时机,会以 Observer 的方式通知外部执行到了哪里。那么,Runloop 与启动又有什么关系呢?\n\nApp 的 LifeCycle 方法是基于 Runloop 的 Source0 的\n\n首帧渲染是基于 Runloop Block 的\n\n\nRunloop 在启动上主要有几点应用:\n\n精准统计启动时间\n\n找到一个时机,在启动结束去执行一些预热任务\n\n利用 Runloop 打散耗时的启动预热任务\n\n\n\nTips : 会有一些逻辑要在启动之后 delay 一小段时间再回到主线程上执行,对于性能较差的设备,主线程 Runloop 可能一直处于忙的状态,所以这个 delay 的任务并不一定能按时执行。\n\nAppLifeCycle\nUIKit 初始化之后,就进入了我们熟悉的 UIApplicationDelegate 回调了,在这些会调里去做一些业务上的初始化:\n\nwillFinishLaunch\n\ndidFinishLaunch\n\ndidFinishLaunchNotification\n\n\n要特别提一下 didFinishLaunchNotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到 UI 渲染里。\nFirst Frame Render\n一般会用 Root Controller 的 viewDidApper 作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,Apple 在 MetricsKit 里对启动终点定义是第一个CA::Transaction::commit()。\n什么是 CATransaction 呢?我们先来看一下渲染的大致流程\n\niOS 的渲染是在一个单独的进程 RenderServer 做的,App 会把 Render Tree 编码打包给 RenderServer,RenderServer 再调用渲染框架 (Metal/OpenGL ES) 来生成 bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。CATransaction 就是把一组 UI 上的修改,合并成一个事务,通过 commit 提交。\n渲染可以分为四个步骤\n\nLayout(布局),源头是 Root Layer 调用[CALayer layoutSubLayers],这时候 UIViewController 的 viewDidLoad 和 LayoutSubViews 会调用,autolayout 也是在这一步生效\n\nDisplay(绘制),源头是 Root Layer 调用[CALayer display],如果 View 实现了 drawRect 方法,会在这个阶段调用\n\nPrepare(准备),这个过程中会完成图片的解码\n\nCommit(提交),打包 Render Tree 通过 XPC 的方式发给 Render Server\n\n\n\n启动 Pipeline\n详细回顾下整个启动过程,以及各个阶段耗时的影响因素:\n\n\n点击图标,创建进程\n\nmmap 主二进制,找到 dyld 的路径\n\nmmap dyld,把入口地址设为_dyld_start\n\n重启手机 / 更新 / 下载 App 的第一次启动,会创建启动闭包\n\n把没有加载的动态库 mmap 进来,动态库的数量会影响这个阶段\n\n对每个二进制做 bind 和 rebase,主要耗时在 Page In,影响 Page In 数量的是 objc 的元数据\n\n初始化 objc 的 runtime,由于闭包已经初始化了大部分,这里只会注册 sel 和装载 category\n\n+load 和静态初始化被调用,除了方法本身耗时,这里还会引起大量 Page In\n\n初始化 UIApplication,启动 Main Runloop\n\n执行 will/didFinishLaunch,这里主要是业务代码耗时\n\nLayout,viewDidLoad 和Layoutsubviews 会在这里调用,Autolayout 太多会影响这部分时间\n\nDisplay,drawRect 会调用\n\nPrepare,图片解码发生在这一步\n\nCommit,首帧渲染数据打包发给 RenderServer,启动结束\n\n\ndyld2\ndyld2 和 dyld3 的主要区别就是没有启动闭包,就导致每次启动都要:\n\n解析动态库的依赖关系\n\n解析 LINKEDIT,找到 bind & rebase 的指针地址,找到 bind 符号的地址\n\n注册 objc 的 Class/Method 等元数据,对大型工程来说,这部分耗时会很长\n\n\n总结\n本文回顾了 Mach-O,虚拟内存,mmap,Page In,Runloop 等基础概念,接下来介绍了 IPA 的构建流程,以及两个典型的利用编译器来优化启动的方案,最后详细的讲解了 dyld3 的启动 pipeline。\n之所以花这么大篇幅讲原理,是因为任何优化都一样,只有深入理解系统运作的原理,才能找到性能的瓶颈,下一篇我们会介绍下如何利用这些原理解决实际问题,欢迎关注~\n加入我们\n我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程 / 业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能 / 稳定性等方面不断探索,努力为全球数亿用户提供最极致的基础体验。\n如果你对技术充满热情,欢迎加入抖音基础技术团队,让我们共建亿级全球化 App。目前我们在上海、北京、杭州、深圳均有招聘需求,内推可以联系邮箱: tech@bytedance.com ;邮件标题: 姓名 - 工作年限 - 抖音 - 基础技术 - iOS/Android 。\n相关链接\n1. dyld shared cache\nhttp://iphonedevwiki.net/index.php/Dyld_shared_cache\n2. order_file\nhttp://lists.llvm.org/pipermail/llvm-dev/2019-January/129268.html\n3. https://developer.apple.com/support/app-store/\n更多分享\niOS 性能优化实践:头条抖音如何实现 OOM 崩溃率下降 50%+\n字节跳动全链路压测 (Rhino) 的实践\nFastbot:行进中的智能 Monkey\n今日头条品质优化 - 图文详情页秒开实践\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["&","1.","1.app启动过程","10.osi","2.","2.cocoapods原理总结","2.设计模式","3.","3.内联函数,与宏的区别","4.","4.单链表与顺序结构","4次挥手过程详解","5.","5.static区别","6.","7.","8.","9.","c作为m和v之间的连接,","c则是控制器.","c还需要及时提交相应更新到界面展示.","http","introduct","io","mvc","mvc因其复用性,","mvc最早存在于桌面程序中的,","m是指业务数据,","post","roadmap","socket","tcp/udp区别以及udp如何实现可靠传输","v是指用户界面,","↓","《图解http》知识点摘录","一些推荐阅读","一次完整的http请求所经历的7个步骤","什么是http协议无状态协议?怎么解决http协议无状态协议?","什么是mvc?","传送门","区别","另外,","和","因为m和v之间是完全隔离的,","在上述过程中,","在具体的业务场景中,","在数据有所更新时,","复用已有的m和v便可快速搭建新的业务场景.","大大提高了开发效率,","所以在业务场景切换时,","更多博文可看传送门","有什么关系和区别","杂乱知识点","架构方面","消息发送与转发详解","然后将处理后的数据输出到界面上做相应展示,","现已被广泛应用在各端开发中。","简述tcp的三次握手过程","网络","设计模式","负责获取输入的业务数据,","通常只需要替换相应的c,","链接"],"iOS/ReadME.html":["1.","2.oc语言基础","3.runtim","4.block","5.runloop","6.memory内存管理","7.","8.thread","autoreleasepool","ios技术总结","ui视图"],"iOS/UIKit/UIResponder.html":["\");","(bool)pointinside:(cgpoint)point","(uiview","(void)touchesbegan:(nsset","(void)touchescancelled:(nsset","(void)touchesended:(nsset","(void)touchesmoved:(nsset","*","*)event","*)hittest:(cgpoint)point","*)touch",",继续遍历","...","//判断点击位置是否在当前范围内","//指定想要响应事件的","//控制响应的范围,扩大","//返回最终响应的事件","1.","1.app进程的mach","2.","2.source1回调又触发了一个source0回调,将接收到的iohidevent对象封装成uievent对象,此时app将正式开始对于触摸事件的响应。","3.","3.source0回调内部将触摸事件添加到uiapplication对象的事件队列中。事件出队后,uiapplication开始一个寻找最佳响应者的过程,这个过程又称hit","4.寻找到最佳响应者后,接下来的事情便是事件在响应链中的传递及响应了,关于响应链相关的内容详见[事件的响应及在响应链中的传递]一节。事实上,事件除了被响应者消耗,还能被手势识别器或是target","5.触摸事件历经坎坷后要么被某个响应对象捕获后释放,要么致死也没能找到能够响应的对象,最终释放。至此,这个触摸事件的使命就算终结了。runloop若没有其他事件需要处理,也将重归于眠,等待新的事件到来后唤醒。","=",">","[super","a_view","action模式捕捉并消耗掉。其中涉及对触摸事件的响应优先级","alpha","appdeleg","applic","app响应阶段","aview,","b","bool","c,","c_view","control","cview","d","d_view","e","e_view","example:","first","hidden","hit","hittest","hittest:point","hittest:withevent:","hittest:withevent:和pointinside:withevent:方法寻找出操作初始点所在视图。查找最合适的view的过程是一个递归的过程。","hittestview:%@\",view);","hittestview:(null)","hittestview:>","io","iokit将触摸事件封装成一个iohidevent对象,并通过mach","ios事件处理,看我就够了~","ios触摸事件全家桶","isinsid","isinside:%d\",isinside);","isinside:0","isinside:1","isinside;","mach","nil","no,hittest","no,禁止用户操作的视图.","nslog(@\"a_touchesbegan\");","nslog(@\"a_touchescancelled\");","nslog(@\"a_touchesended\");","nslog(@\"a_touchesmoved\");","nslog(@\"a_view","nslog(@\"离开a_view","nslog(@\"进入a_view","pointinsid","pointinside:point","pointinside检测到该","pointinside返回","port","port传递给springboard进程。","port接受到springboard进程传递来的触摸事件,主线程的runloop被唤醒,触发了source1回调。","refer","respons","response(第一响应者),指的是当前接受触摸的响应者对象,是响应者的开端。响应者链和事件分发的使命都是找出第一响应者。","return","root","springboard.app","springboard进程因接收到触摸事件,触发了主线程runloop的source1事件源的回调。","subview","subviews)","super","test","touchesbegan:touch","touchescancelled:touch","touchesended:touch","touchesmoved:touch","uiapplic","uievent","uiview","uiwindow","ui触摸事件与事件响应","userinteractionen","view","view,","view;","viewcontroller(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top","view。","view)到窗口(uiwindow","window","withev","withevent:(nul","withevent:(uiev","withevent:event];","yes,隐藏的视图.","{","}","。接下来如上面","一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象","不是触点view,则","与","中的方法:","事件传递","事件响应链","事件机制","事件的主要由:响应连","事件的生命周期","什么是","从底到高传递事件(addsubview顺序倒序遍历","从逻辑上来说,探测链是最先发生的机制,当触摸事件发生后,io","以下的触摸事件更底层的解释:","传递链","传递链:有系统向最上层view传递,appl","倒序下一个,如此反复,直到遍历到最后","其中uiview不接受事件处理的情况有","原生触摸事件从","后的","和","响应者链是由一个不同对象组成的层次结构,其中的每个对象将依次获得响应事件的机会。当发生事件时,事件首先将被发送到第一响应者,第一响应者基本是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并作出处理。","响应连:由最基础的view向系统传递,first","基本上,在响应者链只要有对象处理事件,事件就停止传递。","如log,","如上图,最底层有一个","如果在","对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。","对象)再到程序(uiapplic","对象,并放入当前活动application的事件队列中去。接下来开始自uiapplication往下传递,首先会传递给主window,然后按照view的层级结构一层层往下传递,一直找到最合适的view(发生touch的那个view)来处理事件。查找最合适的view的过程是一个递归的过程,其中涉及到两个重要的方法","开始,沿着响应链从上向下进行传递。","当事件发生了,必须知道有谁来响应。在ios中,由响应者链来对事件进行响应。","当我们点击屏幕时候的事件传递","当指尖触碰屏幕的那一刻,一个触摸事件就在系统中生成了。经过ipc进程间通信,事件最终被传递到了合适的应用。在应用内历经峰回路转的奇幻之旅后,最终被释放。大致经过如下图:","手指触碰屏幕,屏幕感应到触碰后,将事件交由iokit处理。","按顺序添加","方法沿视图层级树从底向上(从根视图开始)从后向前(从逻辑上更靠近屏幕的视图开始)进行遍历,最终返回一个适合响应触摸事件的","是一个系统进程,可以理解为桌面系统,可以统一管理和分发系统接收到的触摸事件。","更好的原理解析如下:","来响应。","来确定触摸事件发生在哪个视图对象上。其中主要用到了两个","构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的uirespons","检测到手指触摸操作(touch)时,会将其打包成一个","此时springboard会根据当前桌面的状态,判断应该由谁处理此次触摸事件。因为事件发生时,你可能正在桌面上翻页,也可能正在刷微博。若是前者(即前台无app运行),则触发springboard本身主线程runloop的source0事件源的回调,将事件交由桌面系统去消耗;若是后者(即有app正在前台运行),则将触摸事件通过ipc传递给前台app进程,接下来的事情便是app内部对于触摸事件的响应了。","比如点击的是","注意和事件传递是倆概念!!!!","深入理解","点击","的事件响应链机制?","的子view","的解释","离开a_view","离开c_view","离开d_view","离开e_view","系统响应阶段","系统根据","系统通过","缩小。","要么至死也没能找到能够响应的对象,最终释放。","详细触摸事件","返回nil","返回的","进入a_view","进入c_view","进入d_view","进入e_view","进程端口,各进程之间通过它进行通信。","递归执行hittest",",可以指派","="],"iOS/UIKit/UIOffScreenRendering.html":["(gpu","(masktobound",",","9",">","buffer","buffer,","cliptobound","color","command","debug","frame","gpu","io","ios9后,","layer","layer依次画好,","maketobound","opengl","reference:","render","screen","ui","view","yes,","不设置背景色","中,","中。","为","为什么会产生离屏渲染?","为何要避免离屏渲染","之后再写入到","产生了离屏渲染,但是","什么是离屏渲染?","以及他的子","但是这时的","何时触发","先把父","光栅化","光栅化(rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。(应用:较为广泛的应用于深度学习卷积神经网络的结构中)","关于","具体可以看下面的例子),","内容需要添加圆角和裁切,所以可以不需要用到离屏渲染技术。但如果加上了背景色、边框或其他有图像内容的图层,就会产生为","再把结果放到","则通过设置","单层","可以理解为,因为只有","可以通过设置","同时使用)","因为父","图层蒙版","圆角+masktobound","圆角+masktobounds,","圆角(当和","在触发离屏渲染时候,会增加gpu工作量,增加gpu工作量,可能会导致gpu和cpu工作耗时的总耗时超出vsync信号(16.7毫秒)时间,导致ui卡顿或者掉帧。","多层","容器的子控件在渲染的过程中,","就可能触发离屏渲染。","就开始渲染,","已经被渲染完成而子","开辟独立于","当我们要在屏幕上显示内容,","当设置某些ui图层属性时候,如果指定为被未预合成之前,不能直接显示在屏幕上的时候,就触发了离屏渲染。","或者","所以系统就不得不去","所以这个过程就没办法实现了","探索","提交一个命令到","是不会触发离屏渲染(单层情况下)","是被裁剪过的,","最后将渲染结果放到","来作为数据存储区域","来打开离屏渲染检测","检测离屏渲染","模拟器","正常的情况下,","没有办法进行统一裁剪,","添加圆角和裁切,所以还是会触发离屏渲染。","渲染结果存储的地方)。但是此时出现了特殊情况导致渲染结果无法直接写入","然后合并到一起进行裁剪,","然后设置了背景颜色,","父","的优化后:","的内存,","的内容裁剪成圆角","的区域","的区域就是触发了","的卡顿和掉帧","的额外开销,那么可能就会导致","真机","离屏渲染","离屏渲染。","离屏渲染会创建新的渲染缓冲区,导致内存上的开销,有多通道渲染管线,最终要把多通道的渲染结果进行合成,所有会有上下文的切换,就有","离屏渲染发生在gpu层面上,因为离屏渲染使gpu触发opengl多通道渲染管线,产生额外开销,所以要避免。","离屏渲染是基于gpu层面上的,指gpu在当前屏幕缓冲区外开辟了一个缓冲区,进行渲染操作。","而是需要先暂存到另外的区域进行处理,","背景色不是透明,","至少需要一块与屏幕像素数据量一样大的","还在队列中,","这就是为什么需要离屏渲染。","这种情况就称之为","这里如果想要绘制一个带有圆角并剪切圆角的容器","那么也需要被裁剪;","阴影","随后","颜色呈现","首先将","黄色"],"iOS/UIKit/UIViewRender.html":["(juejin.cn)","(即将退出loop)","(注:","*","1.","1/60","1、app从点击屏幕到完成渲染,中间发生了什么?","1)代理负责生产对应的","2.","2、当一个","2)设置","3.","3.1","3.2","3个阶段方法;不同方法在不同周期会刷新布局显示出来。","4.","4096,一旦超过这个尺寸就会调用cpu进行资源处理,所以纹理尽量不要超过这个尺寸","5.","6.","60","7.","=","[calay","[calyer","[layer.deleg","[uiview","[view","[view.lay","[渲染原理]当你被问到下面问题,你能够回答出来么?","[译]","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()。这个函数里会遍历所有待处理的","anim","applic","autolayout比frame更消耗资源","back","beforewaiting(即将进入休眠)","bitmap","bitmap(通常也被称为","bitmap,进而呈现到屏幕上","block","ca::context::commit_transaction();","ca::layer::display_if_needed();","ca::layer::layout_and_display_if_needed();","ca::layer::layout_if_needed();","ca::transaction::commit();","ca::transaction::commit:以后),cpu执行drawrect,通过context将数据写入back","calay","calayer基于coreanimation,","calayer提供内容,专门负责处理触摸等事件,参与响应链","calayer的display方法中,首先会判断layer的delegate方法displaylayer:是否实现,如果代理没有响应这个方法,则进入到系统绘制流程;如果代理响应了这个方法,则进入到异步绘制流程","cgcontextref","commit(提交位图)","commit,这个","con","constraint","constraints”来触发","constraints”标记(可以被","constrait","content","context","core","cpu和gpu通过总线连接,cpu中计算出的往往是bitmap位图,通过总线由合适的时机传递给gpu,gpu拿到位图后,渲染到帧缓存区framebuffer,然后由视频控制器根据vsync信号在指定时间之前去帧缓冲区提取内容,显示到屏幕上。","cpu工作内容:","cpu:","cycl","dispaylay","dispaylayer:]","display]","display];","display(绘制","draw","drawrect","drawrect];","drawrect方法内为何第一行代码总要获取图形的上下文?","drawrect)","exit","fp","frame","gpu","gpu工作内容:","gpu能处理的最大纹理是4096","gpu:","graphic","invalidateinstrinsiccontentsize方法自动设置)。如果它认为这些约束需要被更新,它会立即触发","io","ios的","layer.cont","layouifneeded]","layoutifneed","layoutifneeded()","layoutifneeded,以确保在动画开始之前传播所有的布局更新。在","layoutifneeded,则布局和重绘会立即发生并在函数返回之前完成(除非有正在运行中的动画)。这个方法在你需要依赖新布局,无法等到下一次","layoutifneeded,并且两次之间没有更新视图,第二个调用同样不会触发","layoutsublayers];","layoutsubview","layoutsubviews()","layoutsubviews];","layoutsubview。如果你在同一个","layout”","layout(ui布局,文本计算)","loop","mainrunloop是一个60fps的回调,也就是说每16.7ms(vsync信号时间)会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawrect),这些cpu的工作。然后将这个缓冲区交给gpu渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。","masonri","observ","prepare(图片解码)","quartzcore:ca::transaction::observer_callback:","reference:","run","runloop","runloop、upd","self.view","server交给gpu去渲染,将back","setlayoutifneed]","setneedsdispay","setneedsdisplay","setneedsdisplay()","setneedsdisplay]","setneedslaylout","setneedslayout","setneedslayout()","setneedsupdateconstraint","setneedsupdateconstraints()","storag","store","store中的bitmap数据显示在屏幕上","store写完后,通过rend","store(位图)传给gpu。","store),而当设备屏幕进行刷新时,会从","subview","ui","uigraphicsgetcurrentcontext();","uilabel","uiscrollview","uiview","uiview/calay","uiview刷新与渲染机制","uiview的绘制原理","ui控件的绘制工作","updat","updateconstraint","updateconstraints()","updateconstraints()。这个方法和","updateconstraintsifneeded()","view","view.layer.cont","view布局与约束时机","view绘制渲染机制和runloop什么关系","view,那么系统就会把这个","yyasynclay","yyasynclayer基于异步绘制:","“updat","▐","。它会给有内容更新的视图设置一个内部的标记,但在视图重绘之前就会返回。然后在下一个","一个视图的布局指的是它在屏幕上的的大小和位置。每个","一个视图的显示包含了颜色、文本、图片和","上滚动(layoutsubview","上的更改。用户交互和布局更新间的延迟几乎不会被用户察觉到。io","上被调用)","上述图像渲染流水线中,除了第一部分","上面打上一个脏标记","与","中具体的方法可以帮助避免或者可以调试这类问题。下面的图展示出了","中就会重绘,而不需要显式的","中更新,就在系统调用视图们的","中有一个","中的","中的更新延迟。但是由于在处理事件和对应","中的某时刻的","中设置新","中读取生成好的","中,系统会遍历所有已标标记的视图,并调用它们的","中,系统就会执行这些","为","主线程可以做其他工作","之前对","之后,并且没有任何操作向系统表明需要刷新视图,那么就不会调用","事件,回调去执行一个很长的函数:","以及","以及他们的所有子视图的","以执行实际的绘制和调整,并更新","会保证在下一次更新周期中更新约束。它通过标记“updat","会在","会在下一个周期中(重点!!!)被调用,而不需要开发者手动操作。这些自动通知系统","会立即调用","会让视图在下一周期调用","作为","使用","使用轻量级对象,比如calayer代替uiview","信息上操作的风险。理解","修改","全权负责显示内容","具体内容的显示。","具体过程是系统会把","内容或者是布局,那么就有在过时","内调用两次","减少重复计算布局,减少修改frame等","创建上下文","动画需要这个)","单一原则,设计模式(负责相应的功能)","卡顿,列表卡顿、掉帧原理","发生在","只应该被重载,绝不要在代码中显式地调用。通常你只应该在","可以让图片的size跟frame一致","后,","后,需要再次调用","和","和它的父","和每个子","因此,如果在16.7ms内完不成这些操作,比如,cpu做了太多的工作,或者view层次过于多,图片过于大,导致gpu压力太大,就会导致“卡”的现象,也就是丢帧.","图像渲染流水线","图像渲染流程粗粒度地大概分为下面这些步骤:","在calayer内部,系统会创建一个backingstore(可以理解为cgcontextref,drawrect中取到的currentref就是这个东西),然后layer回判断是否有delegate,如果没有代理,就调用calayer的drawincontext:方法;如果有代理,则调用layer代理的drawlayer:incontext:方法,这一步发生在系统内部,然后在合适的时间给与我们回调一个熟悉的uiview的drawrect:方法。也就是在系统内部的绘制之上,允许我们再做一些额外的绘制。最后calayer把backt","在子线程完成。","在规定的16.7ms内,在下一个vsync信号到来之前,cpu和gpu并没有共同完成下一帧视频的合成,就会出现掉帧、卡顿。","坐标系中的位置和具体的大小。uiview","基于系统开的口子","大部分时候,在视图中更新任何","如下图,分别为","如果我们的代理实现了dispaylay","它负责给出当前","对于使用自动布局的视图来说,这个方法与","对象的创建、调整、销毁可以放在子线程中去做asdk;","将要结束的时候才会调用","将要结束的时候调用","就被标记为待处理,并被提交到一个全局的容器去。向渲染服务器提交图层树。当这个","属性。","属性中","属性保存了由设备渲染流水线渲染好的位图","属性的值","属性,完成显示。","属性,用来表示在父","布局","布局:","布局发生变化的方法,也提供了在","布局重新计算后调用的可重写的方法。","布局,显示,约束","并且实现/遵从了","并没有发生当前视图立即绘制工作,打上需要重绘的脏标记,最后是在某个时机完成","应用一般以","底层原理","异步绘制原理解析","异步绘制完事之后,回到主线程,把绘制的","异步绘制流程","当back","当uiview被绘制时(从","当前","当前runloop休眠前更新","当在操作","当对希望通过修改","当我们调用uiview的setneedsdisplay的方法时候,会调用layer的同名方法,相当于在当前layer打上绘制标记,在当前runloop将要结束的时候,才会调用calayer的display方法进入到真正的绘制当中。","当视图需要更新的时候,与","我们调用","或者","所以在","把","掘金","控制并发线程数量","揭秘","新增","方法","方法。","方法。但是如果你调用了","方法。系统会在任何它需要重新计算视图的","方法。调用这个方法代表向系统表示视图的布局需要重新计算。setneedslayout","方法中","方法中实现必须要更新的约束。","方法会立刻执行并返回,但在返回前不会真正更新视图。视图会在下一个","方法并在当前","方法或者显示中的","方法的工作机制类似。","方法的时候。","方法的时候,不会立马发送对应视图的绘制工作,为什么?","方法类似,updateconstraints()","方法,然后进入到视图真正的绘制工作当中。","时的那个时间点。正是在这个时间点上系统开始更新布局、显示和设置约束。如果你在处理事件的代码中请求修改了一个","时,,比如修改了frame、调整了ui层级(uiview/calayer)或者手动设置了setneedsdisplay:/setneedslayout:,这些调整操作会触发transact","是另一个会让","是否知道异步绘制?如何进行异步绘制?","是当应用完成了你的所有事件处理代码后控制流回到主","是显示的基础:存储","显示的内容(包括","显示:","更新可能不是你想要的那样。如果你的代码中的某些计算依赖于当下的","更新视图不同,layoutifneed","更新视图的","有用","有许多事件会自动给视图打上","本质是创建一个","来动画到新的状态。","来重新定位或更改大小时重载它。然而你不应该在代码中显式调用这个方法。相反,有许多可以在","标记为需要重画(redraw)。在接下来的","标记,因此","每一个uiview都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做back","滑动优化方案思路:","然后会调用系统的同名方法","然后在回到主线程把","生成对应的图片(bitmap)","用户在","用户旋转设备","界面。","的","的不同时间点触发","的位置和大小。这个方法很开销很大,因为它会在每个子视图上起作用并且调用它们相应的","的位置需要被重新计算,继而会自动转化为一个最终的","的即将进入休眠和退出状态,则会遍历所有的ui更新并提交进行实际绘制更新。","的图片等)绘制在一张画布上,完成后倒出图片赋值给","的图片等)绘制生成的","的大小","的尾部。","的属性,负责","的布局发生变化的方式有:","的文字,uiimageview","的方法。","的时候会比","的时候调用这个方法,所以你应该在需要更新","的末尾。","的流程.","的资源消耗要小得多。","的速度展示动画,就是说每个更新周期只需要","监听","监听了主线程","秒。这个更新的过程很快,所以用户在和应用交互时感觉不到","立即重新布局视图(下一个runloop)","等价。它会检查","系统会在","系统绘制流程","系统绘制的流程","约束:","纹理渲染。避免离屏渲染","组件都会把相应的视图标记为“dirty”,通过设置视图“内部更新标记”,在下一次","结合阅读","绘制渲染机制","绘制的工作,如果要绘制的元素过多,过于频繁,就会造成卡顿。","绘制等视图属性,不包括其本身和子视图的大小和位置。和布局的方法类似,显示也有触发更新的方法,它们由系统在检测到更新时被自动调用,或者我们可以手动调用直接刷新。","给你提供了用来通知系统某个","自动刷新触发器","苹果注册了一个","要首先获取","视图混合。减少视图层级的复杂性,减少透明视图;不透明的opaque设置为y","解决方案使用异步绘制就是:","触发","调用","调用。当然,也有直接触发","调用的最省资源的方法就是在你的视图上调用","调用的机制,这些触发机制比直接调用","负责。","赋值","赋值给","这个方法。我们可以去子线程里面进行异步绘制。子线程主要做的工作:","这个方法用来在自动布局中动态改变视图约束。和布局中的","这个方法类似于布局中的","这个方法,会调用","这个方法,我们就可以进行异步绘制:","这些方式都会告知系统","这其中的工作都是在主线程中完成的,这就导致了主线程频繁的处理","进行动画时,这个方法特别有用。你需要在","都有一个","重画间存在着一个间隔,runloop","阶段,后续主要都由","顶点着色,图元装配,光栅化,片段着色,片段处理,最后提交帧缓冲区","预排班。布局计算、文本计算等事先放到子线程中去做;","预渲染。文本等异步绘制,图片编解码等。","首先在主线程调用",",而不会等到"],"iOS/UIKit/UIViewRenderProcess.html":["&","(void)drawlayer:(calay","(基于",")或者把它绘制到","*)layer","1)生成(generate)—","1.+[uiimag","2)绑定(bind)—","2000000,低于常见的其他","3)缓存数据(buffer","4)启用(enable)或者(disable)—","4个字节)。为了节省内存,ios通常直到真正绘制的时候才去解码图片。根据你加载图片的方式,第一次对","5)设置指(set","59.97)。io","6)绘图(draw)","60","7)删除除(delete)—","=",">ios性能优化——图片加载和处理",">呈现树",">深入理解runloop",">渲染树",">苹果官方文档","[layer","__iohideventsystemclientqueuecallback()","_uiapplicationhandleeventqueue()会把","_uiapplicationhandleeventqueue()进行应用内部的分发。","anim","animation会创建一个opengl","animation会请求分配一个纹理,同时确保cor","animation使用未压缩的位图数据来渲染图层。","animation图层的任何结构,所以必须","animation并仅仅是字面意思的核心动画,而是整个显示核心都是围绕quartzcore框架中的cor","animation必须创建一个内存中等大小的寄宿图片。然后一旦绘制结束之后,","animation必须对渲染树种的每个可见图层通过opengl循环","animation提交隐式事务,这会涉及创建已设置为层内容的所有图像的副本,根据图像:","animation提前渲染图层的离屏绘制。","animation是依赖于opengl","animation的合成器会联合opengl","animation的渲染。","animation)","app","app从点击屏幕(硬件)到完全渲染,中间发生了什么?越详细越好","asasynctransaction(group)","asdk","asnod","asyncdisplaykit原理","based渲染流程","based的基本渲染逻辑;","beforewait","block","block,绘制代码可以随时调用该","bool(^iscancelled)()","buffer)在内的其他帧缓存,当渲染后的后帧缓存完成后,前后帧缓存会互换。(这部分操作由操作系统来完成)","buffer)的特定帧缓存中的像素颜色元素的控制。","ca","calay","calayerdeleg","calayer与ios动画","calayer的职能","catextlayer:直接将字符串使用cor","catransact","catransformlayer:能够用于构造一个层级的3d结构","cfrunloopsourc","cgcontext","cgimage位图","chain响应链传递一层层给根视图appdelegate处理。","commandbuffer,接受opengl","compositing操作,合并1、2的纹理;","containspoint:和","core","coreanimation提交会话,包括自己和子树(view","cpu","cpu会将处理视图和图层的层级关系打包,通过ipc(内部处理通信)通道提交给渲染服务,渲染服务由opengl","cpu渲染职能","cpu渲染职能主要体现在以下5个方面:","cpu阶段","data)","data)—","delegate、创建动画等等,非常消耗资源。uiview","delegate,也就是","dictionari","displaylink","drawincontext中绘制的东西放入到纹理的位图数据中。","drawincontext方法时,cor","es","es交互","es作为cor","es做gpu渲染,coregraphics做cpu渲染,但在本文中,以及官方文档都是将opengl与gpu分开说明。","es和gpu组成。","es坐标是以浮点数来存储,即使是其他数据类型的顶点数据也会被转化成浮点型;","es处理完毕的渲染指令;","es层和uiview层、statusbar层等,在后帧缓存混合产生最终的颜色,并切换前后帧缓存;","es应用开发实践指南:ios卷》,因为篇幅过长,就不赘述opengl的原理。","es是对图层进行取色,采样,生成纹理,绑定数据,生成前后帧缓存。","es渲染职能","es纹理,并确保在这个图层中的位图被上传到对应的纹理中。当你重写","es进行纹理生成和着色。生成前后帧缓存,再根据显示硬件的刷新频率,一般以设备的vsync信号和cadisplaylink为标准,进行前后帧缓存的切换。","es阶段","event,随后用","exit","frame","frame/bounds/transform)等实际上都是","frame、修改","gl","gpu","gpu会根据生成的前后帧缓存数据,根据实际情况进行合成,其中造成gpu渲染负担的一般是:离屏渲染,图层混合,延迟加载。","gpu执行绘制指令","gpu渲染职能","gpu用来采集图片和形状,运行变换,应用文理和混合,最终把它们输送到屏幕上。","gpu阶段","graphics中,都需要对它解压,这样的话,对于一个较大的图片,都会占用一定的时间。","graphics会将你在","graphics写入图层","graphics绘制","graphics绘制就会变得十分缓慢,所以在一个对性能十分挑剔的场景下这样做十分不好。","graphics)","hierarchy)的layout状态等;","hittest:来判断是否一个触点在图层的范围之内。","i/o创建cgimageref内存映射数据。此时,图像尚未解码。","i/o详解的文章","imag","image;),图像数据会被解码,变成rgb的颜色数据。","imagewithcontentsoffile:]使用imag","incontext:(cgcontextref)ctx;方法进行绘制。但通常我们会使用uiview的drawrect方法","io","iohidev","iokit.framework","ios事件响应链中hit","ios只会当视图控制器的视图显示到屏幕上时才会加载它。这对内存使用和程序启动时间很有好处,但是当呈现到屏幕上之前,按下按钮导致的许多工作都会不能被及时响应。比如控制器从数据库中获取数据,或者视图","ios图片加载速度极限优化—fastimagecache解析","ios渲染视图的核心是cor","ios界面渲染流程分析","ipc","ipc内部通信(进程间通信)","ipc通信","iphon","iscancelled()","layer树的变化","loop","mach","mach_port","mach内核编程","metal入门教程总结","metal入门教程(八)metal与opengl","metal可以发现,早在","metal渲染引擎","observ","observer。当一个触摸事件到来时,runloop","observer,监听了","observer,监视的事件和","open","opengl","parameterbuffer,接受分块完毕的tile和对应的渲染参数;","png或者jpeg压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于图片宽","pointers)","pointers)—","port","renderbuffer,存储渲染完毕的像素;","renderer,调用片元着色器,进行像素渲染;","renderincontext:","renderserver解析提交的子树状态,生成绘制指令","resolveinstancemethod为对象临时添加一个方法,并把对应属性值保存到内部的一个","runloop","runloop原理","session419","setneeddisplay])时,它会向","shadowpath","shouldraster","sourc","source1","springboard","tableview","test","testing事件传递","test遍历视图栈里的视图,顺序为视图层次的逆顺序,用respond","tiler,调用顶点着色器,把顶点数据进行分块(tiling);","tip","uibutton","uievent","uigesture/处理屏幕旋转/发送给","uiimageview","uiimage持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。","uilabel","uiview","uiview与calayer动画原理","uiview与calayer的区别?","uiwindow","view的应用","vsync","wwdc2014","x","yyasynclay","yyasynclayer原理","—","——","——uivisiualeffectview","一个uiimageview添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?","一些可忽略不计的操作都会引","一样,但优先级比","一般来说造成卡顿的原因,就是cpu负担过重,响应时间过长。主要原因有以下几种:","与uiview不同,calayer着重于图层的绘制,大致为以下职能:","专题","中注册了一个","中的代码会执行一些操作,比如创建和调整视图层级、设置","为图形处理器制的缓存生成一个独一无二的标识符。","为当前定的缓存分配并初始化","为接下来的运算使用一个缓存。","之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。","也在","事件。这个","事件响应","事件响应链&runloop原理","事件响应链&原理","事件处理机制与图像渲染过程","事件并由","什么是卡顿?苹果官方文章","从一个nib文件中加载,或者涉及io的图片显示,都会比cpu正常操作慢得多。","以uiimageview为例。当其显示在屏幕上时,需要uiimage作为数据源。","以上仅仅是对该题简单回答,其中的原理以及瓶颈和优化,后面会详细介绍。","以及indulge_in的yyasynclayer剖析","优化方案围绕着","会传递一个","会把任务用","会通过","使用cgbitmapcontextcreate()方法创建一个上下文对象","使用cgbitmapcontextcreateimage()生成cgimageref对象。","使用cgcontextdrawimage()方法绘制到上下文","使用响应者和响应者链来处理事件","使用图层关联的视图而不是单独使用","使用多线程调用,合理利用cpu计算位置,布局,层次,解压等,再合理调度gpu进行渲染,gpu负担常常要比cpu大,合理调度cpu进行计算可以减轻gpu渲染负担,使应用更加流畅。","使用当前定并启用的缓存中的数据渲染","使用缓存中的数据。","保持界面流畅的技巧","信号后,会通过","信号由硬件时钟生成,每秒钟发出","信号驱动的,vsync","光栅化","关于uiview动画以及calayer的动画这里推荐两篇文章:","其ios平台渲染核心原理的重点主要围绕前后帧缓存、vsync信号、cadisplaylink","其中最常见的问题就是离屏渲染:","其渲染层次依次为:图层树","内。app","内提交的所有任务。","内部并没有属性,当调用属性方法时,它内部是通过运行时","再看一下yyimage的源码,其流程也大致为:","准备提交(prepare)","准备(quartzcore/cor","减少图层数量","创建一个cgimageref对象","判断绘制任务是否已经被取消。","制的内存复制数据到分配的内存)。","前后帧缓存&vsync信号","前帧缓存决定了屏幕上显示的像素颜色,会在适当的时候与后帧缓存切换。","即将进入休眠(或者退出)时,关注该事件的","压缩的图像数据被解码成其未压缩的位图形式","去显示;如果此处有动画,ca","参考","只接收按键(锁屏/静音等),触摸,加速,接近传感器等几种","可伸缩图片","合并渲染(离屏渲染等)","合成器来控制显示的最终外观","后帧缓存绘图,也不会让应用直接复制前帧缓存和后帧缓存之间的切换。操作系统为自","启用(enable)","告诉","和","图层内容赋值的时候(直接或者间接使用","图层打包","图形服务接收到","图片格式转换;","图片的显示分为三步:加载、解码、渲染。","在","在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","在主运行循环的下一次迭代中,core","在启动后会注册对应的","在接下来的渲染中是","在此处模拟了","在研究这个问题的过程中,我有想过去看一下源码,试着去理解在视图完全渲染之前,ipc是如何调度的,可惜苹果并没有开源绘制过程中的代码。这里推荐官方文章给大家了解一下ios中ipc是如何运作的。","在缓存中的数据的类型和所有需","在这里同时推荐y大的两篇文章","在这里推荐大家去阅读落影loyinglin的文章ios开发","在这里推荐阅读郭曜源前辈的io","处理图片的一些小","处理完事件后,asdk","处理并包装成","够的内存(通常是从","太多的几何结构会影响gpu速度,但这并不是gpu的瓶颈限制原因,但由于图层在显示之前要通过ipc发送到渲染服务器的时候(图层实际上是由很多小物体组成的特别重量级的对象),太多的图层就会引起cpu的瓶颈。","如果你已经做了几年ios开发,相比对于这道题可能已经很熟悉。","如果你的视图层级过于复杂,当视图呈现或者修改的时候,计算图层帧率就会消耗一部分时间。特别是使用ios6的自动布局机制尤为明显,它应该是比老版的自动调整逻辑加强了cpu的工作。","如果图像数据为未解码的png/jpg,解码为位图数据","如果子树太复杂,会消耗很大,对性能造成影响;","如果对视图实现了drawrect:或drawlayer:incontext:方法,或者","如果视图绘制超出gpu支持的2048x2048或者4096x4096尺寸的","寄宿图:你可以给calayer.contents传递一个cgimage来进行渲染,也可以调用","对象回收","封装并提交到一个全局的容器去。asdk","就会在回调中,把所有的中间状态合并提交到","就会执行该","就会触发回调,并调用","层效果的使用,比如圆角,图层遮罩,阴影或者是图层光栅化都会强制core","屏幕上的图层,core","属性映射来的,所以对","己保留了这些操作,以便它可以随时使用","布局和事件处理)。做一些对性能特别挑剔的工作,比如对","布局计算","布局(frame)","布局(layout)","帧缓存可以同时存在多个,但是屏幕显示像素受到保存在前帧缓存(front","帧缓存:接收渲染结果的缓冲区,为gpu指定存储渲染结果的区域","并不清楚具体的响应链,所以不能直接处理触摸事件或者手势。但是它提供了","应用变换(transform)","底层特性的同时,也可以使用","当","当uiimage被赋值给uiimage时(例如imageview.imag","当一个硬件事件(触摸/锁屏/摇晃等)发生后,首先由","当你现在再去查阅官方文档时,你会发现苹果官方已经使用metal去替代opengl","当你的主线程操作卡顿超过16.67ms以后,你的应用就会出现掉帧,丢帧的情况。也就是卡顿。","当前前台运行中应用接收到uievent以后,当用户对屏幕进行了操作,系统先循环调用hit","当图层被成功打包,发送到渲染服务器之后,cpu仍然要做如下工作:为了显示","当显示一个uiimageview时,cor","当然yyimage不止做了这些,还有解码器编码器,支持webp等多种格式,并且还写了自定义的操作队列,对网络加载图片进行了优化。在此不赘述。","当用户对屏幕进行了操作,产生了一个用户事件。","当视图层次调整时,uiview、calay","必须把图片数据通过ipc传到渲染服务器。在此基础上,cor","快速滑动时,会有大量异步绘制任务提交到后台线程去执行。但是有时滑动速度过快时,绘制任务还没有完成就可能已经被取消了。如果这时仍然继续绘制,就会造成大量的","我参考了yyasynclayer,他其中的原理大致是这样的:","我查看了较为流行的第三方库源码,例如yyimage、sdwebimage、fastimagecache,其中加载一个图片的流程大致为:","打包layers并发送到渲染server;","捕获,并通过","接下来我们看一下第三题:在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","接收。这个过程的详细情况可以参考这里。springboard","接收传过来的时钟信号通知,随后","接收提交的纹理(texture)和顶点描述(三角形)","推荐两篇文章:","推荐文章:","推荐阅读:《ios和macos性能优化》对于图像i/o方面,书中最后有详细解释。","提交到一个中间状态去(catransact","提交流程","提交(commit)","操作系统不会让应用直接向前帧缓存或者","整个场景或者某个场景的一部分。","文件数据从磁盘读入内存。","文字简答:","文本catextlay","方法","方法,那么在绘制任何东","是","显示帧率","显示渲染后的数据","显示逻辑","显示(core","显示(display)","普通的tile","最后一题:uiview和calayer的区别?","最后使用imagewithcgimage()方法将cgimage转化为uiimage。","最后,将最终要显示在画面上的后帧缓存交给gpu,进行采集图片和形状,运行变换,应用纹理和混合。最终显示在屏幕上。","最直接的回答就是uiview可以响应用户事件,而calayer不能处理事件","最终,生成前后帧缓存会再交由gpu进行最后一步的工作。","有","本文可为以下面试题提供参考:","本文大量借助了引用文章的文字描述,在此感谢各位作者的文章对本问题的理解起了很大的帮助。也希望各位能去原文发表自己的看法。谢谢~","来进行判断,保证被取消的任务能及时退出,不至于影响后续操作。","查看uiimageview的api我们可以发现,uiimage封装了一个coregraphics/cgimage的对象。","次(这个值取决设备硬件,比如","此处引用","注册的那个","混合和过度绘制","清除(delete)","渲染layer的content纹理,同til","渲染layer的mask纹理,同til","渲染服务首先将图层数据交给opengl","渲染等待","点击、touchesbegin/move/end/cancel事件都是在这个回调中完成的。","片分配额外内存,以及切换绘制上下文,这些都会降低gpu性能。对于特定图","生成(generate)","生成一个","用来接收系统事件,其回调函数为","的","的)","的优先级是","的修改和提交,总有些任务是必需放入主线程执行的。当出现这种任务时,asnod","的关于显示相关的属性(比如","的动画与显示。","的回调会驱动整个","的好处在于,你能在使用所","的子类,当它需要显示内容(比如调用了","的文档略有提到这些内容,但并不完整)。当上面所有操作结束后,runloop","的显示系统是由","的这个机制:所有针对","的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。","的透明度、为视图添加一个动画;这些操作最终都会被","的高级api(比如自动排版,","看一下苹果官方文档","真机上通常是","知识点","离屏渲染","离屏渲染:离屏绘制发生在基于cpu或者是gpu的渲染,或者是为离屏图","移动端图片格式调研","程序可控的。","程序的渲染结果通常保存在后帧缓存(back","等。通常事件比如","等机制多次触发相关流程。","简单来说,opengl","简答","级关系中有太多的图层,就会导致cpu没一帧的渲染,即使这些事情不是你的应用","纹理的概念:纹理是一个用来保存图像的颜色元􏰈值的","纹理,就必须要用cpu在图层每次显示之前对图片预处理,同样也会降低性能。","组透明度","绑定(bind)","绘制string(字符串);","绘图(draw)","缓冲区被分配用于管理文件io和解压缩操作。","缓存数据(buffer","缓存,可以简单理解为一个单位。","苹果官方文档","苹果官方文章","苹果官方视频","苹果将metal作为新的渲染引擎,更好的利用了gpu的性能,同时保证了低内存占用和省电,但我个人并没有深入研究metal,这里可以有兴趣的同学可以看一下落影前辈的文章:","苹果注册了一个","获取图片二进制数据","落影loyinglin的文章ios开发","虽然我们不能看到苹果内部是如何实现的,但是苹果官方也提供了我们可以参考的对象,也就是vsync信号和cadisplaylink对象。","被唤醒,app","裁切","西之前都会产生一个巨大的性能开销。为了支持对图层内容的任意绘制,core","要低。当","要求讲到进程间通信?出处","要由cpu做这些事情。这里cpu涉及的工作和图层个数成正比,所以如果在你的层","要的数据的内存移值。","视图加载","视图懒加载","视图渲染与性能优化","视图渲染优化&卡顿优化","解压图片","解码图片;","解码是一个计算量较大的任务,且需要cpu来执行;并且解码出来的图片体积与图片的宽高有关系,而与图片原来的体积无关。","让","讲解及使用","设置指针(set","请","请求一个异步绘制的任务。在异步绘制时,layer","调用addsubview:方法","调用layoutsubviews方法","资源浪费,甚至阻塞线程并造成后续的绘制任务迟迟无法完成。我的做法是尽量快速、提前判断当前绘制任务是否已经被取消;在绘制每一行文本前,我都会调用","起显著的不同","转发给需要的app进程。随后苹果注册的那个","转换成纹理三角板。由于gpu并不知晓cor","返回的图像被分配给uiimageview。","这样的","这里推荐大家去看《opengl","进入休眠前、ca","进行处理或分发,其中包括识别","递归提交子树的layers;","通常,我们操作的只有加载,解码和渲染是由uikit进行。","通知到","通过","通过drawrect绘制视图;","通过ipc提交(打包好的图层树以及动画属性)","遮罩(mask)","那么在了解ios视图渲染流程以后,再来看一下第二题:","那么如何在需要渲染大量视图的情况下,还能保证流畅度,也就是保证fps。","郭曜源前辈的文章:io","都会得到通知。这时","里,同时还会通知","重新认识core","重绘。主要由重叠的半透明图层引起。gpu的填充比率(用颜色填充像素的比率)是有限的,所以要避免重绘。","长","阴影、圆角、边框、蒙版、拉伸、transform、动画。","除以前生成的缓存并释相关的资源。","隐式catransaction捕获到uiimageview","隐式绘制","面试题","首先一个视图由cpu进行frame布局,准备视图和图层的层级关系,查询是否有重写drawrect:或drawlayer:incontext:方法,注意:如果有重写的话,这里的渲染是会占用cpu进行处理的。","首先要讲一下app中的事件响应链,它分为两部分:hit"],"iOS/UIKit/UIImageRender.html":["animation会对数据进行拷贝,以进行字节对齐。","animation会提交这个","begin()","cgimageref","cgimagesourcecreateimageatindex()","cgimagesourcecreatewithdata()","cgimagesourceref","commit()","core","gem","hidden","https://www.objc.io/issues/5","imagenam","imagenamed:","imagewithcontentsoffile:","imagewithdata:","implicit","io","ios7/ios7","ios中,使用","mmap()","runloop","runloop中,cor","transact","transaction。如果用户内存中的位图数据没有字节对齐","transaction,这个transaction会自动在主线程的下一个","tree)发生变化,会生成一个","uiimageview","workarounds/)","。在保存图片时,为了节省空间,通常会将图片编码(压缩)后再进行存储。如果读取的图片数据为压缩后的数据的话,那就需要对其进行解码成位图(bitmap)数据。","下一个main","不同加载图片的方式,在这一步的操作上会有一定的差异。","之后,gpu会渲染对齐后的位图数据,展示在屏幕上。","会在图片第一次渲染到屏幕上的时候进行解码,并缓存解码后的图片数据。缓存数据存储在全局缓存中,不会随着uiimag的释放而释放。","传统操作系统的i/o操作为标准i/o,即缓存i/o。在这种i/o模型下,数据先从磁盘拷贝到内核空间的缓冲区,然后从内核空间缓冲区拷贝到用户的内存空间。这种方式的优点是减少了磁盘操作,提高性能。但因为数据在传输过程中需要在用户内存空间和内核空间间进行多次数据拷贝操作,造成很大的cpu及内存开销。","可以设置是否需要立即进行解码(kcgimagesourceshouldcacheimmediately),如果设置为不需要立刻解码,则会在将图片渲染到屏幕上时才进行解码。(设置为立即解码会阻塞主线程,造成性能问题,详见","同样会在图片第一次渲染到屏幕上的时候进行解码。底层会调用到","和","图片的加载与渲染过程","在主线程中,将图片数据赋值给","将图片文件映射到虚拟内存,并创建","将硬盘数据直接映射到虚拟内存中,应用可以直接访问虚拟内存中对应的地址来读取数据,避免了数据在内核空间和用户空间的相互拷贝,效率更高。在使用这些数据时,虚拟内存管理系统才会根据缺页加载的机制从磁盘加载对应的数据块到物理内存,在这之前不会消耗用户空间的内存。","或","或者imagewithcontentsoffil","手动调用","方法可以指定是否需要缓存(kcgimagesourceshouldcache),之后再调用","方法触发生成。)","方法,该方法可以指定是否要缓存解码后的数据,在64位机器上默认需要缓存(kcgimagesourceshouldcache)。与上面的方法不同,这种方式创建的缓存会随着uiimage的释放而被释放掉。","时,系统会调用","映射到内存,通过","用于后续访问图片数据。","由显式调用","的图层树(layer","要访问的图片文件通过系统调用","访问图像数据,创建cgimageref。","进行提交。(explicit",",出于渲染性能考虑,"],"iOS/Memory/StructMemoryAligned.html":["%lu","%lu\",sizeof(struct1),sizeof(struct2),sizeof(struct3));","0","11","12","14","15","16","17","33","7","8","a;","a⾥存有struct","b","b;","b,b⾥有char、int","c","c;","char","d","d;","doubl","e","e;","int","ios底层探索:结构体内存对齐","ios结构体内存对齐","lgstruct1","lgstruct1、lgstruct2两个结构体拥有的变量数量跟类型都大同小异,到底是什么原因导致两个结构体在内存大小的表现上会有截然不同的结果?lgstruct3的内存大小又是如何计算出来的?","lgstruct2","lgstruct3","nslog(@\"%lu","refer","short","struct","{","}struct1;","}struct2;","}struct3;","、double等元素,那b应该从8的整数倍开始存储。)","了解系统对结构体内存对齐的原则后,我们回过头再看一下文章一开头的三个结构体lgstruct1、lgstruct2和lgstruct3。","内存对齐的原则","占1个字节,从12位置开始,此时12是1的整数倍,则","占1个字节,从8位置开始,此时8是1的整数倍,则","占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则","占2个字节,从16位置开始,此时16是2的整数倍,则16","占4个字节,从8位置开始,此时8是4的整数倍,则","占4个字节,从9位置开始,但是此时9不是4的整数倍,因此需要往后继续寻找,找到最接近的能整除4的12位置,则","占8个字节,从0位置开始,则","变量a:doubl","变量b:char","变量b:int","变量c:char","变量c:int","变量d:short","变量e:内嵌的lgstruct1结构体,lgstruct1内部最⼤元素的大小是8字节,需要从8的整数倍位置开始存储,存储方式同上lgstruct1结构体,则","可以看到,控制台的打印结果如下:","基本数据类型内存大小","存储","收尾⼯作:结构体的总⼤⼩,也就是sizeof的结果,必须是其内部最⼤成员的整数倍,不⾜的要补⻬。","收尾:lgstruct1需要的内存大小为18字节,而lgstruct1中最⼤成员变量字节数是8字节,内存大小18字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为24字节","收尾:lgstruct2需要的内存大小为16字节,lgstruct2中最⼤成员变量字节数是8字节,内存大小16字节刚好是内部最⼤成员的整数倍,所以最终大小为16字节","收尾:lgstruct3需要的内存大小为34字节,lgstruct3中最⼤成员变量字节数是8字节,内存大小34字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为40字节","数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该成员有⼦成员,⽐如说是数组,结构体等)的整数倍开始(⽐如int为4字节,则要从4的整数倍地址开始存储。","案例解析","结构体lgstruct1,通过内存对齐规则计算过程如下:","结构体lgstruct2,通过内存对齐规则计算过程如下:","结构体lgstruct3,通过内存对齐规则计算过程如下:","结构体作为成员:如果⼀个结构⾥有某些结构体成员,则结构体成员要从其内部最⼤元素⼤⼩的整数倍地址开始存储。(struct","首先我们定义了三个结构体lgstruct1、lgstruct2和lgstruct3,然后通过控制台打印出三个结构体类型的内存大小。"],"iOS/Memory/MemoryFiveMainSection.html":["。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。","全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的","全局变量和静态变量在一块区域,","内存中的5大区","内存中的5大区分别是什么?","堆区(heap):一般由程序员分配释放,","操作方式类似于数据结构中的栈。","文字常量区:常量字符串就是放在这里的。","未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。","栈区(stack):由编译器自动分配释放","程序代码区:存放函数体的二进制代码。","程序结束后由系统释放。","若程序员不释放,程序结束时可能由os回收",",存放函数的参数值,局部变量的值等。其"],"iOS/Memory/ReferenceCounting.html":["!=","&refcntstorag","&tabl","((id)self)","(bits.has_sidetable_rc)","(bits.nonpointer)","(int","(istaggedpointer())","(it","(nonatomic,","(nsuinteger)retaincount","(obj","(uintptr_t)this;","*locat","*location,","*location;","*target;","+","+=","//","//....","//sidetable_retaincount()函数实现","//在tables里面,根据当前对象指针获取对应的sidet","//添加引用计数","//获得引用计数","0;","1","1.ios引用计数管理之揭秘计数存储","1;","1操作),接着判断是否有sidetable,如果有再加上存在sidetable中的计数;","1)的对象其引用计数优先存在isa的extra_rc中,大于524288便存在sidetable的refcountmap或者说是densemap中;","1,并根据是否开启指针优化,处理进位/借位的情况;","2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;","=","==",">>",">rootretaincount();",">second","@properti","alloc实现","allow","assum","bit","bits.extra_rc;","c","class","clearexclusive(&isa.bits);","crash的原因:过度释放。","dispatch_queue_concurrent);","dispatch_queue_create(\"parallel\",","dispatch_queue_t","getisa()","getisa();","id","inlin","isa","isa()","isa();","isa_t","isa指针","isa是什么","loadexclusive(&isa.bits);","neroxie的个人博客","nsstring","obj)","obj;","objc_object::rootretaincount()","objc_object::sidetable_retaincount()","objc_release(prev);","objc_retain(obj);","objc_storestrong(id","object","oc内存管理","pointer","pointer不参与retain/release;","pointer不需要引用计数,苹果会直接将对象的指针值作为引用计数返回;","pointer技术的nsstring,那程序就没有问题。","pointer的对象没有isa指针,有的是isa_t的结构体;","pointer的话,直接返回isa本身;","pointer,","pointer,且开启了指针优化,此时引用计数先从extra_rc中去取(这里将取出来的值进行了+1操作,所以在存的时候需要进行","pointer,如果说上面的self.target指向的是一个tag","pointer,对象的值就是指针;","pointer,没有开启了指针优化,使用sidetable_retaincount()函数返回。","pointer,苹果会直接将其指针值作为引用计数返回;","prev","prev)","queue","rc","rc;","refcnt_result","refcnt_result;","refcntstorag","refcountmap::iter","refer","referencecount","releas","retain/release的实质","retain实现","retiancount","return","return;","side_table_rc_on","side_table_rc_one(4,位计算)","side_table_rc_pin","side_table_rc_shift;","side_table_rc_shift;(将向右偏移操作)","sidet","sidetable&","sidetable_getextrarc_nolock();","sidetable_lock();","sidetable_retaincount();","sidetable_unlock();","sidetables()[this];","size_t","strong)","strong的源代码如下:","tabl","table.lock();","table.refcnts.end())","table.refcnts.find(this);","table.refcnts.find[this];","table.refcnts[this];","table.unlock();","tag","target使用strong进行了修饰,block是会截获对象的修饰符的;","uintptr_t","valid","{","|","}","一道多线程安全的题目","为什么既要使用一个extra_rc又要使用sidetables?","从上面的代码可知,获取引用计数的时候分为三种情况:","以下代码运行结果","使用weak","使用串行队列,使用串行队列的话,其实内部是靠dispatch_obj_barrier_bit设置阻塞标志位","假设这个并发队列创建了两个线程a和b,由于是异步的,可以同时执行。因此会出现这么一个场景,在线程a中,代码执行到了objc_retain(obj),但是在线程b中可能执行到了objc_release(prev),此时prev已经被释放了。那么当a在执行到objc_release(prev)就会过度释放,从而导致程序crash。","全局队列和自定义并行队列在异步执行的时候会根据任务系统决定开辟线程个数;","其他对象的isa指针还是类指针。","加个互斥锁","加锁,用汇编指令ldxr来保证原子性","即使使用_target效果也是一样,因为默认使用strong修饰符隐式修饰;","可能是因为历史问题,以前cpu是32位的,isa中能存储的引用计数就只有$2^7=128$。因此在arm64下,引用计数通常是存储在isa中的。","否则runtime会使用一张散列表来管理引用计数。","如果当前设备是64位环境并且使用object","如果是tag","如果非tag","实现","对象的值是什么","对象的值是指针指向的内存区域中的值。","开启了指针优化(nonpoint","引用计数器","引用计数存在什么地方?","引用计数的存储策略","引用计数的获取","当引用计数减为0时,调用dealloc函数。","总结","找到引用计数存储区域,然后+1/","有些对象如果支持使用tag","此时并没有设置引用计数为1","没有开启指针优化的对象直接存在sidetable的refcountmap或者说是densemap中。","答案:大概率地发生crash。","经过一系列调用,最终调用了c函数calloc,此时并没有设置引用计数为1","补充:","解决方法:","这道题看着虽然是多线程范围的,但是解题的最重要思路确是在引用计数上,更准确的来说是看对强引用的理解程度。关键知识点如下:","通过retaincount可以获取到引用计数器,其定义:","释放锁,使用汇编指令clrex","非tag","首先要知道,isa指针已经不一定是类指针了,所以需要用isa()获取类指针;"],"iOS/Memory/TaggedPointer.html":["!defined(__cplusplus)","#","#defin","#els","#endif","#if","%@","%@\",","&","&&","((uintptr_t)ptr","(1ul","(@available(io","(target_os_osx","(void)formatedlogobject:(id)object","(void)testcas","*","*))","*stringwithformat1","+","//","0","0,","0b1111","0b111表示有扩展的标记位,扩展标记位占8位","0x7","0x79是ascii对应的y字符的值","0xa000000000000791","0xcb47b8d98a2fa15f","0xf","0xff","1","1,","1.ios特有概念taggedpoint","10,","11,","1111","12,","12.0,","13,","14,","15,","16","16,","17,","18,","19,","1、tag","2,","2.oc内存管理","201103l","256","263,","264","2、tag","3,","3、tag","4,","5,","52","6,","60","64","7,","8,","9,",":","=","==",">=","[nsstring","[self","__cplusplu","__has_feature(objc_fixed_enum)","__x86_64__","_nullabl","_objc_istaggedpointer(const","_objc_tag_ext_index_mask","_objc_tag_ext_slot_count","_objc_tag_ext_slot_mask","_objc_tag_index_mask","_objc_tag_mask","_objc_tag_mask)","_objc_tag_mask;","_objc_tag_slot_count","_objc_tag_slot_mask","array","bit","bool","defin","enum","everyth","extra","formatedlogobject:stringwithformat1];","free,不走引用计数那一套逻辑,由系统来处理释放","includ","inlin","ios12之前打印指针的值能很清晰的看到数据等信息,ios12之后系统则打印的完全看不懂了,看了源代码发现苹果是做了混淆,让我们不能直接得到值,从而避免我们去很容易就伪造出一个tag","ios12之后输出:","itself","lsb","mac","malloc","msb","nslog(@\"%p","nslog(@\"0x%6lx","nsstring","nstaggedpointerstr","objc_msb_tagged_point","objc_tag_1","objc_tag_cgcolor","objc_tag_first52bitpayload","objc_tag_first60bitpayload","objc_tag_index_t","objc_tag_index_t;","objc_tag_last52bitpayload","objc_tag_last60bitpayload","objc_tag_nsatom","objc_tag_nscolor","objc_tag_nsd","objc_tag_nsindexpath","objc_tag_nsindexset","objc_tag_nsmanagedobjectid","objc_tag_nsnumb","objc_tag_nsstr","objc_tag_photos_1","objc_tag_photos_2","objc_tag_photos_3","objc_tag_photos_4","objc_tag_reserved_264","objc_tag_reserved_7","objc_tag_uicolor","objc_tag_xpc_1","objc_tag_xpc_2","objc_tag_xpc_3","objc_tag_xpc_4","object,","object_getclass(object));","payload","pointer","pointer初探","pointer对象","pointer对象的类,它的定义在objc_tag_index_t中","pointer技术。","pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。","pointer是一个特殊的指针,不指向任何实质地址。","pointer是苹果在64bit设备提出的一种存储小对象的技术,用于优化nsnumber、nsdate、nsstring等小对象的储存","pointer有长度限制,过长会依然会采用对象的形式保存","pointer没有isa指针,它不是一个对象,只是一个伪装成对象的普通变量而已。","pointer的","pointer的值的,可读性非常好,但是12之后再打印就发现完全看不懂了。","pointer的加密","pointer;需要留意的是不同的架构标记位不太一样,有的是用最低位、有的使用最高位。","ptr)","refer","reserv","return","slot","static","stringwithformat:@\"y\"];","tag","taggedpoint","tag的值的mask以及一些其他的左移右移位","target_os_iosmac)","typedef","uint16_t","void","y","{","||","}","};","上面的测试代码,在12之前输出:","专门用于储存小对象","主要解决","从32位迁移到64位cpu,逻辑上虽然不会有任何变化,但是所占有的内存空间却会翻倍。下面以nsnumber对象为例,大家可以清晰看出nsnumber对象在内存空间上的变化情况:","其他的都是一些定义,用来通过位运算来获取tag的值、ext","内存浪费","内存管理","即针对nsstring、nsnumber、nsdate、nsindexpath这些类型,都支持tag","可以通过设置环境变量objc_disable_tagged_pointers来有开发者决定是否使用这项技术","和","在ios12系统之前,发现是可以直接打印tag","复制代码","如何判断是tag","它具有以下特点","它的内存并不存储在堆中,也不需要","定义了很多位信息,我们需要关注的几个:","对象类型","引入tag","扩展标记位能表示的个数","支持","最高有效位","有一个标记位来标识指针是否是tag","有扩展标记位的mask","未引入tag","比如2表示是nsstring、6表示是nsdate,我们知道3bit能表示的最大值是7,这个7系统用来预留,用来标记是否有额外的标记位,这样就能支持更多的类支持tag","源码","的问题","系统对tag","系统通过3bit的标记位来标识tag","结论","访问效率","通过位运算获取标识位的值来确定是否是tag",":tag的值是7表示有扩展的tag位",":标记位标记该指针是否是tag"],"iOS/Memory/SideTables.html":["!target_os_simul","#els","#endif","#if","%","&","&&","&sidetables()[obj];","&sidetables()[obj];之后,执行到了array[indexforpointer(p)].value;,然后进行哈希算法获取到下标,再返回所需的sidet","((addr","(addr","(const","*","*/","*p)","*referrers;","*reinterpret_cast*>(sidetablebuf);","*weak_entries;","......","//","//否则为64","//引用计数的map表","//弱引用表","//返回sidet","//这就是哈希算法了","//这里是做类型转换","0","1.","1/**","10","10};","11","12","13","14","15","16","17}","1struct","2","2.","2;","3","3.","4","4)","5","5struct","6","63之间,这就是通过哈希函数来获取到了sidetable的下标,然后再根据value取到所需的sidetable。","64","7","7或者0","8","9","9))",":","=",">>","^","addr","alignas(cachelinesize);","array[indexforpointer(p)].value;","array[stripecount];","bit","b、c","c","class","count","c引用计数本质","disguisedptr","enum","explor","field","global","id","indexforpointer(const","inline_referr","inline_referrers[1]","inline_referrers[weak_inline_count];","int","iphone时这个值为8","key","keys,","key,所有指向它的弱引用指针数组作为","low","mask;","mask,去对比表中每个","max_hash_displacement;","natur","nonpointer_isa和散列表","num_entries;","num_ref","objc_object,即","object","oc","operator[]","out_of_line_","paddedt","pointer且关闭了non","pointer,那该对象的引用计数就使用sidetable来存。","ptr_minus_2;","public:","refcnt","refcnts;","refcountmap","refer","referent;","referent,找到对应的","referr","reinterpret_cast(p);","return","sidet","sidetables()","sidetable的结构","sidetable里有一个自旋锁,如果把所有的类都放在同一个sidetable,有任何一个类有改动都会对整个table做操作,并且在操作一个类的同时,操作别的类会被锁住等待,这样会导致操作效率和查询效率都很低。而有多个sidetable的话,操作的都是单个table,并不会影响其他的table,这就是分离锁。","size_t","slock","slock;","spinlock_t","static","store","stripecount","stripecount;","stripedmap","stripedmap&","struct","t","t&","tabl","table.","target_os_iphon","templat","uintptr_t","unfair","union","unsign","valu","values.","value,保存着","void","weak","weak_entri","weak_entry_t","weak_entry_t,然后对其弱引用指针进行操作。","weak_referrer_t","weak_tabl","weak_table;","weak_table_t","{","}","};","个元素,里面存储了sidetable,元素的内容为","为","为什么不直接用一张sidetable,而是用sidetables去管理多个sidetable?","为引用计数。","使用的是","其中第一个成员","内存地址","包含","又包含有一个自选锁、一张全局的引用计数表、一张全局的弱引用表。","可以理解成一个字典结构,将","可以看出来","可以看到,在对stripecount取余后,所得到的值根据机器不同,会在0","哈希数据使用","哈希数组","哈希表,key","因此可以说,一个obj,对应了一个sidetable。但是一个sidetable,会对应多个obj。因为sidetable的数量有限,所以会有很多obj共用同一个sidetable。","在runtime内存空间中,sidetables是一个hash数组,里面存储了sidetable。sidetables的hash键值就是一个对象obj的address。","在对","如何从sidetables里找到特定的sidetable呢,这就用到了散列函数。runtime是通过这么一个函数来获取到相应的sidetable:","如果该对象不是tag","存放着若干个数据,其余的成员都是用来做哈希定位的,","对象,valu","当","忙等待,直到锁被释放(区别于互斥锁的休眠等待)。","才获得锁。","执行tabl","指针。","探寻object","散列表","是一个","是一个哈希结构体,其结构如下:","某个对象所有指向它的","的","的地址,每一个","的引用计数表","的弱引用表","的时候,会将该记录从表中移除。","的锁","简介","线程第一个申请锁,却在","结构","结构体保存,定义如下:","自旋锁","自旋锁,而且是","获取sidet","获取锁的顺序和申请的顺序无关,即可能","获得锁之后","被引用对象的","被引用对象的内存地址作为","进行哈希查找的时候,会将要查找的对象地址作为参数,通过","锁。","非公平","非公平锁","(所有指向被引用对象的)弱引用指针"],"iOS/Memory/WeakTable.html":["!","!((objc_class","!=","!newobj","\"","\"class","\"over","#defin","%s.","&&","&sidetables()[newobj];","&sidetables()[oldobj];","&sidetables()[xxxobj];","(!newobj)","(!refer","(!referent)","(%p)","((entri","((imp)allowsweakrefer","(*allowsweakreference)(objc_object","(*allowsweakreference)(referent,","(bool(*)(objc_object","(cl","(crashifdeallocating)","(deallocating)","(don't","(empty)","(entri","(expression)","(havenew","(havenew)","(haveold","(haveold)","(id)newobj));","(id)newobj,","(id)newobj;","(location,","(newobj","(objc_object","(objc_object*)newobj);","(size_t","(void*)referent,","*)cls)","*)referent_id;","*)weak_register_no_lock(&newt","**","**)referrer_id;","**referr","*,","*entry;","*locat","*location,","*location;","*newobj)","*newtable;","*oldtable;","*p","*p);","*p1","*refer","*referr","*referrer_id)","*referrer_id,","*referrers;","*reinterpret_cast*>(sidetablebuf);","*tableforpointer(const","*weak_entries;","*weak_table,","+initi","//","0","0)","0;","1.ios底层原理:weak的实现原理","1.weak创建过程","1;","1、weak的原理在于底层维护了一张weak_table_t结构的hash表,key是所指对象的地址,value是weak指针的地址数组。","2.weak","2.weak创建流程","2、weak","3.weak销毁过程","3、对象释放时,调用cleardeallocating函数根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。","4","4.weak销毁流程","4、文章中介绍了sidetable、weak_table_t、weak_entry_t这样三个结构,它们之间的关系如下图所示。",":","=","==",">cleardealloc",">getisa();",">hascustomrr())",">isa()",">isinitialized())",">istaggedpointer())",">num_ref",">objc_destructinst",">object_dispos",">out_of_lin",">rootdealloc",">rootisdeallocating();",">setweaklyreferenced_nolock();",">sidetable_cleardealloc",">table.refcnts.erase(it)",">weak_table,","[[nsobject","[]","__weak","_class_initialize(_class_getnonmetaclass(cls,","_objc_fatal(\"cannot","_objc_msgforward)","_objc_rootdealloc","alloc]","append_referrer(entry,","array","bool","break;","c++","care","cl","class","class),通过传入类(结构体)参数,会动态修改在该类中的一个","cleardealloc","cls;","crash","crashifdeallocating)","crashifdeallocating);","crashifdeallocating:","crashifdeallocating:如果被弱引用的对象正在析构,此时再弱引用该对象,是否应该crash","dealloc","deallocating;","deallocation.\",","disguisedptr","empti","entri","entry);","extra_rc","fals","false;","form","goto","hascustomrr","hash","havenew:","havenew:weak指针是否需要指向一个新引用","haveold:","haveold:weak指针之前是否已经指向了一个弱引用","https://juejin.cn/post/6844904079957688328","id","indexforpoint","init]","init];","inline_referrers[i])","inline_referrers[weak_inline_count];","instanc","isa","key","key。可以说,","key,做成了一个弱引用散列。","locat","location);","location,","location:表示__weak指针的地址(我们研究的就是__weak指针指向的内容怎么置为nil)","lsb","mask","mask;","mask:计数辅助量。","max_hash_displac","max_hash_displacement;","max_hash_displacement:hash","new_entry.inline_referrers[0]","new_entry.out_of_lin","new_entry.refer","new_entry;","newobj","newobj)","newobj:所引用的对象,即例子中的person","newtabl","newtable);","nil","nil;","nil。","nil,因为","nil,无需取消注册","nsobject","nsobject.mm","num_entries;","num_ref","num_refs、","num_refs:引用数值。这里记录弱引用表中引用有效数字,因为弱引用表使用的是静态","objc_destructinst","objc_initweak(&p1,","objc_initweak()","objc_initweak(id","objc_msgsend","objc_object","objc_storeweak","objc_storeweak()","object","object_dispos","object_getclassname((id)referent));","object_getmethodimplementation((id)referent,","oldobj","oldobj)","oldobj,","oldobj;","oldtabl","on","out_of_lin","out_of_line=0","out_of_line:最低有效位,也是标志位。当标志位","p1","p;","paddedt","pointer","possibl","previouslyinitializedclass","process","ptr_minus_1;","refcnt","refcnts;","refcountmap","refer","referent)))","referent;","referent_id","referent_id,","referent_id;","referrer);","referrer;","reinterpret_cast","released,","remove_referrer(entry,","retry:","retry;","return","return;","rootdealloc","runtim","sel)","sel))","sel_allowsweakrefer","sel_allowsweakreference);","self;","sidet","sidetable::locktwo(oldtable,","sidetable::unlocktwo(oldtable,","sidetable_cleardeallocating3","sidetables()","size_t","slock","slock;","spinlock_t","static","storeweak","storeweak(id","storeweak最主要的两个逻辑点(源码太长,这里不贴了)","stripedmap","stripedmap&","stripedmap[]","struct","t","tabl","table。其实其中的","table。而在","tag","templat","true","true;","typedef","typeof(self)weakself","uintptr_t","union","valu","void","weak","weak_entri","weak_entry_for_refer","weak_entry_for_referent(weak_table,","weak_entry_remove(weak_table,","weak_entry_t","weak_inline_count","weak_referrer_t","weak_referrer_t;","weak_register_no_lock","weak_register_no_lock(weak_table_t","weak_tabl","weak_table;","weak_table_t","weak_unregister_no_lock","weak_unregister_no_lock(&oldt","weak_unregister_no_lock(weak_table_t","weaktabl","weaktable在每个sidetable中以结构体","weak的实现原理","weak置空原理","which)","zone","{","||","}","};","①","①objc_initweak","②","②storeweak","③","③weak_register_no_lock","④append_referr","、","。","。其中的","下面指向的操作会改变旧值","下面的一段代码是在开发中常见的weak的使用","不支持弱引用,该过程需要暂停","不需要分配新值","两个成员不用多说,第一个是为了防止竞争选择的自旋锁,第二个是协助对象的","中声明其数据结构:","中接触","中的多张弱引用散列表。","中的源码如下:","中的缓存判断),这里判断了其指针指向的类对象是否有效,无效直接释放,不再往深层调用函数。","中,其成员","为索引所存储的值地址","主要进行了istaggedpointer和deallocating条件判断","之前不要设置","介绍了与对象相关联的","从弱引用的","会将传入对象的地址加以封装起来,并且其中也有访问全局弱引用表的入口。","会返回","位的情况","使用","使用场景都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak","例如","保存了所有指向指定对象的","保持一致,如果不同,说明当前的","保证原子操作的自旋锁","保证引用对象是否有效","做了转换,将声明方式做出了如下调整。","元素上限阀值。","全局","共同引用计数的变量(对于对象结果,在今后的文中提到)。这里主要看","关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为","其中的对象指针,就是代码中的","其实","其实对","具体可查阅ios底层学习","内存管理之weak原理探究","函数会需要该指针","函数把心的对象进行注册操作,完成与对应的弱引用表进行绑定操作。","分配新值","初始化","初始化构造器保证所有弱引用的","判断","加锁操作,防止多线程中竞争冲突","参与判断引用计数辅助量","变量有值","可以看出,这个函数仅仅是一个深层函数的调用入口,而一般的入口函数中,都会做一些简单的判断(例如","可是又被其他线程所修改","和","在","在之前的","在入口方法中,传入了","在取出实例方法的实现中,使用了","在引用计数表中设置若引用标记位","在线程中","增加弱引用表于附加对象上","声明两个","复制代码","如果weak_entry_t不存在,则会新建一个并插入","如果其对象为","如果存在就将指向被弱引用对象地址的指针referrer通过函数append_referrer插入到对应的weak_entry_t引用数组","如果弱引用被释放","如果该类","如果该类已经完成执行","存储空间","存在,sidetable中储存着各种类对象,sidetable中包含了weaktable,rc引用计数器表,自选锁,当开发使用","实例:","对于","对于给定的弱引用查询","对其","对象。在","对象指针);","对象,并且其中对于","对象,这里需要更改指针指向","导致","将引用表中记录为空","将被弱引用对象所在的weak_table中的weak_entry_t哈希数组中取出对应的weak_entry_t","就是我们传入的","已经处理过","已经释放或者","并且通过","应该与","引用全局","引用计数和弱引用依赖表","引用计数的","引用计数那张散列表的weak引用对象的引用计数中标识为weak引用","弱引用位初始化操作","弱引用的实现方式","弱引用表,referent_id","总结一下","总结来说:","成员为最低有效位,当其为0的时候,","成员存储的元素类型,并且其中提供了一个针对于地址的","成员将扩展为多行静态","成员,从字面意思上看,即为弱引用表入口。其实现也是这样的。","成员,用来存储","成员,这个","找到弱引用对象的对应的weak_entry哈希数组中插入","技术","指针","指针,对象释放时,弱引用表置空","指针二维数组。一维","指针可构成一张弱引用散列表,通过第三纬度实现了多张散列表,并且表数量为","指针的","指针的对应绑定。根据函数名,称之为解除注册操作。从源码中,可以知道其功能就是从","指针的绑定。而其中的遍历查询,就是针对于","指针进行初始化","指针进行标记","提供了一套拥有将地址作为","数值","新对象添加注册操作","新旧散列创建","方法","方法中,取出实例的方法变成了","方法是最理想情况","方法检查类(包括其父类)中是否含有默认的方法","方法的地址","方法的实现,在","方法返回","方法通过位运算计算下标,实现了静态的","无效对象直接导致指针释放","旧对象以及","旧对象对应的地址","旧对象解除注册操作","时候,","时,增加引用表指针纬度。","是一个模板类(templat","是一个模板类,在这个类中有一个","是二维","是对泛型对象的指针做了一个封装,通过这个泛型类来解决内存泄漏的问题。从注释中写","是我们传入的一个弱引用指针。而对于","更改指针,获得以","更改新值指针,获得以","替代存储","最大偏移值","有什么作用?以下是笔者自身的猜测:","查看对象实例是否有效","标准转换运算符","根据首对象查找","检查","检测","检测对象是否生效、以及是否使用了","检索方式,再来看","正在调用","此打断点跟踪汇编信息,可以发现底层库调了objc_initweak函数","没有新值,则无需更改","泛型成员,也就是","清除旧值","版本中,有一个较为重要的成员方法,用来根据对象的地址在缓存中取出对应的","状态","用","用指针去访问","用来处理无关类型之间的转换。该关键字会产生一个新值,并保证与原参数(expression)拥有完全相同的比特位。","由于","由于弱引用在析构dealloc时自动置空,所以查看dealloc的底层实现并llvm调试","由于是第一次调用,所以走havenew分支——获取到的是新的散列表sidetable,主要执行了weak_register_no_lock方法来进行插入","的","的下标中,这里使用了","的值通常情况下是等于零的,所以弱引用表总是一个","的别名,通过一个二维指针地址偏移,用下标作为","的实现:","的成员和作用。","的结构中,disguisedptr","符的重载定义中,会返回这个","算法,用作存储","类型结构体对象作为","结构,所以需要使用变量来记录数目。","继续阅读","而","而在上面","自行创建弱引用表","获得新值和旧值的锁存位置(用地址作为唯一标示)","获得新对象的","表","表。在","表中删除","表的结构与作用。","解决方案,而该方案采用了模板类,是拥有泛型性的。","解锁","记录并存储对应引用表","该方法主要作用是将旧对象在","该过程用来更新弱引用指针的指向","说明","这一步与上一步相反,通过","这个方法。在进行编译过程前,clang","这个结构体,我给他起名引用计数和弱引用依赖表,因为它主要用于管理对象的引用计数和","这是一个全局弱引用表。使用不定类型对象的地址作为","这种方式。查看方法的实现,发现了如下函数:","这里不会设置","这里传递了三个","进行常量参数传递是为了优化性能","通过地址来建立索引标志,防止桶重复","通过地址来解除引用关联","避免线程冲突重处理","那么在有效位未生效的时候,out_of_lin","重新尝试","防止弱引用间死锁","需要手动对其增加保护策略,并设置","需要注意的是,当修改弱引用的变量时,这个方法非线程安全。所以切记选择竞争带来的一些问题。","需要被分配的新值,当前值可能为","需要被及时清理,当前值可能为","非空且已经初始化","非空指向",",其表达方式为:",",并输出日志",",用",",而",":"],"iOS/Objc_Object/Property.html":["(code","(description/templ","(extern","(inheritance)","(manifest","(non","(object","(sent","*)。","+",".h:",".m",".m:","/","//也会存在不安全","//安全","1.基本数据类型:atom","1.成员变量","2.","2.普通oc对象:","3.","4.","=","@implement","@properti","@synthes","[[nsarray","[array","act)","addobject:obj];","alloc]init];","array","assign","assign:","atom","atomic保证赋值获取是线程安全,是对成员属性的直接的获取安全,并不代表操作和访问安全.","atomic是自旋锁,即当上一线程没有执行完毕(被锁住),下一线程会一直等待(不会进入睡眠状态),当上一线程执行完毕,下一线程立即执行。他区别于互斥锁,互斥锁在等待的时候,会进入睡眠状态,当上一个线程执行完毕,睡眠状态就会被唤醒,然后再执行。","block","bool等","c2.0中的新语法:properties。它帮我们自动生成getter和sett","class","class)","copi","count;","data","declarations翻译过来就是成员变量的声明","float)的简单指针。可以在.h","getter","id","immutable对象","instanc","int","invok","io","ivar","make","messag","message)","method","methods)","mutablecopi","mutable对象","mybutton","mybutton;那么生成的实例变量就是_mybutton。","mybutton;那么生成的实例变量就是mybutton;如果没写@synthes","name","name;","nonatom","nsstring","object","object)","oc特有的类型。从本质上讲,","properti","propety属性","protocol","readonli","readwrit","retain","setter","specif","storage)","strong","superclass/subclass","variabl","variable)","weak","weak修饰时,runtime会维护一个hash表(也称为weak表),用于存储对象的所有weak指针,hash表的key是该对象的地址,value为weak指针的地址(这个地址的值是所指对象的地址)数组。(备注strong是通过runtime维护的一个自动引用计数表)","weak关键字:","weak的实现原理总结:","weak:","xxx;那么self.mybutton其实是操作的实例变量xxx,而不是_mybutton了。","√默认关键字","不分配","不可变","不影响","不改变修饰对象的引用计数","严格说来,上图中的","为","从给出的英文说明,可以看出:实例(instance)是针对","代码段中,@synthesize的作用就是让编译器为你自动生成setter与getter方法,@synthes","会产生悬垂指针:仍然指向内存地址,如果没覆盖后还调动变量就会crash","修饰基本数据类型,如int,","修饰对象类型时,不改变其引用计数","修饰的是一个数组,对数组赋值获取是安全的,但是对数组进行操作(添加对象,移除对象)是不保证线程不安全的.而且采用atomic消耗比较大","关于arc下,不显示指定属性关键字时,默认关键字:","关键字","写@property声明属性,其实是做了三件事","分配","初始化时,runtime会调用objc_initweak函数,初始化一个新的weak指针指向对象地址;","协议:","原子性","可变","因为","图中的member","声明了getter和setter方法;","声明了实例变量(默认:下划线+属性名);","外属性)","如果.m文件中写了@synthes","实例变量","实例变量。","实例变量:","实例变量:是成员变量的一种,实例是针对类而言的,是指对类的声明;由此推理,实例变量是指由类声明的对象。","实例:","实现了getter和setter方法。","实现原理","属性","应属于","应该属于成员变量还是实例变量呢?","引用计数","影响","成员变量:通常是指向对象或是基础类型(int,","或是","所以","所指对象在释放之后会自动设置为nil","拷贝方式","拷贝类型","文件中声明:","新内存空间","方法:","是","是一个实例变量(nsstring是一个类).至于","是一个成员变量。而","是指由类声明的对象。","比如","浅拷贝","消息:","深拷贝","添加引用时,objc_initweak函数会调用objc_storeweak函数,objc_storeweak的作用是更新指针指向,创建对应的弱引用表(hash表)","源对象类型","目标对象类型","等同于","类(class)而言的。实例是指类的声明;由此推理,实例变量(inst","类:","补充介绍","语句只能被用在","读写权限","超类/子类:","还有一个作用,可以指定与属性对应的实例变量,例如@synthes","都是强引用,除了某些情况下不一样,比如修饰block,其他的时候也是可以通用的。","释放时,调用cleardeallocating函数。cleardeallocating函数首先根据对象地址获取weak指针地址的数组,然后遍历这个数组把其中指向空对象的指针设为nil,最后把这个指针从weak表中删除,最后清理对象的记录。","(void"],"iOS/Objc_Object/isa.html":["#endif","#if","(dracarys.github.io)","*/","*class;","/*","//","10","10,则需要使⽤到上⾯的","10,那么","1;","1,例如,如果对象的引⽤计数为","1:包含swift代码;","2:sdk版本低于10.11;","33","3:runtime读取image时发现这个image包含__objc_rawisa段;","44;","4:开发者自己添加了objc_disable_nonpointer_isa=yes到环境变量中;","5:某些不能使用non","64","6;","6:父类关闭。","8","8;","9。如果引⽤计数⼤于",":","=","[nsstring","arc","arm64","bit","bits(value)","bits;","c","c++","class","class_data_bits_t","class的信息则由metaclass所有;","class)","class)?","cls;","dealloc","deallocating:标志对象是否正在释放内存。","defaultstringencod","defaultstringencoding];","defin","defined(isa_bitfield)","details...","extra_rc","extra_rc:当表示该对象的引⽤计数值,实际上是引⽤计数值减","follow","has_assoc","has_assoc:关联对象标志位,0没有,1存在。","has_cxx_dtor","has_cxx_dtor:该对象是否有","has_sidetable_rc","has_sidetable_rc。","has_sidetable_rc:当对象引⽤技术⼤于","instance的信息由class所有;","ios底层探索:isa结构分析","isa","isa.h","isa;","isa_bitfield;","isa_t","isa_t()","isa_t(uintptr_t","isa_t、cls、","isa。(isa","isa指针保存着指向类对象的内存地址,类对象全局只有一个,因此每个类创建出来的对象都会默认有一个isa属性,保存类对象的地址,也就是class,通过class就可以查询到这个对象的属性和方法,协议等;","isa指针是什么?","isa本质是一个isa_t的类型,那isa_t是一个联合体位域结构","magic","magic:⽤于调试器判断当前对象是真的对象还是没有初始化的空间。","metaclass是单一职责和扩展性:","new.m中找到逻辑。","nonpoint","nonpointer:表示是否对","nsobject","nsstringencod","objc","objc_class","object","oc源码:","pointer的类,gcd等;","pointer目前有这么几个判断条件,这些都可以在runtime源码objc","pointer,那么会对isa的其他成员赋值,否则只会对cls赋值。","refer","runtim","shiftcl","shiftcls:存储类指针的值。开启指针优化的情况下,在","specif","struct","super_class","super_class;","taggedpointer技术,不使用isa","typedef","uintptr_t","union","value)","weakly_referenc","weakly_referenced:对象是否被指向或者曾经指向⼀个","{","|","}","};","【译】object","中包含了类信息、对象的引⽤计数等。","中每个类本身也是一个对象。如上面所看到的,这意味着类结构也必须以一个isa指针开始,从而可以和objc_object在二进制层面兼容,之后这个结构的下一字段必须是一个指向父类的指针(对于基类则为nil)。","中的元类(meta","中类也是一个对象。","中,对象的方法并没有存储于对象的结构体中(如果每一个对象都保存了自己能执行的方法,那么对内存的占用有极大的影响)。","为","为为一个对象分配内存,初始化实例变量后,在这些对象的实例变量的结构体中的第一个就是","为了调用class里的方法,该class的isa指针也必须指向一个包含了该class方法列表的class。","为什么要设计metaclass","之所以能成功是因为","也有一个指向自己的父类的指针","什么是元类(meta","什么是联合体?","从","位⽤来存储类指针。","位的内存空间,","元类是必不可少的,因为它存储了类的类方法。每个类都必须有独一无二的元类,因为每个类都有独一无二的类方法。","元类的类是什么?","元类,就像之前的类一样,它也是一个对象。你也可以调用它的方法。自然的,这就意味着他必须也有一个类。","否则类方法,实际方法都在同一个流程中,类对象、元类对象能够复用消息发送流程机制;","因为在","土丘上的蒲公英","在元类中获取方法的实现","在类中获取方法的实现","在这个示例里,defaultstringencoding被发送给了nsstring类。","在这样的继承体系下,所有实例、类以及元类都继承自一个基类。","如果该实例对象启用了non","字节(决定于其中的结构体)","存储该对象信息,例如引用计数器,弱引用表等)","实例对象可以通过isa指针找到它的类对象,类对象存储实例方法列表等信息。类对象可以通过isa指针找到它的元类对象,从而可以访问类方法列表等相关信息","实例方法调用时,通过对象的","当","当你给对象发送消息时,消息是在寻找这个对象的类的方法列表;","当你给类发消息时,消息是在寻找这个类的元类的方法列表。","当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union),利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。","当实例方法被调用时,它要通过自己持有的","总共会占据","或者","所有的元类都使用根元类(继承体系中处于顶端的类的元类)作为他们的类。这就意味着所有nsobject的子类(大多数类)的元类都会以nsobject的元类作为他们的类","指向对应的元类,这样就达到了使类方法和实例方法的调用机制相同的目的:","指针开启指针优化,0:纯isa指针,1:不⽌是类对象地址,isa","指针的作用与元类","整体如下图片所示:","时,则需要借⽤该变量存储进位。","是一个","是否关闭non","有一些对象比较小则会使用","来查找对应的类,然后在这里的","架构中有","根据消息接受者的isa指针找到metaclass(因为类方法存在元类中。如果调用的是实例方法,isa指针指向的是类对象。)","根据这个规则,所有的元类使用根元类作为他们的类,根元类的元类则就是它自己。也就是说基类的元类的isa指针指向他自己。","正如我上周展示的,定义一个class有很多种方式,取决于你的运行时库版本,但有一点,它们都以isa字段开始,并且仅跟着一个superclass字段。","注:","用来查找继承的方法。","的一个类也是一个对象。这意味着你可以发送消息给一个类。","的初始化了解","的弱变量,没有弱引⽤的对象可以更快释放。","的析构器,如果有析构函数,则需要做析构逻辑,如果没有,则可以更快的释放对象。","简单来说就是:","类和元类的继承","类型的结构体,其中的","类对象和元类对象分别是什么,他们之间有什么区别?","类对象或是元类对象都是objc_class数据结构的,objc_class由于继承自objc_object,所以他们都有isa指针,所有实例可以找到类,类可以找到元类","类方法的实现又是如何查找并且调用的呢?这时,就需要引入元类来保证无论是类还是对象都能通过相同的机制查找方法的实现。","类方法调用时,通过类的","类用super_class指针指向了父类,同样的,元类用super_class指向类的super_class的元类。","结构体","结构体中查找对应方法的实现。同时,每一个","让每一个类的","说的更拗口一点就是,根元类把它自己的基类设置成了super_class。","还有结构体共用同一块地址空间。而","这就引出了元类的定义:元类是class的类。","这意味着对于继承于nsobject的所有实例、类和元类,他们可以使用nsobject的所有实例方法,类和元类可以使用nsobject的所有类方法","进入cachelookup流程,这一步会去寻找方法缓存,如果缓存命中则直接调用方法的实现,如果缓存不存在则进入objc_msgsend_uncached流程。","采用这种结构的原因也是基于内存优化的考虑(即二进制中每一位均可表示不同的信息)。通常来说,isa指针占用的内存大小是8字节,即64位,已经足够存储很多的信息了,这样可以极大的节省内存,以提高性能。"],"iOS/Objc_Object/ObjectClass.html":["*class;","bit","bucket_t","cach","cache_t","class","class_data_bits_t","class_rw_t","class,class","data","hash","io","isa_t","mete","method_t是一个方法的封装,里面包括了名称(sel),返回值,参数,与函数体(实现)","new.h","nsobject","objc","objc2","objc_class","objc_class的真实定义实际的代码我们可以从","objc_object","objc_object中有一个isa指针,那么objc_class继承objc_object,也就同样拥有一个isa指针","objc_object的真实定义","objectclass","only。","private.h文件","read","runtim","struct","super_class","superclass","typedef","vtable,加速方法的调用","write,class_ro_t","一个类的内部结构如下,","不管是类对象还是元类对象,类型都是","中的","中看到(中间代码省略):","和","如上图,关系也如旧版本一样,","实质上是装满了","对象与数据结构","就是存储类的方法、属性、遵循的协议等信息的地方","总结","所有继承自","指向当前类的父类","提供消息传递过程当中的缓存方法查找","用于缓存指针和","的一个","的底层都是","的类实例化后的对象都会包含一个类型为","的结构体。","类的基础信息,包含了类的方法列表,协议列表等。","结构","结构体的指针。","结构,此结构定义如下:","继承于","而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&fast_data_mask操作","而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。","表。因为散列表检索起来更快,","表示","表示read","详见","返回",","],"iOS/Objc_Object/ClassRWT.html":["#defin","&","(1ul","(class_rw_t","(const","*","*)(bit","*)calloc(sizeof(class_rw_t),","*)cl","*baseproperties;","*data","*data()","*ro","*ro;","*rw","...","//","0。","1);","47","47]","64","=",">data();",">flag",">ro",">setdata(rw);","[3,","above.","basemethodlist;","basemethods,","baseprotocols;","bit","bit)","bit;","bits.data();","bits;","bool","char","cl","class","class_data_bits_t","class_ro_t","class_ro_t,这样我们即可以在运行时为","class_rw_t","class_rw_t*","classrwt","const","custom","data","data()","data。","fast_","fast_data_mask","fast_data_mask);","fast_has_default_rr","fast_is_swift","fast_requires_raw_isa","firstsubclass;","flag","flags;","getbit(uintptr_t","hasdefaultrr()","instancesize;","instancestart;","isa","isswift()","ivar_list_t","ivarlayout;","ivars;","method","method_array_t","method_list_t","methodizeclass","methods;","methods、","name;","new.h","nextsiblingclass;","objc","objc_class","objc_class的真实定义实际的代码我们可以从","objectclass.md","only。","os","plu","private:","properti","properties;","property_array_t","property_list_t","protocol","protocol_array_t","protocol_list_t","protocols;","raw","read","realizeclass","refer","requiresrawisa()","reserved;","retain/release/autorelease/retaincount/_tryretain/_isdeallocating/retainweakreference/allowsweakrefer","return","ro","ro;","ro,其中存储了当前类在编译期就已经确定的属性、方法以及遵循的协议。(如果是当前类有category扩展,则新增的属性方法会放在","rr/alloc","runtim","rw","rw_realized|rw_realizing;","struct","swift","uint32_t","uint8_t","uintptr_t","valu","version;","weakivarlayout;","write,class_ro_t","x86_64","{","}","};","、properti","下图是","与","中","中方法的结构","中的","中的属性在运行期间就不能改变了,再添加方法时,会修改","中的方法,属性以及协议列表均为空。这时需要","中看到(中间代码省略):","中:","为我们提供了便捷方法用于返回其中的","从","但是,在这段代码运行之后","位来为对象分配地址。而且由于地址要按字节在内存中按字节对齐,所以掩码的后三位都是","位的","位转换成","位,所以可以使用最后三位来存储关于当前类的其他信息:","其中还有一个指向常量的指针","列表中。","列表,而不是","初始化一个","只使用了其中的","和","因为","在","在内存中的位置是在编译期间决定的,在之后修改代码,也不会改变内存中的位置。","在编译期间类的结构中的","将","小结","强制转换为","当前类或者父类含有默认的","当前类的实例需要","所以调用初始化如下","执行之后,才放到了","指向的只读区域","指向的是一个","指针","指针加上","指针只存于第","指针:","数组中,成为一个二维数组)","方法","方法中:","方法执行过后的类所占用内存的布局","方法来将类自己实现的方法(包括分类)、属性和遵循的协议加载到","方法,将结果从","最后设置正确的","架构上,mac","深入解析","添加方法,也不会影响类的只读结构。","然后在加载","用于判断","用于存储与类有关的信息:","由前面可知","的","的值以及","的标志。","的结构体,其中只含有一个","相当于","类","类中的属性、方法还有遵循的协议等信息都保存在","类的方法、属性以及协议在编译期间存放到了“错误”的位置,直到","结构体","结构体中的注释写到","结构,此结构定义如下:","而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&fast_data_mask操作","而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。","表示","表示read","设置结构体","调用","运行时的过程中在","返回","返回。","进行位运算,只取其中的"],"iOS/Objc_Object/OCAllocInit.html":["!","!cls))","#defin","#els","#endif","#if","&","&&","(!cls)","(!obj)","(!zone","((malloc_zone_t","(__builtin_expect(bool(x),","(allocwithzone)","(cxxconstruct","(fastpath(!cl","(fastpath(cl","(id)alloc","(id)calloc(1,","(id)init","(id)malloc_zone_calloc","(id)new","(id)self;","(outallocatedsize)","(slowpath(!obj))","(slowpath(checknil","(throw","(zone)","*","*)zone,","*data()","*outallocateds","*zone,bool","+","+alloc.","//","//!!","0))","0);","1))","1,","1.带你深入了解oc对象创建过程",":","=",">bits.fastinstancesize());",">canallocfast()))",">canallocnonpointer();",">clearflags(rw_has_default_awz);",">flag",">hascustomawz()))",">hascustomawz()。",">hascxxctor();",">hascxxdtor();",">initinstanceisa(cls,",">initisa(cls);",">instancesize(extrabytes);",">isa()",">isrealized());",">setflags(rw_has_default_awz);","[[class","[callalloc(self,","[cl","[class","__attribute__((always_inline))id_class_createinstancefromzone(class","__builtin_expect是gcc提供给程序员使用,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。","__objc2__","_class_createinstancefromzone(cls,","_objc_constructorfree(obj,","_objc_rootalloc(self);","_objc_rootinit(self);","add","alloc/allocwithzon","alloc]","alloc];","alloc]。当再次调用callalloc时候defaultawz为ture,hascustoawz为false这样会进入到下一个流程。","allocator.","allocinit","allocwithzone:nil],","allocwithzone:nil].","allocwithzone:nil];","allocwithzone=false)","always_inlin","appropri","ascustomawz作用是判断当前类有没有实现allocwithzone方法。它是通过类的结构体objc_class中的hascustomawz方法判断的:","assert(!isfuture());","assert(cl","assumpt","available.","base","bit","bits.canallocfast();","bits.data();","bits.hasdefaultawz();","bits;","bool","cach","cache;","cache_t","call","callalloc","callalloc(class","callalloc(cls,","callbadallochandler(cls);","calls.","canallocfast","canallocfast'","canallocfast()","canallocfast作用是判断当前类是否可以快速开辟内存,需要注意的是这里永远不会调用,因为canallocfast内部返回的是false。具体实现如下:","cf","chain","checknil,","cl","class","class'","class_createinst","class_createinstance(class","class_createinstance(cls,","class_data_bits_t","class_rw_t","cls);","cls){","cls,","ctor","ctors,","custom","cxxconstruct","data()","do","dtor","dtor);","etc.","extrabytes){","extrabytes,","false/*checknil*/)","false/*checknil*/,","false;","fast","fast)","fastpath(x)","fixm","flag","formerli","function.","go","hard","hascustomawz","hascustomawz()","hascxxctor","hascxxctor)","hascxxdtor","hascxxdtor);","hascxxtor()和hascxxdtor","hasdefaultawz()","hasdefaultawz()的方法实现如下:","id","id_objc_rootalloc(class","id_objc_rootinit(id","implement","implementation.","info","init","init]","init];","isa","isa,","isa;","mani","meta","metal.","new]","nil);","nil){","nil.","nil;","non","nsexception)","obj","obj){","obj;","objc_class","objc_object","oc对象创建过程","onc","optimizations.","path.","perform","plu","pointer","practice,","properli","raw","read","refer","reli","replac","return","rr.","rr/alloc","rw_has_default_awz;","rw_has_default_awz是用来标记用户有没有自己实现allocwithzone方法。由于类是有懒加载的概念的,所以第一次给该类发送消息之前,该类是没有加载的,因此当类收到alloc消息的时候,进入到hascustomawz时并没有默认实现allocwithzone方法,所以hascustomawz返回true,因此会直接进入到[cl","sethascustomawz()","sethasdefaultawz()","shortcut","size","size);","size;","size_t","slower","slowpath(x)","slowpath和fastpath","someth","something.","static","store","straight","struct","summari","superclass;","true,size_t","true/*allocwithzone*/);","us","void","vtabl","weird","zone","{","}","从上面两种创建对象的方法可以看出第一种方式对象的创建是在alloc中,init方法只是返回已经创建的对象。通过new方法创建的对象本质还是alloc和init的结合。","代码中,if","其实代码中的slowpath和fastpath删除后并不会影响这段代码的功能,slowpath和fastpath的添加就是为了告诉编译器if条件语句中是大概率事件还是小概率事件,从而让编译器对代码进行优化。","创建对象的两种方法","可以看到canallocfast返回false,于是来到了下一流程:class_createinstance。","在这里开始创建对象分配内存空间,hascxxtor()和hascxxdtor()是用来处理c++成员变量的构造和析构的,hascxxtor是判断当前class或者superclass是否有.cxx_construct的实现,hascxxdtor是用来判断当前class或者superclass是否有.cxx_destruct的实现,canallocnonpointer是判断是否可以创建nonpointer。","就是说明cls大概率是有值的,告诉编译器编译时优化,下面就到了cl","是否可以创建nonpoint","表示x的值为假的可能性更大","表示x的值为真的可能性更大"],"iOS/Objc_Object/Category.html":["&","&&","(!cats)","(!cls)","(addedcount","(cl","(eat)","(flush_cach","(hasarray())","(i","(initialized)","(loadable_classes_us","(loading)","(method_list_t","(mlist)","(play)","(printreplacedmethods)","(property_list_t","(proplist)","(protocol_list_t","(protolist)","(rua)","(run)","(分类1)","(后编译的category,插入的方法在每个类大方法数组最前面)","(宿主类1)","(宿主类2)",")","*","*)realloc(array(),","**)","**mlist","**proplist","**protolist","*/","*cache;","*cats,","*class_methods;","*cls;","*instance_methods;","*isa;","*mlist","*name;","*pool","*properties;","*proplist","*protocols;","*protolist","*ro;","*superclass;","*vtable;","+","+load",",重点来看","...","/*","//","//_class_t","//array()","//memcpi","//memmove,内存挪动","//realloc","//先加载宿主类的load方法(按照编译顺序,调用load方法)","//协议列表","//实例方法列表","//宿主类名称","//宿主类对象,里面有isa","//属性列表","//最后编译的分类,最先添加到分类数组中","//类方法列表","0","0)","02","0;","1)、category的方法没有“完全替换掉”原来类已经有的方法,也就是说如果category和原来类都有methoda,那么category附加完成之后,类的方法列表里会有两个methoda","1)、可以调用,因为附加category到类的工作会先于+load方法的执行","1)、在类的+load方法调用的时候,我们可以调用category中声明的方法么?","1.","1.category的特点","1.深入理解object","1.通过runtime加载某个类的所有category数据","17:28:00.519862+0800","17:28:00.520032+0800","17:28:00.520047+0800","17:39:10.354050+0800","17:39:10.354237+0800","17:39:10.354252+0800","17:39:10.354263+0800","17:39:10.354274+0800","17:39:10.354285+0800","2)、category的方法被放到了新方法列表的前面,而原来类的方法被放到了新方法列表的后面,这也就是我们平常所说的category的方法会“覆盖”掉原来类的同名方法,这是因为运行时在查找方法的时候是顺着方法列表的顺序查找的,它只要一找到对应名字的方法,就会罢休,殊不知后面可能还有一样名字的方法。","2)、加载顺序是父类先+load,然后子类+load,然后分类+load,+load的执行顺序是先类,后category,而category的+load执行顺序是根据编译顺序决定的。","2)、这么些个+load方法,调用顺序是咋样的呢?","2.","2.分类中可以添加哪些内容","2.把所有category的方法、属性、协议数据,合并到一个大数组中","2019","27","3.","3.io","3.将合并后的分类数据(方法、属性、协议),插入到类原来数据的前面","=","==","=>",">",">count",">count;",">count;//宿主类,分类的总数",">data()",">data();",">flag",">isbundle();",">ismetaclass();",">isrealized());",">list",">list[i];",">lists,",">lists[0]));",">methods.attachlists(mlists,",">methodsformeta(ismeta);",">properties.attachlists(proplists,",">propertiesformeta(ismeta,",">protocols.attachlists(protolists,",">protocols;",">setinfo(rw_loaded);",">superclass);","[","[method_t,],","[method_t,method_t,method_t],","[method_t,method_t],","[methodlist","]","_category_t","_class_ro_t","_class_t","_dyld_objc_notify_register(&map_images,","_imp_implementationwithblock_init();","_method_list_t","_objc_init(void)","_prop_list_t","_protocol_list_t","_read_imag","a)可以减少单个文件的体积","add_class_to_loadable_list(cls);","addedcount","addedcount)","addedcount,","addedcount;","addedlists,","alloc","arch","aren’t","arm64","array()","array_t::bytesize(newcount)));","assert(cl","atindex:0];所以objc_msgsend遍历方法列表查找sel","attachcategories(class","attachlists(list*","auto","auto&","b)可以把不同的功能组织到不同的category里","backward","bool","c)可以由多个开发者共同完成一个类","cache_init();","call","call_category_loads();","call_class_loads();","call_load_methods(void)","cat","categori","category_list","category和+load方法","category如何加载","category的加载处理流程","category被附加到类上面是在map_images的时候发生的","cats);","char","cl","clang","class","cls)","cls,","const","copi","count","c:categori","d)可以按需加载想要的categori","defer","demo[91107:2281575]","demo[91308:2303030]","ensur","entrant","entri","entry.cat","entry.hi","entry.hi);","environ_init();","exception_init();","extens","extension(扩展)","extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随之一起消亡。extension一般用来隐藏类的私有信息,你必须有一个类的源码才能为一个类添加extension,所以你无法为系统的类比如nsstring添加extension。","false;","finish","first","fixm","flush_caches)","flushcaches(cls);","found?","free(mlists);","free(proplists);","free(protolists);","frombundl","frombundle);","imag","init","initi","initialize实现原理","initialize,加载or调用的时候,都会先调用父类对应的","initialize:","insertobject:category_method","int","intermedi","iphoneo","ismeta","job.","list","load","load(分类2)","load(分类3)","load(分类4)","load:","load],父类就会收到调用。","load_images,","loadmethodlock.assertlocked();","load实现原理","malloc(cat","mani","mcount","mcount);","mcount,","memcpy(array()","memmove(array()","method_list_t","mlist;","mlists,","mlists[mcount++]","mndog","mnperson","mnperson+test.m","more","more_categori","more_categories);","more_categories;","newcount","newcount;","newest","no,","no;","nothing;","objc","objc_autoreleasepoolpop(pool);","objc_autoreleasepoolpush();","objc_msgsend","oldcount","onc","order","outermost","preparemethodlists(cls,","printreplacements(cls,","propcount","propcount);","property_list_t","proplist;","proplists[propcount++]","protocol_list_t","protocount","protocount);","protolist;","protolists[protocount++]","re","realiz","rearrang","refer","remov","repeatedli","return;","rewrit","run","runtim","runtime_init();","rw","rw_loaded)","schedule_class_load(cl","schedule_class_load(class","sdk","setarray((array_t","sizeof(*mlists));","sizeof(*proplists));","sizeof(*protolists));","sizeof(array()","static","static_init();","struct","superclass","through","tls_init();","true;","uint32_t","unmap_image);","until","untri","us","void","xcrun","yes;","{","{//倒序遍历,最先访问最后编译的分类","|=","||","}","};","不能为系统类添加扩展","与","两颗星星,一个)","二维数组(","从这俩个回调方法里看,你会发现category在map_images会加载完毕,而load_images会调用+load方法。","但是category则完全不一样,它是在运行期决议的。","使用","先初始化父列","先编译的类,优先调用load","先调用宿主类的","先调用类的load","再初始化子类(可能最终调用的是父类的初始化方法)","再调用分类的的","函数","函数的地址,直接调用","函数,生产一个cpp文件,窥探其底层结构(编译状态)","分类的加载处理流程主要有下面三步:","分类的方法列表","到原来的方法列表中","动态将分类的方法合并到类对象、元类对象中","协议","原来的方法列表","只能以声明的形式存在,多数情况下,寄生于宿主类的.m文件中","可以为系统类添加分类","可以动态地为已有类添加新行为。apple还推荐了category的另外两个使用场景","可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,","后+load的类的方法,后添加到方法列表,而这时的添加方式又是插入顶部添加,即","后面参与编译的category数据,会在数组的前面","和","在程序运行过程中只会执行一次","在调用分类的load","声明私有属性","声明私有成员变量","声明私有方法","实例方法","实例方法合并到类对象中,类方法合并到元类对象中","实际调用时,调用的是后添加的方法,即后添加的方法在方法列表methodlists的这个数组的顶部","实验证明:宿主类先调用,分类再调用","对应的imp时,会先找到分类重写的那个,调用执行。然后添加到缓存列表中,这样主类方法实现永远也不会调到。","将分类的方法列表","就category和extension的区别来看,我们可以推导出一个明显的事实,extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。","属性","忽略掉一堆","我们知道,在类和category中都可以有+load方法,那么有两个问题:","扩容了","按照编译先后顺序调用(先编译,先调用)","捋一捋category加载流程及+load","方法,再调用自己本身的;","方法,无需导入,无需使用","旁枝末叶","是根据函数地址直接调用,initi","是类第一次加载的时候调用,initi","是类第一次接收到消息的时候调用,每个类只会initialize一次(父类的initialize方法可能被调用多次)","是通过objc_msgsend","核心:将所有分类的对象方法,附加到类对象的方法列表中","每个分类的结构都一致,都是category_t","每个分类都是独立的","每个类、分类的","父类和本类的调用:父类的方法优先于子类的方法。一个类的+load方法不用写明[sup","画图分析","的区别","相关考点(article文件夹有收藏)","等等。","答:","类方法","类的load方法中,能调用分类的方法。","类第一次加载进内存的时候,会调用","类第一次接收到消息的时候,会调用该方法,需导入,并使用","结构","编译时决议,categori","获取某一个分类","要注意的有两点:","调用","调用子类的+load之前会先调用父类的+load","调用子类的load之前,会先调用父类的load","调用方式也不一样,load","调用时刻,load是runtime加载类、分类的时候调用(只会调用一次)","调用顺序","调用顺序:","调用,而是找到","走的不是消息发送的","走的是消息发送的","运行时决议","这个方法会注册3个事件并给出回调。","这里的mnperson","递归调用,先将父类添加到load方法列表中,再将自己加进去","通过","都是系统自动调用的话,都只会调用一次","重新分配内存","重点来看一下map_images和load_images;","面试驱动技术"],"iOS/Objc_Object/AssociatedObject.html":["!=","&associations(manager.associations());","(*refs)[key]","(first","(i","(if","(j","(new_value)","(old_association.hasvalue())","(outsid","(void","*","*)key,","*key,","*ref","//","//associationshashmap不存在","//如果associationshashmap已经存在","//如果set方法传值是nil","//更改值","//添加新值","1.0,","1.探索associatedobject关联对象的内部实现","2.0);","2.object","3.1,","9.0,",":","=",">end())",">erase(j);//擦除",">find(key);",">second",">second;",">sethasassociatedobjects();","?","_nonnul","_nullabl","_object_set_associative_reference(id","_object_set_associative_reference(object,","acquirevalue(value,","any)","assiciationshashmap","associ","associatedobject","associatedobject关联对象","associatedobject关联对象的内部实现","association.","associations.end())","associations.find(disguised_object);","associations[disguised_object]","associationshashmap","associationshashmap::iter","associationsmanag","break","c","const","crash","creat","disguise(object);","disguised_object","disguised_ptr_t","exist","get类似","id","j","key)","key,","key:关联对象的key,一般传入一个常量的地址作为唯一标识","key:关联对象的key,传入设置时候传入的key","lock).","lock.","manager;","new","new_valu","new_value);","nil","nil);","nil;","objc_association_assign","objc_associationpolici","objc_available(10.6,","objc_export","objc_getassociatedobject","objc_getassociatedobject(id","objc_removeassociatedobject","objc_removeassociatedobjects(id","objc_setassociatedobject","objc_setassociatedobject(id","objcassoci","objcassociation(policy,","object","object)","object,","objectassociationmap","objectassociationmap::iter","objectassociationmap;","object:宿主对象","old","old_associ","old_association(0,","outsid","policy)","policy);","policy:关联的规则,主要是内存管理的规则","ref","refer","refs;","releas","releasevalue()(old_association);","retain","secondari","set","tabl","time).","uintptr_t","valu","value,","value:被关联的对象","void","{","{//如果set方法传值不是nil","}","。[注意是用assign关联对象(@property中用assign也会导致崩溃)]","一般我们需要对现有的类做扩展,可以通过继承、类别等方式去实现;当我们使用类别的方式扩展,如果对现有的类增加属性的话,编译器是不会生成实例变量;类别的结构体中没有ivar的结构体,同时类的ivar设计的是一个const","为什么要引入关联对象?","主要函数","从object中根据key获取关联的对象的valu","关联对象(二)","关联对象value到object","关联对象就是在不改变类的结构的情况下,将类需要关联的对象存储在关联表中,那么类别中添加的属性的值的存取就可以通过关联来解决","关联对象并不是存储在被关联对象本身内存中","关联对象由","关联对象的底层数据结构","关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略","创建","删除object的所有的关联的对象","删除对象的关联对象函数","可以得出结论:","如果想通过runtime的方法class_addivar它只适用于新建一个类的时候增加,对于类别中增加实例就不适用","存储。","实现关联对象技术的核心对象有:","并","所有对象的关联内容都在同一个全局容器中。","添加","源码","管理并在","类别是运行时装载到类中的,当类realizeclass之后它的instancesize就已经确定无法修改了,这些操作都是在load之前,main函数之前","获取关联的对象函数","设置关联对象为nil,就相当于是移除关联对象","设置关联对象函数","进行下一步","进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成","(下面以set方法为例"],"iOS/OCFoundation/Runtime.html":["1.动态类型:","2.动态绑定:","instancesrespondtoselector:等来确定对象是否可以对某个sel做出响应,而在oc消息转发机制被触发之前,对应的类","oc的函数调用成为消息发送,属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,oc可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而c语言在编译阶段就会报错)。","respondstoselector:或者","runtim","runtime简介","runtime简称运行时,其中最主要的是消息机制。","time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。","其动态性体现在几个方面:","即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。像内置的明确的基本类型都属于静态类型(int、nsstring等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run","只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。","基于动态类型,在某个实例对象被确定后,其类型便被确定了。该对象对应的属性和响应的消息也被完全确定,这就是动态绑定。比如我们一般向一个nsobject对象发送","对于c语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。","法,也即类的实现是可以动态绑定的;iskindofclass也是一样的道理。","的+resolveclassmethod:和+resolveinstancemethod:将会被调用,在此时有机会动态地向类或者实例添加新的方"],"iOS/OCFoundation/Block.html":["\");","\",","\"clperson.h\"","#import","%d","%d\",","%d\",b);","%d\",c);","%d\",person.age);","%d,","&__main_block_desc_0_data,","&_nsconcretestackblock;","(*)(id,","(*copy)(struct","(*dispose)(struct","(1)","(1)借用上面的分析流程一样,先看一下block对应的结构体","(1)首先看一下此时block对应的结构体","(2)","(2)main函数里的block赋值过程","(2)再看一下main函数中的block定义以及赋值的代码","(3)","(3)block内部的函数","(3)再看一下block内部封装的函数","(^addblockresult)(bool)","(^block)(int,","(^block)(void)","(__block_byref_a_0","(__bridg","(a","(also","(juejin.cn)","(nonatomic,","(void*)0,","(void*)src","),",");","*","*)&__nsconstantstringimpl__var_folders_7__p19yp82j0xd2m_1k8fpr77z40000gn_t_main_2cca58_mi_0,((int","*)&a,","*)block;","*)objc_msgsend)((id)person,","***********************main.m*************************","*/","*__cself)","*__forwarding;","*__isa;","*_height。看到这里这里要存储的是一个地址,该地址应该就是外部static变量height的地址值。","*_person,","*a","*array","*desc,","*fp,","*funcptr;","*height;成员变量,构造函数里面对应的参数是int","*isa;","*person","*person;","*person。通过终端命令xcrun","*person】","*person被认为是强指针,等价于_strong","*person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。","*person,而弱指针需要显式地表示为__weak","*tmpblock","+_age偏移量,获得_age的地址后从而进行间接访问的,所以在oc代码中,_ag","/*","//","//block的定义","//block的调用","//不需要添加","//先修改age和height的值","//先修改age的值","//如下代码","//将block的底层结构struct","0","0,","0;","1","10","10,","10,因为c函数的参数都是值传递,所以这里是将此时外部变量a的值10传给了block的构造函数__main_block_impl_0,因此block内部的成员变量age会被赋值成10。","10;","10,然后在block内部使用了这个age,而且我在调用block之前,先将age的值修改成了20,那么此时程序运行会是什么结果呢","2","20","20,","20;","3","3/*block_field_is_object*/);","30","30;","4","5","570425344),","6","9.0.0",":",";","=",">__forward",">_age,说白了,这里还是需要用到self,因此block还是需要对self进行捕获的。",">a)++;",">a;",">forward",">person,",">person;",">堆上的block",">弱指针__weak",">弱指针运行结果\">",">强指针clperson",">强指针运行结果\">",">栈上的block","@autoreleasepool","@properti","[[clperson","[array","[nsmutablearray","^(){","^(int","^int(int","^{","__atautoreleasepool","__attribute__((__blocks__(byref)))","__autoreleasepool;","__block","__block,因为是使用","__block_byref_a_0","__block_impl","__block修饰的变量成了对象","__block修饰的属性在底层会生成响应的结构体,保存原始变量的指针,并传递一个指针地址给block——因此是指针拷贝","__block修饰符原理:","__cself","__flags;","__forwarding存在意义","__forwarding存放的是自己本身的地址","__main_block_copy_0(struct","__main_block_copy_0,","__main_block_desc_0","__main_block_desc_0*","__main_block_desc_0_data","__main_block_desc_0结构体里面多了两个彩蛋","__main_block_dispose_0","__main_block_dispose_0(struct","__main_block_func_0(struct","__main_block_impl_0","__main_block_impl_0(void","__main_block_impl_0),","__main_block_impl_0*);","__main_block_impl_0*,","__main_block_impl_0*dst,","__main_block_impl_0*src)","__main_block_impl_0直接般到main.m里面","__size;","__weak","_age","_block_object_assign((void*)&dst","_block_object_assign函数会根据auto变量的修饰符(__strong、__weak、__unsafe_unretained)做出相应的操作,形成强引用(retain)或者弱引用","_block_object_dispose((void*)src","_block_object_dispose函数会自动释放引用的auto变量(release)","_cmd","a);","a;","addobject:@123];","ag","age(_age),这是c++的语法,作用时将参数_age自动赋值给成员变量ag","age);","age,","age成员变量","alloc]","api中方法名里面含有usingblock的方法参数时","api的方法参数的时候","apple源码,如图:","arc","arch","arc环境","argc,","argv[])","arm64","array];","autoreleasepool","b){","block","block!\");","block();","block(50,100);","block[13997:1263406]","block[4064:375528]","block[4725:476530]","block_size;","block代码块执行的时候,通过全局变量名直接访问。","block作为cocoa","block作为gcd","block作为函数参数返回的时候","block使用全局变量","block内部为其增加了一个int","block原理解读(三)","block地层结构图中的第一个成员就是一个isa指针,所以我们可以将block当成一个对象来看待。isa常见的就是_nsconcretestackblock,_nsconcretemallocblock,_nsconcreteglobalblock这3种","block对于self的处理","block底层结构为","block底层结构如下","block捕获auto变量","block捕获对象类型","block捕获局部static变量","block是封装了函数调用以及函数调用环境的oc对象","block有3种类型","block本质","block本质上也是一个oc对象,它内部也有个isa指针","block构造函数里面传入的,就是外部的这个height的地址值。","block没有对全局变量进行捕获行为,只需要在要用的时候,直接通过变量名访问就行了,因为全局变量时跨函数的,可以直接通过变量的名字直接访问。","block生命周期","block的底层结构如下","block的深入分析block的使用场景","block的调用即是函数的调用","block类型","bound","c++源码","c,","call","char","clang","clblock","closur","clperson","code:","const","copi","copy)void","copy;","copy函数","copy函数内部会调用_block_object_assign函数","copy到了堆上,","desc","desc;","dispose函数","dispose函数内部会调用_block_object_dispose函数","each","end","environment—a","exit","flag1\");","flags;","flags=0)","fobjc","fp;","free","function","function.","height","height);","height值是我们在外部重新为其赋的20。","impl.flag","impl.funcptr","impl.isa","impl;","init];","int","int(^block)(int)","int)","interview03","io","ios中__block","ios探索","iphoneo","languages,","local","main","main(){","main(int","main.cpp","main.cpp,可以看到block的内捕获到的person指针如下","main.m","multipli","multiplier;","myblock","myblock;","non","nsconcretemallocblock","nsconcretestackblock","nsglobalblock(也就是_nsconcreteglobalblock)","nslog((nsstr","nslog(@\"","nslog(@\"ag","nslog(@\"a的值为%d\",a);","nslog(@\"b","nslog(@\"c","nslog(@\"i","nsmallocblock(也就是_nsconcretemallocblock)","nsmutablearray","nsstaticblock(也就是_nsconcretestaticblock)","num","num){","o","objc","objc_msgsend(&__main_block_impl_0(__main_block_func_0,","objc_msgsend(objc_msgsend(objc_getclass(\"clperson\"),","objc_msgsend(person,","person","person(_person)","person,","person.ag","printf(\"felix","program","ref","refer","referenc","reserved;","return","rewrit","runtime=io","sdk","sel))(void","sel_registername(\"age\")));","sel_registername(\"alloc\")","sel_registername(\"copy\")","sel_registername(\"init\")","sel_registername(\"setage:\"),","size_t","sizeof(__block_byref_a_0),","sizeof(struct","src","static","store","struct","tabl","togeth","typedef","upvalues)","variabl","void","void(^block)(void)","void(^clblock)(void);","void(^clblock)(void);//➕➕➕","weak对外界的对象进行强引用或者弱引用。","weak的实现原理","why?","xcrun","{","{//临时作用域开始","}","}//临时作用域结束","};","【arc环境","一个自动变量(auto)的存储空间位于函数栈空间上,在函数开辟栈空间时被创建,在函数结束时销毁,而block的调用时机有可能发生在函数结束之后的,因此就无法使用自动变量了,所以在block一开始定义赋值的过程里,就将自动变量的值拷贝到他自己的存储空间上。","一开始,栈空间的block有一个__block_byref_a_0结构体,","一般情况下,对被截获变量进行赋值操作需要添加","上面讨论block对于局部变量的处理,在看一看对于全局变量,情况又是如何","下clperson","下面再看看结构体__block_byref_a_0的构造","下面的情况呢","不论在任何内存位置,都可以顺利访问同一个__block变量.","为了对比,我们再分别看一下下面三种","主结构体__main_block_impl_0的变化","代码段","会调用block内部的copy函数","会调用block内部的dispose函数","修饰符","修饰符(注意是赋值!!,","先看编译结果","全局变量不会被block捕获,","全方位解读block","关键字的底层实现原理","其中它的__forwarding指针指向自身","其中它的__forwarding指针指向自身,","其实也很好理解,因为block本身就在栈上,自己都随时可能消失,怎么能保住别人的命呢?","其实,上面我门讨论的这个block外部变量age是一个局部auto变量,也叫自动变量。除了auto变量,c语言里面还有局部static变量(静态变量)和全局变量,接下来我们就看看,block对于这几种变量的使用,做了如何的处理。","写法","函数","函数指针copy,也就是__main_block_copy_0(),内部调用了_block_object_assign()","函数指针dispose,也就是__main_block_dispose_0(),内部调用了_block_object_dispose()","占用空间很小,一般存放在内存的低地址空间,我们平时编写的所有代码,就是放在这个区域","原代码","变成了","变量a","可以看到","可以看到打印代码里面使用的age,实际上就是block内部的成员变量age,不是我们在外面定义的那个age,因此,当block被赋值之后,其成员变量age被赋值成了当时构造函数传进来的参数10,所以最终打印出来值就是10,不论外部的age再如何的修改。外部的age跟block的成员变量age是两个不同的变量,互不影响。","可以看到,block输出的","可以获得以下信息:","同样,者也帮我我们理解了为什么对于局部的变量,block需要对其采取“捕获”行为,正是因为局部变量定在与函数内部,无法跨函数使用,所以根据局部变量不同的存储属性,要么将其值直接进行拷贝(auto),要么对其地址进行拷贝(static)。","和","回顾一下程序的内存布局","因此,当我们从外部修改height的值之后,调用block打印出的height的值也相应的改变了,因为block内部是通过","在arc环境下,编译器会根据情况自动将栈上的block复制到堆上,例如以下的情况","在block之前定义了一个int","在block里面使用的_strong修饰的weakself是为了在函数生命周期中防止self提前释放。strongself是一个自动变量当block执行完毕就会释放自动变量strongself不会对self进行一直进行强引用。","在原对象释放之后,weak对象就会变成null,防止野指针。所以就输出了null了。","在用block构造函数生成block的时候,使用了外部定义的","在看看block入口静态函数","在通过命令行生成一下编译后的c++文件,同样还是在文件底部去看","场景分别是什么情况的:","堆block","堆上的block被废弃时","堆区","堆空间的block有一个__block_byref_a_0结构体,","大家应该都知道,如果想在block","如何从栈指向堆,并建立联系呢?","如果block从堆上移除","如果block是在栈上,将不会对auto变量产生强引用","如果block被拷贝到堆上","如果一个block内部没有使用/访问","如果一个block有使用/访问","实现原理","对__nsmallocblock__调用copy方法,就可以转变成__nsmallocblock__,它会被存储在堆区上","对于auto、static变量,为什么block选择用不同方式处理它们呢?","对每一种类型的block调用copy后的结果如下","将block赋值给__strong指针的时候","将oc文件用clang重写","将代码编译成c++源码","将静态变量的地址值拷贝给block内部的这个指针,block代码块执行的时候,通过内部存储的指针间接访问静态变量。","就是将堆结构体的forwarding指针指向自身","就是将栈结构体的forwarding指针指向堆结构体","局部变量会被block捕获","底层代码","引用了外部的这个static变量height。","当__block修饰外界变量时","当block为__nsmallocblock__类型时候,是在堆空间,block是内部的_block_object_assign函数会根据strong或者","当block为__nsstackblock__类型时候,是在栈空间,无论对外面使用的是strong","当block从栈copy到堆时,","当block内部访问了对象类型的auto变量时","当然,不仅__block修饰的变量会这样,前文的对象类型变量同样会在copy函数内部被转化成类似的结构体进行处理。","总结","我们发现有三处变化","我们有增加了一个static变量height,并且在同样的地方修改height的值,便于和之前的age进行对比。首先运行代码看一下结果","我们知道,图中的block位于test方法里面,实际上任何的oc方法,转换成底层的c函数,里面都有两个默认","所以作为函数默认参数的self的实际上也是该函数的局部变量,根据我们上面总结的原则,只要是局部变量,block都会对其进行捕获,这就解释通了。","所持有,就将“外部变量”在栈中的内存地址放到了堆中。进而在block内部也可以修改外部变量的值。","所起到的作用就是只要观察到该变量被","指向外部__block_byref_a_0的地址,","指针","捕获基础类型","捕获外部变量","捕获外部变量和","掘金","探寻block的本质(6)——","接下来看看这种情况","数据段","新增了一个int","无论是mac还是arc","是动态分配内存的,用来存放我们代码中通过alloc生成的对象,动态分配内存的特点是需要程序员申请内存和管理内存。例如oc中alloc生成的对象需要调用releas方法释放【mrc下】,c中通过malloc生成的对象必须要通过free()去释放。","是将函数及其执行上下文封装起来的对象","是由程序员自己管理,如果没有被强引用也会被消耗。nsconcreteglobalblock","是由编译器自动管理,超过作用域之外就会自动释放了。而","有以下代码:","构造函数里面参数尾部多了一个:","构造函数里面多了一个参数","栈block","栈上的block复制到堆上","栈区","案例如下","深入理解ios的block","深入研究","用来存放全局变量","由于存在于全局区,所以会一直伴随着应用程序。","由于现在是arc环境,myblock属于强指针,因此在将block对象赋值给myblock指针的时候,编译器会自动对block对象执行copy操作,因此赋值完成后,myblock指向的是一个堆空间上的block对象副本","的写法等同与self","的参数,self","看得出来,还是进行了捕获,在图中标明的黄色框框,就很好理解了,block最终访问clperson的成员变量_age的时候,是通过self","程序整个运行期间都存在","究其根本原因就是weakself之后,无法控制什么时候会被释放,为了保证在block内不会被释放,需要添加_strong。","系统自动分配和销毁内存,用于存放函数内生成的局部变量","结构","结构体内的a变量存放的是外部变量a的值","结构体类型__block_byref_a_0","结果是block中打印出的a是10,我们在block外部对age的修改结果并没有对block的内部打印产生影响","编译器会将__block变量包装成一个结构体__block_byref_age_0,结构体内部*__forwarding是指向自身的指针,内部还存储着外部auto变量的值","编译结果显示block对self进行了捕获。but","而且栈上的block从未被我们利用过。","而对于局部静态变量(static),c语法下static会改变所修饰的局部变量的生命周期,使其在","自动变量(auto变量),那么它的类型即为__nsglobalblock__,它会被存储在应用程序的","自动变量(auto变量),那么它的类型即为__nsstaticblock__,它会被存储在应用程序的","自动变量(auto),block通过值拷贝方式捕获,在其内部创建一个同类型变量,并且将自动变量的值拷贝给block的内部变量,block代码块执行的时候,直接访问它的这个内部变量。","调用时机","赋值≠使用)","输出结果如下","运行结果显示堆上的block使用弱指针__weak","运行结果显示栈上的block使用弱指针__weak","运行结果显示栈上的block使用强指针clperson","还是weak","这样,苹果工程师在背后悄悄地将block","通过","通过clang重写","通过上面结构体的初始化和结构体的构造,","通过当前栈空间主结构体上的__block_byref_a_0结构体指针,访问指向堆空间的__forwarding成员,并获取堆空间上变量的值。","那么可以看到,block内部的函数也是通过block所存储的地址值*height访问了外部的static变量height的值。","那么我们怎么才能在weakself之后,block里面还能继续使用weakself之后的对象呢?","都不会对外面的对象进行强引用","针对static变量height,","静态变量(static),block通过地址拷贝方式捕获,在其内部创建一个指向同类型变量的指针,","首先我们将上面的oc代码改造如下",",所以block选择持有它的指针,在block被调用时,通过该指针访问这个变量的内容就行。"],"iOS/OCFoundation/Method.html":["*","**begincategorymethodlists()","**endcategorymethodlists(class","*_buckets;","*data()","*newdata)","*sel;,可以把sel看做是方法名字符串。","*string","*string2","*types;","*类似","//","0x1017718a3,0x1017718a3","1","1.ios底层原理总结","1.方法缓存存在什么地方?","2.父类方法的缓存只存在父类么,还是子类也会缓存父类的方法?","3.为什么",":","=",">",">value的形式,以sel为key,函数实现的内存地址","@selector(test);","_imp;","_imp为value来存储方法。","_key;","_mask;","_occupied;","beginlists();","bits.data();","bits.setdata(newdata);","bits;","bucket_t","bucket_t是以数组的方式存储方法列表的","cach","cache;","cache;用来缓存曾经调用过的方法,可以提高方法的查找速度。","cache_key_t","cache_t","char","class","class_data_bits_t","class_rw_t","class_rw_t中是如何存储方法的","class_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,其中包含了类的初始内容以及分类的内容。","class。","class存储类的类方法(+),class的isa指针指向meta","cls);","const","custom","c在查找方法的时候会顺着list依次寻找,并且category的方法在原始方法list的前面,需要先被找到,如果直接用hash存方法,方法的顺序就没法保证。","c的方法列表是一个list,是有顺序的;object","duplicate()","flag","formerli","imp","imp;","imp代表函数的具体实现,存储的内容是函数地址。也就是说当找到imp的时候就可以找到函数实现,进而对函数进行调用。","instanc","isa;","list_array_tt","list的方法还保存了除了selector和imp之外其他很多属性","mask_t","method","method_array_t","method_list_t","method_list_t,method_list_t里面最终存放的是method_t","method_t","method_t结构体中可以看到三个成员变量,我们依次来看三个成员变量分别代表什么。","name;","nslog(@\"%p,%p\",","nsstring","nsstringfromselector(sel2);","objc_class","objc_object","objc_selector","oc","plu","pointer","private:","property_array_t","protocol_array_t","public","public:","refer","return","rr/alloc","runtim","sel","sel1","sel1,sel2);","sel2","sel_getname(sel1);","sel_registername(\"test\");","sel仅仅代表方法的名字,并且不同类中相同的方法名的sel是全局唯一的。","sel代表方法\\函数名,一般叫做选择器,底层结构跟char","sel作为key","sel可以通过@selector()和sel_registername()获得","setdata(class_rw_t","struct","super::duplicate();","super;","superclass","superclass;","table,也叫哈希表),是根据关键码值(key","test[23738:8888825]","type","typedef","types包含了函数返回值,参数编码的字符串。通过字符串拼接的方式将返回值和参数拼接成一个字符串,来代表函数返回值及参数。","value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。","void","vtabl","{","}","};","上述bucket_t列表我们称之为散列表(哈希表)","上述源码中,method_array_t、property_array_t、protocol_array_t其实都是二维数组,来到method_array_t、property_array_t、protocol_array_t内部看一下。这里以method_array_t为例,method_array_t本身就是一个数组,数组里面存放的是数","不同类中相同名字的方法,所对应的方法选择器是相同的。","不直接做成散列表呢,做成list,还要单独缓存,多费事?","也可以通过sel_getname()和nsstringfromselector()将sel转成字符串","以上流程均无法挽救就崩溃并报错","函数名","函数的内存地址","动态方法解析——通过调用resolveinstancemethod和resolveclassmethod来动态方法决议——实现消息动态处理","即便是从父类取到的方法,也会存在类本身的方法缓存里。而当用一个父类对象去调用那个方法的时候,也会在父类的metaclass里缓存一份。","发送消息会有以下⼏个流程:","哈希查找","回到类对象结构体,成员变量cache就是用来对方法进行缓存的。","回顾方法调用过程:调用方法的时候,需要去方法列表里面进行遍历查找。如果方法不在列表里面,就会通过superclass找到父类的类对象,在去父类类对象方法列表里面遍历查找。","在objc中,class存储类的实例方法(","在类的定义里就有cache字段,类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的object都保存一份","在缓存查找阶段是","如何进行缓存","如果方法需要调用很多次的话,那就相当于每次调用都需要去遍历多次方法列表,为了能够快速查找方法,apple设计了cache_t来进行方法缓存。","如果是已排序的列表,就采用二分查找,没排序的采用一般遍历","实现函数","已经缓存的方法数量","当前类方法查找","快速查找流程——通过汇编objc_msgsend查找缓存cache_t是否有imp实现","快速转发流程——通过corefoundation来触发消息转发流程,forwardingtargetforselector实现快速转发,由其他对象来实现处理方法","慢速查找流程——通过c++中lookupimporforward递归查找当前类和父类的rw中methodlist的方法","慢速转发流程——先调用methodsignatureforselector获取到方法的签名,生成对应的invocation;再通过forwardinvocation来进行处理","我们知道method_array_t、property_array_t、protocol_array_t中以method_array_t为例,method_array_t中最终存储的是method_t,method_t是对方法、函数的封装,每一个方法对象就是一个method_t。通过源码看一下method_t的结构体","指向函数的指针(函数地址)","指针逐级遍历每一个父类","探寻runtime本质(二)","散列表","散列表是有空槽的,会浪费空间","散列表是没有顺序的,object","散列表的长度","散列表(hash","数组","方法缓存","无非就是去解决如何在运行时期找到调用方法这样的问题","是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以","根据isa特性可以解释消息传递与寻找方法列表原理","每当调用方法的时候,会先去cache中查找是否有缓存的方法,如果没有缓存,在去类对象方法列表中查找,以此类推直到找到方法之后,就会将方法直接存储在cache中,下一次在调用这个方法的时候,就会在类对象的cache里面找到这个方法,直接调用了。","源码中可以看出bucket_t中存储着sel和_imp,通过key","类的方法列表","编码(返回值类型,参数类型)","这就是消息传递的一个流程,首先查缓存,无缓存,查方法列表,依然没命中,再顺次查找各个父类方法列表,如果都没有名字,就转到消息转发流程","这里以method_array_t为例,图示其中的结构。","逐级父类方法查找","通过一张图来展示一下cache_t的结构。","),meta",",",",是根据"],"iOS/OCFoundation/MessageForwarding.html":["#","(/*","(bool)resolveinstancemethod:(sel)aselector","(bool)resolveinstancemethod:(sel)sel;","(for","(id)forwardingtargetforselector:(sel)aselector;","(nullabl","(or","(void)forwardinvocation:(nsinvoc",")invocation;和",")methodsignatureforselector:(sel)sel方法,来转发它没实现的方法。这也是nsproxy的主要功能,负责把消息转发给真正的target的代理类,nsproxy正是代理的意思。","*)invoc","*/","*/)","+","+resolveinstancemethod","/*","//","1.nsobject","2.0》的描述是:","2.nsproxy的理解和使用","@\"v@:@\");","[invoc","[super","abstract","act","aimp,","api","aselector,","aselector满足某个条件","aselector,否则依然会抛出doesnotrecognizeselector:异常;若找不到,则返回nil。","c","caus","class_addmethod(self,","create.","defin","distribut","don’t","example,","exist","expens","forward","forwardingtargetforselector","forwardingtargetforselector:方法,将协议方法的","forwardingtargetforselector:用于将","forwardingtargetforselector:的使用逻辑非常简单,应用场景包括:","forwardingtargetforselector:阶段完成更省事儿;如果需要更高阶的玩法,或许真的只有","forwardingtargetforselector:,可以通过组合的方式,模拟出多继承的某些特性。","forwardinvoc","forwardinvocation:就不同了,在它身上可以动的手脚比较多,不光可以修改","forwardinvocation:方法,用户可以在此过程中修改","forwardinvocation:的代价比较大一些,毕竟还会触发","forwardinvocation:的入参。","forwardinvocation:能满足需求。","forwardinvocation:要和","getter。","implement","implement),用于实现这几个方法,然后","in","instanti","into)","invoc","invoke];","itself","lazi","load","messag","messageforward","methodsignatureforselector:的返回值不为空,就会进入","methodsignatureforselector:配套使用,后者为nsmethodsignature对象,该对象携带","methodsignatureforselector:,构建nsmethodsignature和nsinvocation实例。","nsdistantobject)","nsmethodsignatur","nsproxi","nsproxy专门为消息转发而生","nsproxy是一个抽象的超类,它定义了一个对象的api,用来充当其他对象或者一些不存在的对象的替身。通常,发送给proxy的消息会被转发给实际对象,或使proxy加载(转化为)实际对象。","nsproxy的子类可以用于实现透明的分布式消息传递(例如,nsdistantobject),或者用于创建开销较大的对象的惰性实例化。","object","object.","oc","overrid","proxi","real","receiv","receiver,在","receiver,还可以修改入参,甚至是返回值。nsinvocation#invoke会触发","receiver,还可以篡改入参、返回值;当然,","receiver,那还不如把转发操作提前到第二步。因为第三步只是修改了调用目标,这项改动放在第二步会更为简单,不然的话,还得创建并处理完整的nsinvocation。","refer","resolveinstancemethod:aselector];","return","runtim","selector","selector。在继续往下执行转发机制之前,本类有机会新增一个处理此","selector,其返回值为boolean类型,表示这个类是否能新增一个实例方法用以处理该","selector,在这一步中,runtim","settarget:self.target];","setter","stand","subclass","superclass","target,将","target;这两个方法的使用都比较直接简单,不太能整出花样。","transform","transpar","typically,","unknown","us","yes;","yet.","{","}","《effect","不允许多继承,基于","为协议遵循者提供默认实现。譬如某个协议定义了多个方法,有必要为这几个方法提供默认实现;具体做法是定义一个类(假设为","从self定位到别的","以上流程均无法挽救就崩溃并报错","作为抽象类,它不实现初始化方法,并且会在收到任何它不响应的消息时引发异常。因此,具体子类必须实现一个初始化或者创建方法,并且重写","值得一提的是,除了修改","假如尚未实现的方法不是实例方法而是类方法,那么","内部会基于nsmethodsignature实例构建一个nsinvocation对象,作为回调","动态方法解析——通过调用resolveinstancemethod和resolveclassmethod来动态方法决议——实现消息动态处理","协议遵循者的","发送消息会有以下⼏个流程:","只要回调","后,首先将调用其本类的resolveinstancemethod:方法,该方法定义如下:","和","在收到","如果需要动态新增方法,可以在+resolveinstancemethod:阶段完成;如果只是需要篡改","定位到","定位到别处:","实现多继承。object","对象。","对象(receiver)接收到","就作用而言,+resolveinstancemethod:主要用于为类动态增加实例方法;","就我经验而言,resolveinstancemethod:的使用场景一般用来动态添加","当一个","当前","快速查找流程——通过汇编objc_msgsend查找缓存cache_t是否有imp实现","快速转发流程——通过corefoundation来触发消息转发流程,forwardingtargetforselector实现快速转发,由其他对象来实现处理方法","总结:","慢速查找流程——通过c++中lookupimporforward递归查找当前类和父类的rw中methodlist的方法","慢速转发流程——先调用methodsignatureforselector获取到方法的签名,生成对应的invocation;再通过forwardinvocation来进行处理","时,会进入如图流程,用户可以在这三个步骤中","步骤越往后,处理消息的代价就越大;最好能在第一步就处理完,这样的话,runtim","的","的方法。所以resolveinstancemethod:的一般使用套路是:","的消息转发机制","的相关方法,进而避免doesnotrecognizeselector:异常。","的签名信息,包括参数类型、返回值类型和长度等。runtim","的调用,如果不想调用怎么办?没怎么办,只要确保","的返回值(nsinvocation#setreturnvalue:)的类型和长度一致即可。","系统会调用另外一个与resolveinstancemethod:类似的方法resolveclassmethod:。","系统会问它:可否把这条消息转给其他对象处理?该步骤对应的处理方法是forwardingtargetforselector:,定义于中:","系统就可以将此方法缓存起来,进而提高效率。若想在第三步里把消息转发给备援的","能找到备援对象,则将其返回,当然,备援对象必须能够响应","若当前","触发的三个回调介绍完毕,简单总结一下。","让self.target成为消息的receiv","该方法的参数就是那个","调用class_addmethod为该类添加一个处理aselector的方法,譬如:","还有第二次机会能处理"],"iOS/OCFoundation/KVC.html":["(id)valueforkey:(nsstr","(void)setvalue:(id)valu","*)key","*)key;",">","_iskey","_key","forked:(nsstr","forkeypath:@\"person.number\")","forkey用于简单路径,forkeypath用于复合路径(比如key是对象,可以直接赋值给这个对象的属性.eg:setvalue:@100","iskey","key","kvc","setterkey(keyset方法)","setvalue:forkey与setvalue:forkeypath的区别:","主要方法","寻找路径","是一种键值对设计模式,破坏面对对象的编程思想。(不重写特定方法,找不到key情况下会崩溃)"],"iOS/OCFoundation/KVO.html":["&childnamecontext;","&personnamecontext;","([keypath","(bool)automaticallynotifiesobserversforkey:(nsstr","(context","(void)observevalueforkeypath:(nsstr","*","*)chang","*)context","*)key","*)keypath","*)key{","*childnamecontext","*personnamecontext","+","//","//取消自动发送通知","1","1.基本使用","2.context的使用","=","==","[self.child","[self.person","[super","_iskvoa方法","_iskvoa用来标识是否是在观察者状态的一个标志位","addobserver:forkeypath方法之后,系统会动态创建","addobserver:self","appl","archieve中提到一句想要理解kvo,必须先理解kvc,因为键值观察是建立在键值编码的基础上","automaticallynotifiesobserversforkey:key];","automaticallynotifiesobserversforkey为yes时注册观察属性会生成动态子类nskvonotifying_xxx","change);","change:(nsdictionari","childnamecontext)","class","class方法用于指回动态子类的父类","coding.——key","context:(void","context:childnamecontext];","context:null];","context:personnamecontext];","context使用总结:","context是","dealloc","dealloc之后isa指向元类","dealloc之后动态子类不会销毁","dealloc方法用于释放时对isa指向进行操作","first","forkeypath:@\"name\"","forkeypath:@\"name\"];","fxperson","fxperson,实例对象isa指向","guid","guide中有一段底层实现原理的叙述","guide是这么描述context的","if([key","ios中kvo分为自动监听和手动触发两种形式","ios探索","isa","isequaltostring:@\"age\"]){","isequaltostring:@\"name\"])","key","kvo","kvo使用三部曲:","kvo使用及注意点","kvo初探","kvo原理——isa","kvo原理及自定义","kvo对被监听对象无侵入性,不需要修改其内部代码即可实现监听","kvo是使用isa","kvo是基于runtime机制实现的","kvo的这套实现机制中苹果还偷偷重写了class方法,让我们误认为还是使用的当前类,从而达到隐藏生成的派生类","kvo(key","nil","no;","nskeyvalueobservingoptionold)","nskvonorifying_a。","nskvonorifying_a类,同时将a的isa指针指向","nskvonotifying_fxperson","nslog(@\"%@\",","null","observ","observing,","observing)是苹果提供的一套事件通知机制,这种机制允许将其他对象的特定属性的更改通知给对象。ios开发者可以使用kvo","ofobject:(id)object","options:(nskeyvalueobservingoptionnew","options:(nskeyvalueobservingoptionnew)","order","personnamecontext)","program","refer","removeobserver:self","return","setter方法用于观察键值","static","swizzl","swizzling)","swizzling技术实现的","understand","valu","void","{","|","}","}else{","不使用context作为观察值","从这两图中可以得出一个结论:观察者注册前后fxperson类没发生变化,但实例对象的isa指向发生变化","使用context传递信息","使用context传递信息,更安全、更可扩展","使用了","其中需要重写","动态子类观察的是setter方法","动态子类重写了观察属性的setter方法","在document","在set方法中在赋值的前后分别调用:willchangevalueforkey和didchangevalueforkey","在为对象的属性注册观察者时,将修改观察对象的isa指针,指向中间类而不是真实类。isa指针的值不一定反映实例的实际类","多加一层判断——判断object,显然为了满足业务需求而去增加逻辑判断是不可取的","实现willchangevalueforkey和didchangevalueforkey方法","实现回调","对观察者模式的又一实现;","当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter","当调用了","总结","您永远不应依靠isa指针来确定类成员身份。相反,您应该使用class方法来确定对象实例的类","手动触发:","方法。派生类在被重写的setter方法内实现真正的通知机制","来实现kvo.","来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。","每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法","注册观察者","注册观察者之前:类对象为","注册观察者之后:类对象为","消息中的上下文指针包含任意数据,这些数据将在相应的更改通知中传递回观察者;您可以指定null并完全依赖键路径字符串来确定更改通知的来源,但是这种方法可能会导致对象的父类由于不同的原因而观察到相同的键路径,因此可能会出现问题;一种更安全,更可扩展的方法是使用上下文确保您收到的通知是发给观察者的,而不是超类的。","混写(isa","相对于被观察者和观察者之间的关系,kvo是一对一的,nsnotificatiocenter是一对多的","移除观察者","类型,应该填","而kvo和nsnotificatiocenter都是ios观察者模式的一种实现,两者的区别在于:","而不是","这里提出一个假想,如果父类中有个name属性,子类中也有个name属性,两者都注册对name的观察,那么仅通过keypath已经区分不了是哪个name发生变化了,现有两个解决办法:","重写","重写监听属性的set、get方法","顾名思义,isa指针指向维护分配表的对象的类,该分派表实质上包含指向该类实现的方法的指针以及其他数据",",实例对象isa指向"],"iOS/OCFoundation/Runloop.html":["!timeout);","&","&&","&kcftypedictionaryvaluecallbacks);","(!__cfrunloops)","(!loop)","(!osatomiccompareandswapptrbarrier(null,","(!sourcehandledthisloop)","(!stop","(*)(void","(0","(1ul","(__source0diddispatchportlasttime)","(cfrunloopref)_cfgettsd(__cftsdkeyrunloop);","(cfrunloopref)cfdictionarygetvalue(__cfrunloops,","(hasmsg)","(juejin.cn)","(nsthread","(pthread_equal(t,","(rl)","(source)","(sourcehandledthisloop)","(void","(void)networkrequestthreadentrypoint:(id)__unus","(wakeupport","(基于port)",")","*","*)&__cfrunloops))","*)(pthread_destructor_iter","*))__cffinalizerunloop);","*)loop,","*)networkrequestthread","**其产生的所有事件都将被","*/","*_blocks_head;","*_blocks_tail;","*_networkrequestthread","*_perrundata;","*runloop","+",",","/*","/**","//","//当前mode","//所有mode的集合","0,","1),","1.谜一样的","2.深入理解runloop","3.oc中的runloop","5个参数",":",":非基于port的","=","==","@autoreleasepool","[[nsthread","[_networkrequestthread","[nsmachport","[nsrunloop","[runloop","]","^{","__cflock(&loopslock);","__cfport","__cfrunloop","__cfrunloop_is_calling_out_to_a_timer_callback_function__函数被吊起的。从函数名看出,它们确实是属于timer事件(cfrunlooptimerref)","__cfrunloop_is_servicing_the_main_dispatch_queue__()","__cfrunloopcreate(pthread_main_thread_np());","__cfrunloopcreate(t);","__cfrunloopdoblocks();","__cfrunloopdoobservers(cfrunloopexit);","__cfrunloopdoobservers(kcfrunloopafterwaiting);","__cfrunloopdoobservers(kcfrunloopbeforesources);","__cfrunloopdoobservers(kcfrunloopbeforetimers);","__cfrunloopdoobservers(kcfrunloopbeforewaiting);","__cfrunloopdoobservers(kcfrunloopentry);","__cfrunloopdoobservers(runloop,","__cfrunloopdosource0();","__cfrunloopdosource1();","__cfrunloopdotimers();","__cfrunlooprun(","__cfrunloopservicemachport();","__cfunlock(&loopslock);","_base;","_block_item","_cfgettsd(__cftsdkeyrunloopcntr))","_cfrunloopget0(pthread_self());","_cfrunloopget0(pthread_t","_cfsettsd(__cftsdkeyrunloop,","_cfsettsd(__cftsdkeyrunloopcntr,","_commonmodeitems;","_commonmodes;","_counterpart;","_currentmode;","_lock;","_modes;","_modes和_commonmod","_networkrequestthread","_networkrequestthread;","_per_run_data","_pthread;","_runtime;","_sleeptime;","_unused;","_wakeupport;","_winthread;","access","activ","addport:[nsmachport","af3.x,废弃了","afnetworking/nsurlconnection/afurlconnectionoperation.m","afterdelay:]","afterdelay]事件的函数调用栈,发现它们都是通过","alloc]","app","app的默认","autoreleasepool(beforewaiting)","block,timer等事件.这可以解释滑动过程中,nstimer为什么会停止,因为滑动过程中runloop处于","boolean","cf_export","cf_options(cfoptionflags,","cfabsolutetim","cfdictionarycreatemutable(kcfallocatorsystemdefault,","cfdictionarysetvalue(__cfrunloops,","cfdictionarysetvalue(dict,","cfmutabledictionaryref","cfmutablesetref","cfrelease(dict);","cfrelease(mainloop);","cfrelease(newloop);","cfrunloopactivity)","cfrunloopdealloc","cfrunloopgetcurr","cfrunloopgetcurrent();","cfrunloopgetcurrent();获得当前线程的runloop对象","cfrunloopgetcurrent(void)","cfrunloopgetmain();","cfrunloopgetmain();获得主线程的runloop对象","cfrunloopmoderef","cfrunloopmoderef——其内部主要包括四个容器,分别用来存放source0、source1、observer以及tim","cfrunloopmoderef:runloop的运行模式","cfrunloopobserverref","cfrunloopobserverref——监听者,runloop状态变更的时,会通知监听者进行函数回调,ui界面的刷新就是在监听到runloop状态为beforewaiting时进行的。","cfrunloopobserverref:观察者,能够监听runloop的状态改变","cfrunloopref","cfrunloopref——这个就是runloop对象","cfrunloopref都代表runloop对象,nsrunloop是基于cfrunloopref的一层oc包装,cfrunloopref是开源的","cfrunloopref:代表runloop的对象","cfrunloopsourceref——分为source0和source1","cfrunloopsourceref:就是runloop模型图中提到的输入源/事件源","cfrunlooptimerref","cfrunlooptimerref——timer事件,包括我们设置的定时器事件、[performselector:","cfrunlooptimerref:就是runloop模型图中提到的定时源","cfrunloopwakeup","cfruntimebas","cftyperef","check_for_fork();","checkifexistmessagesinmaindispatchqueue();","commonmode不是实际存在的一种mod","commonmode的特殊性","control","core","cpu","currentmode,","currentrunloop];","currentrunloop];获得当前线程的runloop对象","currentthread]","dict","dict,","dictionari","dispatch","dispatch_async(dispatch_get_main_queue(),^{})","dispatch_once(&oncepredicate,","dispatch_once_t","don't","end","event(如果有)并在此前通知","event先告诉source1(mach_port),source1唤醒runloop,","event,其","exit(即将退出loop)","formode:nsdefaultrunloopmode];","foundat","foundation:","foundation框架下关于runloop的5个类:","gcd","goto","gseventreceiverunloopmode:","handle_msg;","handler","hasmsg","hold","initwithtarget:self","input","insid","int32_t","ios中runloop的api","kcfrunloopbeforewaiting);","kcfrunloopcommonmodes:","kcfrunloopdefaultmode:","kcfrunloopentri","key和runloop","knilpthreadt))","list","lock","long,","loop","loop;","loopslock,","mach","mach_port_t","main","maindispatchqueueport)","mainloop","mainloop);","mainrunloop];","mainrunloop];获得主线程的runloop对象","mode","mode,启动完成后就不再使用。","mode,没有实际作用。","mode,用于","mode,通常主线程是在这个","mode,通常用不到。","mode,那","newloop","newloop);","newloop;","nil;","nsrunloop","nsrunloopcommonmod","nsrunloopcommonmodes其实不是一个具体的模式,它可以理解成一个标签,被打上这种标签的具体mode会被放入到runloop内部的一个容器成员_commonmodes里面,它是一个cfmutablesetref,默认情况下,_commonmodes内部装着kcfrunloopdefaultmod","nsrunloop的类方法c\u0010urrentrunloop获取当前线程的","nsthread","nstimer","nsurlconnection。因为nsurlconnection中,执行回调的要在子线程,可能回调回来线程已经销毁无法做回调.3.x版本中,使用了","nsurlsession,能指定queue回调,所以避免了问题","null);","null,","object","object:nil];","observ","observers:","observers:没有事件要处理,","observer;","oncepredicate;","onthread:","performselector:","performselector:withobject:afterdelay:","performselectors的事件.","port","port]","port”,而每个source1都有不同的对应端口):","pthread_main_thread_np();","pthread_mutex_t","pthread_self()))","pthread_t","pthreadpointer(pthread_main_thread_np()),","pthreadpointer(t));","pthreadpointer(t),","queue","readi","refer","releas","reset","return","rl","rl;","run","run];","runloop","runloopmode内部核心内容是4个数组容器,分别用来装source0,source1,observer和timer,runloop对象内部有一个_currentmode,它指向了该runloop对象的其中一个runloopmode,它代表的含义是runloop当前所运行的runloopmode,所谓“运行”也就是说,runloop当前只会执行_currentmode所指向的runloopmode里面所包括的事件(source0、source1、observer、timer)","runloop。","runloop与autoreleasepool","runloop与ui刷新","runloop与线程是一一对应的,一个runloop对应一个核心的线程。每个","runloop中source0和source1的区别","runloop为value,一对一存储在字典中,下次获取的时候,则直接返回字典内的runloop","runloop启动时只能选择其中一个mode作为currentmode。","runloop响应用户操作","runloop在主界面即将显示前由系统启动(主界面","runloop对象","runloop对象的获取","runloop就是线程中的一个循环,runloop在循环中会不断检测,通过input","runloop总是运行在某种特定的cfrunloopmoderef下,意思是每次runloop开始时候会选择一个mode,执行这个mode里面的","runloop是一个事件驱动的大循环,它会把来自用户的交互事件、系统内部事件、计时器事件加入到事件队列中,并循环地从事件队列中取出事件进行处理,当所有的事件都处理完毕时,就会进入休眠状态,直到被新到来的事件唤醒。","runloop是来管理线程的,当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。","runloop是通过内部维护的事件循环来对事件/消息进行管理的一个对象","runloop每分钟会被唤醒一次","runloop状态总共有以下几种","runloop的内部结构与运行原理什么是runloop","runloop的结构","runloop相关类","runloop观察者的集合。runloop","runloop顾名思义,就是运行循环。首先它根程序运行过程有关系","runloop,可以通过","runtloop运行流程","scrollview","selector:@selector(networkrequestthreadentrypoint:)","selector,从而影响滑动的流畅性。","selector,默认情况下上述两种方式产生的事件是关联到nsrunloopcommonmodes,因此在","setname:@\"afnetworking\"];","sleepandwaitforwakingupports();","sourc","source0","source0:","source0并不能主动触发事件。使用时,你需要先调用cfrunloopsourcesignal,将这个source标记为待处理,然后手动调用cfrunloopwakeup来唤醒runloop,让其处理这个事件。","source0:包括","source1","source1:","source1包括系统事件捕捉和基于port的线程间通信。什么是系统事件捕捉?又如何理解基于port的线程间通信?其实,我们手指点击屏幕,首先产生的是一个系统事件,通过source1来接受捕捉,然后由springboard程序包装成source0分发给应用去处理,因此我们在app内部接受到触摸事件,就是source0,","source1和source0的区别:","source1能主动触发事件。其中它有一个mach_port_t,mach_port是用于内核向线程发送消息的。","source1:包括","sources(nstimer)","sources(定时源)两种来源等待接受事件;然后对接受到的事件通知线程进行处理,并在没有事件的时候进行休息。","sources(输入源)和tim","start];","static","struct","t","t)","take","thread","timer","timer(如果有)、sourc","timerport)","timers:","timer会唤醒","trackingmode,nstimer默认添加在defaultmode,所以不执行","typedef","ui","uiinitializationrunloopmode:","uint32_t","uitrackingrunloopmode:","uitrakingrunloopmode这两个mode,等于说这两个mode是具有nsrunloopcommonmodes标记的,因此都被添加进了_commonmodes,根据上面的代码,timer将不会被添加到某个具体的mode里,而是会被放入runloop的_commonmodeitems这个容器里。只要app运行在_commonmodes所包含的某个mode下,就会去处理_commonmodeitems里面的事件。当然,所运行的那个mode自己本身所包含的事件也是会被处理的,","uiviewcontroller的viewwillappear:和viewdidappear:不在同一次","ui事件唤醒","ui刷新(beforewaiting)","unsign","up","us","value保存到字典中","viewwillappear:执行后启动);","void*)()","volatil","wakeupport","withobject:","{","}","});","};","一个runloop对象里面包含了若干个runloopmode,runloop内部是通过一个集合容器_modes来装这些runloopmode的。","一次","上","上。","上这几个类相互之间的关系,可以通过如下的图来描绘.","下运行的。","不会启动;","不会等待异步操作完成;","不在正在运行的","不是当前监听的","中被调用;","中,需要一直等到","之所以要引入","之间是一一对应的,其关系是保存在一个","事件循环指,没有消息需要处理时,休眠以避免资源占用,有消息需要处理时,立刻唤醒","事件源,让线程不退出一直保活。直到","事件,回调去执行一个很长的函数:ca::transaction::observer_callback(__cfrunloopobserver*,","从字典里面拿,将线程作为key从字典里获取一个loop","从等待中醒来","以afnetworking2.x","以按钮点击触发事件为例,点击屏幕的时候,首先系统内部捕获到这个点击事件,这是在source1中处理的,source1会包装成事件丢到事件队列中,交给source0处理。","会在未来一个预定时间向线程同步分发事件。线程可以用","传送来自其他应用或线程的异步事件/消息;","传送的是基于定时器的同步事件,可以定时或重复发送。","伪模式,这是一个占位的","但不会使","但只有","住,直到","使用source0的情况:","使用source1的情况:","保存主线程","保活原理来说:","具备唤醒线程的能力","内核态:","再次确保是否有同步的方法需要调用","创建一个dict","创建好之后,以线程为key","包括触摸事件处理、[performselector:","即将进入休眠","只生成一次或重复多次事件。重复的","可以处理多个事件。","可以配置","同样,可以在xcode里面通过lldb的bt指令,查看nstimer事件和[performselector:","启动后(唤醒后)会依次处理","和","和前面流程图中对应source1。source1和timer都属于端口事件源,不同的是所有的timer都共用一个端口“mod","在主线程上执行某","在刚启动","在监听过程中过滤掉不关心的事件源,只专注于某些特定的事件。","在程序启动之后,主线程会创建一个runloop,也会创建两个observer,回调工作都是在_wraprunloopwithautoreleasepoolhandler函数中。","基于mach_port的,来自系统内核或者其他进程或线程的事件,可以主动唤醒休眠中的runloop(ios里进程间通信开发过程中我们一般不主动使用)。mach_port大家就理解成进程间相互发送消息的一种机制就好,","基于port的线程通信","基于port的线程间通信、系统事件捕捉","基于port的线程间通信通过下面的图示大致理解即可","基于端口的线程间通信(a线程通过端口发送消息到b线程,这个消息是source1的;","处于","处理source0事件","处理source1","处理事件,什么叫非基于port的呢?就是说你这个消息不是其他进程或者内核直接发送给你的。一般是app内部的事件,","处理因timer的唤醒","处理异步方法唤醒,如dispatch_async","处理非延迟的主线程调用","如代码,为线程中runloop添加一个","如果loop为空,则创建一个新的loop,所以runloop会在第一次获取的时候创建","如果不获取,那子线程就不会创建与之相关联的runloop,并且只能在一个线程的内部获取其","如果子线程的","如果有","如果有子线程想通过performselecoronmainthread...","如果某个","定义","对于子线程来说,runloop是懒加载的,只有当我们使用的时候才会创建,","将主线程","常见的几种源有基于端口的源、自定义的源、performselect源和计时器源;","并不是实时的,会有误差。如果一个","应用程序一般都运行在用户态上","当ui需要更新的时候,比如改变了frame、更新了uiview/calayer的层次时,或者手动调用了setneedslayout/setneedsdisplay方法后,这个uiview/calayer就被标记为待处理,并被提交到一个全局的容器去。","影响。","总结","我们可通过以下方式来获取runloop对象:","我们知道","我们触摸屏幕,先摸到硬件(屏幕),屏幕表面的事件会被iokit先包装成event,通过mach_port传给正在活跃的app","或","所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调。","所属的","才会触发。如果一个","执行。如果","掘金","接受系统事件的内部","接收的事件来源","方法调用时,会先看一下字典里有没有存子线程相对用的runloop,如果有则直接返回runloop,如果没有则会创建一个,并将与之对应的子线程存入字典中。当线程结束时,runloop会被销毁。","时第进入的第一个","时,timer","是事件源的集合","是同步source/timer/observer到多个mode中的一种技术方案","是用来监听runloop状态的。还可以处理ui界面刷新,那我们些的那些ui界面相关的控制代码,是怎么被执行的呢?图示如下","有两种。","来看一下官方","来通知自己做一些事情。比如用户在搜索栏输入一连串字符之后的某个时间自动搜索一次结果。正是因为有了个延时,才让用户有机会在自动搜索发生前尽可能打出想要的搜索字符串。","查看_cfrunloopget0方法内部","根据传入的主线程获取主线程对应的runloop","根本不在运行,timer","正忙于执行某个","每次会根据已经编排的触发时间自动重新编排。如果实际的触发时间太过于延迟,甚至是晚了一个或多个周期,那么也只会触发一次,而非连续多次。之后会重新编排下次触发时间。","每次都运行在某个特定的","比如hittest:withevent的处理,","比如屏幕点击,","永远都不会触发。","没有绑定","注意点","源码","滑动时也会响应该事件并执行指定的","然后将事件event分发给source0,然后由source0来处理。","然后跳转去处理消息。","状态,直接处理这个","用于监听runloop的状态","用户态:","界面跟踪","的","的概念,是希望","的目的是使线程在没有事情可做时进入休眠状态,避免","的线程即将进入休眠(sleep)。","监控的","直到处理完该事件,如果该事件含有异步操作,runloop","程序需要等到下次才会通过","程序,这个","空转。","端口。自定义输入源监视自定义事件源。基于端口的源由内核自动发出信号,自定义源必须从另一个线程手动发出信号。","第一个observer监听的是entry(即将进入loop),回调是在_objc_autoreleasepoolpush()中创建自动释放池的,优先级是最高的,保证创建释放池是在所有回调之前。","第二个observer监听有两个事件:beforewaiting(进入休眠)时调用_objc_autoreleasepoolpop和_objc_autoreleasepoolpush释放旧的释放池以及创建新的释放池;exit(退出loop)调用_objc_autoreleasepoolpop来释放自动释放池。这个优先级是最低的,保证释放池发生在所有回调之后调用。","等待。。。","等待内核mach_msg事件","简单举个例子:一个app在前台静止着,此时,用户用手指点击了一下app界面,那么过程就是下面这样的:","系统事件捕捉","系统事件的捕捉,先触发是source1,接着分发到source0去处理。","系统调用,需要使用到一些操作系统以及一些底层内核指令或者api","系统默认注册了5个mode:","线程和","结构图(注意下图的","网络数据的传输都会触发sourse1。","苹果创建用来接受系统发出事件,当手机发生一个触摸,摇晃或锁屏等系统,这时候系统会发送一个事件到app进程(进程通信),这也就是为什么叫基于port传递source1的原因;","苹果注册了一个observer监听beforewaiting(即将进入休眠)","获得主线程的runloop对象","获得当前线程的runloop对象","触发的时候恰巧","触摸事件处理","触摸事件处理、[performselector:","触摸事件处理;","调用performselector:onthread:withobject:waituntildone:方法;","输入源sourc","输入源是指事件的来源,输入源将事件异步传送到您的线程。事件的来源取决于输入源的类型,通常是两个类别之一。基于端口的输入源监视应用程序的","运用场景","运行在一个支持这个","运行在与其匹配的","还有就是runloop对象内部还包括一个线程对象_pthread,这就是跟它一一对应的那个线程对象。","这个函数里会遍历所有待处理的uiview/calayer以执行实际的绘制和调整,并更新界面。","追踪触摸滑动,保证界面滑动时不受其他","退出;","通常所说的runloop指的是nsrunloop或者cfrunloopref,cfrunloopref是纯c的函数,而nsrunloop仅仅是cfrunloopref的oc封装,并未提供额外的其他功能","通知","通知即将进入runloop","通知即将退出runloop","通知将要处理timer和sourc","都有自己的","里。所以我们创建子线程runloop时,只需在子线程中获取当前线程的runloop对象即可[nsrunloop","需要手动唤醒线程","默认是开启的,其他线程如果希望持续存活下去,就需要手动开启runloop。"],"iOS/OCFoundation/AutoReleasePool.html":["!=","!debugpoolallocation)","!page","\"","\"autoreleas","\"just","\"objc_autoreleasenopool()","%p","%s","&&","(%p)","((id","((id)self)","((uint8_t","(*stop","(autoreleasepoolpag","(debugmissingpool","(debugpoolalloc","(debugpoolallocation)","(haveemptypoolplaceholder())","(hotpage())","(id","(id)autoreleas","(id)this;","(istaggedpointer())","(juejin.cn)","(next","(obj","(page","(page)","(parent)","(prepareoptimizedreturn(returnatplus1))","(printpoolhiwat)","(pushextraboundary)","(result)","(stop","(thi","(tl","(token","(void*)empty_pool_placeholder)","(void*)obj,","*","*)","*)result","*)this+size);","*)this+sizeof(*this));","*)tls_get_direct(key);","*)token;","*add(id","*autoreleasefast(id","*autoreleasefullpage(id","*autoreleasenopage(id","*child;","*ctx","*ctxt){","*dest","*dest;","*hotpage()","*newparent)","*next;","*objc_autoreleasepoolpush(void){","*page","*page)","*page;","*parent","*push()","*result","*stop)","*stop;","*tl","*token)","...","//","//\"no","//haveemptypoolplaceholder的本质","//https://stackoverflow.com/questions/24952549/do","//push了一个空的池子,添加哨兵对象","//thread","//指向autoreleasepoolpage内下一个可以用来存放自动释放对象的内存地址","//指向上一页释放池的指针","//指向下一页释放池的指针","//构造函数","//析构函数","//没有池子被push","//用于对当前","//相关操作方法","//第一种情况:autoreleasepool首次push的时候返回的,也就是最顶层的page执行pop会执行这一部分","//第三种情况:也就是我们经常碰到的情况","//第二种情况:在非arc的情况下,在新创建的线程中不使用autoreleasepool,直接调用autorelease方法时会出现这个情况。此时没有pool,直接进行autorelease。","0)","0),","0;","0x100816000","0x100817000中,它在内存中的结构如下:","1+parent","1.","1.子线程在使用autorelease对象时,如果没有autoreleasepool会在autoreleasenopage中懒加载一个出来。","1.自动释放池的前世今生","2.","2.在runloop的run:beforedate,以及一些source的callback中,有autoreleasepool的push和pop操作,总结就是系统在很多地方都差不多autorelease的管理操作。","2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。","2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。","3.","3.就算插入没有pop也没关系,在线程exit的时候会释放资源,执行autoreleasepoolpage::tls_dealloc,在这里面会清空autoreleasepool。","4.","4096","5.","6.深入了解runloop","7.带着问题看源码","8.autoreleasepool的实现",":","=","==",">add(obj)",">add(obj);",">add(pool_boundary);",">begin()",">begin());",">check();",">child",">child)",">child);",">child;",">depth",">empty()",">empty())",">fastcheck();",">full()",">full())",">full());",">hiwat",">istaggedpointer());",">kill();",">lessthanhalffull())",">next",">next));",">next,",">next;",">parent)",">parent;",">protect();",">releaseuntil(stop);",">rootautorelease();",">unprotect();",">可以类比成oc的dealloc方法,在销毁时调用",">可以类比成oc的init方法,在创建时调用","?","@autoreleasepool{}的作用,实际上就是在作用域的头和尾分别调用了objc_autoreleasepoolpush();和objc_autoreleasepoolpop()函数","__atautoreleasepool","__atautoreleasepool()","__attribute__((noinline))","__attribute__((noinline,used))","__unus","_objc_autoreleasepoolpop()","_objc_autoreleasepoolpush()","_objc_inform(\"miss","ad","add","alloc","argc,","argv[])","assert(!dest","assert(!hotpage());","assert(!istaggedpointer());","assert(!obj","assert(!par","assert(dest","assert(obj);","assert(pag","atautoreleasepoolobj","atautoreleasepoolobj;","automat","autoreleas","autorelease(id","autoreleasefast","autoreleasefast(obj);","autoreleasefast(pool_boundary);","autoreleasefast分为三种情况:","autoreleasefullpag","autoreleasefullpage(obj,","autoreleasefullpage会从传入的page开始遍历整个双向链表,如果page满了,就看它的child节点,直到查找到一个未满的autoreleasepoolpage。接着使用autoreleasepoolpage构造函数传入parent创建一个新的autoreleasepoolpage的节点(此时跳出了while循环)。","autoreleasenewpag","autoreleasenewpage(pool_boundary);","autoreleasenewpage分为两种情况:","autoreleasenopag","autoreleasenopage(obj);","autoreleasepool","autoreleasepool,","autoreleasepoolpag","autoreleasepoolpage(autoreleasepoolpag","autoreleasepoolpage(nil);","autoreleasepoolpage(page);","autoreleasepoolpage::autorelease((id)this);","autoreleasepoolpage::pop(ctxt)","autoreleasepoolpage::push()","autoreleasepoolpage::push();","autoreleasepoolpage:pop(ctxt);","autoreleasepoolpage。","autoreleasepoolpage的","autoreleasepool并没有特定的内存结构,它是通过以autoreleasepoolpage为节点的双向链表。","autoreleasepool结构","autoreleasepool结构如图所示:","autoreleasepool(自动释放池)是oc中的一种内存自动回收机制,它可以延迟加入autoreleasepool中的变量release的时机。","autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池push和pop","autorelease方法","badpop(token);","beforewaiting(准备进入休眠)","begin()","begin();","bincompat","bool","break","built","case:","char","child","child(nil),","children","class","clear","cold","coldest","const","content","correctli","creat","debug","debug\",","debugmissingpools)","debugpoolallocation);","delet","depth(par","depth;","dest","dest;","dure","each","empti","empty()","empty_pool_placehold","empty_pool_placeholder)","empty_pool_placeholder);","end()","end();","entry(即将进入loop),其回调内会调用","error.","everyth","execut","false;","fatal","for循环才会,runloop才会进行休眠,如果说是按照系统的autoreleasepool来说,应该是休眠前才释放,但是,文中demo内存并没有显示出循环中内存暴涨,这也说明了,手动autorelesepool","full","full()","full.","half","haveemptypoolplaceholder()","hiwat(par","hiwat;","hot","hotpag","hotpage());","hotpage();","hotpage();获取。","hysteresis:","id","inlin","int","io","keep","leak","leav","lessthanhalffull()","level","magic(),","magic;","magic_t","main(int","memory:","memset((void*)pag","miss","mode的时候,就结束当前","more","necessary.","never","new","next","next(begin()),","nil;","non","normally.","now","nsthread","obj","obj)","obj);","obj,","obj;","objc_autoreleasenopool(obj);","objc_autoreleasepoolpop","objc_autoreleasepoolpop(atautoreleasepoolobj);","objc_autoreleasepoolpop(ctx);","objc_autoreleasepoolpop(void","objc_autoreleasepoolpush","objc_autoreleasepoolpush();","objc_object::rootautorelease()","objc_object::rootautorelease2()","objc_release(obj);","object","object_getclassname(obj));","object,它就会如下图所示移动到下一个为空的内存地址中:","observ","old","on","order","page","page\"意味着没有没有池子被push或者说push了一个空的池子","page);","page,","page.","pageforpointer(token);","parent","parent(newparent),","parent;","per","place","placehold","placeholder.","pointer和是否进行优化的情况(prepareoptimizedreturn这个后面也会提到),如果不满足这两个条件才会进入缓存池。","pool","pool.","pool1","pool2","pool3","pool_boundari","pool_boundary)","pool_boundary);","pool_boundary:","pool_sentinel","pool_sentinel。","pool_sentinel(哨兵对象)","pool_sentinel:","pools:","pool的情况下,","pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)","pop","pop(coldpage()","pop(pool1)","pop(pool2)","pop(pool3)","pop(top)","pop(void","popped,","printhiwat();","protect();","pthread_self(),","pthread_t","purpos","push","push()","pushextraboundari","push代码如下:","push执行的时候首先会进行判断,如果是需要每个pool都生成一个新page,即debugpoolallocation为yes,则执行autoreleasenewpage方法,否则执行autoreleasefast方法。","re","refer","releas","releaseuntil","releaseuntil(id","remain","result","result;","return","return;","rootautorelease2();","runloop","runloop第一个","runloop详解","runloop迭代.新的一轮runloop创建一个新的","runloop迭代结束进行释放。何为","scribble,","sdks.","setemptypoolplaceholder();","sethotpage(nil);","sethotpage(page);","sethotpage(parent);","sethotpage(this);","sizeof(*pag","sleep","special","start","static","step","stop","stop)","struct","this;","thread(pthread_self()),","thread;","tls_get_direct(key);","top","true;","uint32_t","us","used.","usual.","void","want","whatev","{","{//push了一个空的池子","{}中代码","{}嵌套在一起,就可以按照同样的规则来拆解","{}的情况,那么如果有多层@autoreleasepool","||","}","};","~","~__atautoreleasepool()","一个autoreleasepoolpage节点对应着一个线程,属于一一对应关系。","一个autoreleasepoolpage节点最大的位置","上述方法分三种情况选择不同的代码执行:","上面的","不是在内存峰值时候释放","不满","与","从next指针开始,一个一个向前调用objc_release,直到碰到push时压入的pool为止。","从上述代码可以知道push,pop都是操作","从上面的代码我们可以知道,既然当前内存中不存在autoreleasepoolpage,就要从头开始构建这个自动释放池的双向链表,也就是说,新的autoreleasepoolpage是没有parent指针的。","从上面的源码我们看到,对象调用autorelase方法,最后会变成autoreleasepoolpage的autorelease函数。autoreleasepoolpage的autorelease的本质就是调用autoreleasefast(obj)函数。只不过push操作插入的是一个pool_boundari","作用如上图","保存了当前页所在的线程,自动释放池所属的线程,说明它不能跟多个线程关联。","内存管理剖析(四)——autorelease原理分析经历过mrc时代的开发者,肯定都用过autorelease方法,用于","创建","创建一个","创建自动释放池。其","初始化一个新的页","初始化之后,将当前页标记为hotpage,然后会先向这个page中添加一个pool_boundary的标记,来确保在pop调用的时候,不会出现异常。","到自动释放池的栈顶,并且返回这个","前面讲到的page其实就是hotpage,通过autoreleasepoolpag","单层@autoreleasepool","双向链表","可以理解为当前正在使用的","和","哨兵对象。","在arc环境中autoreleasepool(runloop)的研究","在查找到一个可以使用的autoreleasepoolpage之后,会将该页面标记成hotpage,然后调动add()方法添加对象。","在每个自动释放池初始化调用","在没有手加autoreleas","如果next指向beigin()说明为空","如果next指向end)说明满了","如果我们的一个","子线程autorelease对象何时释放","字节","存在page且未满,通过add()方法进行添加;","完整性的校验","就是一个","就是用来构造双向链表的指针。","嵌套","嵌套autorelesepool很好解释,pop的时候总会释放到上次push的位置为止,多层的pool就是多个哨兵对象而已,就像剥洋葱一样,每次一层,互不影响。","已满","并且当前","并在","底层转化为如上代码","当前page已满执行autoreleasefullpage方法;","当前不存在pageautoreleasenopage方法。","当前不存在page执行autoreleasenopage方法。","当前存在page执行autoreleasefullpage方法;","当然这么说并不严谨,因为我们需要考虑是否是tag","总结","所以autoreleasepool的运行过程应该是:","所以push的流程是:","所以一个空的autoreleasepoolpage的结构如下:","手动@autoreleasepool","手动autoreleasepool,如下文参考2例子,可以得知这个for循环中,每一次循环会清理掉一次内存,因为完全执行完","指向了下一个为空的内存地址,如果","指向的地址加入一个","掘金","接着我们看一下autoreleasepoolpage的构造函数以及一些操作方法:","接着看一下当对象调用autorelase方法发生了什么。","方法将对象添加至","无","时调用","时调用_objc_autoreleasepoolpop()","是","是以双向链表的形式连接起来的:","最后,将obj添加到自动释放池中。","有","来释放自动释放池。这个","栈中存放的指针指向加入需要release的对象或者pool_sentinel(哨兵对象,用于分隔autoreleasepool)。","栈中指向pool_sentinel的指针就是autoreleasepool的一个标记。当autoreleasepool进行出栈操作,每一个比这个哨兵对象后进栈的对象都会release。","每一个autoreleasepoolpage节点是一个堆栈结,且大小为4096个字节。","每一个线程都会维护自己的autoreleasepool堆栈,也就是说每一个autoreleasepool对应一个线程。","每一个自动释放池都是由一系列的","每个runloop中都会创建一个","每次pop,实际上都会把最近一次push之后添加进去的对象全部release掉。","消息,直到第一个","深入解析","添加一个autorelease对象,next指向下一个存对象的地址。","的","的大小都是","的时候,都会把一个","的栈","的栈中","监视了两个事件:","监视的事件是","第二个","组成的,并且每一个","结构","编译器会把@autoreleasepool{}改写成:","而当方法","自动释放池中的","自动释放池中的栈","表示了一个autoreleasepoolpage节点开始存autorelease对象的位置。","被初始化在内存的","解密runloop","调用","调用时,就会向自动释放池中的对象发送","这里我们主要分析下第三种情况。","进入","迭代结束?当前runloop","通过上面的代码我们知道当前页是存在tls(线程私有数据)里面的。所以说第一次调用push的时候,没有page自然连hotpage也没有。","释放旧的池并创建新池;exit(即将退出loop)","黑幕背后的autoreleas",",而autorelease操作插入的是一个具体的autoreleased对象即autoreleasepoolpage入栈操作。"],"iOS/OCFoundation/MultiThreading.html":["1.","1.多线程原理","1.进程的定义","2.多线程意义","2.多线程生命周期","2.线程的定义","3.进程与线程的关系和区别","4.多线程实现方案","4.线程池的原理","4.进程与线程的关系图","5.gcd和nsoperation的区别","5.队列的定义","6.线程间通讯","6.队列和线程的关系","7.线程和runloop的关系","8.影响任务执行速度的因素","abortpolicy直接抛出rejectedexecutionexeception异常来阻止系统正常运行","c","callerrunspolicy将任务回退到调用者","cocoa","corepools","cpu的调度","discardpolicy直接丢弃任务","disoldestpolicy丢掉等待最久的任务","first","gcd","gcd仅仅支持fifo队列,不支持异步操作之间的依赖关系设置。而nsoperation中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整","gcd更接近底层,gcd在追求性能的底层操作来说,是速度最快的","handler","ios探索","keepalivetim","keepalivetime参数的时间单位","maximumpool","multi","multithread","nsoper","nsoperation支持kvo,可以观察任务的执行状态","nsthread","oc","out)的线性表,在具体应用中通常用链表或者数组来实现。装载线程任务的队形结构。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加","port","pthread","refer","runloop","runloop与线程是一一对应的——一个runloop对应一个核心的线程,为什么说是核心的,是因为runloop是可以嵌套的,但是核心的只能有一个,他们的关系保存在一个全局的字典里","runloop是来管理线程的——当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务","sockets:基于端口的通信是在两个线程之间进行通信的一种更为复杂的方法,但它也是一种非常可靠的技术。更重要的是,端口和套接字可用于与外部实体(例如其他进程和服务)进行通信。为了提高效率,使用","sourc","sources:","thread","threadfactori","unit","workqueu","一个自定义的","一个进程(程序)的所有任务都在线程中执行,每个进程至少有一个线程(主线程)。线程是cpu调度(执行任务)的最小单位,其实质就是一段代码(一个任务)。","一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉,所以多进程要比多线程健壮","一套通用的多线程api","两者是没有关系的,可以这么理解:","从异步操作之间的事务性,顺序行,依赖关系。gcd需要自己写更多的代码来实现,而nsoperation已经内建了这些支持","代表意义","以下因素都会对任务的执行速度造成影响:","任务会交给rejectedexecutionhandler来处理","任务执行的复杂度","任务的优先级","任务阻塞队列","优点","传统的多处理服务定义了先进先出(fifo)队列抽象,用于管理传入和传出数据。尽管消息队列既简单又方便,但是它们不如其他一些通信技术高效","使用更加面向对象","使用评率","使用难度大","偶尔使用","充分利用设备的多核","先判断线程池工作队列是否已满","全局变量、共享内存块和对象:","几乎不用","分布式对象:","分布式对象是一种","创建线程执行任务","参数名","反之则交给饱和策略去处理","同一时间,cpu只能处理一条线程,只有一条线程在工作(执行)","否则可能会导致竞争状况,数据损坏或崩溃。","在两个线程之间传递信息的另一种简单方法是使用全局变量,共享对象或共享内存块。尽管共享变量既快速又简单,但是它们比直接消息传递更脆弱。必须使用锁或其他同步机制仔细保护共享变量,以确保代码的正确性。","在第一次获取时被创建,在线程结束时被销毁","在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程均运行在其专用且受保护的内存空间内。进程是cpu分配资源和调度的单位。","在银行(进程)中,有4个工作窗口(线程),而只有一条队伍(队列)","地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间","基于gcd(底层是gcd)","多线程","多线程原理","多线程并发(同时)执行,其实就是cpu执行快速地在多条线程之间调度(切换)","多线程的生命周期是:新建","如果开启大量的线程,会占用大量的内存空间,降低程序的性能","如果异步操作的过程需要更多的被交互和ui呈现出来,nsoperation更好;底层代码中,任务之间不太互相依赖,而需要更高的并发能力,gcd则更有优势","对于主线程来说,runloop在程序一启动就默认创建好了","对于子线程来说,runloop是懒加载的——只有当我们使用的时候才会创建,所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调","就绪","就绪:向线程对象发送start消息,线程对象被加入可调度线程池等待cpu调度。","开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512kb,创建线程大约需要90毫秒的创建时间)","当提交的任务数超过maxmumpoolsize与workqueue之和时,","执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制","技术方案","技术,可提供基于端口的通信的高级实现。尽管可以将这种技术用于线程间通信,但是强烈建议不要这样做,因为它会产生大量开销。分布式对象更适合与其他进程进行通信,尽管在这些进程之间进行事务的开销也很高","新建线程的工厂","新建:实例化线程对象","旨在替代nsthread等线程技术","是事件驱动的,因此在无事可做时,线程会自动进入睡眠状态,从而提高了线程的效率","条件执行:","条件是一种同步工具,可用于控制线程何时执行代码的特定部分。您可以将条件视为关守,让线程仅在满足指定条件时运行。","来实现端口,因此当端口上没有数据等待时,线程将进入睡眠状态","死亡","死亡:正常死亡,线程执行完毕。非正常死亡,当满足某个条件后,在线程内部中止执行/在主线程中止线程对象","每个进程之间是独立的,每个进程均运行在专用的且受保护的内存","比gcd多了一些更简单实用的功能","消息队列:","直接消息传递:","程序启动会默认开启一条线程,这条线程被成为主线程或ui线程","程序员管理","程序设计更加复杂,比如线程间的通信、多线程的数据共享","窗口(线程)只负责为排队的人办理业务,并不会管队伍(队列)是怎么排的","简介","简单易用,可直接操作线程对象","线程:","线程上的任务执行完成后,线程会自动销毁","线程与进程","线程是处理器调度的基本单位,但进程不是","线程是进程的基本执行单元,一个进程的所有任务都在线程中执行","线程池中超过corepoolsize树木的空闲线程的最大存活时间","线程池的基本大小(核心线程池大小)","线程池的最大大小","线程生命周期","线程的执行速率","线程越多,cpu在调用线程上的开销就越大","经常使用","缺点","能适当提高程序的执行效率","能适当提高资源的利用率(cpu、内存)","自动管理","若已满时,且maximumpoolsize>corepoolsize,将创建新的线程来执行任务","若没满就将任务push进队列","若线程池大小大于等于核心线程池大小时","若线程池大小小于核心线程池大小时","语言","负责调度可调度线程池中线程的执行。线程执行完成之前,状态可能会在就绪和运行之间来回切换。就绪和运行之间的状态变化由cpu负责,程序员不能干预。","资源拥有:同一进程内的线程共享本进程的资源如内存、i/o、cpu等,但是进程之间的资源是独立的","跨平台/可移植","运行","运行:cpu","进程:","进程、线程与队列","进程切换时,消耗的资源大、效率高。所以设计到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程而不能用进程","进程想要执行任务,必须得有线程,进程至少要有一条线程","进程是指在系统中正在运行的一个应用程序,如微信、支付宝app都是一个进程","适用于unix/linux/windows等系统","通过performselector的一系列方法,可以实现由某一线程指定在另外的线程上执行任务。因为任务的执行上下文是目标线程,这种方式发送的消息将会自动的被序列化","配置可以让一个线程上收到特定的应用程序消息。由于","队列情况","队列负责调度任务,线程执行任务","队列,又称为伫列(queue),是先进先出(fifo:","阻塞","阻塞:当满足某个预定条件时,可以使用休眠或锁,阻塞线程执行。sleepfortimeinterval(休眠指定时长),sleepuntildate(休眠到指定日期),@synchronized(self):(互斥锁)。","饱和策略有如下四个:"],"iOS/OCFoundation/GCDUsage.html":["%@\",","&","(int","(nonatomic,","(null)}","(timeout","(void)test","(两个函数要配合使用)","*","*/","...乱序输出","...按顺序输出","...是否按序输出与串行队列还是并发队列有关","/**","//","//1.创建队列","//2.创建timer","//3.设置timer首次执行时间,间隔,精确度","//4.设置timer事件回调","//5.默认是挂起状态,需要手动激活","0","0)","0);","0)获取系统提供的并发队列","0,","0.1","0;","1","1,","1.dispatch_group_async","1.串行+同步","1.串行队列使用栅栏函数","1.定义及使用","1阻塞线程,等待signal再执行下去","1,但是wait之后信号量为","1,但是wait之后信号量为0不会阻塞线程,所以进入i=1","2.0","2.dispatch_group_ent","2.串行+异步","2.并发队列使用栅栏函数","2.自定义定时器","3,","3.dispatch_barrier_sync/dispatch_barrier_async区别","3.dispatch_group_wait使用","3.并发+同步","4,","4.并发+异步","4.栅栏函数注意点","5,","5.主队列+同步","6,","6.主队列+异步","7,","7.全局队列+同步","8.全局队列+异步","=","==","@properti","[nsthread","^(size_t","^{","_timer","api","api总结","c","central","currentthread]);","custom","descriptor","dispatch","dispatch_after()","dispatch_appli","dispatch_apply()","dispatch_apply(10,","dispatch_apply前","dispatch_apply后","dispatch_apply将指定的block追加到指定的队列中重复执行,并等到全部的处理执行结束——相当于线程安全的for循环","dispatch_apply的线程0","dispatch_async","dispatch_async()","dispatch_async(queue,","dispatch_barrier_async","dispatch_barrier_async()","dispatch_barrier_async(queue,","dispatch_barrier_async:前面的任务执行完毕才会来到这里","dispatch_barrier_sync","dispatch_barrier_sync()","dispatch_barrier_sync:作用相同,但是这个会堵塞线程,影响后面的任务执行","dispatch_cancl","dispatch_cancle:","dispatch_get_global_queue()","dispatch_get_global_queue(0,","dispatch_get_global_queue(dispatch_queue_priority_default,","dispatch_get_main_queue()","dispatch_get_main_queue(),","dispatch_get_main_queue();","dispatch_group_async()","dispatch_group_async(group,","dispatch_group_create()","dispatch_group_create();","dispatch_group_enter()/","dispatch_group_enter(group);","dispatch_group_enter和dispatch_group_leave成对出现,使进出组的逻辑更加清晰","dispatch_group_leav","dispatch_group_leave()","dispatch_group_leave(group);","dispatch_group_notify()","dispatch_group_notify(group,","dispatch_group_notify在dispatch_group_async执行结束之后会受到通知","dispatch_group_t","dispatch_group_t:调度组将任务分组执行,能监听任务组完成,并设置等待时间","dispatch_group_wait()","dispatch_group_wait(dispatch_group_t","dispatch_group_wait(group,","dispatch_once()","dispatch_queue_concurrent);","dispatch_queue_concurrent);创建并发队列","dispatch_queue_create(\"felix\",","dispatch_queue_create()","dispatch_queue_serial);","dispatch_queue_serial)创建串行队列","dispatch_queue_t","dispatch_resum","dispatch_resume(_timer);","dispatch_resume:","dispatch_resume和dispatch_suspend调用次数需要平衡","dispatch_semaphore_creat()","dispatch_semaphore_create():创建信号量","dispatch_semaphore_create(0);","dispatch_semaphore_signal()","dispatch_semaphore_signal():释放信号量,信号量加1。当信号量>=","dispatch_semaphore_t","dispatch_semaphore_wait()","dispatch_semaphore_wait():等待信号量,信号量减1。当信号量时会阻塞当前线程,根据传入的等待时间决定接下来的操作——如果永久等待将等到信号(signal)才执行下去","dispatch_sourc","dispatch_source_cr","dispatch_source_create(dispatch_source_type_timer,","dispatch_source_create:","dispatch_source_get_data","dispatch_source_get_data:","dispatch_source_merge_data","dispatch_source_merge_data:","dispatch_source_set_event_handl","dispatch_source_set_event_handler(_timer,","dispatch_source_set_event_handler:","dispatch_source_set_timer(_timer,","dispatch_source_t","dispatch_source是一种基本的数据类型,可以用来监听一些底层的系统事件","dispatch_suspend","dispatch_suspend:","dispatch_sync","dispatch_sync()","dispatch_time(dispatch_time_now,","dispatch_time_forever);","dispatch_time_now);","dispatch_time_now,","dispatch_time_t","dispatch,它是纯","gcd","gcdtimer如果存在循环引用,使用weak+strong或者提前调用dispatch_source_cancel取消tim","gcdtimer没有repeat,需要封装来增加标志位控制","gcdtimer需要强持有,否则出了作用域立即释放,也就没有了事件回调","gcdtimer默认是挂起状态,需要手动激活","gcd全称是grand","gcd的优势:","group","group,","group:需要等待的调度组","i=0时有可能先打印,也可能会先发出wait信号量","i=1时有可能先打印,也可能会先发出wait信号量","index)","index,","ios探索","long","mach","main}","name","nil或者重新创建source都会造成crash。正确的方式是在激活状态下调用dispatch_source_cancel(source)释放当前的sourc","nsec_per_sec));","nsec_per_sec);","nsec_per_sec,","nslog(@\"","nslog(@\"dispatch_apply前\");","nslog(@\"dispatch_apply后\");","nslog(@\"dispatch_apply的线程%zu","nslog(@\"gcdtimer\");","nslog(@\"timeout=%ld\",","nslog(@\"主线程","nslog(@\"刷新页面\");","nslog(@\"延迟1s的任务2——%@\",","nslog(@\"延迟2s的任务1——%@\",","nslog(@\"开始——%@\",","nslog(@\"按时完成任务\");","nslog(@\"栅栏结束——%@\",","nslog(@\"第一次结束——%@\",","nslog(@\"第二次结束——%@\",","nslog(@\"请求一完成\");","nslog(@\"请求二完成\");","nslog(@\"超时\");","null)创建串行队列(gcd底层会讲到)","param1:重复次数","param2:追加的队列","param3:执行任务","port","process","queue","queue);","queue)和并发队列(concurr","queue):","queue,","refer","sem","signal","sleep(1);","sleep(2);","source在挂起状态下,如果直接设置sourc","source:定时器事件源,用来生成周期性的通知或回调","source:监听mach端口事件源","source:监听信号事件源,当有unix信号发生时会通知","source:监听文件或socket事件源,当文件或socket数据发生变化时会通知","source:监听自定义事件源","source:监听进程事件源,与进程相关的事件通知","strong)","timeout","timeout)","timeout);","timeout=49","timeout:等待的超时时间(即等多久)","timer","timer;","usag","{","{number","}","});","一次性执行","下面来看一下主队列和全局队列的使用情况:","下面这段代码要求使用信号量来按序输出(当然栅栏函数可以满足要求)","不会开启线程","不使用栅栏函数","不用等待当前语句执行完毕,就可以执行下一条语句","串行&同步线程0","串行&同步线程1","串行&异步线程0","串行&异步线程1","串行/并发和同步/异步的排列组合","串行队列","串行队列:线程执行只能依次逐一先后有序的执行,等待上一个执行完再执行下一个","主要使用的api:","主队列","主队列&异步线程0","主队列&异步线程1","主队列和全局队列单独考虑,组合结果以总结表格为准","主队列:绑定主线程,所有任务都在主线程中执行、经过特殊处理的串行的队列","乱序执行,开辟线程","亦可以使用dispatch_queue_create(\"xxx\",","任务一个接一个执行,不开辟线程","任务一个接一个执行,不开辟线程(同并发+同步)","任务一个接一个执行,会开辟线程","任务乱序执行,开辟线程","任务乱序执行,开辟线程(同并发+异步)","优先级从高到低依次为dispatch_queue_priority_high、dispatch_queue_priority_default、dispatch_queue_priority_low、dispatch_queue_priority_background","会开启线程执行block任务","会执行wait之后的代码","会自动利用更多的cpu内核(比如双核、四核)","会自动管理线程的生命周期(创建线程、调度任务、销毁线程)","传入值为2时,可以通过三次才堵塞","使用dispatch_get_main_queue()获取主队列","使用dispatch_queue_create(\"xxx\",","使用dispatch_source自定义定时器注意点:","使用全局队列时由于对全局队列造成堵塞,可能致使系统其他调用全局队列的地方也堵塞从而导致崩溃(并不是只有你在使用这个队列)","使用全局队列起不到栅栏函数的作用","使用栅栏函数","全局队列","全局队列&同步线程0","全局队列&同步线程1","全局队列&异步线程2","全局队列&异步线程3","全局队列:系统提供的并发队列","创建事件源","创建信号量","创建信号量时传入值为1时,可以通过两次才堵塞","创建源","创建调度组","创建队列","利用信号量的api来进行代码改写","刷新页面","前文已经提过并发执行异步队列会开辟线程,而任务也会因为任务复杂度和cpu的调度导致各个乱序执行完毕,比如上图中的任务3明明是先于任务4执行,但是晚于任务4执行完毕","取消","同步执行","同步栅栏函数","在ios开发中一般使用nstimer来处理定时逻辑,但nstimer是依赖runloop的,而runloop可以运行在不同的模式下。如果nstimer添加在一种模式下,当runloop运行在其他模式下的时候,定时器就挂机了;又如果runloop在阻塞状态,nstimer触发时间就会推迟到下一个runloop周期。因此nstimer在计时上会有误差,并不是特别精确,而gcd定时器不依赖runloop,计时精度要高很多","在当前线程执行block的任务","复制代码","多线程中队列分为串行队列(serial","多线程之gcd应用","多线程执行任务分为dispatch_sync同步执行任务和dispatch_async异步执行:","如果当创建信号量时传入值为1又会怎么样呢?","将上述调度组代码进行改写","将案例二中的dispatch_barrier_async改成dispatch_barrier_sync","将调度组中的任务未执行完毕的任务数目加减1","尽量使用自定义的并发队列:","崩溃...","并发&异步线程0","并发&异步线程1","并发队列","并发队列:线程可以同时一起执行,不需要等待上一个执行完就能执行下一个任务","应用场景:gcdtimer","应用场景:同步当锁,","应用场景:同步锁","应用场景:多个接口请求之后刷新页面","应用场景:用来拉取网络数据后提前算出各个控件的大小,防止绘制时计算,提高表单滑动流畅性","延时执行","延迟1s的任务2——{number","延迟2s的任务1——{number","开始——{number","异步执行","异步是多线程的代名词","异步栅栏函数","当前0","当前1","当前2","当前3","当前4","当前5","当前6","当前7","当前8","当前9","必须等待当前语句执行完毕,才会执行下一条语句","总结一下:","想要执行什么任务,不需要编写任何线程管理代码","执行\\队列","执行进组任务","挂起","按序执行,不开辟线程","按序执行,开辟线程","控制gcd最大并发数","提交队列","是苹果公司为多核的并行运算提出的解决方案","最简单的是使用dispatch_get_global_queue(0,","栅栏任务","栅栏函数只能控制同一并发队列:打个比方,平时在使用afnetworking做网络请求时为什么不能用栅栏函数起到同步锁堵塞的效果,因为afnetworking内部有自己的队列","栅栏函数的作用是将队列中的任务进行分组,所以我们只要关注任务1、任务2","栅栏结束——{number","此时gcd就提供了两个api——dispatch_barrier_sync和dispatch_barrier_async,使用这两个api就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务,最后执行栅栏后任务","死锁","添加到串行队列中——按序执行","添加到主队列中——死锁","添加到全局队列中——乱序执行","添加到并发队列中——乱序执行","源事件设置数据","监听队列组执行完毕","相互等待,造成死锁","程序员只需要告诉","第一个参数是优先级枚举值,默认优先级为dispatch_queue_priority_default=0","第一次结束——{number","第二次结束——{number","等待信号量","类型","线程{number","结论:","结论:dispatch_barrier_async可以控制队列中任务的执行顺序,而dispatch_barrier_sync不仅阻塞了队列的执行,也阻塞了线程的执行(尽量少用)","结论:由于串行队列异步执行任务是一个接一个执行完毕的,所以使用栅栏函数没意义","结论:由于并发队列异步执行任务是乱序执行完毕的,所以使用栅栏函数可以很好的控制队列内任务执行的顺序","继续","获取主队列","获取事件源数据","获取全局队列","获取源事件数据","设置为dispatch_time_forever则会阻塞当前调度组,直到调度组执行完毕","设置为dispatch_time_now意味着不等待直接判定调度组是否执行完毕","设置事件源数据","设置数据源回调","设置源事件回调","设置等待时间(成功为0)","语言,并且提供了非常多强大的函数","说明","请求一完成","请求二完成","调度组要注意搭配使用,必须先进组再出组,缺一不可","超时","输出结果","输出结果:","返回值不为0——在指定时间内调度组没有按时完成任务","返回值为0——在指定时间内调度组完成了任务","返回值:为","释放信号量"],"iOS/OCFoundation/GCDThread.html":["(id)objectforkey:(nsstring*)key{","(void)printlog{","(void)setobject:(id)obj","(void)viewdidload{","//12345","//13","//写","//同步读取指定数据","//异步栅栏调用设置数据","//死锁","//没问题","1)","1.","1.串行队列","1、主线程中任务执行:任务1、sync、任务3、","2)","2.","2.同步和异步:","2.并发队列","2、主队列:viewdidload、任务2、","3)","3.","3.主队列","4)","4.全局队列","5)","6)",":","=","[self","^{","__block","afterdelay0];","block的任务,无论任务中哪一个,最终都要提交到主线程中处理.先分派viewdidload到主线程,由于队列fifo,viewdidload的调用结束又要等待block的调用结束,block又在等待viewdidload","dispatch_async(concurrent_queue,^{//任务});","dispatch_async(dispatch_get_main_queue(),^{","dispatch_async(global_queue,^{","dispatch_async(serial_queue,^{//任务});","dispatch_async(队列,任务)","dispatch_barrier_async()","dispatch_barrier_async(concurrent_queue,^{","dispatch_barrier_async(concurrent_queue,^{//写操作});","dispatch_get_main_queue();","dispatch_queue_t","dispatch_sync(concurrent_queue,^{","dispatch_sync(concurrent_queue,^{//任务});","dispatch_sync(global_queue,^{","dispatch_sync(queue,","dispatch_sync(serial_queue,^{//任务});","dispatch_sync(serialqueue,^{","dispatch_sync(队列,任务)","dispatch_sync,都会在当前线程上执行该任务,而不继续走下去,直到任务执行完成","dosomething];","forget)”的原则。","forkey:(nsstring*)key{","gcd","gcd优点:gcd主要与block结合使用。","gcd是底层的c语言构成的api,而nsoperationqueue及相关对象是objc的对象。在gcd中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而operation作为一个对象,为我们提供了更多的选择;","gcd的两个核心概念是:任务和队列.","id","isfinished==y","nslog(@\"1\");","nslog(@\"2\");","nslog(@\"3\");","nslog(@\"4\");","nslog(@\"5\");","nslog(@\"执行任务1\");","nslog(@\"执行任务2\");","nslog(@\"执行任务3\");","nsoper","nsoprationqueu","obj","obj;","performselector:@selector(printlog)","queue","releas","thread","viewdidload","viewdidload添加到主队列上,提交到主线程上执行.viewdidload执行到某个时段时候,同步提交一个任务到一个串行队列上面,由于是同步提交任务,意味着要在当前线程执行,所以串行队列提交的任务也是在主线程上面执行,串行队列任务在主线程上执行完之后,再继续执行viewdidload后面的任务","withobject:nil","xxxx;","xxxxx;","}","});","一般在开发过程中我们使用全局队列","与","串行队列:任务一个接一个的执行","串行队列同步执行,既在当前线程中顺序执行","串行队列异步执行,开辟一条新的线程,在该线程中顺序执行","主队列:跟主线程相关的队列,主队列里面的内容都会在主线程中执行","主队列同步执行,会造成死锁(’主线程’和’主队列’相互等待,卡住主线程)","主队列异步执行,不开辟新的线程,顺序执行","以打电话给查号台为例:","任务","任务与队列","使用nsoperation和nsoperationqueue的优点:","全局队列:一个特殊的并发队列","其中在主队列viewdidload里面的任务3执行结束才会执行任务2;而主线程中是执行完sync才会执行任务3。也就是任务2等待任务3执行,任务3再也等待任务2执行,造成死锁","写者写者互斥","分析:","只支持fifo","只要是同步方式提交任务,无论是提交到并发队列还是串行队列,最终都是在当前线程执行","可以取消操作:在运行任务前,可以在nsoperation对象调用cancel方法,标明此任务不需要执行。但是gcd队列是无法取消的,因为它遵循“安排好之后就不管了(fir","可以指定操作的优先级:操作的优先级表示此操作与队列中其他操作之间的优先关系,我们可以指定它","可以指定操作间的依赖关系:例如从服务器下载并处理文件的动作可以用操作来表示。而在处理其他文件之前必须先下载“清单文件”。而后续的下载工作,都要依赖于先下载的清单文件这一操作。","同步/异步和串行/并发","同步:只能在当前线程中执行任务,不具备开启新线程的能力","同步串行","同步异步","同步执行任务:","同步:打电话给查号台,问某个地方的电话号码,接线员会告诉你稍等,然后为你查号,此时你的电话没有挂断,其他的电话也不能打进来,等到接线员查找到了你要找的电话号,告诉你后,才将电话挂断","和","因为子线程不会主动创建runloop,performselector:withobject:afterdelay,即使延时0s,也是要创建相应添加到runloop逻辑,如果没有runloop是不会添加到上面,所以不会触发.(创建runloop后也需要run)","在arc中两个队列不需要考虑释放内存,但是在mrc中并发队列创造出来的需要","在block中执行的代码块","在nsoperationqueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而gcd没法停止已经加入queue的block(其实是有的,但需要许多复杂的代码);","在主队列上提交了","多读单写处理","多读单写方案","如果只重写main方法,底层控制变更任务执行完成状态,以及任务退出","如果重写了start方法,自行控制状态(什么时候是isexecuting,isfinish状态等等)","并发队列:队列中的任务并发执行","并发队列和全局队列的区别:","并发队列有名称,可以跟踪错误.全局队列没有.","并行队列同步执行,不开辟线程,在当前线程中顺序执行","并行队列异步执行,开辟多个新的线程,并且线程会重用,无序执行","异步:可以在新的线程中执行任务,具备开启新线程的能力","异步串行","异步并发","异步执行(async)和同步执行(sync):使用dispatch_async调用一个block,这个block会被放到指定的queue_1队列尾等待执行,至于这个block是被并行还是串行执行,只和dispatch_async中的指定的queue_1有关,但是dispatch_async会马上返回。使用dispatch_sync同样也是把block放到指定的queue_2上执行,但是会等待这个block执行完毕后才返回,这期间会阻塞当前运行调用dispatch_async或dispatch_sync代码的queue(通常为main_queue)直到sync函数返回。","异步执行:","异步:打电话给查号台,问某个地方的电话号码,接线员知道了你的请求后,会立刻挂断电话,此时其他的电话可以打进来。然后开始为你查号。等到查找到了你要找的电话号,会再打电话通知你。","引申:","怎么利用gcd实现多读单写?","所以任何情况下调用","操作,而全局队列只有一个不需要.","死锁原因","状态控制","用来存放任务的","的nsoperation的","的区别与选用","的队列,而nsoperationqueue可以调整队列的执行顺序(通过调整权重)。nsoperationqueue可以方便的管理并发、nsoperation之间的优先级。","监控nsoperation对象的属性:可以通过kvo来监听nsoperation的属性:可以通过iscancelled属性来判断任务是否已取消;通过isfinished属性来判断任务是否已经完成。","系统怎么移除一个","线程的区别:","读者写者互斥","读者读者并发","通过kvo","队列","队列中存放的任务最后都要由线程来执行!","队列分类:","队列和执行方式组合的效果:","队列引起的循环等待","队列的原则:先进先出,后进后出","队列:队列分为串行和并行。串行队列按照a、b、c、d的顺序添加四个任务,这四个任务按照顺序执行,结束顺序也肯定是a、b、c、d,而并行队列同时执行这四个任务,完成的顺序因此也是随机的。","首先明确几个概念"],"iOS/OCFoundation/Lock.html":["!=","!_cond.wait(until:","!fastcacheoccupied分支表示支持快速缓存且快速缓存被占用了,将该synccacheitem数据写入快速缓存中","#defin","#endif","#if","#import","&&","&cach","&list_for_obj(object);","&lock_for_obj(object);","&timeout)","'obj'","'obj'.","(","(!atomic)","(!cache)","(!data)","(!fastcacheoccupied)","(!okay)","(&result","((char*)self","(*)(id,","(*slot","(^block)(int);","(cache)","(copy)","(data","(data)","(debugnilsync)","(firstunus","(i","(id","(id)appdelegateclassname;","(id*)","(int","(item","(mutablecopy)","(obj)","(objc_object","(offset","(p","(result","(result)","(rethrow)","(safely)","(syncdata","(uintptr_t)tls_get_direct(sync_count_direct_key);","(valu","(void)methoda{","(void)methodb{","(void)test","(void*)1);","(whi",")",");","*","*)objc_msgsend)((id)objc_getclass(\"appdelegate\"),","*)object;","*)tls_get_direct(sync_data_direct_key);","**)&result,","**listp","*/","*cach","*data","*data;","*item","*listp","*listp;","*lock","*lockp","*slot","*slot;","+","+1/","...","/*","//","//synccacheitem数组","//xxxx","//会导致死锁,要使用递归锁","//该对象在该线程中被加锁的次数","//该缓存条目对应的syncdata","//该缓存此时对应的已使用缓存大小","//该缓存此时对应的缓存大小","//递归锁的特点是可以重入","0","0)","0),","0;","1)","1);","1.","1.osspinlock","1.pthread_mutex","1.线程安全","1;","1操作","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.@synchron","2.atom","2.检测安全","3.","3.1","3.2","3.nslock","3.锁的作用","4.1","4.2","4.nsrecursivelock","4.锁的分类","5.","5.dispatch_semaphor","6.","6.nscondit","7.nsconditionlock","7.互斥锁和自旋锁的区别","8.os_unfair_lock","9.互斥锁性能对比",":",";","=","==",">",">data",">data;",">list[",">list[cach",">list[i]",">list[i];",">lock();",">lock()并不是在底层对锁进行了封装,而是在查找过程前后进行了加锁操作",">lockcount",">mutex)",">mutex.lock();",">mutex.tryunlock();",">nextdata",">nextdata)",">object",">threadcount",">threadcount);",">unlock();",">used++;",">used].data",">used].lockcount",">used];","@autoreleasepool","@synchron","@synchronized(nil)","@synchronized(nil);","@synchronized可能是日常开发中用的比较多的一种互斥锁,因为它的使用比较简单,但并不是在任意场景下都能使用@synchronized,且它的性能较低","@synchronized在底层维护了一个哈希链表进行data的存储,使用recursive_mutex_t进行加锁","[[nslock","[[nsrecursivelock","[lock","[newvalu","[nsmutablearray","[recursivelock","[self","^(int","^{","_","__atautoreleasepool","__autoreleasepool;","__null,","_cmd,","_cond","_cond.broadcast()","_cond.lock()","_cond.unlock()","_conditionvariablepointer.allocate(capacity:","_fin","_fin(id","_lock;","_mutexpointer.allocate(capacity:","_objc_fatal(\"id2data","_objc_inform(\"nil","_rethrow","_swift_cfthreadref?","_sync_exit","_sync_exit(_sync_obj);","_sync_exit(id","_sync_obj","_testarray","_thread","_thread:","_valu","_value:","`try`()","above.","acquir","acquire)","acquire);","acquired.","alignas(cachelinesize)","alignof(syncdata),","alloc","alloc]","allocated;","anoth","appdelegateclassnam","appdelegateclassname);","appdelegateclassname;","arg)","argc,","argv,","argv[])","array];","assert(data);","associ","atom","atomic)","atomic,","atomic保证变量在取值和赋值时的线程安全","atomic修饰的属性绝对安全吗?","atomic原理","atomic只能保证setter、getter方法的线程安全,并不能保证数据安全","atomic只能保证setter、getter时线程安全,所以更多的使用nonatomic来修饰","autoreleas","befor","before:","begin","block","block(10);","block(valu","bool","break;","breakpoint","breakpoint_function(","broadcast()","broadcast会唤醒所有正在等待的线程","buggy\");","cach","cache.","case","catch","char","check","check)","check:","class","collid","concurr","cond","condit","condition,","condition:","constexpr","continue;","conveni","copy,","copywithzone:nil];","corelib","current","data","data(nil),","data;","date)","date.distantfuture)","date.distantpast)","debug\");","debug:","deinit","disguisedptr","dispatch_async(dispatch_get_global_queue(0,","dispatch_semaphore_t","done","done:","done;","done分析:","e)","e;}","end","entri","enum","exclusion,缩写mutex)防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒","exit","fals","fast","fastcacheoccupi","fetch_cache(no);","fetch_cache(yes);","firstunus","firstunused;","for循环在block内部对同一个对象进行了多次锁操作,直到这个资源身上挂着n把锁,最后大家都无法一次性解锁——找不到解锁的出口","for循环遍历链表,如果有符合的就goto","found","found,","foundation下载到源码来一探究竟","func","gcd实现简单线程同步,包括子线程分派,实现多读单写情景,nsoperation方便任务状态控制,添加依赖移除依赖,nsthread多用于常用线程","getter方法亦是如此:atomic修饰的属性进行加锁处理","goto","guard","handl","held","here.","i++)","i;","id","id2data(id","id2data(obj,","id2data先将返回对象syncdata类型的result准备好,后续进行数据填充","incorrectli","init()","init(condition:","init];","inlin","int","int)","int,","int32_t","intern","ios探索","ios系统为我们提供的几钟多线程技术各自的特点是怎样的","ios系统当中主要提供3种,gcd、nsoperation&nsoperationqueue、nsthread,一般使用","issu","item","kvc原理及自定义中有提到自动生成的setter方法会根据修饰符不同调用不同方法,最后统一调用reallysetproperty方法,其中就有一段关于atomic修饰词的代码","limit)","limit:","list","list[0];","list_for_obj(obj)","local","lock","lock()","lock(befor","lock(before:","lock(fork_unsafe_lock)","lock(whencondit","lock(whencondition:","lock;","lock];","lock_for_obj(obj)","lockcount","lockcount++;","lockcount;","lockcount表示被锁的次数,意味着能多次进入,从侧面表现出了递归性","lockp","main(int","match","match.","methodb];","mlock;","mutablecopy)","mutablecopywithzone:nil];","mutex","mutex)","mutex,","mutex;","mutex_tt","mutex_tt;","mutex即对象所关联的锁","mutex可以得出@synchronized是递归锁","name:","needed.","new","newvalu","newvalue)","newvalue);","newvalue,","newvalue;","nextdata;","nextdata指的是链表中下一个syncdata","nil","nil)","nil;","no;","nocopy_t","noth","nsarray","nscondition()","nscondition:","nsconditionlock","nsconditionlock可以设置锁条件,而nscondition只是无脑的通知信号","nsconditionlock是nscondition加线程数的封装","nscondition和nsconditionlock是条件锁,当满足某一个条件时才能进行操作,和信号量dispatch_semaphore类似","nscondition是一个条件锁,可能平时用的不多,但与信号量相似:线程1需要等到条件1满足才会往下走,否则就会堵塞等待,直至条件满足","nscondition是对mutex和cond的一种封装(cond就是用于访问和操作特定类型数据的指针)","nslock","nslock、nsrecursivelock、nscondition和nsconditionlock底层都是对pthread_mutex的封装","nslock在afnetworking的afurlsessionmanager.m中有使用到","nslock是对互斥锁的简单封装,使用如下:","nslog(@\"value——%d\",","nslog(@\"加锁前\");","nslog(@\"加锁后\");","nsobject,","nsrecursivelock","nsrecursivelock使用和nslock类似,如下代码就能解决上个问题","nsrecursivelock在yykit中yywebimageoperation.m中有用到","nsrescursivelock","nsstring","nsstringfromclass(((class","null","null)","null);","null;","number","obj)","objc_autoreleasereturnvalue(value);","objc_exception_throw(rethrow);","objc_getproperty(id","objc_release(oldvalue);","objc_retain(*slot);","objc_retain(newvalue);","objc_sync_enter(_sync_obj);","objc_sync_enter(id","objc_sync_exit(id","objc_sync_exit(sync_exit);","objc_sync_exit两个方法","objc_sync_nil","objc_sync_nil();","objc_sync_nil(void)","objc_sync_not_owning_thread_error","objc_sync_not_owning_thread_error;","objc_sync_success","objc_sync_success;","object","object)","object,","object;","object_getclass(self);","object_setclass(self,","object指的是当前加锁的对象","offset);","offset,","okay","oldvalu","oldvalue;","on","onc","open","os_unfair_lock","osatomicdecrement32barrier(&result","osatomicincrement32barrier(&result","osspinlock","osspinlock不再安全,底层用os_unfair_lock替代","outsid","overrid","p","p;","per","performance,","posix_memalign((void","probabl","propertylocks[slot];","pthread_cond_broadcast(cond)","pthread_cond_destroy(cond)","pthread_cond_init(cond,","pthread_cond_signal(cond)","pthread_cond_timedwait(cond,","pthread_cond_wait(cond,","pthread_mutex_destroy(&_lock);","pthread_mutex_destroy(mutex)","pthread_mutex_init(&_lock,","pthread_mutex_init(mutex,","pthread_mutex_lock(&_lock);","pthread_mutex_lock(mutex)","pthread_mutex_t","pthread_mutex_unlock(&_lock);","pthread_mutex_unlock(mutex)","pthread_mutex就是互斥锁本身——当锁被占用,而其他线程申请锁时,不是使用忙等,而是阻塞线程并睡眠","pthread_rwlock_destroy(&lock);","pthread_rwlock_init(&lock,","pthread_rwlock_rdlock(&lock);","pthread_rwlock_t","pthread_rwlock_tryrdlock(&lock);","pthread_rwlock_trywrlock(&lock);","pthread_rwlock_unlock(&lock);","pthread_rwlock_wrlock(&lock);","pthread_self()","ptrdiff_t","public","reallysetproperty(id","recurs","recursive_mutex_t","recursive_mutex_t(fork_unsafe_lock);","refer","releas","release)","release);","release:","remov","result","result);","result;","retain","reth)","rethrow(reth)","rethrow;","return","return;","save","sdatalist","sdatalists;","sdatalists[obj].data","sdatalists[obj].lock","sel","sel))(void","sel_registername(\"class\")));","self,","self.init(condition:","self.testarray","set","signal","signal()","signal操作是唤醒一个正在休眠等待的线程","singl","sizeof(syncdata));","slotlock","slotlock.lock();","slotlock.unlock();","spinlock.","spinlock_t","spinlock_t&","static","storage,在ios中每个线程都拥有自己的tls,负责保存本线程的一些变量,","string?","stripedmap","struct","support_direct_thread_key","sync","sync_exit(arg)","sync_exit;","synccach","synccache;","synccacheitem","synccacheitem;","synccacheitem用来记录某个syncdata在某个线程中被加锁的记录,一个syncdata可以被多个synccacheitem持有","synccache用来记录某个线程中所有synccacheitem,并且记录了缓存大小以及已使用缓存大小","syncdata","syncdata*","syncdata;","synchron","synclist","synclist()","thread","thread.","threadcount);","threadcount;","threadcount表示使用该对象进行加锁的线程数","timeout","timespecfrom(date:","tls_set_direct(sync_count_direct_key,","tls_set_direct(sync_data_direct_key,","tri","true","trylock(whencondit","typedef","uiapplicationmain(argc,","uintptr_t","unlock()","unlock(withcondit","unlock];","unsign","unus","us","usag","used;","valu","value)","value);","value——10","var","void","wait","wait()","wait(until","wait操作会阻塞线程,使其进入休眠状态,直至超时","why)","world","yes;","yykit的yymemorycach有使用到pthread_mutex","{","{_rethrow","{}","||","}","});","};","}_fin_force_rethow(_rethrow);","~_fin()","~_sync_exit()","⾃旋锁避免了进程上下⽂的调度开销,因此对于线程只会阻塞很短时间的场合是有效的","一般在创建单例对象的时候使用","三、互斥锁","上述代码在外层加个for循环,问输出结果?","上面代码一运行就会崩溃,原因是因为在某一瞬间testarray释放了为nil,但哈希表中存的对象也变成了nil,导致synchronized无效化","不能使用非oc对象作为加锁条件——id2data中接收参数为id类型","且tls无需锁保护,","二、自旋锁","互斥锁","互斥锁(mutual","互斥锁又分为:","互斥锁在线程获取锁但没有获取到时,线程会进入休眠状态,等锁被释放时线程会被唤醒","互斥锁在递归调用时会造成堵塞,并非死锁——这里的问题是后面的代码无法执行下去","从上述代码可以得出以下几点:","从上述精简后的代码可以得出以下几点:","从源码来看就是对互斥锁的简单封装","但不能保证self.index+1也是安全的","使用","使用nslock","使用互斥锁nslock异步并发调用block块,block块内部递归调用自己,问打印什么?","使用如下:","使用快速缓存","使用递归锁nsrecursivelock替换nslock","信号量","修饰属性的关键字","先将前面的lock锁解开","全局哈希表查找","全局声明互斥锁","全局声明读写锁","其中通过两个宏定义去取得synclist中的data和lock——stat","写操作","写者是排他性的,⼀个读写锁同时只能有⼀个写者或多个读者(与cpu数相关),但不能同时既有读者⼜有写者。在读写锁保持期间也是抢占失效的","准备syncdata","初始化互斥锁","初始化读写锁","加锁","加锁前","加锁后","加锁对象不能为nil,否则加锁无效,不能保证线程安全","即","即线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步","原因:","原子性修饰的属性进行了spinlock加锁处理","可以理解成","可以采用使用缓存的@synchronized,因为它对对象进行锁操作,会先从缓存查找是否有锁syncdata存在。如果有,直接返回而不加锁,保证锁的唯一性","同时为了哈希不冲突,还使用加盐操作进行加锁","同样的能在swift源码中找到关于nscondition部分","否则将该synccacheitem存入该线程对应的synccache中","唤醒是一个被动行为","因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释","在gcd应用篇章已经对信号量进行过讲解","在ios中锁的基本种类只有两种:互斥锁、自旋锁,其他的比如条件锁、递归锁、信号量都是上层的封装和实现","在ios探索","在objc源码中找到objc_sync_enter和objc_sync_exit","复制代码","多次锁同一个对象会有什么后果吗——会从高速缓存中拿到data,所以只会锁一次对象","如上图所示,被atomic修饰的index变量分别在两次并发异步for循环10000次后输出的结果并不等于20000。由此可以得出结论:","如果在缓存中找到当前对象,就拿出当前被锁的次数lockcount,再根据传入参数类型(获取、释放、查看)对lockcount分别进行操作","如果改成self.index=i是能保证setter方法的线程安全的","如果是release或check直接goto","如果是release类型直接返回nil","如果第二步中有发现第一次使用的的对象就将threadcount标记为1且goto","如果读写锁当前没有读者,也没有写者,那么写者可以⽴刻获得读写锁,否则它必须⾃旋在那⾥,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以⽴即获得该读写锁,否则读者必须⾃旋在那⾥,直到写者释放该读写锁","如果锁的对象obj不存在时分别会走objc_sync_nil()和不做任何操作(源码分析可以先解决简单的逻辑分支)","对acquire类型和对象的断言判断","对self进行同步锁,这个似乎太臃肿了","对被修饰对象进行原子操作(不负责使用)","寻找链表中未使用的syncdata并作标记","导入头文件","尝试加锁","平时很少会直接使用读写锁pthread_rwlock_t,更多的是采用其他方式,例如使用栅栏函数完成读写锁的需求","当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果","循环等待访问,不释放当前资源(while循环)","循环调用且有线程影响时,请注意死锁,如果有死锁问题请使用@synchron","循环调用时用nsrecursivelock","快速、慢速流程都没找到缓存就会来到这步——在系统保存的哈希表进行链式查找","快速缓存的含义为:定义两个变量sync_data_direct_key/sync_count_direct_key,与tsl_get_direct/tls_set_direct配合可以从线程局部缓存中快速取得synccacheitem.data和`synccacheitem.lockcount","总结","想要了解一下nslock的底层原理,但发现其是在未开源的foundation源码下面的,但但是swift对foundation却开源了,可以在swift","接下来就通过源码探索来看一下@synchronized在使用中的注意事项","放⾃旋锁","无法结束解锁——形成死锁","既然@synchronized能在任意地方(vc、view、model等)使用,那么底层必然维护着一张全局的表(类似于weak表)。而从synclist和syncdata的结构可以证实系统确实在底层维护着一张哈希表,里面存储着synclist结构的数据。synclist和syncdata的关系如下图所示:","普通场景下涉及到线程安全,可以用nslock","查看资源check:不操作","检查每线程单项快速缓存中是否有匹配的对象","正常情况下(obj存在)会通过id2data方法生成一个syncdata对象","比对一下atomic的逻辑分支:","注意事项","注:不要将过多的其他操作代码放到锁里面,否则一个线程执行的时候另一个线程就一直在等待,就无法发挥多线程的作用了","源码分析","生成新数据并写入缓存","用于轻量级数据访问,简单的int值","由于osspinlock自旋锁的bug,替代方案是内部封装了os_unfair_lock,而os_unfair_lock在加锁时会处于休眠状态,而不是自旋锁的忙等状态","疑难解答","第一次加完锁之后还没出锁就进行递归调用","第三步情况均不满足(即链表不存在——对象对于全部线程来说是第一次加锁)就会创建syncdata并存在result里,方便下次进行存储","第二次加锁就堵塞了线程(因为不会查询缓存)","等等,前面不是刚说osspinlock因为安全问题被废弃了吗,但是苹果源码怎么还在使用呢?其实点进去就会发现用os_unfair_lock替代了osspinlock(ios10之后替换)","线程1中加锁1、同时线程2中加锁2","细数ios中的那些锁","而osspinlock忙等的机制就可能造成高优先级一直running等待,占用cpu时间片;而低优先级任务无法抢占时间片,变成迟迟完不成,不释放锁的情况","自从osspinlock出现了安全问题之后就废弃了。自旋锁之所以不安全,是因为自旋锁由于获取锁时,线程会一直处于忙等待状态,造成了任务的优先级反转","自旋锁","自旋锁的线程则会一直处于等待状态(忙等待)不会进入休眠——因此效率高","自旋锁:线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏,","获取该线程下的synccach","获取资源acquire:lockcount++并根据key值存入被锁次数","解决方案:","解决:","解锁","解锁1等待解锁2","解锁2等待解锁1","读写锁","读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的cpu数","读写锁更多使用栅栏函数来实现","读操作","输出结果并没有按代码表面的想法去走,而是只打印了一次value值","运行代码会崩溃,并会提示野指针错误","这个逻辑分支是找不到确切的线程标记只能进行所有的缓存遍历","这也是@synchronized作为递归锁但能防止死锁的原因所在:在不断递归的过程中如果对象不存在了就会停止递归从而防止死锁","这里介绍一下synccache和synccacheitem","这里做需要线程安全操作","这里有个重要的知识点——tls:tls全称为thread","递归锁","递归锁在使用时需要注意死锁问题——前后代码相互等待便会产生死锁","递归锁:可重入锁,同一个线程在锁释放前可再次获取锁,即可以递归调用","通过clang也能得到一些信息:","通过汇编能发现@synchronized就是实现了objc_sync_enter和","通过符号断点能知道这两个方法都是在objc源码中的","那么和nscondition的区别在于哪里呢?接下来看一下nsconditionlock源码","都说@synchronized性能低——是因为在底层增删改查消耗了大量性能","释放资源release:lockcount++并根据key值存入被锁次数。如果次数变为0,此时锁也不复存在,需要从快速缓存移除并清空线程数threadcount","释放锁","锁","锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(acquire)锁,并在访问结束之后释放(release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用","阻塞是一个主动行为","非原子性的属性除了没加锁,其他逻辑与atomic一般无二","非递归锁:不可重入,必须等锁释放后才能再次获取锁","顾名思义,就是nscondit","首先从它的注释中recurs"],"iOS/OCFoundation/@synchronized.html":["!=","#defin","#endif","#if","%","&cach","&list_for_obj(object);","&lock_for_obj(object);","(!cache)","(!data)","(!fastcacheoccupied)","(!okay)","(&result","((addr","(addr","(cache)","(const","(data","(data)","(debugnilsync)","(i","(item","(lockcount","(nil)并不执行加锁解锁操作,会导致线程崩溃。","(nsinteg","(obj)","(objc_object","(result","(result)","(self)","(syncdata","(uintptr_t)tls_get_direct(sync_count_direct_key);","(void)viewdidload","(void*)1);","(void*)lockcount);","(whi","*)object;","*)tls_get_direct(sync_data_direct_key);","**)&result,","**.m","**listp","*cach","*data","*data;","*item","*listp","*listp;","*lockp","*p)","...","/","//","0)","0;","1","10","11","12","13","14","15","16","17","18","19","1;","2","20","21","22","23","24","25","26","27","28","29","3","30","31","32","33","34","35","4","4)","5","6","64","7","8","9","9))",":",":行数",";","=","==",">",">>",">data",">data;",">debug",">list[",">list[cach",">list[i]",">list[i];",">lock();",">lockcount",">mutex)",">mutex.lock();",">mutex.tryunlock();",">nextdata",">object",">perform",">threadcount",">threadcount);",">unlock();",">used++;",">used].data",">used].lockcount",">used];","@synchron","@synchronized(nil);","@synchronized(obj)","@synchronized详解","@synchronized,这儿比你想知道的还要多","[super","^","_objc_inform(\"nil","_objc_sync_exit。","acquire);","acquire:","action","add","addr","again.","alignas(cachelinesize);","alignof(syncdata),","alloc","allocating,","alway","arc","array[indexforpointer(p)].value;","array[stripecount];","assembl","assert(data);","bad","block","bool","break;","breakpoint","cach","case","check:","class","constexpr","continue;","data","data(nil),","data;","debug","debug\");","debug:","disassembl","disguisedptr","done:","done;","enum","fastcacheoccupi","fetch_cache(no);","fetch_cache(yes);","for循环","free","global","goto","guy","held","i++)","i;","id2data(id","id2data(obj,","indexforpointer(const","int","int32_t","io","item","key","list.","list_for_obj(obj)","lock","lock(fork_unsafe_lock)","lock,","lock;","lock_for_obj(obj)","lockcount","lockcount++;","lockcount;","lockp","lock,其加减锁的时机是在加入缓存的时候实现的,线程缓存找不到任何内容时,会加一个自旋锁。但是","memori","mutex","mutex;","n","never","new","nextdata","nextdata;","nil","nil;","no;","nslog","nslog(@\"io","null);","null;","obj","obj)","obj1","objc_sync_ent","objc_sync_enter(id","objc_sync_exit","objc_sync_exit(id","objc_sync_exit。","objc_sync_nil","objc_sync_nil();","objc_sync_not_owning_thread_error;","objc_sync_success;","object)","object,","object;","obj传入sdatalist","often.","okay","operator[]","os_unfair_lock","osatomicdecrement32barrier(&result","paddedt","posix_memalign((void","practice,","product","public:","recursive_mutex_t","recursive_mutex_t(fork_unsafe_lock);","refer","reinterpret_cast(p);","releas","release)","release);","release:","result","result);","result;","return","sdatalists;","sdatalists[obj].data","sdatalists[obj].lock","search","self.array","set","setarray:","show","sizeof(syncdata));","spinlock_t","spinlock_t。","static","stripecount","stripecount;","stripedmap","struct","stuck","support_direct_thread_key","switch(why)","sync","synccach","synccacheitem","syncdata","syncdata*","syncdata;","syncdata。","syncdata,并且会调用命名为自旋锁的互斥锁","synclist","synclist()","synclist。","synclist结构体,内部data就是syncdata","t","t&","threadcount;","tl","tls_set_direct(sync_count_direct_key,","tls_set_direct(sync_data_direct_key,","typedef","uintptr_t","unsign","usag","usage)","used;","valu","veri","viewdidload];","void","why)","won't","workflow","worth","xcode","xxx","yes;","{","{}","}","};","一个值得注意的是,多线程处理时,对应线程可能使用相同的obj","一般来说,我们就像下面的示例一样来使用:","下","不同的","不存在,我们需要创建一个对应的syncdata。最后创建","个","中","中找到了_objc_sync_ent","中的代码在多线程的情况下线程安全","中说","为","为什么","为什么我们在开头我们说","为什么我们要在使用","从上述代码看出整体stripedmap是一个哈希表结构,表外层是一个数组,数组里的每个位置存储一个类似链表的结构(synclist),syncdata","从源代码和注释中,我们可以发现:","以其使用成本成为大部分用户选择,但是性能问题却一直成为他人的诟病。","会变成","使用哈希表的原因就是为了避免多个obj之间的竞争,其哈希函数是基于obj而不是其他。当我们使用","关于","其本质就是一个哈希表,外层是一个数组,数组里的每个位置存储一个类似链表的结构","其本质应该是一个链表的头结点,因为使用","函数获取确定的","创建了一个基于","创建多个不同的","创建缓存等,最差情况下即","前面我们说过,synclist","原理","另一个是使用","只是一个命名为自旋锁的互斥锁","同样会导致线程安全问题。","呢?我们看一下使用的","和","和_objc_sync_exit","和_objc_sync_exit。让我们来看看其具体实现","和两个_objc_sync_exit。由此可知,当代码离开","和其被加的自旋锁","哈希函数","哈希表结构","哈希表结构,内部存synclist","在所有的线程安全的方案中,@synchron","处,经过哈希函数计算得出索引2,起初我们要顺着上面的","多线程同步锁中性能最差的一个。但是却是所有锁中使用起来最简单的一个。","如果我们要了解具体如何获取到,我们需要查看","存储的位置具体依赖第25行处的哈希函数,如图:","存在一个自旋锁","存在,但是线程缓存不存在。如果","寻找确定对应值","并不会执行任何操作","并不能保证线程安全,当我们使用一个可能变成","当","当存在缓存时,根据是否支持","当我们使用时,通过","当我们在测试项目中,键入如下代码:","当我们在调用","当我们想探究某个方法的底层是怎么实现的,我们可以通过汇编部分来探究这部分代码的具体实现。","当我们拿到","当执行","当没有没有缓存时,我们需要创建对应的缓存。","性能差的","总结","慎用","成长指北\");","我们可以查找上述两个方法,最终在","我们最终加锁解锁的是","我们有两种方法来查看汇编部分","我们看看","操作,在某个线程中会出现","文件","方法之后,还会调用一次","方法时,存在一个_objc_sync_ent","时,_objc_sync_ent","时,会发生线程安全问题。","时,找到具体代码的汇编写法,如同红框中的示例。","时,首先先根据hash(obj)","是","是性能最差的呢?因为其包含的操作极为复杂,除了常规的加锁解锁操作以外,还需要考虑哈希表寻址,缓存获取","显示汇编,然后挂上断点,运行程序","有什么优点吗","来创建的,但是并没有创建线程缓存,即","来实现缓存。","来查找。","来获取对应","来获取的","此处的p就是上面的obj,也就是obj执行上面的哈希函数对应到数组的index","源码解析","的","的作用","的其他实现","的头结点时,我们需要查找链表中对应的","的头节点syncdata,那么后续做什么呢?","的对象作为","的情况,而","的成对调用。从汇编调用上看,似乎并不是?","的方法会执行一个","的方法实现是不同的。一个是根据","的时候,我们需要传一个obj","的时机","的线程缓存,并返回对应的","的递归互斥的锁","线对list进行查找,没找到,将当前的obj插入到最前面,也是为了更快的找到当前使用的对象而这么设计。","结构体,是利用","罢了。","获取对应","萧玉大佬在其《关于","这个例子会发生崩溃,是因为","这个例子来自于参考资料","这样就可以保证","这里,我们使用第二种方法来查看汇编部分,使用第二种方式有便于我们查找代码的具体位置。当我们搜索","闭包时,会再执行一次",",如果不合理的使用",",寻找对应的",",并加递归互斥锁。",",稍微修改了一下创建的次数,如果是真机调试可能需要更少的调试次数,模拟器的话其支持的次数会比较多一点。","?注意,这里我们有一个?"],"iOS/SourceCode/YYASyncLayer.html":["!=","\"","#defin","#pragma","(.m)","([uidevic","(^diddisplay)(calay","(^display)(cgcontextref","(^iscancelled)(void)","(^willdisplay)(calay","(__bridg","(_selector)","(_target)","(cur","(dispatch_semaphore_t)","(gpu)","(instancetype)init","(int)[nsprocessinfo","(int32_t)increas","(int32_t)increase;","(int32_t)valu","(io","(iscancelled())","(long)((void","(long)_target;","(nonatomic,","(nsuinteg","(nsuinteger)hash","(nullable,","(readonly)","(selector),实际上一个","(target)","(task.diddisplay)","(transactionset.count","(void)_cancelasyncdisplay","(void)_displayasync:(bool)async","(void)display","(void)drawlayer:(calay","(void)setneedsdisplay","(yyasynclayerdisplaytask","(也是一个核心原理)","(垂直同步信号)","(多边形绘制)、catextlayer(文本绘制)、cagradientlay","(渐变绘制)","(硬件层面),不需要","(软件层面)","(进程间通信)","*","*)_selector);","*)layer","*)newasyncdisplaytask;","*currentset","*imag","*info)","*layer);","*layer,","*sentinel","*stop)","*task","*transaction,","*transactionset","...",".h",".m",".value时,说明当前绘制任务已经被放弃,就需要及时的做返回逻辑。","/","//","//global","//使用栈区的数组存储队列","//最大队列数量","//要点","//队列数量","0)","0;","0xffffff,","0xffffff,优先级在","1","1.","10","16","1、初始化配置","1、提交任务","1、界面卡顿的实质","2","2.","2、uikit","2、yyasynclayerdeleg","2、合适的回调时机","3","3、uikit","3、异步绘制的核心逻辑","3、自定义","4、及时的结束无用的绘制","4、多核设备带来的可能性","5、异步线程的管理","60","8.0","8.0)",":","=","==",">=","?","@2x","@2x和@3x图","@2x和@3x图是苹果一个优化显示效果的机制,当","@3x","@end","@implement","@interfac","@properti","@protocol","@requir","[_sentinel","[calay","[currentset","[deleg","[nsmutableset","[self","[super","[transaction.target","[uiscreen","[yysentinel","^","^bool()","^{","__strong","_cancelasyncdisplay];","_cancelasyncdisplay是取消绘制,稍后解析实现逻辑;","_displayasync:_displaysasynchronously];","_displayasync是异步绘制的核心方法。","_displaysasynchron","_sentinel","_sentinel;","_value;","activity,","app","assign)","bool","bool(^iscancelled)(void));","cadisplaylink","calay","calayer会生成一个back","calayer,对外暴露了一个方法可开闭是否异步绘制。","cashapelay","catransact","catransaction(2000000)","cfrelease(observer);","cfrunloopact","cfrunloopaddobserver(runloop,","cfrunloopgetmain();","cfrunloopobservercreate(cfallocatorgetdefault(),","cfrunloopobserverref","cfrunloopref","cgcontextref","cgfloat","cgimag","cgsize","clang","commit","content","context","context,","copy)","coreanim","coregraph","counter","cpu","currentdevice].systemversion.floatvalu","deleg","diagnost","dispaly]方法调用的时候,他会检查","dispalyerlayer方法是否被实现了,若没有实现则我们调用系统的绘制方法。首先","dispatch_async(dispatch_get_main_queue(),","dispatch_async(yyasynclayergetdisplayqueue(),","dispatch_once(&oncetoken,","dispatch_once_t","dispatch_queue_priority_background:","dispatch_queue_priority_default:","dispatch_queue_priority_high:","dispatch_queue_priority_low:","dispatch_queue_t","display],而这个方法会判断是否实现了displaylayer这个方法,如果没有实现,那么走系统调用,如果实现了就为我们提供了异步绘制的入口。具体可以参看下面的流程图","displaysasynchronously;","drawincontext:]方法,进而调用[uiview","drawlayer:incontext:","drawrect:]方法。","drawrect:方法),需要分配一个内存占用较高的上下文context,与此同时,calay","enumerateobjectsusingblock:^(yytransact","finished);","fps),也就是减小","gpu","hash","hash。这里将","id","id)(image.cgimage);","ignor","incontext:(cgcontextref)ctx方法,否则调用","increase];","increase方法是使用","init];","int","int32_t","io","ipc","iphon","iphone4","iscancelled);","kcfrunloopbeforewait","kcfrunloopcommonmodes);","kcfrunloopexit","kcfrunloopexit,","leaks\"","long","mainscreen].scale;","max_queue_count","n","new];","newasyncdisplaytask];","nil;","no);","nonatomic,","nsmutableset","nsobject","nsset","null);","oberv","observ","observer,","observer;","oncetoken;","opaque,","osatom","osatomicincrement32(&_value);","osatomicincrement32()","osatomicincrement32()是原子自增方法,线程安全。在日常开发中,若需要保证整形数值变量的线程安全,可以使用","performselector","performselector:transaction.selector];","pop","processinfo].activeprocessorcount;","ps:关于多核设备的线程性能问题,后面分析源码会讲到","push","qos_class_background","qos_class_default","qos_class_user_initi","qos_class_user_initiated,低于用户交互相关的qos_class_user_interactive。","qos_class_util","queuecount","queuecount;","queues[max_queue_count];","rect中通过uigraphicsgetcurrentcontext()","rect之后,通过context将数据写入back","refer","repeat","return","return;","runloop","runloop,在处理完重要逻辑(即","scale","scale);","scale;","sel","selector;","self","self.cont","self.contentsscal","self.delegate;","self;","sentinel.value;","setneedsdisplay];","setneedsdisplay]方法,给layer上打上一个脏标记,意味着需要重绘。但是只有在下一次runloop即将结束的时候才会调用[calay","setneedslayout]/","size,","static","store(cgcontextref),每个layer都有一个content,这个content指向的一块缓存称为back","store。如果layer有delegate,则调用delegate的","store。当back","store中的bitmap数据显示在屏幕上。","store写完之后,通过rendserver交给gpu去渲染,将back","strong)","super.cont","super.contents;","target;","task.diddisplay(self,","task.display(context,","transactionset","transactionset;","true,","uigraphicsbeginimagecontextwithoptions(size,","uigraphicsendimagecontext();","uigraphicsgetcurrentcontext();","uigraphicsgetimagefromcurrentimagecontext();","uiimag","uikit","uikit会将这个conext推到系统的context堆栈中,如果在draw","uiview如何显示内容","v1","v2","v2;","valu","value;","void","vsync","warc","yes);","yes;","yyasynclay","yyasynclayer.h","yyasynclayerdeleg","yyasynclayerdisplaytask","yyasynclayerdisplaytask是绘制任务管理类,可以通过willdisplay和diddisplay回调将要绘制和结束绘制时机,最重要的是display,需要实现这个代码块,在代码块里面写业务绘制逻辑。","yyasynclayergetdisplayqueue()","yyasynclayergetdisplayqueue()方法如何获取的异步队列,也先不用管iscancelled()判断做的一些提前结束绘制的逻辑,这些后面会讲。","yydispatchqueuepool","yyrunloopobservercallback(cfrunloopobserverref","yyrunloopobservercallback,","yysentinel","yysentinel.h","yytext","yytransact","yytransaction()","yytransaction.h","yytransactionsetup()","{","{...}","|","}","});","};","}];","一目了然,只是将集合中的任务分别执行。","一看便知,该类扮演的是计数的角色,值得注意的是,","三、yysentinel","上面有提到一个集合:","下面看看回调里面做了些什么:","不同的","不管是创建上下文、重绘带来的内存重新分配、ipc","不过是初始配置并且将任务装入集合。","个串行队列实现并发","个串行队列来调度,而不用一个并行队列。","个任务,也就是最多有","个线程是相互不竞争","个绘制任务时,可以开辟多个线程在后台异步绘制,绘制成功拿到位图回到主线程赋值给","中添加了一个","为了解决这个问题,作者使用了大量的判断来及时的结束无用的绘制,可以看看源码或者是上文贴出的异步绘制核心逻辑代码,会发现一个频繁的操作:","为什么要使用","为什么需要异步绘制?","主要是因为并行队列无法精确的控制线程数量,很有可能创建过多的线程,导致","举个例子:","二次封装的","五、yyasynclay","从这里可以看出,作者使用一个“低姿态”侵入主线程","代理","以上的系统,队列的优先级为","以下的系统,通过dispatch_set_target_queue()函数设置优先级为dispatch_queue_priority_default(第二个参数如果使用串行队列会强行将我们创建的所有线程串行执行任务)。","传递给设备显示系统。值得注意的是:当重绘时需要抹除这个上下文重新分配内存。","使用原子自增函数osatomicincrement32()对局部静态变量counter进行自增,然后通过取模运算轮询返回队列。","保持界面流畅的技巧","值为","值依托于_selector和_target的内存地址,那就意味着两点:","值就相同。","做任何绘制。ca","做的事情就是记录一系列事件,并且在合适的时机调用这些事件。","先不用管","关于两种类型优先级的对应关系是这样的:","内部可以提交结果到另一个空闲的帧缓冲区了;接着","再一次到来的时候,切换帧缓冲区......","再来看一下","删减了部分代码:","到来准备切换帧缓冲区时,若空闲的帧缓存区并未收到来自","协议的","即将进入休眠或者即将退出时遍历执行,相同的方法接收者","去除了判断","及以上,也就是说至少都是每个逻辑像素长度对应两个物理像素长度。所以很多美工会只切","及其以上的","取得的cgcontextref就是calayer生成的这个实例。所有的绘制操作也会在这块context上生效。","可以猜测主队列的优先级是大于或等于qos_class_user_interactive的,让这些串行队列的优先级低于主队列,避免框架创建的线程和主线程竞争资源。","可以看到两个方法,","可能会想到用信号量","可能有人会有疑惑,为什么这里需要使用","同一个","同时还创建了一个yysentinel实例。","周期内可以视为重复调用。","周期多次的绘制请求为一个。","和","和其他编程语言一样","和方法","和相同的方法","哪一个出现问题导致不能及时的提交渲染结果到帧缓冲区,都会导致掉帧。优化界面流畅程度,实际上就是减少掉帧(ios设备上大致是","四、yytransact","回调的优先级避免与系统绘制逻辑竞争资源,使用nsset合并了一次","图片或者使用","图给你,而不切一倍图。","图,当scale为","图,这就意味着,calayer的contentsscale要和设备的scale对应才能达到预期的效果(不同设备显示相同的逻辑像素大小)。","在","在一个","大部分","实例,_selector和_target只要有一个内存地址不同,就会在集合中体现为两个值。","实例,_selector和_target的内存地址都相同,在集合中的体现为一个值。","实际上","对任务的管理是使用的一个栈结构,而","将会优先满足,而忽略掉contentsscale。","就是一个任务,而全局区的","布局,计算完成交由","带来压力,这个时候就很容易掉帧(主要是文本控件,大量文本内容的计算和绘制过程都相当繁琐)。","并行","并行一定并发,并发不一定并行。在单核设备上,cpu通过频繁的切换上下文来运行不同的线程,速度足够快以至于我们看起来它是‘并行’处理的,然而我们只能说这种情况是并发而非并行。例如:你和两个人一起百米赛跑,你一直在不停的切换跑道,而其他两人就在自己的跑道上,最终,你们三人同时到达了终点。我们把跑道看做任务,那么,其他两人就是并行执行任务的,而你只能的说是并发执行任务。","幸运的是,uiview和uiimageview默认处理了它们内部calayer的contentsscale,所以除非是直接使用calayer及其衍生类,都不用显式的配置contentsscale。","库代码很清晰,就几个文件:","库是否存在的代码,实际上那就是作者提取的队列管理封装,思想和以下代码一样。","异步绘制","当","当你开辟的线程过多,超过了处理器核心数量,实际上某些并行的线程之间就可能竞争同一个处理器的资源,频繁的切换上下文也会消耗处理器资源。","当我们操作ui时,例如改变frame、更新uiview/calayer,或者自己去调用setneedslayout/setneedsdisplay方法,uiview会调用","当然更加放心。","当然,首选优化方案是","很像,他们同为“事务”,但实际上很不一样。通过","很明显,在提交重绘请求时,计数器加一。","很简单,方法接收者","循环即将进入休眠或者即将退出的时候。而该","性能瓶颈","我们首先看一下系统绘制,当[calay","或","或者其子类需要创建一个等大的寄宿图contents。当基于","所以,实际上一个","所以,笔者认为:超过处理器核心数量的线程没有处理速度上的优势,只是在业务上便于管理,并且能最大化的利用处理器资源。","执行","执行完draw","方法时(等同于uiview","方法来对value执行自增。","时会优先读取","是使用的集合来管理任务。","是基于","替代方案:coreanim","有两个属性:","来控制并发,然而这样只能控制并发的任务数量,而不能控制线程数量,并且使用起来不是很优雅。而使用串行队列就很简单了,我们可以很明确的知道自己创建的线程数量,一切皆在掌控之中。","来进行绘制,当同一时刻过多组件需要绘制或者组件元素过于复杂时,必然会给","核设备同一时刻最多能","框架。calay","框架下的","框架下的方法,它往往性能比使用各种“锁”更为优越,并且代码优雅。","框架可以通过图片上下文将绘制内容制作为一张位图,并且这个操作可以在非主线程执行。那么,当有","框架,实际上它是依托于","此时就很清晰了,在异步线程创建一个位图上下文,调用task的display代码块进行绘制(业务代码),然后生成一个位图,最终进入主队列给yyasynclayer的contents赋值cgimage由","注意这里使用了一个判断:if","渲染完成的帧缓冲区数据进行绘制的同时,还会通过","渲染过后提交到显示系统。","渲染,渲染完成提交到帧缓冲区;当","源码剖析:异步绘制","物理像素","由此可知,不管是","的","的yytextview中,主要是为了将自定义的绘制逻辑装入transactionset,然后在","的优先级是","的区别:","的压力提高性能。","的后面。","的大部分属性都是由","的寄宿图属性。","的嵌套用法猜测","的性能比较差,日常开发中要尽量避免直接在主线程使用。通常情况下,直接给","的提交,此次切换就会作罢,设备显示系统会放弃此次绘制,从而引起掉帧。","的某个时机回调,用于处理异步绘制事件。","的衍生类就能实现大部分需求,还能充分利用硬件支持,图像处理交给","的软件绘制。在实现calayerdeleg","的软件绘制完成,还需要通过","的集合,它是不能有重复元素的,而判断是否重复毫无疑问是使用","监听,回调的时机是","看看这个代码块的实现:","等机制通知","等都有较高的效率,非常实用。","算法","算法:","管理的绘制任务)之后做异步绘制的事情,这也是作者对优先级的权衡考虑。","类是一个计数的类,是为了记录最新的布局请求标识,便于及时的放弃多余的绘制逻辑以减少开销。","类是事务类,捕获主线程","类继承自","类重写了","类默认的","系统绘制:","线程调度过于频繁,影响交互性能。","组件的绘制是在主线程进行,需要","绘制的","继承自","而串行队列中只有一个线程,","至于该类的实际作用后文会解释。","要点","要结束时统一执行,runloop","计算","设备scale为","设备scale都是","设备是双缓存+垂直同步);在读取经","设备显示器每绘制完一帧画面,复位时就会发送一个","该框架中,作者使用和处理器核心相同数量的串行队列来轮询处理异步任务,有效的减少了线程调度操作。","该类非常简单:","貌似和系统的","资源。当然,这种场景主要是出现在列表界面快速滚动时,由于视图的复用机制,导致重新绘制的请求非常频繁。","资源的。","赋值","较为糟糕的性能。然而可喜的是,市面上的设备都已经不是单核了,这就意味着可以通过后台线程处理耗时任务,主线程只需要负责调度显示。","还是","这个代理实际上就是框架和业务交互的桥梁,不过这个设计笔者个人认为有一些冗余,这里如果直接通过代理方法与业务交互而不使用中间类可能看起来更舒服。","这么做的意义是什么呢?","这就是yysentinel计数类起作用的时候了,这里用一个局部变量value来保持当前绘制逻辑的计数值,保证其他线程改变了全局变量_sentinel的值也不会影响当前的value;若当前value不等于最新的_sentinel","这样可以避免重复的方法调用。加入transactionset中的事件会在","这里在主线程的","这里设置了yyasynclayer的contentsscale为屏幕的scale,该属性是","进制的内存地址,这里作者将_selector和_target的内存地址进行一个位异或处理,意味着只要_selector和_target地址都相同时,hash","通过以上说明,可以了解","逻辑像素,这样可以充分利用不同设备的显示器分辨率,绘制更清晰的图像。但是若contentsgravity设置了可拉伸的类型,coreanim","那么,何时改变这个计数?","那么,实际上核心代码可以更少:","都会带来性能上的较大开销。所以","重写绘制方法","针对同一个yyasynclayer,很有可能新的绘制请求到来时,当前的绘制任务还未完成,而当前的绘制任务是无用的,会继续消耗过多的","集合就是用来存储这些任务。提交方法","首先要明白,并发","(参考",")",",不同的是作者封装了异步绘制的逻辑便于使用。",",即是主线程",",并且此时切换帧缓冲区",",当cur自增越界时就会变为负数最大值(在二进制层面,是用正整数的反码加一来表示其负数的)。",":串行队列数量和处理器数量相同",":创建串行队列,设置优先级",":轮询返回队列"],"iOS/SourceCode/FluentDarkModeKit.html":["!=","!dm_swizzleinstancemethod(#selector(setter:","!dm_swizzleinstancemethod(#selector(willmove(towindow:)),","\"dynamictintcolorkey\"","#endif","#if","#selector(dm_settintcolor))","#selector(dm_willmove(towindow:)))","#selector(setter:","#selector(willmove(towindow:))))","&constants.dynamictintcolorkey)","&constants.dynamictintcolorkey,","(*dm_original_setbackgroundcolor)(uiview","([color","(bool)iskindofclass:(class)aclass","(darkmodekit)","(dmdynamiccolor","(dmtraitcollection.currenttraitcollection.userinterfacestyl","(id)copi","(id)copywithzone:(nszon","(imp)dm_setbackgroundcolor);","(instancetype)initwithlightcolor:(uicolor","(instancetype)initwithlightimage:(uiimag","(nonatomic,","(nsmethodsignatur","(uicolor","(uiimag","(void","(void)dm_swizzlesetbackgroundcolor","(void)forwardinvocation:(nsinvoc","(void)setdm_dynamicbackgroundcolor:(dmdynamiccolor","*);","*)[[dmdynamiccolorproxi","*)color;","*)colorwithalphacomponent:(cgfloat)alpha","*)darkcolor","*)darkcolor;","*)darkimag","*)darkimage;","*)dm_colorwithlightcolor:(uicolor","*)dm_dynamicbackgroundcolor","*)dm_imagewithlightimage:(uiimag","*)dm_namespace:(dmnamespace)namespac","*)initwithlightcolor:(uicolor","*)invoc","*)lightcolor","*)lightimag","*)method_getimplementation(method);","*)methodsignatureforselector:(sel)sel","*)resolvedcolor","*)zone","*,","*color)","*darkcolor;","*dynamiccolor","*lightcolor;","*resolvedcolor;","*resolvedimage;","*self,","+",",重新赋值",".black)",".h",".m",".normal)",".objc_association_copy_nonatomic)",".white,","//","///","0,","1.","1.0)","1.fluentdarkmodekit","2.",":","=","==","@end","@implement","@interfac","@objc","@properti","@selector(dm_dynamicbackgroundcolor),","@selector(setbackgroundcolor:));","[[dmdynamiccolor","[[dmdynamiccolorproxi","[dynamiccolor","[invoc","[self","[self.resolvedcolor","^{","__swift__","_cmd);","_cmd,","alloc]","alpha:","appear","appl","as?","assertionfailure(darkmodemanager.messageforswizzlingfailed(class:","backgroundcolor","button","button.settitlecolor(color,","button.titlecolor(for:","c","class]])","class_getinstancemethod(self,","color","color);","color:","colorwithalphacomponent:alpha]","colorwithalphacomponent:alpha]];","colorwithlightcolor:(uicolor","conform","constant","conveni","copywithzone:nil];","dark:","darkcolor:(uicolor","darkcolor:[self.darkcolor","darkcolor:darkcolor];","darkcolor:self.darkcolor];","darkcolor;","darkcolor。对于这种属性设置,需要在设置","darkcolor。这样","darkimage:(uiimag","darkimage。","debugprint(\"equal\")","debugprint(\"not","dispatch_once(&oncetoken,","dispatch_once_t","dm_","dm_dynamicbackgroundcolor,","dm_dynamictintcolor","dm_dynamictintcolor:","dm_original_setbackgroundcolor","dm_original_setbackgroundcolor(self,","dm_setbackgroundcolor(uiview","dm_settintcolor(_","dm_settintcolor(color)","dm_updatedynamiccolor","dm_updatedynamiccolors()","dm_updatedynamicimag","dm_updatedynamicimages()","dm_willmove(towindow","dm_willmove(towindow:","dmdynamiccolor","dmdynamiccolorproxi","dmdynamiccolorproxy。","dmdynamiccolorproxy)赋值给","dmdynamicimageproxi","dmdynamicimageproxy。","dmdynamicimageproxy,由","dmnamespac","dmnamespace,","dmtraitcollectiondidchang","dmuserinterfacestyledark)","dynam","dynamiccolor","dynamiccolor?","dynamictintcolorkey","equal","equal\")","extens","fluentdarkmodekit","fluentdarkmodekit的代理","for:","func","gener","https://stackoverflow.com/questions/42677534/swizzl","imagewithlightimage:(uiimag","image。","import","init(_","init(_:light:dark:)","init];","initializer.","initwithlightcolor:[self.lightcolor","initwithlightcolor:lightcolor","initwithlightcolor:self.lightcolor","instead.\");","invokewithtarget:self.resolvedcolor];","iskindofclass:[dmdynamiccolor","iskindofclass:aclass];","light:","lightcolor","lightcolor;","lightimag","mark:","method","method_setimplementation(method,","methodsignatureforselector:sel];","more","name:","need","newvalue,","nil","nil;","ns_assume_nonnull_begin","ns_assume_nonnull_end","ns_swift_name(dynamiccolor)","ns_swift_name(init(_:light:dark:))","ns_swift_name(init(_:light:dark:));","ns_swift_unavailable(\"us","nscopi","nsobject","nsproxi","nsproxy类,类中包含两种uicolor颜色,利用这个动态消息转发,根据当前主题颜色,返回不同颜色","nsproxy,它将所有的事件转发到","objc_association_copy_nonatomic);","objc_getassociatedobject(self,","objc_setassociatedobject(self,","object","oncetoken;","privat","properti","readonly)","refer","resolvedcolor","resolvedimag","resolvedimage,这样在外界看来","return","sel","sel,","selector","selector:","self.darkcolor","self.darkcolor;","self.dm_dynamicbackgroundcolor","self.init(white:","self.lightcolor","self.lightcolor;","self;","set","setbackgroundcolor","setter:","settintcolor:","static","strong)","struct","subviews,一层一层的获取到,然后根据当前的模式进行修改颜色。对于不在页面上显示的","swift","swizzlesettintcoloronce:","swizzlewillmovetowindowonce:","tintcolor","tintcolor)))","tintcolor),","titlecolor","to:","todo:","ui","uiapplication开始往下遍历到每个","uibutton()","uicolor","uicolor(.dm,","uicolor)","uicolor,","uicolor,但是在","uicolor,并且可以根据系统的模式返回对应的颜色。","uiimag","uiimage,但是可以根据当前的模式返回不同的","uiview","uiview.self,","uiview上,执行","uiwindow?)","var","view","view.backgroundcolor","view等一系列控件颜色,","view,只能通过替换","void","willmove(towindow:)","window","window)","window:","{","}","}()","});","中添加了","中的方面名称。","中,在初始化方法前面添加了一个自定义的枚举","中,我们可以看出它真正创建的是一个","也就是说,同样是给颜色进行赋值,但是","也是将事件转发到","做最终的处理结果","其他方法的替换","利用","动态消息转发思想,当切换主题色时候,从","参数。","可以通过","后,再和原来的颜色进行对比,结果是否相等?","命名空间","和","和颜色的实现原理一样,也声明了","图片","在","在具体的实现中,dmdynamicimageproxi","在该框架中","在调用这些方法时,返回的类型依然为","声明了dmdynamiccolor","如果使用","对","对一个颜色进行赋值,再取出时类型却变成","对外的表现就是一个","对这类的属性进行了替换,例如","微软的暗黑模式适配框架","总结:","我们先来看一个小测试,同一个颜色(实际类型为","或者","所以","承载了两种模式下的不同颜色和不同图片。","文件中,我们可以看出","方法,在添加到","时更新当前模式对应的颜色和图片。","时进行保存。","是少数不继承自","是根据当前系统的模式返回的","替换","替换设置方法","有点特殊,替换代码如下:","来判断编译环境,通过","来指定在","根据当前的模式返回","框架中的方法。虽然在实际的编程中都不会这样做。","注意:对于","注意:这种形式,并没有起到命名空间的作用。在代码中,依然可以定义相同的方法:","的","的代码中,通过","的初始化方法进行了扩展,为了避免冲突,在","的前缀,在","的处理是不一样的,有的和被赋予的值一致,有的则不一致。(应该是有些赋值会对颜色进行拷贝)","的方法","的方法中返回值为","的时候:","的类型。","的表现就是","的,dmdynamiccolorproxi","的,dmdynamicimageproxi","的,它就丢失了","类,","继承子","继承自","记录","设置","设置的时候,记录","设置背景色","调用","赋予的是一个","转化","输出:","这样就覆盖了","都进行了实现,目的就是当","页面上显示的","颜色",",而"],"iOS/SourceCode/KTVHttpCache.html":["\"一个source读完,切换到下一个source\"","\"两个数组保存两种数据来源\"","\"从source里读取数据\"","\"创建了两个文件句柄,读和写。\"","\"接收到数据之后,写入文件。\"","\"有可用数据了,需要回调通知。\"","\"读取数据最开始的入口\"","\"这个回调获取有可用的数据的通知。\"","\"这个方法就会触发response的readdataoflength\"","#pragma","%@\",","%@\\npath","%@\\nunit","%@\\nunititem","%@\\nurl","%lld\",","%lld,","&&","(!self.downloadcalledcomplete)","([self.currentsourc","(data.length","(double)self.readedlength","(double)self.response.contentlength;","(itemmax","(ktvhcdataunititem","(length","(long","(max","(min","(nsdata","(nsexcept","(nsobject","(self.currentsource)","(self.currentsource.isfinished)","(self.error)","(self.isclos","(self.isclosed)","(self.isfinished)","(self.reader.isfinished)","(self.reader.isprepar","(self.response.contentlength","(self.sourcemanager.isfinished)","(void)ktv_download:(ktvhcdownload","(void)ktv_reader:(ktvhcdataread","(void)ktv_readerdidprepare:(ktvhcdataread","(void)ktv_readerhasavailabledata:(ktvhcdataread","(void)preparesourcemanag","*)data","*)download","*)error","*)httpresponseformethod:(nsstr","*)method","*)path","*)readdataoflength:(nsuinteger)length","*)reader","*)respons","**ktvhcdatanetworksource和ktvhcdatafilesourc","*data","*datarequest","*error","*exception)","*filesourc","*item","*networksourc","*paramet","*path","*player","*proxyurl","*request","*respons","*sourc","*unit","*unititem","*url","+","+=","/","0)","1);","1.","1;","1、ktvhchttpserver:","1、使用ios自带的avurlasset的avassetresourceloader来实现。","2.","2、ktvhcdatareader和ktvhcdatasourcemanag","2、在客户端搭建local服务器,local服务器作为中间者,代替客户端请求服务器数据,并将获取到的数据缓存,再提供给客户端。",":","=","==",">",">_finish",">_progress",">_readedlength",">_respons","@catch","@interfac","@tri","[[ktvhcdatanetworksourc","[[ktvhcdatarequest","[[ktvhcdatasourcemanag","[[ktvhcdataunititem","[[ktvhcdataunitpool","[[ktvhchttprespons","[[ktvhcurltool","[avplay","[ktvhcerror","[ktvhcpathtool","[ktvhttpcach","[networksourc","[nsfilehandl","[nsmutablearray","[nsurl","[self","[self.connect","[self.currentsourc","[self.downlaodtask","[self.read","[self.request","[self.sourcemanag","[self.unititem","[self.writinghandl","[sourc","[unit","addobject:source];","addobjectsfromarray:filesources];","addobjectsfromarray:networksources];","alloc]","array];","avail","avplay","call","callbackforfailed:error];","callbackforhasavailabledata];","callbackforprepared];","cancel","cancel];","class]])","client","close];","connect","continue;","data","data\",","data.length;","data;","datarequest:datarequest];","delegate:self","delegatequeue:self.internaldelegatequeue];","delta","delta;","didfailwitherror:(nserror","didreceivedata:(nsdata","didreceiveresponse:(ktvhcdatarespons","download","error);","errorforexception:exception];","exception\",","exception\\nerror","failed\\nerror","filehandleforreadingatpath:self.unititem.absolutepath];","filehandleforwritingatpath:self.unititem.absolutepath];","filepathwithurl:self.request.url","finished\",","headers:request.allheaderfields];","http","httpconnect","httprespons","initwithconnection:self","initwithpath:path","initwithrequest:request];","initwithsources:sourc","initwithurl:url","insertunititem:self.unititem];","io","iskindofclass:[ktvhcdatafilesourc","item.length","item.offset","item.offset;","itemmax","itemmin","itemmin)","ktvhcdatafilesource的readdataoflength实现比较明显,就是单纯从文件里读取数据。","ktvhcdatanetworksourc","ktvhcdataread","ktvhcdatarequest","ktvhcdatasourcemanag","ktvhcdataunit","ktvhchttpconnect","ktvhchttprespons","ktvhclogdatanetworksource(@\"%p,","ktvhclogdatareader(@\"%p,","ktvhclogdatasourcemanager(@\"%p,","ktvhcloghttpconnection(@\"%p,","ktvhcloghttpresponse(@\"%p,","ktvhcmakerange(offset,","ktvhcrang","ktvhcrangegetlength(obj.readrange);","ktvhttpcach","ktvhttpcache的使用比较简单:","length","lock];","long","long)data.length);","long)data.length,","mark","max","max)","method,","min","min;","newrequestwithrange:range];","next","nextsource];","nil;","nsarray","nsdata","nsdictionari","nserror","nsmutablearray","nsmutablearray>","nsobject","nsstring","nsurl","objectforkey:@\"url\"]];","offset","offset:self.request.range.start];","parsequery:request.url.query];","path,","playerwithurl:proxyurl];","pool]","prepare];","prepared\",","proxyurlwithoriginalurl:originalurl];","rang","read","readdataoflength:length];","receiv","refer","request.url);","request\\nmethod","response,","response;","response\\nrespons","responsedidabort:self];","responsehasavailabledata:self];","return","return;","self","self);","self,","self.currentsourc","self.currentsource);","self.downlaodtask","self.downloadlength","self.downloadlength,","self.error)","self.readinghandl","self.request.range.end);","self.request.range.end;","self.request.range.start;","self.sourcemanag","self.unit.unititems;","self.unititem","self.unititem);","self.unititem.length);","self.waitingrespons","self.writinghandl","server","server数据返回体,遵循httpresponse协议,实现协议方法","server的,内部使用第三方库httpserver实现:","source,","storag","switch","task","tool]","unit,","unititems)","unitwithurl:self.request.url];","unlock];","updatelength:self.downloadlength];","uri:(nsstr","urlwithstring:[paramet","workingrelease];","write","writedata:data];","yes)","yes;","{","||","}","………………(省略,节省篇幅)","」设计思想","一旦有可用数据,就通过delegate的方式一直回调,通知response类有可用数据。","两大模块组成。前者负责与","交互,后者负责资源加载及缓存处理。","从名字就可以看出:这两个类,一个是负责从直接从本地文件提供数据,一个是负责从网络读取之后提供数据","从服务器返回类可以看到,数据的入口是从ktvhcdatareader的readdataoflength获取的。","从这个方法里我们可以看到,读取数据又走到了ktvhcdatasourcemanager中去。","具体实现:","再看一下ktvhcdatasourcemanager的readdataoflength方法:","几个核心类实现:","创建response作为loc","创建自己的connection类继承自httpconnect","可以看出其实正常获取数据的是ktvhcdatafilesource和ktvhcdatanetworksource两个类。","可以看出,两个source的实现比较类似,只不过ktvhcdatanetworksource多了一个从网络获取数据写入文件的步骤,其实最终提供数据还是通过文件读取的方式。","可以看出,它是将源视频的url替换成了自己定义格式的url,这时我们其实请求的就是local服务器了。","和","唱吧ktvhttpcach","实现协议方法","我们项目里使用的是ktvhttpcache来实现视频缓存,ktvhttpcache的实现方式就是第二种,项目地址:(https://github.com/changbadevs/ktvhttpcache)。","核心的流程大概是这样:","用来搭建local","由","目前ios端比较常见的视频缓存的实现方式主要有两种:","看下ktvhcdatanetworksource:","看到ktvhcdatasourcemanager的初始化过程,","视频缓存ktvhttpcache原理和实现","读懂「","这样,当本地发生请求时,就会获取ktvhchttpresponse内部方法返回的数据。","重写子类方法,返回相应的response类"],"iOS/SourceCode/SDWebImage.html":["!sd_options_contains(options,","#699","&","&&","&=","&loadoperationkey);","&loadoperationkey,","(!(option","(![self.deleg","(!cachedimag","(!imag","(!oper","(!validoperationkey)","((imag","((option","(5.0.6)","([oper","(bool)imagemanager:(nonnul","(cachedimag","(coderjtao.github.io)","(completedblock)","(error)","(finished)","(icloudart.com)","(key)","(nonatomic,","(nullabl","(oper","(operation)","(operations)","(option","(progressblock)","(sdoperationsdictionari","(sdwebimagedownloadercompletedblock","(self)","(shouldblockfailedurl)","(shouldquerycache)","(strong,","(void)callcacheprocessforoperation:(nonnul","(void)callcompletionblockswithimage:(nul","(void)calldownloadprocessforoperation:(nonnul","(void)callstorecacheprocessforoperation:(nonnul","(void)sd_cancelimageloadoperationwithkey:(nul","(void)sd_internalsetimagewithurl:(nul","(void)sd_setimageloadoperation:(nul","(void)sd_setimagewithurl:(nul","(weak,","(后进先出)","(没有则创建","*","*)cacheddata","*)cachedimag","*)context","*)downloadeddata","*)downloadedimag","*)error","*)error;","*)imag","*)imagedata","*)imagemanag","*)imageurl","*)imageurl;","*)key","*)loadimagewithurl:(nul","*)oper","*)placehold","*)sd_operationdictionari","*)url","*/","*callback","*completionblock","*data,","*downloadeddata,","*downloadedimage,","*error,","*failedurls;","*image,","*imageurl)","*key","*oper","*operationdictionari","*runningoperations;","*sharedmanager;","*validoperationkey","......",".m","/**","//","//deleg","//图片下载器","//标识当前","//用于全局控制当前管理器的","//用于在图像加载完成后进行图像变换,并将变换后的图像存储到缓存中。","//缓存处理","//默认使用","//默认情况下,imagecach","//默认情况下,是把","0","0;","1.如果operation不存在或者被取消,什么也不处理","1、一个添加了web图片加载和缓存管理的uiimageview分类","1,sdmemorycach","2.如果有error则直接回调错误信息,并把当前url加入到filedurls中。","2、一个异步图片下载器","2。此时,若","3.如果一切正常,则把错误请求从filedurls中移除,并把下载好的图片数据传递到缓存处理程序。","3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片","4.最后,如果finished==yes,则把当前operation从runningoperations中移除。","4、支持动态gif图","5、支持webp格式的图片","6、后台图片解压处理","6。还维护了可变字典","7、确保同样的图片url不会下载多次","8、确保伪造的图片url不会重复尝试下载","9、确保主线程不会阻塞","=","==",">","@autoreleasepool","@properti","@strongify(operation);","@synchron","@synchronized(self)","@weakify(operation);","[[nsmaptabl","[completedblock","[error.domain","[imageload","[manag","[nsmutabledictionari","[oper","[operationdictionari","[progressblock","[sdimagecach","[sdwebimagedownload","[self","[self.callbackblock","[self.deleg","[self.downloadqueu","[self.failedurl","[self.imagecach","[self.imageload","[self.runningoper","_downloadqueu","_downloadqueue,默认的最大并发数为","_ioqueu","_nonnul","_nullabl","_urloper","_urloperations,key","`addoperation:`","`downloadoperationcanceltoken`,","`failedurls`","`operation.completionblock`","`runningoperations`","`sdcallbacksdictionary`","`sdwebimagecombinedoperation`","`sdwebimagedownloadtoken`","a.","access","accord","add","adddepend","addhandlersforprogress:progressblock","addobject:callbacks];","addobject:operation];","addobject:url];","addoperation:operation];","again","alloc]","anoth","apple'","assign,","avoid","b.","basedonclassorviacustomsetimageblock:setimageblock","below,","between","block","blog","bool","cach","cache,","cacheddata,","cacheddata:(nul","cacheddata:cacheddata","cacheddata:nil","cachedimage,","cachedimage:(nul","cachedimage:cachedimag","cachedimage:nil","cacheimag","cachekey","cachekey,","cachekeyfilt","cachekeyfilter:cachekeyfilter];","cachekeyfilter;","cachekeyforurl:","cachekeyforurl:url","cacheseri","cacheserializer;","cachetype)","cachetype,","cachetype:(sdimagecachetype)cachetyp","cachetype:cachetyp","cachetype:sdimagecachetypenon","cache),它会弱引用被缓存对象,当缓存被清理之后,我们还可以在","call","callbacks;","callbacks[kcompletedcallbackkey]","callbacks[kprogresscallbackkey]","callbacksforkey:kcompletedcallbackkey];","callback,这里会先处理几种情况:","callcacheprocessforoperation:oper","callcompletionblockforoper","callcompletionblockforoperation:oper","callcompletionblock。","calldownloadprocessforoperation:oper","callstorecacheprocessforoperation:oper","cancel","cancel];","cancel。其强引用由","cancel。如果是返回错误并结束。","canrequestimageforurl:url];","capacity:0];","categori","category:","caus","cgimagesourcecreatewithdata","charles'","check","class,","class]);","combineoper","complet","completed:(nonnul","completed:(nul","completed:^(uiimag","completed:completedblock];","completed:nil];","completedblock","completedblock(image,","completedblock,","completedblock。","completedblock),并设置当前","completedblock),然后,将","completion:^(uiimag","completion:completedblock","completionblock","completionblocks)","condit","configur","conformstoprotocol:@protocol(sdwebimageoperation)])","context","context(字典)","context);","context:(nul","context:(sdwebimagecontext","context:context","context[sdwebimagecontextcachekeyfilter];","context[sdwebimagecontextsetimageoperationkey];","continu","copi","copy];","cost","count、对象大小","cycl","data","data,","deadlock.","defaultimagecache;","defaultimageloader;","delegate;","detail","dispatch_main_async_safe(^{","dispatch_queue_create(\"com.hackemist.sdimagecache\",","dispatch_queue_serial);","dispatch_semaphore_t","doc.","done","download","downloaddata","downloadeddata:(nul","downloadeddata:downloadeddata","downloadedimage:(nul","downloadedimage:downloadedimag","downloadimagewithurl:url","downloadoperationcanceltoken","entri","error","error,","error.cod","error:(nul","error:error","error:error];","error,callcompletionblock","execut","extens","failedurl","failedurlslock;","failedurls。","failedurls:","filepath","filet","finished)","finished);","finished,","finished:(bool)finish","finished:finish","finished。执行","forkey:(nul","forkey:key];","forkey:validoperationkey];","getter=isrunning)","hit","id","id)addhandlersforprogress:(nul","id)oper","id,默认值为当前","imag","image,","imagecache;","imagecontext","imagecontext)。","imagedata","imagedata,","imagedata:(nul","imagedata:nil","imagedata。","imageload","imageloader;","imagemanager:self","imagerefresh","imageurl)","imageurl);","imageurl,","imageurl:url];","image、data","image。","indicator。调用","initwithkeyoptions:nspointerfunctionsstrongmemori","ioqueu","isequaltostring:sdwebimageerrordomain]","jpeg/png","keep","key","lilo","load","loaderoperation。在新建任务前,如有取到","loadimagewithurl:","loadimagewithurl:url","lock","lru","manag","more","need","new","new];","nil","nil,会自动创建。然后会将当前实例的类名作为","nonatomic,","nonnull)","noth","no,则结束下载并调用","no:直接进入","nsarray","nscach","nsdata","nserror","nsmaptabl","nsmaptable>","nsmaptable,对","nsmutableset","nsoper","nsoperationqueu","nsprogress、","nsstring","nsstringfromclass([self","nsurl","nsurlcach","nsurl。","nullabl","nullable)","objc_association_retain_nonatomic);","objc_getassociatedobject(self,","objc_setassociatedobject(self,","object,","objectforkey:key];","on","oper","operation.cacheoper","operation.iscancelled)","operation.isfinish","operation.loaderoper","operation;","operations,","operations;","operation。","operation。实现了一个","operation,利用","option","options,","options:(sdwebimageoptions)opt","options:0","options:downloaderopt","options:opt","optionsprocessor;","overwrit","placeholderimage:(nul","placeholderimage:nil","placeholderimage:placehold","process","progress","progress:(nul","progress:combinedprogressblock","progress:nil","progress:progressblock","queri","queryimageforkey:key","queue","race","readonly,","refer","refresh","removeobject:url];","removeobjectforkey:key];","reqeust","requestimagewithurl:url","respondstoselector:@selector(imagemanager:shoulddownloadimageforurl:)]","retain","retri","return","return;","return。","running;","runningoper","runningoperationslock;","runningoperations。","runningoperations:会将在上面的方法中会生成的一个","safe","safelyremoveoperationfromrunning:operation];","safelyremoveoperationfromrunning。此时如果存在","safelyremoveoperation。","same","sd_cancelimageloadoperationwithkey:","sd_cancelimageloadoperationwithkey:key];","sd_cancelimageloadoperationwithkey:validoperationkey];","sd_cancelimageloadoperationwithkey:取消上一次任务,保证没有当前正在进行的异步下载操作,","sd_internalsetimagewithurl:url","sd_lock(self.callbackslock);","sd_lock(self.failedurlslock);","sd_lock(self.runningoperationslock);","sd_operationdictionary];","sd_operationdictionary]这个调用,这个方法的实现是给当前view通过关联对象的技术关联了一个nsmaptable对象,用来存储请求链接接对应的请求操作类型如nsmaptable。源码如下:","sd_operationdictionary,key","sd_setimage:","sd_setimage:placehold","sd_setimageloadoperation:oper","sd_setimageloadoperation:内部实现如下:","sd_setimagewithurl:url","sd_unlock(self.callbackslock);","sd_unlock(self.failedurlslock);","sd_unlock(self.runningoperationslock);","sdcallbacksdictionari","sdexternalcompletionblock)completedblock","sdimagecache.sharedimagecache。","sdimagecachedecodeimagedata(nsdata","sdimagecachedecodeimagedata,进行了图片解码的处理。","sdimagecachequerydiskdatasync));","sdimagecachequerymemorydatasync)","sdimagecachetyp","sdimagecachetypeall。","sdimagecoderhelp","sdimageloaderdecodeimagedata","sdimageloaderdecodeimagedata(nsdata","sdimageloaderprogressblock)progressblock","sdimagemanag","sdinternalcompletionblock)completedblock","sdinternalcompletionblock)completedblock;","sdmemorycach","sdoperationsdictionari","sdoperationsdictionary;","sdoperationsdictionary。它会存储当前实例的所有","sdsetimageblock)setimageblock","sdwebimag","sdwebimagecombinedoper","sdwebimagecontext","sdwebimagecontextimagecache。","sdwebimagecontextimageloader。","sdwebimagecontextquerycachetyp","sdwebimagedelayplaceholder))","sdwebimagedownload","sdwebimagedownloader.shareddownloader。","sdwebimagedownloadercompletedblock)completedblock","sdwebimagedownloaderoper","sdwebimagedownloaderprogressblock)progressblock","sdwebimagedownloadtoken","sdwebimageerrorcachenotmodified)","sdwebimagefromcacheonli","sdwebimagefromcacheonly);","sdwebimagefromloaderonli","sdwebimagefromloaderonly)","sdwebimageindicator,并判断是否开启。","sdwebimagemanag","sdwebimagemanager。","sdwebimageoper","sdwebimageopt","sdwebimageoptionsresult。","sdwebimagerefreshcach","sdwebimagerefreshcached);","sdwebimagerefreshcached。","sdwebimageretryfailed))","sdwebimageretryfailed。则将","sdwebimageretryfailed,则直接返回","sdwebimage常见问题","sdwebimage源码学习","second,","see","self.sd_latestoperationkey","self.urloperations[url]","setimageblock:(nul","setimageblock:nil","setobject:oper","shareddownloader]","sharedimagecache]","shouldblockfailedurl","shouldblockfailedurl:(nonnul","shouldblockfailedurlwithurl:url","shouldcacheorigin","shouldcacheoriginal。","shoulddownload","shoulddownloadimageforurl:(nonnul","shoulddownloadimageforurl:url]);","shouldquerycach","shouldquerydisksync","start","storecacheprocess。","storecachetype、originalstorecachetype、transformer、cacheserializer,判断是否需要存储转换后图像数据、原始数据、等待缓存存储结束。","stroageimage:]","strong","strong,","strong——weak","synchron","thread","transformer;","transformer。","transit","true。","typedef","uiimag","uiview+webcach","uiview+webcacheoper","url","url.absolutestr","url:(nonnul","url:url","url:url];","url。","url,valu","validoperationkey","validoperationkey;","validoperationkey。","validoperationkey,一般","valueoptions:nspointerfunctionsweakmemori","view","weak","weakcach","weakcachelock","weakcache(stong","weakcache(strong","weak)又存储了一份缓存。","webp","whether","witherror:(nonnul","yes,会将其存入","yes,新建下载任务并将其保存在","yes:先确认存储类型是否为原始数据,存储时如果","{","|","||","}","});","}];","“空间换时间”","、sdimageloaderprogressblock。","。","一个为uiimageview提供一个分类来支持远程服务器图片加载的库。","一起返回。","下载数据","下载结束后回到","不为","不会与即将进行的操作发生冲突。保证当前的控件上有且只有一个最新的任务。","不需要查找缓存,直接进入下载。","与","且","中利用","中取出","中同步或者异步地执行磁盘查询。","中声明的。","中已经取不到这个对象了。为了解决这个问题,sdmemorycach","中的参数。","中移除,调用","中获取到被缓存对象,就算对象被释放,因为弱引用也不会造成野指针问题。这是典型的","中,根据下载","中,维护了一个","串行队列","为","为下载","为下载的","主要方法","之后进入重点,那就是开始从缓存中读取图片:","之后进行一系列的传递会传递到最深层的方法:","从","从上面的代码中可以看到,方法内部是遍历了所有需要完成回调的completedblock,然后回调出去。","从上面的源码中可以看出请求图片的回调回来后:","从上面的源码可以看出,","从中可以看出一个imagedownloaderoperation可以有多个回调block。","会直接将","传入","作为","使用weak,在后续operation下载操作回调后,获取这个operation。如果view已经重用或者消失,则不会设置图片避免混乱。","依次返回给调用方。这方法是不是很机智。这一点也可从请求结果的代码中得到验证:","依赖于最新加入的","保存了失败的请求","保持。","值。可能由","值作为校验","值是否为","先从","入口","其次,将这个operation添加到正在运行的操作容器中:","内存缓存","出错,callcompletionblockforoper","分类下:","分类中,设置了一个关联属性","则会创建一个新的","则会对通过","则会随","则抛弃下载的","初始化","判断","判断当前","判断是同步查询还是异步查询","利用","利用信号量","利用这个全局声明的变量","功能简介:","加入到","包裹磁盘读取的代码。","去加载我们需要的图片,并把获取的结果回调给了上一级调用方。从上面的代码可以看到,获取图片的同时返回了一个operation,这个operation就是标识获取当前url图片的一个操作。之后会把这个operation放在当前view的operationdictionary中:","参数","参数确定是否需要查找缓存。","取出","取到图片后,停止","取消掉正在执行的操作operation如下调用:","只有当从磁盘取到缓存时,才会对图片进行解码。","可以直接将","可以看到,这个方法里面调用了uiview+webcache分类里面的一个方法:","合法性判断。因为,这里的","同时为新的","同样的,将我们刚才讲到的operation传入到这个方法中。我们看一下这个方法中做了什么:","后请求结果仍旧命中了","否则,重用之前的","和","回调到","回调(progressblock,","因为磁盘缓存读取时,会产生许多临时变量,为了避免内存过高,使用","图片加载奇淫巧技","图片加载奇淫巧技/)","图片缓存读写原理","图片缓存读写原理/)","在","在实例开始真正的图片请求操作之前,会根据","在磁盘中根据","在继承自","均无以上情况,如果是通过","处理逻辑交给代理处理。","复制并转换为不可变类型。","复用时导致的图片展示错乱问题。","外部传入一个需要缓存的对象时,其引用计数为","如何解决tableviewcel","如何避免同一时间多个请求,请求同一张图片下载多次问题。","如果","如果存在operation,但是operation没有正在执行,则根据条件调整operation的请求优先级。","如果有正在执行的operation,不创建新的请求operation,而是给当前operation添加回调对象progressblock","字典中。","存入","存在则会先转换数据格式,最终都调用","实例","实例。","实例中有两个属性与之一一对应,方便对两种加载图片的方式进行管理。","实例对象。","实例并返回。在","实例,保存在集合中。图片加载存在两种情况,一种是直接在缓存中获取,一种是通过网络在下载,都会返回一个","实现内存缓存。通过双向链表及字典实现","容器中移除掉。源码如下:","对","对其进行缓存时,会强引用被缓存的对象,使它的引用计数变为","对图片进行了子线程强制解码并将解码后的","对象,所以","导致的","封装为","将","将数据存入缓存,并进入","将解码后的图片缓存到内存缓存中,然后通过","属性","属性介绍","并","并将","并将返回的","开启下载","开始缓存查询。","强制解码并返回解码后的图片。","当下载失败之后,如果实现了这个代理,则将失败的","当内存中未命中缓存,则在一个串行队列","当我们使用sdwebimage加载图片时需要调用如下方法:","成功的,会先将","我们接着看loadimagewithurl:方法内部实现:","或","所有控件设置图片的方法,最终都会来到","找到当前","拥有一个弱引用,方便","拦截并进行修改。","接下来我们看一下这个方法的内部实现:","接下来,就是判断我们传入的url是否合法,以及设置uiimageview的加载指示器,还有加载进度block,此处不做详细说明了。我们着重看加载图片的方法:","接着看上面这个方法的内部实现:","控制能否支持下载任务。","操作。","操作,如果之前有操作存在,则会取消之前的操作,保证当前实例执行的是最新的","文件中的","方法的内部实现会查询到已经存在的同名任务,并且会取消掉这个任务,并在当前view的operationdictionari","方法的执行的流程:","方法,使原队列中","时都需要进行重复的解码操作。而通过","时,说明有操作在执行。","是","是一个","是否有","是否被","是否需要下载。默认为","是整个框架的中心,所有的处理逻辑都在这里面进行组装、分发。","最后会对标记为","根据","根据传入的","根据获取到的","格式来。这会产生一个问题,每次当我们需要从磁盘读取","格式的,那么磁盘中的存储则会按","检查","检查是否需要开启下载。","检查是否需要缓存原始数据","正在运行。内部维护了","正常,进入下载。","江涛的博客","添加","添加至","清理了缓存,被缓存对象的引用计数减一,但是它还在内存中,但是,从","然后,开始从缓存中读取图片,回调之后判断当前operation是否还存在,以及operation是否被取消,如果取消的话就从runningoperations中移除当前operation并返回,什么也不做。否则,调用下载处理程序:calldownloadprocessforoperation:并把我们读取出来的缓存数据传入该方法。接下来我们看看这个方法的内部实现:","生成","由","由代理决定是否需要新建下载任务。","的","的。如果是","的基础上,维护了一个","的完成回调中,可以看到也使用了","的封装之后,最终图片的加载逻辑会来到","的思想。当然,针对","的操作优先级。","的操作队列。","的格式的","的类名。","的缓存策略。内存清理策略:对象数量","的读写安全,也使用了","的这个方法:","看下这个方法的内部实现:","确定最终查找时使用的","确定用于下载的实例对象。默认的","确定用于查找缓存的实例对象。默认的","确定缓存查找的范围。默认为","磁盘缓存","第一步,根据validoperationkey","答案是为了解决在同一时间,多个请求同时下载一张图片的时候,对该图片请求只下载一次。也就是请求只发送一次,而请求有结果的时候根据存储的多个返回block","类型的","结束下载。","绕了这么大一圈,你可能会问,为什么一上来要调用sd_cancelimageloadoperationwithkey:这个方法?通过上面的源码分析sdwebimage这样设计是为了解决tableviewcell复用时,如果被复用的cell的imageview请求的图片没有回调时展示图片错乱的问题。原理就是如果被复用的cell的imageview之前请求的图片还没有回调,而此时需要请求新的图片,那么就取消掉之前的请求operation,并从operationdictionary中移除掉。然后去加载需要加载的新图片。如果说,之前的图片请求在这之后回调回来的话,会判断之前请求的operation是否存在,以及operation的iscancel属性,如果不存在或者iscancel=yes的话,就不会回调到ui界面。也就是如下代码逻辑:","继承自","维护了一个","缓存数据","缓存查询","缓存查询结束后。","缓存,从而提高访问效率。","缓存,则不会调用","若命中,且","若未命中,或者","获取","被","设置","设置占位图。","说了这么多,相信应该清楚为什么要调用sd_cancelimageloadoperationwithkey:方法了,我们接着回到sd_internalsetimagewithurl:方法中,cancel之后就会清掉当前imageview上次下载的图片:","说明","转换为","过渡动画。","返回。","还会将其转换为","还是","还是由","这个方法就是我们加载图片的正式入口方法。下面我们看一下这个方法里面都主要做了什么。","这也是程序一开始时,能够取消掉同名operation的原因。就是同一个view发送一个图片请求就会记录在operationdictionary中来标识有请求正在执行。","这四个是在","这里可以解释,复用的时候,已经展示过图片的imageview为什么在被复用的时候没有展示之前存在的图片而是展示placeholer或者不展示的原因。","这里当前view利用前面生成的manag","这里需要说明一下:[self","进行变换。开始查找缓存。","进行缓存,而当我们使用其他图片格式进行传输时,例如","通过","通过上层","那么问题来了,sdwebimage为什么会这么设计呢?","重置","防止多线程竞争。","集合查询。","集合,当数量大于","需要查找缓存。","首先判断url是否合法,如果合法,从下载器的urloperations属性中读取该url对应的operation,如果operation不存在,或者已经取消或者已经完成,则根据url重新生成一个operation,同时记录该operation到urloperations中,并把该operation添加到下载队列中去:","首先判断是否需要下载图片,如果不需要就判断缓存数据如果缓存有值就直接返回给调用方,如果需要就先看一下之前读取的缓存数据是否有值,如果有值,就直接返回给调用方。如果没有的话,就使用imageloader下载图片:","首先判断是否需要从缓存中读取图片,如果需要,就处理url,处理后得到我们读取缓存的key。","首先处理一些下载器选项,然后调用下载图片方法:","首先,判断url是否合法,然后生成一个请求图片的operation,这个和我们刚才讲到的operation在内存中是同一个,因为是从该方法中返回出去的。","(dispatch_semaphore_t)线程锁。",",callcompletionblock",",而如果设置了"],"iOS/Knowledge/Dyld.html":["!=","\"main","#endif","#if","%s\",","&&","&argv[argc+1];","&timinginfo);","'init'","'mapped'","(","(*snotifyobjcinit)(imag","(below","(const","(dyld","(fhasdashinit","(foundat","(imag","(imageloadermacho*)image;","(initialized)","(std::vector::iter","(uint64_t)imag","(uintptr_t)smainexecut","(void)load{","(重签微信应用实战)",")","*/","*codesigcmd","*compress","*encryptcmd","*it;","*lib","*libcount","*segcount","*函数太长","+","++apple;","++lib)",",",",dyld::_main",".","..)","...省略掉.",".这里加载共享缓存有几种情况","/","/*","//","0","0);","0,","0;","1);","1.","1.1","1.2","11","1;","1、仅加载到当前进程","1️⃣","1️⃣、","1️⃣、const","2.1","2.1.1","2.1.2","2.1.2.1","2.1.2.2","2.1.2.3","2.1.2.4","2.1.2.5","2.1.3","2.1.4","2.1.5","2.1.6","255","2、dyld","2、共享缓存是第一次被加载","2️⃣","2️⃣、","2️⃣、intptr_t","3、共享缓存不是第一次被加载","3️⃣","3️⃣、","4095","4️⃣","4️⃣、_objc_init","5️⃣","750","8",":","::","=","==",">",">doinitialization(context);",">forceflat()",">getentryfromlc_main();",">getpath());",">getrealpath(),",">getstate()",">machheader());",">machheader(),",">notifyobjc()",">setneverunloadrecursive();",">weakbind(glinkcontext);","?","__data","__guard_setup(apple);","__has_feature(ptrauth_calls)","__mod_init_func","_data","_dyld_objc_notify_init","_dyld_objc_notify_regist","_dyld_objc_notify_register(&map_images,","_dyld_objc_notify_register(_dyld_objc_notify_map","_dyld_objc_notify_unmap","_dyld_start","_main(const","_objc_init","_objc_init(void)","_os_object_init","abort","addimage(image);","alreadi","alsr","anyon","app","appl","apple);","apple,","apple[],","appsmachhead","appsmachheader,","appsslid","appsslide,","argc,","argv,","argv[],","aslr","bit","bl","bool","bool*","bt","c++","cache)","call","call_load_method","catch","char*","char**","checkenvironmentvari","checksharedregiondis","cmd","code","codesigcmd","codesigcmd,","command","compress","compressed,","configureprocessrestrict","const","const*","context)","context,","context.notifysingle(dyld_image_state_dependents_initialized,","context.notifysingle(dyld_image_state_initialized,","cpusubtyp","cputyp","crsetcrashlogmessage2(null);","crsetcrashlogmessage2(thi","defer","depend","doimageinit(context);","doiniti","domodinitfunct","domodinitfunctions(context);","down","dure","dyld","dyld3::scopedtim","dyld::_main","dyld::_main(appsmachheader,","dyld::registerobjcnotifiers(mapped,","dyld::throwf(\"malform","dyld_image_state_dependents_initialized;","dyld_image_state_initialized)","dyld_image_state_initialized;","dyld_initializer_support","dyld_insert_librari","dyld_print_env,","dyld_print_opt","dyldbootstrap","dyldbootstrap::start","dyldsmachheader,","dyld将应用进程加载到内存中时","dynam","editor","encryptcmd","encryptcmd)","encryption_info_command**","entri","environ_init();","envp","envp,","envp;","envp[],","exception_init();","execut","false,","false;","far","fhasinitializers);","find","finish","fishhook","fixm","for(unsign","format\";","found?","foundat","framework","fsegmentsarraycount","fstate","fstate;","function","gethostinfo","glinkcontext);","glinkcontext.bindflat","glinkcontext.linkingmainexecut","glinkcontext.prebindusag","hasiniti","header","i=0;","ignor","imag","image:","imageloader*","imageloader::kusenoprebinding;","imageloader::rpathchain(null,","imageloadermacho","imageloadermacho*","imageloadermacho::doinitialization(const","imageloadermacho::instantiatemainexecutable(mh,","imageloadermacho::sniffloadcommands(const","incache,","independ","init","init'","init,","init;","initi","initializemainexecut","initializemainexecutable();","instantiatefromloadedimage(const","instantiatefromloadedimage(mainexecutablemh,","instantiatemainexecut","int","int*","intptr_t","io","iscompatiblemacho","iscompatiblemacho((const","it++)","it=sallimages.begin();","j","know","known","lc_dyld_info_onyl","lc_load_dylib","lib","libcount","libcount,","libdispatch","libdispatch_init","libobjc","librari","libsystem","libsystem)","libsysteminiti","link","link(smainexecutable,","linkcontext&","linkedit_data_command**","lion10.7","lldb","load","load_imag","load_images,","load_images.","loaddyldcach","loader","loadinserteddylib(*lib);","load方法调用机制解析","lock_init();","mac","mach","mach_absolute_time();","mach_init();","macho","macho_header*","machoview","magic","main","mainexecutablemh,","mainexecutableslide,","map","map_imag","mapcachepriv","mapcachesystemwid","mapped,","mapped;","mapsharedcach","mh)","mh,","more","msg)","needsaddedlibsystemdepency(*libcount,","notifybatchpartial(dyld_image_state_bound,","notifysingl","nslog","nslog(@\"load","null","null)","null),","null);","null,","null;","o","o,","objc","oldstat","os","o文件","path)","path);","path,","pic","point","posit","processiniti","rebasedyld(dyldsmachheader,","rebind_symbol","record","recursivebind","recursivebindwithaccount","recursiveiniti","recursiveloadlibrari","refer","registerinterposing(glinkcontext);","registerobjcnotifi","registerobjcnotifiers(_dyld_objc_notify_map","registr","reloadallimag","request","result","return","return;","rundyldinitializers(dyldsmachheader,","runiniti","runtim","sallimages.end();","sallimages.size()","sallimages;","segcount","segcount,","segment","senv.dyld_bind_at_launch,","senv.dyld_insert_librari","senv.dyld_insert_libraries;","setcontext","setneverunloadrecursive();","sexecpath);","share","shift","shouldrebas","sinserteddylibcount","slide","slide);","slide,","slideofmainexecutable(appsmachheader);","slideofmainexecutable(dyldsmachheader);","smainexecut","sniffloadcommand","snotifyobjcinit","snotifyobjcmap","snotifyobjcunmap","start","start(const","startglue)","startglue);","static","static_init();","std::vector","struct","t1","this,","throw","timer(dbg_dyld_timing_objc_init,","tls_init();","tri","true);","true,","true;","uikit","uint64_t","uint8_t*)mh,","uintptr_t","uintptr_t*","unmap_imag","unmap_image);","unmapped)","unmapped);","unmapped;","unsign","until","up","us","viewcontrol","void","while(*appl","x","xcode","{","||","}","⚠️","。","一样有","上图第","上面判断了并不会为空","下一步是调用","下不会被禁用","下面找","不同","不着急","与","个.","中","中列出的需要加载哪些库文件","中创建一个","中可以自由调整","中我们也有详细讲述过","中注册并保存了","中添加","为了节约空间","为例","主程序已经实例化完毕","主程序的实例化就已经完成了","也就是我们这里的","也就是说","也就是说弱绑定一定发生在","也就是递归进行符号绑定的过程","也就简单明了了.","了解了系统函数的整个加载过程","从头梳理","以","会触发","会触发该函数","会触发该函数.","会触发该方法.","会调用","会走到","传递了三个参数","但是我们看到了这么个东西","但还没有加载","位置代码独立","你可以通过","使用","例如","例如工程中有一个","依赖库数量","值得一提的是会调用","偏移","允许","全名","共享缓存","关于应用的砸壳","关于这个","关于这个请看","其他库链接绑定完成之后","其实根据二进制顺序有关","其指向的地址设置成符号地址","其流程如下","其第二个参数赋值给了","再继续搜索","准备工作","函数","函数中","函数中有一系列","函数入口","函数地址.","函数执行完毕之后","分类底层原理详细研究","初始化","初始化完成后调用","到了这里","加载共享缓存","加载共享缓存库","加载到内存中","加载到开始链接主程序的时候","加载动态库","加载插入动态库","加载流程","加载程序","加载进内存时","动态库共享缓存区","原理就是","去做绑定的操作","去检测是否兼容","可以使某些攻击者无法事先获知地址","可以定位文件位置","可执行文件中会预留出一段空间","可是这个","同","同样你可以使用","同理","后续更新越狱篇章攻防会详细讲述和演示","后续逆向文章会带着大家自己写一个越狱插件","后续逆向文章越狱篇里会实际操作演练","因为","因此","在","在上下文中做出对应处理","在工程编译时","在运行时重绑定到用户指定的函数地址","处","大家可以在如下图中配置玩一玩","如何能找到其真实的实现地址呢","存放在","它会调用起","它是苹果的动态链接器,是苹果操作系统一个重要组成部分","实例化主程序","实例化这个","将","将编译后系统库函数所指向的符号","就会去找到","就会通过","就去做加载操作","就可以影响到应用","就已经完成了","就指向这个符号","就是指","就是调用函数的指令","就来到了","就调用了各个类的","工程","工程中所有引用了共享缓存区中的系统库方法","工程中的","已经加载完毕了","并不会也不可能会在我们自己的工程的","并添加到","并返回.","应用加密信息","应用签名","应用签名原理及重签名","底层","建议读一读","开始加载这个可执行文件","开始所有的应用程序均提供了","开始的地方","当","当我们点开一个应用","当某个特定进程,在存储器中所能够使用与控制的地址空间在运行时随机进行分配","当然","总结","懒加载绑定","我们会看到","我们俗称的应用加壳","我们就看到了","我们所熟知的","我们来到测试工程里下一个符号断点","我们来看","我们来稍微看一下","我们看到的就是","我们跟进去调用流程","我们非越狱环境重签名都是需要砸过壳的应用才能调试","所产生的","打印结果","找到主程序的入口","找到如下代码","找到真正","技术","拖动就可以自己调整顺序了","指令来到入口","搜索","搜索发现","支持","数据段中","文件之后","文件结构","新建一个空","方法","方法也是在此处调用","方法添加断点","时","最大不能超过","有一个必不可少的东西","有些防护操作就是基于这个原理来做的","有的同学可能对这个函数比较熟悉了","有部分防护手段就用到了这个环境变量","来了\");","来决定","来到","来到函数实现","来到源码中","来到这里","来加载主程序","来实现地址空间配置随机加载","来查看二进制顺序","来重定向","构造方法存储在","某些环境变量会直接影响该库是否会被加载","查看函数调用栈","栈溢出保护","根据","根据函数调用栈我们发现","根据环境变量配置打印信息","根据计算出来的","检测共享缓存禁用状态","检测可执行程序格式","检测环境变量","检测进程是否受限","检测通过","模拟器仅支持加载到当前进程","段","段命令数量","段在运行时是可读可写的","段的符号表中","没啥结果了","注册完毕继续回到","流程如下","消息传递","演示如下","点击进入","然后会讲一讲越狱环境插件如何防护","然后在","然后将原系统函数的真实地址赋值到用户指定的指针上.","然后找到","然后由","熟悉越狱插件的同学应该很清楚这个机制了","熟悉越狱插件的同学应该都很清楚","物理地址","环境变量来决定是否需要加载插入的动态库","由于","的","的主要函数.","的代码中直接搜索","的函数名称","的函数实现地址","的初始化","的影子","的构造方法","的真实地址写到","的符号","的符号上面","直接本文件搜索","直接点击","直接点击跳转到","看函数调用栈","看到如下","看看什么时候被赋的值","看看其在什么时候被调用的","真正实例化主程序是用","移除时","章节中所讲的共享缓存绑定的过程","等库每个应用都会通过","简介","类似","系统中","系统内核会开启一个进程","经过以上步骤","绑定的过程就是我们上述","结合函数调用栈","继续往","编译时","编译顺序就会根据这个顺序来","至此","节中.","苹果将这些系统库放在了一个地方","获取程序架构","虚拟地址","行","被加载的整个流程","被调用","要声明一下的是","解读","记录插入动态库的数量","设置上下文信息","设置好上下文","该函数是加载","该流程主要步骤如下","说白了就是通过一个随机值","谁先会被加载","调用","调用到","调用时","负责链接","走到了这里","越狱的插件就是基于这个原理来实现只需要下载插件","跟我们上面截图的函数调用栈一模一样","运行主程序","运行时","运行来到断点","运行程序","还是","这三个分别代表","这两篇文章","这个作用域里的","这个全局的镜像列表中去","这个其实就是","这个函数主要流程如下","这个函数也就是我们","这个函数到底做了什么呢","这个函数去做的","这个函数就是根据","这个函数第一次执行","这个函数调用","这个函数里面调用了","这个函数首先有两个参数我们要说明一下","这个参数就是","这个命名空间作用域里的","这个很简单","这个空间其实就是符号表","这个过程被称为","这是个回调函数的调用","这种","这篇文章中","这篇文章中有非常详细的讲述","这里几个参数我们稍微说明下","这里就不贴了.*/","进不去了","进行","进行弱绑定","递归下一次调用","递归调用","通过","通过查看源码查看","那么也就是说","那么就不做任何处理","那么怎么办","那么我们回到函数调用栈看下","那么我们搜索一下","那么我们的工程想要调用","那么接下来","那么编译时就会在","那么这个","那就代表一定是有值的","那我们搜索一下","那讲到这插一句题外话","配置环境变量","配置相关环境变量","里","里就会通过","里并没有找到","里有详细描述","里注册好的回调函数进行调用","里的","里被执行","重头戏来了","重绑定符号","链接主程序","链接动态库","首先","验证一下",",交由",",令攻击者难以通过固定地址获取函数或者内存值进行攻击",",在应用被编译打包成可执行文件格式的"],"iOS/Knowledge/AppLaunchDetail.html":["\"1234\";","&","(void)load","*","+","+load","//会产生静态初始化","0","0x10","0x1010。运行时类对象的地址已经知道了,bind","0x1010,那么","0x10。但是","0x10,加上","0,这个行为叫做","0,那么这些","1","1234","1234。为了执行函数,首先要访问__text触发一次","12。dyld2","13","13,所以我们重点看下","15%。","16k,6","3","3.1","32byte,里面有两个指针:内部指针,指向__text,__cstring中字符串的位置;外部指针","4;","4k,这是","6","6s","93%的设备是",":","=","__attribute__((constructor))","__data,__cfstring,存储","__mod_init_func,stat","__objc_nlcatlist,实现+load","__objc_nlclslist,实现+load","__text,__cstring,存储实际的字符串\"1234\"","anim","app","appl","applifecycl","app启动详细","app,开始执行","back","base","befor","bind","bind。","bind:修复外部指针。这个比较好理解,因为像","bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。catransact","block","build","c","cach","cache[1],什么是","categori","catransact","char","clang,swift","class","class/method","cocoapod","command","commit","commit(提交),打包","commit,首帧渲染数据打包发给","connect","const","control","core","data","data,数据段,读写,存储","delay","demo{","dependends,依赖动态库列表","detail","didfinishlaunch","didfinishlaunchnotif","didfinishlaunchnotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到","dispatch_async","display],如果","display(绘制),源头是","display,drawrect","drawrect","dyld","dyld2","dyld3","dyld3。","dyld3,dyld3","dyld3,官方数据[3]显示,过去四年新发布的设备中有","dyld。","dyld。dyld","dyld,把入口地址设为_dyld_start","entry,","es)来生成","execv","facebook","featur","fill。","fill,是因为全局变量的初始值往往都是","first","fixup","fixup,包括","fixup:bind","flag","flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的","flags,这些","frame","global","header","imag","init","initi","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在+load","initializer,做一些最基本的初始化:","initializer:","inline。","int","in。","in。假如我们把方法","in,从而提升启动速度。","in,其实也比较容易理解,因为启动的会读写二进制中的很多内容。pag","in,影响","in,把对应的文件内容读入物理内存。","io","ios启动优化《原理篇》","io,把数据读入物理内存","ipa","iphon","ir","ir(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。c","isa","isa,指向类对象的,这就是为什么可以对","itun","launch","layer","layoutsublayers],这时候","layoutsubview","layout(布局),源头是","layout,viewdidload","lc_load_dylinker,找到","ld","libdispatch","library,是因为链接的过程中只需要符号就可以了,所以","libsystem","libsystem,因为他是所有依赖的源头。","lifecycl","link","linkedit,启动","linkedit,找到","linkmap","linkmap,这样在生成的","llvm","llvm。","load","logger","logger;//不会产生静态初始化","mach","mach_msg_trap","magic","main","mainqueue,block。在循环的合适时机,会以","map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:fil","memori","metrickit","metricskit","mmap","mmu","namespac","number,表示这是一个","o","objc","object","observ","optimizeobjc:","optimizeobjc。","order_fil","order_file[2]的","order:初始化调用顺序","o。链接的过程并不产生新的代码,只会做一些移动和补丁。","o,而是提供一个只包含符号等信息的","page","pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了","pass,由于","pc","phase","phase:以","pipelin","prepare(准备),这个过程中会完成图片的解码","prepare,图片解码发生在这一步","printf","printf(\"1234\");","process","rebas","rebase,主要耗时在","rebase:修复内部指针。这是因为","refer","render","renderserv","renderserver,renderserv","renderserver,启动结束","root","runloop","runloop,继续执行这个","runtime,注册","runtime,由于闭包已经初始化了大部分,这里只会注册","section","section,分别存放不同类型的数据。","segment","segment/sect","segment,每个","sel","sel,加载","server","set","settings:配置编译和链接相关的参数。特别要提到的是","share","slide","slide=0x1000,这时候字符串在运行时的地址就是","slide。","slide,需要把内部的指针指向加上这个","source0","static","std::string","storyboard,asset","stub","suspend","swiftc,二者的后端都是","target","tbd","text","text,data,linkedit,也支持自定义:","text,代码段,只读可执行,存储函数的二进制代码(text),常量字符串(cstring),object","tip","tips:catransact","tmp/com.apple.dyld","tree","ui","uiapplic","uiapplicationdeleg","uiapplication,启动","uikit","uikit。uikit","uiviewcontrol","uuid…","var_1;","var_2","var_3","var_4","view","viewdidapp","viewdidload","while循环。","will/didfinishlaunch,这里主要是业务代码耗时","willfinishlaunch","write","xcode","xpc","zero","{","}","};","。","一小段时间再回到主线程上执行,对于性能较差的设备,主线程","一般会用","上对第三方","上的修改打包,一起发给","上的修改,合并成一个事务,通过","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做“砸壳”,砸的就是这一层","与启动又有什么关系呢?","两个段存在:__text存函数二进制,cstring存储字符串","中插入脚本,来做一些定制化的构建,比如","中的","中的两个配置项:","中给出了官方计算方式:","中读取,很有可能读取的时候还没有注册。","为了执行这个简单的函数,系统要额外付出两次","为什么闭包能提高启动速度呢?","为例,我们来看下构建流程:","为维度定义了构建的流程。可以在","主二进制,找到","主要会做两个大的初始化:","主要处理几种任务:source0,source1,timer,gcd","主要有两个版本:dyld2","举个例子:一个","举例","之后对其置为","之后有一个偏移量","之后,首先会执行","也会编译,编译后加载速度会变快","也是在这一步生效","了。这时候很多动态库还没有加载进来,会首先对这些动态库","二进制重排","产生的条件","什么是","仍然活着,只不过处于","代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用","以下图为例,方法","以单","会占去启动耗时的很大一部分,我们来看看单个","会合成","会在这个阶段执行。","会在这里调用,autolayout","会对上传","会影响","会成为启动性能的瓶颈。","会把","会把启动流程交给","会有一些逻辑要在启动之后","会被裁剪,去掉一些不必要的信息","会调用","会调用,autolayout","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新/下载","作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,appl","做","做优化,生成机器码","做的组件化,这时候编译选项在对应的.xcconfig","做的,app","其中解密是大头,io","其他:main","其次。为什么要解密呢?","内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。","再调用渲染框架(metal/opengl","冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动","函数。main","函数之前的一些初始化,主要包括+load","函数多了,page","函数里要做的最重要的事情就是初始化","创建启动闭包","初始化","初始化之后,就进入了我们熟悉的","利用","到内核,内核创建进程。接着会把主二进制","到虚拟内存的时候,起始地址会有一个随机的偏移量","到虚拟内存,找到","前端负责预处理,词法语法分析,生成","加载到虚拟内存里。接着会对每个","加载到进程的地址空间里,然后把后续的启动过程交给","动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是","又被划分成很多个","变成","变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接","可以分为三部分:","可执行文件的格式,典型的","可能一直处于忙的状态,所以这个","后端基于","启动","启动主线程的","启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以","启动有两种定义:","启动流程","启动的定义","启动的时候,mach","启动的种类","启动的路径上会触发很多次","启动速度提升超","启动速度断崖式下降的原因之一。","启用了","呢?","呢?我们先来看一下渲染的大致流程","和","和layoutsubview","和之前的设备都是","和方法","和装载","和资源文件一起,打包出最后的.app","和静态初始化被调用,除了方法本身耗时,这里还会引起大量","回前台:大多数时候不会被定义为启动,因为此时","回调了,在这些会调里去做一些业务上的初始化:","因为","因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是","在","在__cstring的","在启动上主要有几点应用:","基本概念","处,所以","大小是","太多会影响这部分时间","如下图,编译的时候,字符串","如果+load","如果是","字符串@\"1234\",编译到最后的二进制的时候是会存储在两个","字符串的元数据,每个元数据占用","存储","完全消失第一帧","实现了","寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取","寄存器来完成的。","寄存器设置成_dyld_start,接下来启动流程交给了","寄存器,pc","对.app","对三方","对每个二进制做","对解密后的页,进行签名验证","对这个过程进行了优化,page","就是实现了类似的插桩。","就是实现这个功能的。","就是把","就是把一组","就是把指针指向这个地址。","就是把系统库(uikit","就是触发一个系统调用,让线程休眠,等待事件到来,唤醒","就是通过","就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在","广义:点击图标到首页数据加载完毕","开始","开始,像","开始,物理内存的","引入,一直持续到","循环,在图中橙色部分的","或者","打散耗时的启动预热任务","执行","执行完毕之后,dyld","找到一个时机,在启动结束去执行一些预热任务","找到空闲的物理内存页面","把没有加载的动态库","抖音品质建设","指向实际的内存地址。","排列到一起,那么只需要一次","接下来会进行","提交。","提供的一种事务机制,把一组","提的","插桩来实现。llvm","支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案","数量的是","文件。","文件里。","文件里就可以找到有哪些文件里包含","文件,除此之外还包含一些","方法是基于","方法里的内容很简单,会影响启动时间么?比如这样的一个+load","方法,会在这个阶段调用","方法?","既然","既然要构建,那么必然会有一些地方去定义如何构建,对应","映射到虚拟内存里的(如下图)。下图中部分页被标记为","是","是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动","是主二进制和动态库。mach","是从","是启动的时候用到的,为了执行对应的代码,就需要两次","是启动的辅助程序,是","是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~","是基于","是开源的,我们可以添加一个自定义的","有个参数","有个比较大的优化是","有了闭包之后,就可以用闭包启动","本地离线缓存文章","本质上是一个while","构建","标准的三个","根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。","段加密。io","段的指针指向","段的指针指向就不对了。rebas","段的页,要进行解密","段进行加密,防止","注册","注意这个过程都是在内核态完成的,这里提到了","注意这里没有初始化","注意,并不是所有的","渲染。","渲染可以分为四个步骤","渲染里。","源文件(.m/.c/.swift","点击图标,创建进程","热启动:如果把","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。","状态","狭义:点击图标到","用户点击图标之后,会发送一个系统调用","由于主线程的","的","的主要区别就是没有启动闭包,就导致每次启动都要:","的代价,所以","的代码优化流程是一个一个","的任务并不一定能按时执行。","的元数据","的入口函数_dyld_start,把","的全称是","的前端是","的启动流程。","的地址","的地址,代码签名,符号表…","的字符串(__cfstring),以及运行时的元数据:class/protocol/method…","的字符串字面量发消息的原因。","的布局信息,比如","的拷贝资源就是通过脚本的方式完成的。","的指针地址,找到","的方式发给","的方式通知外部执行到了哪里。","的时候不需要解密了。","的最开始是","的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。","的次数,从而优化启动时间:","的渲染是在一个单独的进程","的的路径。然后","的第一次启动才会创建。闭包存储在沙盒的","的第一次启动,会创建启动闭包","的类","的类/方法名等信息","的类方法等信息,是因为启动闭包的缓存数据已经包含了","的解析。","的路径","的过程就是把指针从","的过程:","的运行时数据(class/method**…)解析非常**慢。","的,即启动的时候会把","的,所以在+load","目录,清理缓存的时候切记不要清理这个目录。","目标文件和静态库/动态库一起,链接出最后的","相比","符号的地址","等)合成一个大的文件,提高加载性能的缓存文件。","等)是单独编译的,输出对应的目标文件(.o)","等元数据,对大型工程来说,这部分耗时会很长","等外部函数,只有运行时才知道它的地址是什么,bind","等系统库就不提供完整的","签名,防篡改","精准统计启动时间","线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,runloop","终点:第一个ca::transaction::commit()","经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个","给","编码打包给","编译","编译器可以分为两大部分:前端和后端,二者以","编译完了之后,这个函数会在二进制中的","耗时,有没有什么办法优化呢?","虚拟内存","被分割成很多个","要特别提一下","解析","解析动态库的依赖关系","触发磁盘","详细回顾下整个启动过程,以及各个阶段耗时的影响因素:","语言家族的前端是","读入物理内存,为了打印字符串,要访问__cstring,还会触发一次","读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少","调用[calay","资源文件如","起点:进程创建的时间","这是从用户感知维度定义启动,那么代码上如何定义启动呢?appl","进来,动态库的数量会影响这个阶段","进来,读取","进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在","通过","那么如何利用编译优化启动速度呢?","那么,runloop","那么,如何找到代码里有哪些","部分包含了实际的代码和数据,data","里可以配置","里如果调用了","里对启动终点定义是第一个ca::transaction::commit()。","里的","里,对应会有一些地方读取这些注册的数据,如果在+load","重启手机/更新/下载","链接","链接器","闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:","需要的信息。","需要的信息,如","静态初始化是从哪来的呢?以下几种代码会导致静态初始化","首帧渲染是基于"],"iOS/Knowledge/MachO.html":["(",")","*/","+",",",".","..",".a",".dsym",".dylib",".o","/*","1.","11.0","2.mach","32","5c","64",":","?","__data.__bss","__data.__cfstr","__data.__common","__data.__const","__data.__data","__data.__la_symbol_ptr","__data.__objc_classlist","__data.__objc_imginfo","__data.__objc_protolist","__data.__objc_protoref","__data.__objc_selfref","__data.__objc_superref","__data.nl_symbol_ptr","__stub_help","__text.__const","__text.__cstr","__text.__objc_classnam","__text.__objc_methnam","__text.__objc_methtyp","__text.__stub","__text.__stubs_help","__text.__text","_cstring","_data","_got","_la_symbol_ptr","_objc_classlist","_objc_classnam","_objc_methodnam","_objc_methtyp","_stub","_stub_help","_text","a.out","architectur","arm","arm64","arm_v7","armv7","binari","bind","bss,存放为初始化的全局变量,即常说的静态内存分配","c","cmd","command","companion`","const","core","cpu","cpu_subtype_t","cpu_type_t","cpusubtype;","cputype;","data","dsym","dyld","dynam","dynamically动态库文件、mach","ececut","elf","execut","fat","file","filetype;","flags;","format","foundat","framework","header","io","iphon","lazi","link","linker动态链接器文件、mach","linux","load","load.h","mac","mach","mach_head","mach_header_64","macho","machoview","magic;","ncmds;","non","o","object","o文件","pe","pointer","portabl","refer","releas","reserv","reserved;","section","section。","segement","self","shift","sizeofcmds;","struct","stub","symbol","uint32_t","univers","v@:","valid","window","xcode","{","};","、","一张包含很多内容的表","上可执行文件的格式,","上的","下面也有详细列出.","下面列举一些常见的","中叫做","中存储的内容大致如上图所示","中继续添加就可以了","中通过编译设置","为例.","主程序代码","主要是和系统加载、链接有关*/","之后","之后的","也就是","也就是说","以上机型都是","以及","但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。","但是除了可执行文件外","位头文件","位系统了","位还是","位,对应的处理器是什么、文件类型是什么","使得可以快速确认一些信息,比如当前文件用于","使用","例如可执行文件","保留字段","关键字修饰的常量","其中","其实是","其实真正开始读取就是从","其实还有一些文件也是使用的","具体类型","内容","内容包括区域的位置、符号表、动态符号表等。","分为","初始化过的可变数据","加载命令大小*/","加载命令条数","动态链接","动态链接器","包含","包含该二进制文件的一般信息","即多种架构都可读取运行","原型","原型引用","另外","只是多了一个保留字段","可执行文件","可执行文件、mach","可执行文件是包含","可执行文件的支持架构的","可执行文件被称为","同一个程序包中同时为多种架构提供最理想的性能。","名称","告诉链接器如何去加载这个","命令可以查看文件类型","命令可以检查下结果","因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大。","因此想要支持多架构的话","在","在valid","在内存中","在内存中是紧跟在","字符串(cfstringrefs)","字节顺序、架构类型、加载指令的数量等。","它决定了一些基础架构","它是一种文件格式","它是一种用于可执行文件、目标代码、动态库的文件格式。作为","对应了什么呢","属于","并非一定是可执行文件","库文件","引用","当","当满足这两个条件时","懒加载符号表","我们以","我们打开源码看一下,","我们来看看","我们的应用打包出来的","或者重新组合的","找","指令条数等信息.","提供了更强的扩展性。","搜索","支持","文件","文件.","文件会选择","文件格式探索","文件格式的缩写,是","文件类型","文件结构","方法名称","方法类型","无法找到真正的符号地址后的最终指向","是可以更改所生成的","是我们经常需要研究的","是紧跟在","是链接器加载时最先读取的内容","标志位标识二进制文件支持的功能","格式","格式的常见文件","格式的替代,mach","模式下","段","段之后的.","段和","段开始读取的","段里都存放了什么","比如","比如arm64","没有初始化过的常量","没有初始化过的符号声明","用于","用途","的交集","的具体数据","的占位代码,很多地方称之为桩代码。","的指针表,每个表项中的指针都指向一个在装载过程中,被动态链机器搜索完成的符号","的指针表,表中的指针一开始都指向","的文件格式","的架构的","的组成结构如图所示包括了","目标文件","相较于","程序中使用的","符号表","符号表文件","等","等等","类似于","类列表","类名称","类型","系统版本以下","系统类型","结构体.","编译器在生成","编译生成","而且由于执行中只调用一部分代码,运行起来也不需要额外的内存。","苹果公司提出的一种程序代码。能同时适用多种架构的二进制文件","详细保存着加载指令的内容","语言字符串","超类引用","还看到一个","这个是什么意思呢","这种二进制文件是可以完全拆分开来","通常是对象文件中最大的部分","通用二进制文件","通用二进制文件通常被称为","通过查看内存地址我们发现","那么包含了支持多架构的","那么每一条到底对应着什么呢","那么这些","镜像信息","静态字符串常量","非","非懒加载符号表","魔数,快速定位64位/32位"],"iOS/Knowledge/PreMain.html":["&","((constructor))这样的函数。","(1)","(2)","(3)","(4)","(5)","(6)","1.","1.1.","1.2.","2.","2.1.","3.","4.","5.","6.","7.","7.1.","7.2.","7.3.","7.4.","8.",">","__dyld_start","addimag","app","app从点击到启动","attribut","bind","bind之类的符号,把上述结果写入缓存。这样,在应用启动的时候,就可以直接从缓存中读取数据,加快加载速度。","c","cpu","domodinitfunctions函数,内部会调用全局c++对象的构造函数,即","dyld","dyld2的过程是:加载dyld到app进程,加载动态库(包括所依赖的所有动态库),rebase,bind,初始化object","dyld3的out","dyld::_main()","dyldbootstrap::start()","dyld,dyld","headers,分析依赖的动态库,查找需要rebas","imag","imageload","image,包括可执行文件、动态库等,imageload","io","link","load_images里面执行call_load_methods函数,循环调用所用类以及分类的load方法。","main","main()函数调用之前,其实是做了很多准备工作,主要是dyld这个动态链接器在负责,核心流程如下:","o","objc","premain","process。","process会做如下事情:分析mach","process,也就是在程序进程内执行的,也就意味着只有当应用程序被启动的时候,dyld2才能开始执行任务。dyld3则是部分out","process,部分in","rebas","refer","runtime和其它的初始化代码。","setup","一步一步带你揭开main函数之前的面纱","之后会去加载可执行文件,二进制文件常被称为","以上三步完成后,dyld","以及","会去调用它。","会调用","会负责后续的工作","信息。可执行文件加载完成后,系统会调用","具体查看","函数","函数之前发生了什么","函数将其管理起来,并更新内存分布信息。","函数将可执行文件加载进内存中,加载过程分为三步:","函数开始之后的处理流程。","函数的地址,最后","初始化函数。","加载共享缓存库。","加载可执行文件。系统会去判断可执行文件的类型,选择相应的","加载程序所需的动态库","合法性检查。主要是检查可执行文件是否合法,是否能在当前的","在dyldstartup.","大体分为如下步骤:","实例化主程序,即macho可执行文件。","对程序进行","将其加载进内存空间中。","总结:","执行程序的","插入动态缓存库。","操作","文件中有个名为","方法在设置好运行环境后,会调用instantiatefromloadedimag","方法,然后进一步调用","方法,里面包含","是","架构下运行。","此回调是被运行时_objc_init初始化时赋值的一个函数load_imag","注册","的作用就是将二进制文件加载进内存。dyld::_main()","的整个启动流程,该函数最终返回应用程序","的方法,它会去调用","程序执行从_dyld_star开始","系统为程序启动做好准备","系统将控制权交给","系统的动态链接器,","经过一系列的初始化函数最终调用notifsingle函数。","设置的环境变量方便我们打印出更多的信息。","读取macho文件信息,设置虚拟地址偏移量,用于重定向。","调用dyld::_main方法进入macho文件的主程序。","调用gethostinfo()来获取macho头部获取当前运行架构的信息。","运行初始化函数","返回主程序的入口函数,开始进入主程序的main()函数。","选择","配置一些环境变量","链接主程序。","需要注意的是,dyld2和dyld3的加载方式略有不同。dyld2是纯粹的in"],"iOS/Knowledge/Complie.html":["+",".0",".app",".i",".m",".o",".s","01,","03,","0s,也可以写自己的","1","analysis),输出抽象语法树(ast),过程中会校验语法是否错误。","asset","asset.xcasset","b","bitcod","bitcode,苹果会做进一步优化。若有新的后端架构,依旧可以用这份优化过的","build","build.log","clang","cocoapod","codegen","command","compilec","cpu","foundation.framework,afnetworking.framework…","icon","infoplist","io","ir","ir)、优化器(优化","ir)、后端(生成汇编","ir,ir","ir:到这里","launchiamge。","link。","llvm","log","log,可以发现","mach","manifest.lock)。","optim","o。每次进行了","pass","pass,pass","phase","phases、build","phases:用于控制从源文件到可执行文件的整个过程,如编译哪些文件,编译过程中执行哪些自定义脚本。例如","process):宏替换、删除注释、展开头文件,产生","r","refer","rule","rules:指定了不同的文件类型该如何编译。一般我们不需要修改这里的内容。如果需要对特定类型的文件添加处理方法,可以在这里添加规则。","set","settings:这一栏下是对编译的细节进行设定,包含","storyboard","swift","target","token","xcode","xcodebuild","上执行,所以执行效率很高。","中使用","中的","中间代码:codegen","中预设一些脚本(checkpod","优化","优化器(optimizer):会进行","优化工作的一个节点,一个节点做些事,一起加起来就构成了","会做一些优化工作,在","会在","内部函数的日志记录表示形式,它是","写入辅助信息(.hmap","创建","前端(frontend):语法分析,语义分析和生成中间代码。在这个过程中,也会对代码进行检查,如果发现出错的或需要警告的会标注出来。","去生成。","及","后端(backend):针对不同的架构,生成对应的机器码。","命令。","和","在这里会进行相关配置。","处理","头文件替换;macro","完整的优化和转化。附件:官方","宏展开;处理预编译指令","我们在","或","执行","拷贝","拷贝资源文件到目标包","教程。","文件","文件。","文件。如果使用","文件中有关编译的基本信息来源。","文件中的对于其他库的引用的地方进行引用,生成最后的可执行文件。也包括多个","文件并对其签名","文件转化为机器码文件,产生","文件转化为汇编语言,产生","文件进行","文件)。将项目的文件结构对应表、将要执行的脚本、项目依赖库的文件结构对应表写成文件。","文件,生成可执行文件","日志获得。大致过程为:","时,即完成了一次编译,来看下这个过程做了哪些事情。","是","是根据","是编译过程中前端的输出后端的输入。","来控制编译过程。","来管理图片,这些图片会被编译为机器码,除了","标准库","每个","汇编(asembly):把汇编语言","流进行语法静态分析(static","流)。","生成","生成可执行文件","生成可执行文件)。使用","生成字节码:如果开启了","生成汇编","生成目标文件","的具体编译过程也可以通过","的完整流程:前端(词法分析","的流程","的生成,链接期优化等工作。","的编译设置里可以设置优化级别","的编译过程","编译","编译信息写入辅助文件(如entitlements.plist),创建编译后的文件架构","编译器的作用是把我们的高级语言转换成机器可以识别的机器码,经典的设计结构如下:","编译器的概述","编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","编译过程","编译过程分为四个步骤:","编译过程梳理","编译(compliling):把前面生成的","脚本,将在编译项目前已编译好的依赖库和相关资源拷贝到包中。","词法分析:预处理完成后进入词法分析,将输入的代码转化为一系列符合特定语言的词法单元(token","语法分析","语法分析:将词法分析得到的","负责将语法树自顶向下遍历翻译成","过程的每个阶段的设置选项(包含编译、链接、代码签名、打包)。","运行预设的脚本。如","进行编译的。我们可以通过","通过解析","链接","链接需要的库。如","链接(link):对","预处理阶段:import","预编译(pre"],"iOS/Knowledge/BinaryOrder.html":["1.","app","app启动和内存加载","app,pag","ar","a、b、c,则需执行3次","cpu","default(包括首次读取),并使用3个分页。","fault","fault。","fault造成时间的损耗","fault),分配物理内存,有需要的话会从磁盘","fault),因此阻塞进程。此时就需要先加载数据到物理内存,然后再继续访问。这个对性能是有一定影响的。","fault,将指令从磁盘加载到物理内存中并进行验签操作(app","file","file(.o)顺序写文件,按照","func","io","linux","method1","method3","mmap","object","page","page:page1/page2,其中绿色的","refer","store","text","t查看.a","二进制重排","二进制重排原理","二进制重排,主要是优化我们启动时需要的函数非常分散在各个页,启动时就会多次page","会执行","但如果我们把","共享缓存功能,访问时先判断是否已缓存到主存中才通过","内存的管理和保护工具","内部的函数顺序写函数。","创建分页,将代码读取到物理内存中,并且这些分页中的部分代码不会在启动阶段被调用。如下图所示,假设我们在启动阶段需要调用","包含的所有.o。","包,可以用ar","即可,这就是二进制文件重排的核心原理。","原理","发布情况下)。","启动时候需要调用,为了执行对应的代码,系统必须进行两个","启动过程中,会调用各种函数,由于这些函数分布在各个","启动速度优化(二进制重排)","和","在app","在虚拟内存出现前,程序指令必须都在物理内存内,使得物理内存能存放的进程十分有限,并且由于是相邻存储,容易发生越界访问等情况。","在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(pag","寻址(虚拟地址)访问主存或硬盘。","就是一组.o","当我们需要访问一个内存地址时,如果虚拟内存地址对应的物理内存还未分配,cpu","排布到一起,那么只需要一个","文件的","段中且不连续,此时需要执行多次","深入探索","渠道分发的","的耗时比想象的要多:","简化问题:假设我们只有两个","系统下,进程申请内存并不是直接物理内存给我们运行,而是只标记当前进程拥有该段内存,当真正使用这段段内存时才会分配,此时的内存是虚拟内存。","编译器在生成二进制代码的时候,默认按照链接的","而对应的物理内存却不存在时,会触发一次缺页中断(page","虚拟内存是作为","诞生的,为每个进程提供了一片连续完整的虚拟内存空间,使用时先通过界限寄存器判断访问是否越界,再通过基址寄存器转换为实际内存地址。降低了内存管理的复杂度,保护每个进程的内存地址空间不会被其它进程破坏,并且实现了","读人数据。","还会进行签名验证,所以一次","进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。为了提高效率和方便管理,又对虚拟内存和物理内存又进行分页(page)。当进程访问一个虚拟内存","通过","重排","静态库文件.a","默认布局"],"iOS/Knowledge/RuntimeSuper.html":["!__objc2__","!defined(__cplusplus)","#els","#endif","#if","&&","(*)(__rw_objc_sup","(*)(id,","(class)class","(id)class_getsuperclass(objc_getclass(\"car\"))},","(id)init","(obj)","(self)","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_0,","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_1,","*)objc_msgsend)((id)self,","*)objc_msgsendsuper)((__rw_objc_super){(id)self,","*,","*/","*super,",",最终都是找到了","...)","/*","///",":","=",">getisa();","@end","@implement","[self","[super","__unsafe_unretain","_nonnul","clang","class","class.","class;","class]","class]));","class。","compat","data","father","father,然后从这个","first","header","id","id.","init];","instanc","ios:关于sup","isa","isa,所以,我们得到的结果是:son。","message.","nil;","nslog((nsstr","nslog(@\"%@\",","nsobject","nsobject.mm","nsstringfromclass(((class","nsstringfromclass([self","nsstringfromclass([sup","obj","obj)","objc","objc_class.mm","objc_msgsendsuper(struct","objc_sup","object_getclass","object_getclass(id","object_getclass(self);","old","op,","particular","pointer","receiv","receiver:","receiver;","refer","return","rewrit","runtime.h","runtime学习:面试题狙击","search","sel","sel))(void","sel_registername(\"class\"))));","self","self;","self,然后第二个就是父类的","son","specifi","struct","structure.","super","super_class","super_class:","super_class;","superclass","type","{","}","};","下面的代码输出什么?","不一样,并不是指向父类的指针,只是一个","中可以找到","中找到","中的","仅仅是一个编译指示器。但是消息的接收者","从上方可以得出,调用","从定义可以得知:当利用","作用。","依然是self。最终在","关键字(使用runtime分析)","关键词是从父类的方法列表当中找,调用父类的那个方法。但是这两种方式的事件调用者都是当前的实例","可以看到,最终这个方法返回的是,调用这个方法的","命令,将题干的代码转化为如下代码:","在","就是调用这个事件的接受者","打印当前类的","指针。","指针。那我们只需要知道在题干中的代码里面最终是谁在调用","指针的时候,获取到的依旧是","接下来,我们利用","方法就可以找到答案了。","方法,一直找到了","是类的隐藏参数,指向调用方法的这个类的实例,是一个","用","的","的定义如下:","的实现:","的方法。","的时候,本质是在调用","类开始找","编译器修饰符","而","获取","调用方法时,只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用,是去父类找实现,sup","调用方法是从该类的方法列表当中找对应方法调用,如果没有就从父类当中找;而","跟","里面传两个参数,第一个参数objc_super结构体中有两个成员:",",最后这两个方法都是调用了"],"iOS/Knowledge/RuntimeCls.html":["%d","%d\",","&&","(bool)iskindofclass:(class)cl","(bool)ismemberofclass:(class)cl","(class","(tcl","*","//","0","0;","1",":","=","==",">superclass)","@autoreleasepool","@end","@implement","@interfac","[(id)[nsobject","[(id)[sark","[nsobject","[sark","[self","argc,","argv[])","bool","char","class","class(class),也就是","class(meta)","class]","class]);","class];","class]];","class不相等。","class,","class,和","class,所以和","cls)","cls;","code","const","here...","insert","int","isa","iskindofclass","iskindofclass:[nsobject","iskindofclass:[sark","iskindofclass,第一次","iskindofclass,第一次判断先判断","ismemberofclass","ismemberofclass:[nsobject","ismemberofclass:[sark","main(int","meta","nil,","no;","no。","nslog(@\"%@\",","nslog(@\"%d","nsobject","refer","res1","res1,","res2","res2,","res3","res3,","res4","res4);","return","root","runtime学习:面试题狙击","sark","super","superclass","tcl","tcls;","yes;","{","}","不相等。第三次","不相等。第四次循环之后,退出循环,所以第三行的","不相等。第四次循环,nsobject","不等,第二次","与","与meta","与本身不等。接着第二次循环判断","也不等。","以下的代码会输出什么结果?","分析:","可以得知:","和","就是","循环,nsobject","循环,sark","执行完之后调用","指向","指向的是","指针和自己比较,是否相等。","指针和自己比较,若不等则继续取","指针所指的","是否相等。还是从那张图上面我们可以看到:root","是否相等,之前讲到","是拿到自己的","本身。所以第二次循环相等,于是第一行","的","的super","的执行过程是拿到自己的","的时候放了一张很详细的图,从图上我们也可以看出,nsobject","结果:","输出为","输出应该为yes。","进行比较。如此循环。","首先,我们先去查看一下题干中两个方法的源码:"],"Network/TCPMessageFrame.html":["1","1、要发送的数据大于tcp发送缓冲区剩余空间大小,将会发生拆包。","2","2、待发送数据大于mss(最大报文长度),tcp在传输前将进行拆包。","3","3、要发送的数据小于tcp发送缓冲区的大小,tcp将多次写入缓冲区的数据一次发送出去,将会发生粘包。","4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。","framing),我们重新回顾一下粘包问题出现的核心原因:","ip","json","nagl","refer","socket","tcp","tcp粘包","tcp粘包,拆包及解决方法、丢包的原因及解决办法","—","为什么","传输性能的算法。因为网络","判断消息是否终结。","协议中的粘包是如何发生的:","协议以及应用层协议出发,分析我们经常提到的","协议传输数据时,tcp","协议发送","协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从","协议头带来的额外开销,但是使用该算法也可能会导致应用层协议多次写入的数据被合并或者拆分发送,当接收方从","协议数据传输的核心机制","协议是基于字节流的传输层协议,其中不存在消息和数据包的概念;","协议是面向字节流的协议,它可能会组合或者拆分应用层协议的数据;","协议是面向连接的、可靠的、基于字节流的传输层通信协议,应用层交给","协议有粘包问题","协议栈中读取数据时会发现不相关的数据出现在了同一个数据段中,应用层协议可能没有办法对它们进行拆分和重组。","协议的定义并且缺乏设计应用层协议的经验。本文将从","协议的数据并不会以消息为单位向目的主机传输,这些数据在某些情况下会被组合成一个数据段发送给目标的主机。","协议的错误理解,忽略了","协议粘包问题","协议粘包问题是因为应用层协议开发者的错误设计导致的,他们忽略了","协议造成的,它的出现是因为应用层协议设计者对","发生tcp粘包或拆包有很多原因,现列出常见的几点,","和","在应用层协议中,最常见的两种解决方案就是基于长度或者基于终结符(delimiter)。","基于字节流,其本身不包含消息、数据包等概念,所有数据的传输都是流式的,需要应用层协议自己设计消息的边界,即消息帧(messag","带宽有限,它不会将小的数据块直接发送到目的主机,而是会在本地缓冲区中等待更多待发送的数据,这种批量发送数据的策略虽然会影响实时性和网络延迟,但是能够降低网络拥堵的可能性并减少额外开销。","应用层协议没有使用基于长度或者基于终结符的消息边界,导致多个消息的粘连;","应用层协议的没有定义消息的边界导致数据的接收方无法拼接数据;","当应用层协议使用","总结","数据,接收方可以根据接收到的数据是否能够被解析成合法的","消息边界","算法是一种通过减少数据包的方式提高","算法确实能够在数据包较小时提高网络带宽的利用率并减少","粘包和分包问题","粘包并不是","缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。","除了这两种方式之外,我们可以基于特定的规则实现消息的边界,例如:使用"],"Network/Https.html":["(tls)","+","1.","1.0,","1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。","1)客户端发起一个http请求,连接到服务器的443端口。","2.","2.0,","2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。","2)服务端把自己的信息以数字证书的形式返回给客户端(证书内容有密钥公钥,网站地址,证书颁发机构,失效日期等)。证书中有一个公钥来加密信息,私钥由服务器持有。","3.","3.0","3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。","3)验证证书的合法性","4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。","4)生成随机密码(rsa签名)","5)生成对称加密算法","=","authent","authority,缩写","ca","ca)签发的服务器公开证书,证书中包含了公钥。客户端会使用这个公钥加密接下来的握手过程,直到协商生成一个新的对称密钥。证书中还包含了该证书所应用的域名范围(common","clienthello","cn),用于客户端验证身份。","code)","finish","happen","hash","hash算法","http","https协议:点外卖的过程原来这么复杂","https和http的区别主要如下:","https是安全的http.","https的验证流程","https运行流程","https都是用了哪些加密手段?","http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了ssl(secur","h、ecc等。在客户端与服务器相互验证的过程中用的就是非对称加密算法","key)并用公钥加密,让服务端用私钥解密,解密后就用这个对称密钥进行传输了,并且能够说明服务端确实是私钥的持有者。","layer","layer)协议用于对http协议传输的数据进行加密","mac(messag","name,简称","over","random","randomc","refer","rsa密码体制就是公钥密码体制,rsa的一对公钥和私钥都可以用来加密和解密。","secur","serverhello","socket","ssl","ssl/tl","ssl。ssl","tl","tls,是一种在加密信道进行","transport","zh_cn):","|","主要包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。","从上面的过程可以看到,tl","从现在开始,接下来整个","会话秘钥","会话都使用对称秘钥进行加密,传输应用层(http)内容","值,然后解密客户端发送来的信息,检查这两个值是否对应。如果对应,就向客户端发送一个","内容传输的协议。","列表,验证服务器端的证书是否可信。如果认为可信(具体的验证过程在下一节讲解),客户端会生成一串伪随机数,使用服务器的公钥加密它。这串随机数会被用于生成新的对称密钥","即","名称了。","后续通讯过程是用对称加密","在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。","基本过程","如果验证通过,或用户接受了不受信任的证书,浏览器就会生成一个随机的对称密钥(session","客户端发送一个","客户端收到服务器的响应后会先验证证书的合法性(证书中包含的地址与正在访问的地址是否一致,证书是否过期)。","客户端根据自己的信任","对称加密","对称加密算法(私钥加密)","数字证书","有aes、des、3des、tdea、blowfish、rc4、rc5、idea等。加密使用的密钥和解密使用的密钥是同一个密钥。由于加密算法是公开的,若要保证安全性,密钥不能对外公开。通常用来加密消息体。","有md5,sha1,sha256。用来确认信息没有被篡改。主要用来生成签名,签名是加在信息后面的,可以证明信息没有被修改过。一般对信息先做hash计算得到一个hash值,然后用私钥加密(这个加密一般是非对称加密)作为一个签名和信息一起发送。接收方收到信息后重新计算信息的hash值,且和信息所附带的hash值解密后进行对比。如果一样则认为没有被修改,反之则认为修改过,不做处理。可能有一种情况,黑客修改了信息并把hash值也改了,从而让他们相匹配。所以hash值一般都是加密后(生成签名)再和信息一起发送,确保hash值不会被修改。","有rsa、dsa/dss、elgamal、rabin、d","服务器端使用自己的私钥解密上面提到的随机数,然后使用这串随机数生成自己的对称主密钥","服务器端向客户端返回一个","服务器端生成自己的","比如公钥加密后只能由私钥解密;私钥加密后只能由公钥解密。且一方加密的内容只能由对方进行解密。","消息到服务器端,消息中同时包含了它的","消息给服务器端,使用对称密钥加密这次通讯的一个散列值","消息,也使用协商好的对称密钥加密","消息,消息中包含了服务器端的","版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的","版本进行支持了,因此这里我们就统一使用","版本,可用的加密算法和压缩算法。","版本,服务器所选择的加密和压缩算法,以及数字证书认证机构(certif","的","的传输会使用","的基本过程如下","的完整过程需要三个算法(协议),密钥交互算法,对称加密算法,和消息认证算法(tl","的早期版本叫做","第15讲","这一部分看的比较多,主要归纳了一下,分5条。","进行完整性检查)。","连接建立过程中是用非对称加密,非对称加密很耗时","连接经历流程是怎么样的","非对称加密","非对称加密算法(公钥加密)","预主秘钥","验证完服务端身份后,客户端生成一个对称加密的算法和对应密钥,以公钥加密之后发送给服务端。此时被黑客截获也没用,因为只有服务端的私钥才可以对其进行解密。之后客户端与服务端可以用这个对称加密算法来加密和解密通信内容了。","(取自"],"Network/TCPHandShake.html":["+","+1","1","1.2","1.3","1.4","1.5","1s,2s,4s,8s......","2.1","2.2","2.3","2.4","2msl等待状态","ack","ack包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传。如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。","ack状态的b收不到对已发送的fin+ack报文段的确认,服务端超时重传fin+ack报文段,而客户端能在2msl时间内收到这个重传的fin+ack报文段,接着客户端重传一次确认,重新启动2msl计时器,最后客户端和服务端都进入到closed状态,若客户端在tim","ack状态的服务器收不到对fin","ack的确认报文。服务器会超时重传这个fin","ack,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2msl,而是在发送完ack之后直接释放关闭,一但这个ack丢失的话,服务器就无法正常的进入关闭连接状态。","close","close_wait","close)造成的。所谓的半关闭,其实就是tcp提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。","cookies技术","dos/ddo","establish","fin","fin_wait1","grep","handshake),客户端或服务器均可主动发起挥手动作。","handshake)其实就是指建立一个tcp连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立tcp连接,并同步连接双方的序列号和确认号,交换tcp窗口大小信息。","isn","isn(c)。此时客户端处于","isn(initi","isn(s)。同时会把客户端的","last_ack","lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。","lifetime),它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为tcp报文段以ip数据报在网络内传输,而ip数据报则有限制其生存时间的ttl字段。","linux/unix","listen","msl是maximum","n","netstat","number)是固定的吗?","number),以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果","open)。","open),接收这个syn并发回下一个syn的另一端执行被动打开(pass","p","refer","segment","sequenc","syn","syn_rcvd","syn_recv","syn_send","syn攻击是什么?","syn,此时服务器处于","tcp","tcphandshak","time_wait","time_wait状态也成为2msl等待状态。每个具体tcp实现必须选择一个报文段最大生存时间msl(maximum","timeout)时间","wait状态不等待一段时间,而是发送完ack报文段后立即释放连接,则无法收到服务端重传的fin+ack报文段,所以不会再发送一次确认报文段,则服务端无法正常进入到closed状态。","way","|","。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它做错误的解释。","三次握手","三次握手和四次挥手","三次握手的其中一个重要功能是客户端和服务端交换","三次握手过程中可以携带数据吗?","三次握手(three","上可以使用系统自带的","两个理由:","为了保证客户端发送的最后一个ack报文段能够到达服务器。因为这个ack有可能丢失,从而导致处在last","为什么time_wait状态需要经过2msl才能返回到close状态?","为什么这样呢?大家可以想一个问题,假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的","为什么需要三次握手,两次不行吗?","之后,一样发送一个","之后,会发送","之后,就会处于","也就是说,第一次握手不可以放数据,其中一个简单的原因就是会让服务器更加容易受到攻击了。而对于第三次的话,此时客户端已经处于","什么是半连接队列?","作为","作为ack","作为自己","作者:猿人谷","保证客户端发送的最后一个ack报文段能够到达服务端。","其实第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据","刚开始双方都处于","刚开始客户端处于","即发出连接释放报文段(fin=1,序号seq=u),并停止再发送数据,主动关闭tcp连接,进入fin_wait1(终止等待1)状态,等待服务端的确认。","即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ack=1,seq=u+1,ack=w+1),客户端进入time_wait(时间等待)状态。此时tcp未释放掉,需要经过时间等待计时器设置的时间2msl后,客户端才进入closed状态。","即服务端收到连接释放报文段后即发出确认报文段(ack=1,确认号ack=u+1,序号seq=v),服务端进入close_wait(关闭等待)状态,此时的tcp处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入fin_wait2(终止等待2)状态,等待服务端发出的连接释放报文段。","即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(fin=1,ack=1,序号seq=w,确认号ack=u+1),服务端进入last_ack(最后确认)状态,等待客户端的确认。","发送第一个syn的一端将执行主动打开(act","命令来检测","四次挥手","四次挥手释放连接时,等待2msl的意义?","因为当服务端收到客户端的syn连接请求报文后,可以直接发送syn+ack报文。其中ack报文是用来应答的,syn报文是用来同步的。但是关闭连接时,当服务端收到fin报文时,很可能并不会立即关闭socket,所以只能先回复一个ack报文,告诉客户端,\"你发的fin报文我收到了\"。只有等到我服务端所有的报文都发送完了,我才能发送fin报文,因此不能一起发送。故需要四次挥手。","因此,需要三次握手才能确认双方的接收与发送能力是否正常。","在socket编程中,任何一方执行close()操作即可产生挥手操作。","在socket编程中,客户端执行connect()时,将触发三次握手。","在确认报文段中syn=1,ack=1,确认号ack=x+1,初始序号seq=y。","增加最大半连接数","如客户端发出连接请求,但因连接请求报文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端共发出了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,但是第一个丢失的报文段只是在某些网络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务端,此时服务端误认为客户端又发出一次新的连接请求,于是就向客户端发出确认报文段,同意建立连接,不采用三次握手,只要服务端发出确认,就建立新的连接了,此时客户端忽略服务端发来的确认,也不发送数据,则服务端一致等待客户端发送数据,浪费资源。","客户端在发送完最后一个ack报文段后,再经过2msl,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,使下一个新的连接中不会出现这种旧的连接请求报文段。","对一个具体实现所给定的msl值,处理的原则是:当tcp执行一个主动关闭,并发回最后一个ack,该连接必须在time_wait状态停留的时间为2倍的msl。这样可让tcp再次发送最后的ack以防这个ack丢失(另一端超时并重发最后的fin)。","常见的防御","建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由tcp的半关闭(half","弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。","当一端为建立连接而发送它的syn时,它为连接选择一个初始序号。isn随时间而变化,因此每个连接都将具有不同的isn。isn可以看作是一个32比特的计数器,每4ms加1","当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。","报文中放入大量的数据。因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发","报文之后才会进入","报文之后,也处于","报文之后,会以自己的","报文之后,会发送一个","报文之后,就处于关闭连接了,处于","报文作为应答,且把服务端的序列号值","报文作为应答,并且也是指定了自己的初始化序列号","报文的序列号值,此时客户端处于","报文的序列号值,表明已经收到客户端的报文了,此时服务端处于","报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。","报文,且把客户端的序列号值","报文,且指定一个序列号。此时服务端处于","报文,并指明客户端的初始化序列号","报文,当然,也是一样把服务器的","报文,报文中会指定一个序列号。此时客户端处于","报文,此时客户端处于","挥手为什么需要四次?","收到一个fin只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入time_wait是正常的,服务端通常执行被动关闭,不会进入time_wait状态。","攻击。","攻击是一种典型的","攻击的方法有如下几种:","攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源ip地址是随机的,基本上可以断定这是一次syn攻击。在","是动态生成的。","是固定的,攻击者很容易猜出后续的确认号,因此","服务器发送完syn","服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到syn洪泛攻击。syn攻击就是client在短时间内伪造大量不存在的ip地址,并向server不断地发送syn包,server则回复确认包,并等待client确认,由于源地址不存在,因此server需要不断重发直至超时,这些伪造的syn包将长时间占用未连接队列,导致正常的syn请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。syn","服务器第一次收到客户端的","来源:掘金","检测","注意,每次重传等待的时间不一定相同,一般会是指数增长,例如间隔时间为","状态。","状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据也没啥毛病。","状态。服务器收到","状态。需要过一阵子以确保服务端收到自己的","状态,假如是客户端先发起关闭请求。四次挥手的过程如下:","状态,服务端收到","状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。","状态,此时,双方已建立起了连接。","理论上,四个报文都发送完毕,就可以直接进入close状态了,但是可能网络是不可靠的,有可能最后一个ack丢失。所以time_wait状态就是用来重发可能丢失的ack报文。","的值,表示已经收到了服务端的","的值,表示自己已经收到了客户端的","的状态。","的状态,服务端处于","的连接的拆除需要发送四个包,因此称为四次挥手(four","确认报文段ack=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ack报文段可以携带数据,不携带数据则不消耗序号。","第一次挥手:客户端发送一个","第一次握手:客户端发送网络包,服务端收到了。","第一次握手:客户端给服务端发一个","第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给","第三次握手:客户端发包,服务端收到了。","第三次握手:客户端收到","第二次挥手:服务端收到","第二次握手:服务器收到客户端的","第二次握手:服务端发包,客户端收到了。","第四次挥手:客户端收到","缩短超时(syn","著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。","试想如果是用两次握手,则会出现下面这种情况:","过滤网关防护","这个ack报文段有可能丢失,使得处于last","这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。","这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。","这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。","这种2msl等待的另一个结果是这个tcp连接在2msl等待期间,定义这个连接的插口(客户的ip地址和端口号,服务器的ip地址和端口号)不能再被使用。这个连接只能在2msl结束后才能再被使用。","这里在补充一点关于syn","进行三次握手:","重传次数的问题:","链接:https://juejin.cn/post/6844903958624878606","防止“已失效的连接请求报文段”出现在本连接中。","首部的同步位syn=1,初始序号seq=x,syn=1的报文段不能携带数据,但要消耗掉一个序号。"],"Network/TCPUDP.html":["&","1.","1、tcp面向连接(如打电话要先拨号建立连接);udp是无连接的,即发送数据之前不需要建立连接","2.","2、tcp提供可靠的服务。也就是说,通过tcp连接传送的数据,无差错,不丢失,不重复,且按序到达;udp尽最大努力交付,即不保证可靠交付","3.","3、tcp面向字节流,实际上是tcp把数据看成一连串无结构的字节流;udp是面向报文的","4.","4、每一条tcp连接只能是点到点的;udp支持一对一,一对多,多对一和多对多的交互通信","5、tcp首部开销20字节;udp的首部开销小,只有8个字节","6、tcp的逻辑通信信道是全双工的可靠信道,udp则是不可靠信道","ip","tcp","tcp&udp","tcp(传输控制协议)","tcp/udp区别以及udp如何实现可靠传输","tcp。","tcp一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。","tcp不像udp一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。","tcp与udp区别总结","tcp主要靠停止等待协议实现的","tcp允许通信双方的应用程序在任何时候都能发送数据,因为tcp连接的两端都设有缓存,用来临时存放双向通信的数据。当然,tcp可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于mss)","tcp协议的特点","tcp和udp是osi模型中的运输层中的协议。tcp提供可靠的通信传输,而udp则常被用于让广播和细节控制交给应用的通信传输。","tcp和udp的比较","tcp提供全双工通信","udp","udp(用户数据报协议)","udp协议的特点","udp如何实现可靠传输","udp是面向报文的","udp没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如ip电话,实时视频会议等)","不可靠传输,不使用流量控制和拥塞控制","不可靠性","不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说","为什么要进行三次握手","主要需要保证报文无差错,不丢失,不重复,按序到达。","仅支持单播传输","传输方式","具体来说就是:","再者网络环境时好时坏,但是","功能:","协议,udp","协议,然后就传递给网络层了","发送方的udp对应用程序交下来的报文,在添加首部后就向下交付ip层。udp对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文","只会给数据增加一个","只去除","只能是一对一通信","可靠传输","可靠传输,使用流量控制和拥塞控制","因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用","在发送端,应用层将数据传递给传输层的","在接收端,网络层将数据传递给传输层,udp","复用,分用,差错检测","头标识下是","如何保证可靠传输","对于可靠传输,判断丢包,误码靠的是tcp的段编号以及确认号。tcp为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ack);如果发送端实体在合理的往返时延(rtt)内未收到确认,那么对应的数据(假设丢失了)将会被重传。","对比","尽最大努力交付","并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。","应答确认","当网络出现拥塞的时候,tcp能够减小向网络注入数据的速率和数量,缓解拥塞","报文头就传递给应用层,不会任何拼接操作","拥塞控制","提供了单播,多播,广播的功能。","提供拥塞控制","支持一对一,一对多,多对一和多对多交互通信","数据传输前需要建立连接","数据传输结束后断开连接","无差错情况","无连接","是不需要和","是否可靠","是否连接","有单播,多播,广播的功能","有序接受","每条tcp传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。","流量控制","滑动窗口流量控制等机制","特点","特点:","由于在传输层udp已经是不可靠的连接,那就要在应用层自己实现一些保障可靠传输的机制","确认丢失","确认迟到","等于说要在传输层的上一层(或者直接在应用层)实现tcp协议的可靠数据传输机制,比如使用udp数据包+序列号,udp数据包+时间戳等方","简单来讲,要使用udp来构建可靠的面向连接的数据传输,就要实现类似于tcp协议的","而不是","超时重传","超时重传(定时器)","超时问题,客户端超时重传策略,又发一次sync,造成多次建立连接","连接对象个数","适用于实时应用(ip电话、视频会议、直播等)","适用于要求可靠传输的应用,例如文件传输","适用场景","面向字节流","面向报文","面向报文(既不合并,也不拆分)","面向无连接","面向连接","面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。","首先","首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。","首部开销","首部开销小,仅8字节","首部最小20字节,最大60字节","(seq/ack应答机制)","(添加包序号)","(滑动窗口协议)"],"Network/HTTPDNS.html":[">ip】的映射方式,那就是httpdns。","dn","dns造成的域名劫持问题和调度不精准问题。","dns,能够避免local","domain","http","httpdn","httpdns使用http协议进行域名解析,代替现有基于udp的dns协议,域名解析请求直接发送到阿里云的httpdns服务器,从而绕过运营商的loc","httpdns是一款递归dns服务,与权威dns不同,httpdns并不具备决定解析结果的能力,而是主要负责解析过程的实现。","httpdns是通过ip直接请求http获取服务器a记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟。httpdns和localdns最大的区别在与:前者使用http协议进行域名解析;后者协议运行在udp协议之上,使用端口号53。","httpdns深度解析","ip","ip列表更换方便。","ip直连方案有下面几大优势:","local","refer","ttl","传统的dns系统存在很多问题,最常见的就是dns劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是dns劫持,因为dns解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按","使用httpdns,可以有效解决传统dns的dns劫持、访问时间延迟等问题。","劫持:由于","平均访问延迟下降:由于是","摒弃了系统dns,减少外界干扰,摆脱dns劫持困扰。","是通过","用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。","直接访问省掉了一次","直接请求","缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名","自建dns更新时机可以控制。","获取服务器","解决的问题","解析过程,所以从根本避免了劫持问题。","解析过程,通过智能算法排序后找到最快节点进行访问。","记录地址,不存在向本地运营商询问"],"Network/CA.html":["(jianshu.com)","(zhihu.com)","authority)机构给服务端进行颁发,ca机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。","ca","ca是证书的签发机构,它是公钥基础设施(publ","ca认证链","ca证书","ca证书详解","infrastructure,pki)的核心。ca是负责签发证书、认证证书、管理已颁发证书的机关。","key","refer","ssl如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到ca证书","ssl的加密机制:在使用ssl的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为des、3des,aes等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有rsa、elgamal、ecc等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请网上搜索相应的资料。","一个证书中含有三个部分:\"证书内容,散列算法,加密密文\",证书内容会被散列算法hash计算出hash值,然后使用ca机构提供的私钥进行rsa加密。","一文看懂https、证书机构(ca)、证书、数字签名、私钥、公钥","为了防止这种情况,数字证书就出现了,它其实就是基于上上面所说的私钥加密数据,公钥解密来验证其身份。","使用用户身份信息生成数字签名","信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如sha1,md5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。","在传输的过程中,客户端如何获得服务器端的公钥呢?当时是服务器分发给客户端,如果一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。","对称加密方式","当客户端发起请求时,服务器将该数字证书发送给客户端,客户端通过ca机构提供的公钥对加密密文进行解密获得散列值(数字签名),同时将证书内容使用相同的散列算法进行hash得到另一个散列值,比对两个散列值,如果两者相等则说明证书没问题。","拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证","数字签名:当我们去银行办理业务时,会在业务单上签下自己的名字,这个叫签名。而在网络通信中,签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确","数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?","数字证书是由权威的ca(certif","数据加密","根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的,若终端信任根证书,则信任根证书生成的其他证书。终端没有安装相应https证书则不能访问https网站。","的签字从而信任","的证书(含公钥),用以验证它所签发的证书。","知乎","简书","证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循x.509国际标准。",",任何人都可以得到"],"Struct/BinaryTree.html":["(1)","(2)","(3)","*bitree;","*lchild,","*rchild;//左右孩子指针","/*中序遍历左子树*/","/*二叉树的中序遍历递归算法*/","/*二叉树的前序遍历递归算法*/","/*二叉树的后序遍历递归算法*/","/*先后序遍历左子树*/","/*再先序遍历左子树*/","/*再后续遍历右子树*/","/*显示结点数据,可以更改为其他对结点操作*/","/*最后中序遍历右子树*/","/*最后先序遍历右子树*/","1","1)","1.1","12","1个节点。(k>=1)","1)n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。","1)叶子只能出现在最下一层。出现在其它层就不可能达成平衡。","1)叶子结点只能出现在最下层和次下层。","1)在二叉树的第i层上最多有2(i","1)已知前序遍历序列和中序遍历序列,确定一棵二叉树。","1)有且仅有一个特定的称为根(root)的结点;","1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。","1,不行,给我调整!","1,这时还算平衡,这时再添加一个元素","2","2.1","2.2","24","28","28,然后变成这样:","28:","2i","2i+1>n,则该结点无右孩子结点,","2i>n,则该结点无左孩子,","2)m>0时,子树的个数没有限制,但它们一定是互不相交的。","2)二叉树中如果深度为k,那么最多有2(k)","2)左子树和右子树是有顺序的,次序不能任意颠倒。","2)已知后序遍历序列和中序遍历序列,确定一棵二叉树。","2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集t1、t2、......、tn,其中每一个集合本身又是一棵树,并且称为根的子树。","2)最下层的叶子结点集中在树的左部。","2)非叶子结点的度一定是2。","3","3.1","3.13","3.2","3.3","3.4","3.5","3.6","3.7","3.7.1","3.7.2","3.8","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","30,它就需要在","37","3)n0=n2+1","3)倒数第二层若存在叶子结点,一定在右部连续位置。","3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。","3)在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。","4)在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。","4)如果结点度为1,则该结点只有左孩子,即没有右子树。","5)同样结点数目的二叉树,完全二叉树深度最小。","5)若对含",">",">data);",">lchild);",">rchild);",">右子树,中序是",">右子树,后序是",">左子树",">父节点","[i/2]","abcdefghij","abdhiejcfg","bitnod","bitnode,","bitnode{","data;//数据","hdibjeafcg","hidjebfgca","h右子树为空,则返回至d,此时第二次到达d,故输出d;","h右子树为空,则返回至h,此时第三次到达h,故输出h;","i=1,则该结点是二叉树的根,无双亲,","if(t==null)","inordertraverse(bitre","inordertraverse(t","i为叶子结点,则返回到d,d左右子树已经访问完毕,则返回到b,进而到b右子树,第一次到达e,故输出e;","n","n0表示度数为0的节点数,n2表示度数为2的节点数。","o(logn),性能已经相当好了。","postordertraverse(bitre","postordertraverse(t","preordertraverse(bitre","preordertraverse(t","printf(\"%c\",","refer","return;","struct","t","t)","telemtyp","typedef","void","{","}","。(i>=1)","一棵典型的二叉树如下图所示:","丑了点,但的确保持了平衡。","个结点的完全二叉树从上到下且从左至右进行","个节点","中序遍历","中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。","为它的右子树后,根节点的左右子树高度差为","为根节点的树,明显右边太重,左边太稀,想要保持平衡就","为根节点,当添加","也就是说,树的两个左子树的高度差别不会太大。","二叉树","二叉树基础","二叉树性质","二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。","二叉树特点","二叉树的存储结构","二叉树的访问次序可以分为四种:","二叉树的遍历一个重点考查的知识点。","二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。","二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。","二叉树遍历","二叉链表","于是我们就需要调整当前的树结构,让它进行旋转。","从根结点出发,则第一次到达结点a,不输出a,继续向左访问,第一次访问结点b,不输出b;继续到达d,h;","从根结点出发,则第一次到达结点a,故输出a;","以","例如:对于图3.8描述的二叉树:","例题:若一棵二叉树的前序遍历为abcdef,中序遍历为cbaedf,请画出这棵二叉树。","依次类推,平衡二叉树在添加和删除时需要进行旋转保持整个树的平衡,内部做了这么复杂的工作后,我们在使用它时,插入、查找的时间复杂度都是","其中浅色结点表示结点不存在。那么图3.8所示的二叉树的顺序存储结构如图3.9所示:","其中,∧表示数组中此位置没有存储结点。此时可以发现,顺序存储结构中已经出现了空间浪费的情况。","分析:前序遍历第一个输出结点为根结点,故a为根结点。早中序遍历中根结点处于左右子树结点中间,故结点a的左子树中结点有cb,右子树中结点有edf。","分钟理解完全二叉树、平衡二叉树、二叉查找树","则3.13所示二叉树的中序遍历输出为:","则3.13所示二叉树的前序遍历输出为:","则图3.13所示二叉树的后序遍历输出为:","则图3.6所示的二叉树可以采用图3.12表示。","到","到达h,h左子树为空,则返回到h,此时第二次访问h,不输出h;","到达h,h左子树为空,则返回到h,此时第二次访问h,故输出h;","前序遍历","前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。","前,中,后只是指父节点遍历的顺序,前序就是","变成根节点,12","右子树","右斜树","右旋成","后序遍历","后序遍历中最后访问的为根结点,因此可以按照上述同样的方法,找到根结点后分成两棵子树,进而继续找到子树的根结点,一步步确定二叉树的形态。","后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。","向e左子树,故输出j;","否则,编号为","否则,编号为2i+1","因为最后一个节点加到了右子树的右子树,就要想办法给右子树的左子树加点料,因此需要逆时针旋转,将","图3.10","图3.11","图3.12","图3.12中采用一种链表结构存储二叉树,这种链表称为二叉链表。","图3.13所示二叉树中序访问如下:","图3.13所示二叉树后序访问如下:","图3.13所示二叉树访问如下:","图3.14","图3.15.png","图3.2","图3.3","图3.5","图3.6","图3.6所示的一棵完全二叉树采用顺序存储方式,如图3.7表示:","图3.7","图3.8.png","图3.9","如图3.14所示:","子树也必须是一颗平衡二叉树","完全二叉树","完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1","定义","定义结点代码:","对于二叉树的遍历有一类典型题型。","就是度为0的结点","层序遍历","层次遍历","层次遍历就是按照树的层次自上而下的遍历二叉树。针对图3.13所示二叉树的层次遍历结果为:","层次遍历的详细方法可以参考二叉树的按层遍历法。","左子树","左斜树","平衡二叉树","平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:","平衡二叉树要么是一棵空树","当到达叶子结点h,返回到d,此时已经是第二次到达d,故不在输出d,进而向d右子树访问,d右子树不为空,则访问至i,第一次到达i,则输出i;","得让位给","按照同样的分析方法,对a的左右子树进行划分,最后得出二叉树的形态如图3.15所示:","按照同样的访问规则,继续输出c、f、g;","按照同样规则继续访问,输出j、e、a、f、c、g;","按照同样规则继续访问,输出j、e、b、f、g、c,a;","按照同样规则,输出d,输出h;","斜树","斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。","既然顺序存储不能满足二叉树的存储需求,那么考虑采用链式存储。由二叉树定义可知,二叉树的每个结点最多有两个孩子。因此,可以将结点数据结构定义为一个数据和两个指针域。表示方式如图3.11所示:","树","树(tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:","此外,树的定义还需要强调以下两点:","注:已知前序遍历序列和后序遍历序列,不可以唯一确定一棵二叉树。","注:满二叉树一定是完全二叉树,但反过来不一定成立。","深入学习二叉树(一)","满二叉树","满二叉树的特点有:","满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。","父节点","特点:","由d返回至b,第二次到达b,故输出b;","由h返回至d,第二次到达d,不输出d;","由二叉树定义以及图示分析得出二叉树有以下特点:","由图3.10可以看出,对于这种右斜树极端情况,采用顺序存储的方式是十分浪费空间的。因此,顺序存储一般适用于完全二叉树。","由图3.7可以看出,当二叉树为完全二叉树时,结点数刚好填满数组。","的右子树,还算平衡:","的左子树,就变成了这样(有点丑哈哈):","的左子树:","的结点为其双亲结点;","的结点为其右孩子结点。","的结点为其左孩子结点;","的结点有如下特性:","的编号,则对完全二叉树中任意一个编号为","结点拥有的子树数目称为结点的度。","结点的度","继续向左访问,第一次访问结点b,故输出b;","继续访问至i,i左右子树均为空,故第三次访问i时,输出i;","至","节点是数据结构中的基础,是构成复杂数据结构的基本组成单位。","节点概念","节点的度:结点拥有的子树数目称为结点的度,叶子结点","若","虽然二叉树的遍历过程看似繁琐,但是由于二叉树是一种递归定义的结构,故采用递归方式遍历二叉树的代码十分简单。","要么保证左右子树的高度之差不大于","觉得不平衡了,我左孩子一个都没有,右边都有俩了,超过了之前说的最大为","返回至d,此时第三次到达d,故输出d;","这时又恢复了平衡,再添加","这时如果再添加一个","这时我们可以看到这个树又不平衡了,以","这时根节点","递归实现代码如下:","遍历常考考点","那么对于图3.3所示的右斜树极端情况对应的顺序存储结构如图3.10所示:","那么当二叉树不为完全二叉树时,采用顺序存储形式如何呢?","那我们接着看前面的极端情况的二叉排序树,现在用它来构造一棵平衡二叉树。","重点概念","顺序存储"],"Algorithm/BinaryInsertSort.html":["(int","(n","(一)概念及实现","(三)稳定性","(二)算法复杂度",")","+","//","1)","1)/2加上","1;","1]","1]为有序区,a[i…n]","1]的元素后移,并将a[i]赋值给a[j]。","1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left","2)","3)","=",">=","advanceinsertsortwithbinarysearch(int[]","arr)","arr[j","arr[j];","arr[low]","for(int","high","j","low","low;","mid","public","refer","static","temp)","temp;","void","{","}","。即o(log2n)","为无序区。(i从1开始)","二分查找排序是稳定的,不会改变相同元素的相对顺序。","二分查找插入位置,因为不是查找相等值,而是基于比较查插入合适的位置,所以必须查到最后一个元素才知道插入位置。","二分查找插入排序的原理:是直接插入排序的一个变种,区别是:在有序区中查找新元素插入位置时,为了减少元素比较次数提高效率,采用二分查找算法进行插入位置的确定。","二分查找插入排序耗时的操作有:比较","二分查找最坏时间复杂度:当2^x>=n时,查询结束,所以查询的次数就为x,而x等于log2n(以2为底,n的对数)。即o(log2n)","二分法插入排序","二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i","从实现原理可知,二分查找插入排序是在原输入数组上进行后移赋值操作的(称“就地排序”),所需开辟的辅助空间跟输入数组规模无关,所以空间复杂度为:o(1)","从无序区中取出第一个元素,即a[i],使用二分查找算法在有序区中查找要插入的位置索引j。","优化的直接插入排序(二分查找插入排序,希尔排序)","元素相同时,也插入在后面的位置","具体如下(实现为升序):","后移赋值。时间复杂度如下:","将a[j]到a[i","将原序列分成有序区和无序区。a[0…i","所以,二分查找排序比较次数为:x=log2n","时间复杂度:o(n^2)","最坏情况:查找的位置是有序区的第一个位置,则需要的比较次数为:log2n,需要的赋值操作次数为n(n","最好情况:查找的位置是有序区的最后一位后面一位,则无须进行后移赋值操作,其比较次数为:log2n","次。即o(n^2)","渐进时间复杂度(平均时间复杂度):o(n^2)","空间复杂度:o(1)","设数组为a[0…n]。","重复步骤2~3,直到无序区元素为0。"],"Algorithm/BinarySort.html":["!=","\"\"\"","#","'''","+=","1","144.","145.","1]","1、申请一个新的栈,记为stack,申请一个变量cur,初始时令stack为空,cur等于头节点。","1、申请一个栈,记为s1,然后将头节点压入s1中。","1、申请一个栈,记为stack,将头节点压入stack,同时设置两个变量h和c。在整个流程中,h代表最近一次弹出并打印的节点,c代表当前stack的栈顶节点,初始时令h为头节点,c为null。","1、首先申请一个新的栈,记为stack。","2、从s1中弹出的节点记为cur,然后先把cur的左孩子压入s1中,然后把cur的右孩子压入s1中。","2、先把cur节点压入栈中,对以cur节点为头的整棵子树来说,依次把整棵树的左边界压入栈中,即不断令cur=cur.left,然后重复步骤2。","2、每次令c等于当前stack的栈顶节点,但是不从stack中弹出节点,此时分以下三种情况。","2、然后将头节点head压入stack中。","3、一直重复步骤2,直到stack为空,过程停止。","3、不断重复步骤2,直到发现cur为空,此时从stack中弹出一个节点,记为node。打印node的值,并让cur=node.right,然后继续重复步骤2。","3、在整个过程中,每一个从s1中弹出的节点都放进第二个栈s2中。","3、每次从stack中弹出栈顶节点,记为cur,然后打印cur节点的值。如果cur右孩子不为空的话,将cur的右孩子先压入stack中。最后如果cur的左孩子不为空的话,将cur的左孩子压入stack中。","4、不断重复步骤2和步骤3,直到s1为空,过程停止。","4、不断重复步骤3,直到stack为空,全部过程结束。","4、当stack为空并且cur为空时,整个过程结束。","5、从s2中依次弹出节点并打印,打印的顺序就是后序遍历的顺序了。","94.",":rtype:",":type","=","==",">",">右",">右子树,中序是",">右子树,后序是",">左",">左子树",">根",">父节点","[]","[root]","__init__(self,","bf","bfs(root):","break","class","cur","cur.left","cur.left:","cur.right","cur.right:","cur:","def","else:","http://www.ichenfei.com/2019/05/02/%e4%ba%8c%e5%8f%89%e6%a0%91%e7%9a%84%e5%89%8d%e4%b8%ad%e5%90%8e%e5%ba%8f%e9%81%8d%e5%8e%86%e7%9a%84%e9%9d%9e%e9%80%92%e5%bd%92%e5%ae%9e%e7%8e%b0(python)/","index","inordertraversal(self,","int.","l","l:","l=none,","leetcod","len(lst):","list","list()","list2tn(lst,","list[int]","list[int]:","lst:","lst[i]","need","needs:","needs=none):","nit","nit.append(cur.right)","nit.append(root)","node","node.right","none","none:","postordertraversal(self,","preordertraversal(self,root):","prev","prev:","provid","queue","queue.append(l)","queue.append(r)","queue.append(root)","queue.pop(0)","queue:","r","r:","r=none):","re","refer","res.append(cur.val)","res.append(node.val)","res.append(root.val)","res.append(temp.val)","return","returned.","root","root):","root,","root.left","root.right","root:","self.left","self.right","self.val","solution(object):","solution:","stack","stack.append(cur)","stack.append(cur.left)","stack.append(cur.right)","stack.append(root)","stack.pop()","stack1","stack1.append(cur.left)","stack1.append(cur.right)","stack1.pop()","stack1:","stack2","stack2.append(cur.val)","stack2[::","stack:","temp","temp.left","temp.right","tnq","tnq.append(cur.right)","tree","treenod","treenode(lst[0])","treenode(lst[i])","treenode)","treenode:","way","whose","x","x,","中序遍历","二叉树定义","二叉树排序","二叉树的中序遍历","二叉树的前中后序遍历的非递归实现","二叉树的前序遍历","二叉树的后序遍历","代码实现","具体过程","前序遍历","前,中,后只是指父节点遍历的顺序,前序就是","右子树","后序遍历","层次遍历","左","左子树","方法一:","方法一:使用两个栈实现","方法二:","方法二:使用一个栈实现","根","根节点加入队列中","父节点","(1)如果c的左孩子不为空,并且h不等于c的左孩子,也不等于c的右孩子,则把c的左孩子压入stack中。","(2)如果情况1不成立,并且c的右孩子不为空,并且h不等于c的右孩子,则把c的右孩子压入stack中。","(3)如果情况1和情况2都不成立,那么从stack中弹出c并打印,然后令h等于c。"],"Algorithm/remove-duplicates-from-sorted-array.html":["(int","//","0","0,","00","00。","00,则数组不包含任何元素,因此返回","0;","1","1,","11","11。","11,即指向下一个位置。","1]nums[fast]","1]nums[slow−1]","1n−1","1:","2","2,","26.","2:","3,","4","5","=","=nums[fast−1],说明",">","[0,0,1,1,1,2,2,3,3,4]","[0,1,2,3,4]","[1,1,2]","[1,2]","\\ne","\\textit{fast}fast","\\textit{nums}[0]nums[0]","\\textit{nums}[\\textit{fast}","\\textit{nums}[\\textit{fast}]","\\textit{nums}[\\textit{fast}]nums[fast]","\\textit{nums}[\\textit{slow}","\\textit{nums}[\\textit{slow}]nums[slow],然后将","\\textit{nums}num","\\textit{slow}slow","\\textit{slow}slow,返回","class","def","fast","int","int:","len","len(nums)","list[int])","n","nn。将快指针","num","nums:","o(1)","o(1)o(1)","removeduplicates(nums);","removeduplicates(self,","return","slow","solution:","。不需要考虑数组中超出新长度后面的元素。","不要使用额外的数组空间,你必须在","为什么返回数值是整数,但输出的答案是数组呢?","你可以想象内部操作如下:","使用快慢双指针,快指针在满之后后面遍历数组,由于数组是有序的,快指针向后遍历时,若碰到当前下标与慢指针值不一样时,就将当前值前移到慢指针位置,知道快指针遍历完数组,原理其实就是将不同的数向前提前,不扩大数组空间","依次遍历从","保持原状即可,从下标","修改输入数组","假设数组","分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标","删除有序数组中的重复项","删除重复元素,在删除重复元素之后,每个元素只出现一次,并返回新的长度,上述操作必须通过原地修改数组的方法,使用","删除重复出现的元素,使每个元素","到","即可。","原地","双指针","只出现一次","和","和之前的元素都不同,因此将","在函数里修改输入数组对于调用者是可见的。","复杂度分析","如果数组","它会打印出数组中","定义两个指针","并且原数组","并在使用","开始删除重复元素。","当数组","提示:","时间复杂度:o(n),其中","时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此","是以“引用”方式传递的。也就是说,不对实参做任何拷贝","是数组的长度。快指针和慢指针最多各移动","是有序的,因此对于任意","根据你的函数返回的长度,","次。","由于给定的数组","的值加","的值复制到","的前两个元素被修改为","的前五个元素被修改为","的所有元素。","的每个位置,对于每个位置,如果","的每个元素都不相同且包含原数组中的每个不同的元素,因此新的长度即为","的空间复杂度完成。","的长度为","的长度大于","示例","空间复杂度:o(1)。只需要使用常数的额外空间。","给你一个有序数组","解决:","解释:函数应该返回新的长度","该长度范围内","说明:","请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。","输入:num","输出:2,","输出:5,","这道题目的要求是:对给定的有序数组","遍历结束之后,从","额外空间的条件下完成。","",",",",并且原数组",",请你",",返回删除后数组的新长度。"],"Algorithm/QuickSort.html":["&&","(int","(left","//交互位置","0,","01、快速排序","02、算法思想","03、算法实现","0;","1","1);","1,","12,","16,","1};","1,2","2","2,","28,","3","3,","32,","4","4,","5","5,","6","6,","60","60,","7","7,","72","72,","8","8,","9","9,",";","=",">=","a.5,","args)","array","array.length","array[left]","array[right]","array[right];","b.2,","base","base)","base;","c.2,","class","d.5,","exchang","int[]","int[]{2,","left","loop)可以在大部分的架构上很有效率地达成。","main(string[]","n","new","o(n^2)","o(nlogn)","public","quicksort","quicksort(array,","refer","right","sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序","static","void","{","}","个项目要","从运行的结果我们看到,已经正常的排序结束了,说明这个算法已经满足了我们的要求,而且详细的代码分析也已经加上了注释,我想大家应该都能看懂。只要记住核心的几个点就可以了,这里我在重复说明一下:","你应该知道的常用排序算法之快速排序","先找基准点","先找第一个中间元素,满足左边的比他小,右边比他大,第二趟就是看第一个元素分割的两半,再同样找是否在子序列中,有一个中间元素满足左边的都比他小,右边的比他大;","大的放在右边序列;","小的放在左边序列,比","平均情况下快速排序的时间复杂度是θ(𝑛log𝑛),最坏情况是n²,但通过随机算法可以避免最坏情况。由于递归调用,快排的空间复杂度是θ(log𝑛)。","循环,这里是使用类似两个指针,分别从序列的左右两个端点开始往中间进行遍历,主要进行的第二步比较和赋值的操作。","快速排序","快速排序的算法思想是分而治之,将一个大的待排序列,分成两个子序列,然后采用递归的方式,依次将子序列也分成更小的子序列,依次进行,最后得到排序好的序列。算法的实现主要分成三步","快速排序(英语:quicksort),又称划分交换排序(partit","我们先看看维基百科的解释:","找到基准点:","排列序列,将比基准点小的放在左边的子序列,将比基准点大的放在右边的子序列;","排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(d)","次比较。在最坏状况下则需要","次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner","步骤,得到最终的顺序序列","比较大小,比","注意上面内部的两个","运行结果:","递归左右序列。","采用递归,依次重新选取基准点,在重复进行","题目"],"Algorithm/BST.html":["(binari","1、二叉查找树的缺点","1、具有二叉查找树的全部特性。","1、具有二叉查找树的特点。","2、平衡二叉树","2、根节点是黑色的;","2、每个节点的左子树和右子树的高度差至多等于1。","3、每个叶子节点都是黑色的空节点(nil),也就是说,叶子节点不存数据。","4、任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。","5、每个节点,从该节点到达其可达的叶子节点是所有路径,都包含相同数目的黑色节点。","==",">","bst","class","def","int)","n","none","o(logn)","o(logn)。","o(logn),不过却不是最佳的,因为平衡树要求每个节点的左子树和右子树的高度差至多等于1,这个要求实在是太严了,导致每次进行插入/删除节点的时候,几乎都会破坏平衡树的第二个规则,进而我们都需要通过左旋和右旋来进行调整,使之再次成为一颗符合要求的平衡树。","o(logn),我这里就不细讲了,后面的文章可能会讲。","o(n),可想而知,我们必须不能让这种情况发生,为了解决这个问题,于是我们引申出了平衡二叉树。","o(logn)。","refer","return","root","root.val:","root:","search","searchbst(self,","self.searchbst(root.left,","solution:","tree)","treenode,","treenode:","val","val)","val:","。","不过,与平衡树不同的是,红黑树在插入、删除等操作,不会像平衡树那样,频繁着破坏红黑树的规则,所以不需要频繁着调整,这也是我们为什么大多数情况下使用红黑树的原因。","不过,如果你要说,单单在查找方面的效率的话,平衡树比红黑树快。","个节点的二叉查找树,正常的情况下,查找的时间复杂度为","个节点的平衡树,最坏的查找时间复杂度也为","为什么有了二叉查找树/平衡树还需要红黑树","为什么有了平衡树还需要红黑树?","之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如","二叉搜索树与平衡二叉树","二叉查找树","二叉查找树、平衡树(avl)","二叉查找树中序遍历得到结果是递增排序的结点序列。","二叉查找树又称二叉搜索树,二叉排序树,特点如下:","二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图","于是,通过平衡树,我们解决了二叉查找树的缺点。对于有","例如下面的图片(注意,图片中黑色的、空的叶子节点没有画出)(图片来自极客时间)","例如:图一就是一颗平衡树了,而图二则不是(节点右边标的是这个节点的高度)","右子树上所有结点值均大于根结点","基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n","如果我上面讲的,你都懂,都能够在面试中说出来,应该是足够的了。我当时就是这么回答的。","对于图二,因为节点9的左孩子高度为2,而右孩子高度为0。他们之间的差值超过1了。","左子树上所有结点值均小于根结点","平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了,平衡树具有如下特点","平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。关于平衡树如何构建、插入、删除、左旋、右旋等操作这里不在说明,具体可以看我之前写的一篇文章:【漫画】以后在有面试官问你avl树,你就把这篇文章扔给他。","总结","所以,我们也可以说,红黑树是一种不大严格的平衡树。也可以说是一个折中发方案。","所以,最后的答案是,平衡树是为了解决二叉查找树退化为链表的情况,而红黑树是为了解决平衡树在插入、删除等操作需要频繁调整的情况。","显然,如果在那种插入、删除很频繁的场景中,平衡树需要频繁着进行调整,这会使平衡树的性能大打折扣,为了解决这个问题,于是有了红黑树,红黑树具有如下特点:","查找","概念","正是由于红黑树的这种特点,使得它能够在最坏情况下,也能在","的时间复杂度查找到某个节点。至于为什么就能够保证时间复杂度为","结点的左右子树本身又是一颗二叉查找树","虽然平衡树解决了二叉查找树退化为近似链表的缺点,能够把查找时间控制在","记一次腾讯面试:有了二叉查找树、平衡树(avl)为啥还需要红黑树?","这种情况也是满足二叉查找树的条件,然而,此时的二叉查找树已经近似退化为一条链表,这样的二叉查找树的查找时间复杂度顿时变成了"],"Article/ReadME.html":["技术文章","技术文章收集"],"Article/贝聊 IAP 实战之满地是坑.html":["#import","#pragma","(!products.count)","(!receipt)","()","([skpaymentqueu","(bool)application:(uiappl","(skpaymenttransact","(transcation.transactionstate)","(void)buyproduct","(void)dealloc","(void)getproductinfo:(nsstr","(void)init","(void)paymentqueue:(skpaymentqueu","(void)productsrequest:(skproductsrequest","(void)transcationdeferred:(skpaymenttransact","(void)transcationfailed:(skpaymenttransact","(void)transcationpurchased:(skpaymenttransact","(void)transcationpurchasing:(skpaymenttransact","(void)transcationrestored:(skpaymenttransact","*)applic","*)productidentifi","*)queue","*)request","*)respons","*)sourceappl","*)transact","*)transcat","*)url","*identifi","*payment","*product","*receipt","*receipturl","*request","*transcat","//","01.","02.","03.","04.","05.iap","06.iap","1.","2","2.","3.","4.","5.","6.","64","7.","8","=","@end","@implement","@interfac","[[nsbundl","[[skpaymentqueu","[[skproductsrequest","[nsdata","[nsset","[request","[self","[skpayment","[super","addpayment:payment];","addtransactionobserver:self];","alloc]","annotation:(id)annot","app","appstorereceipturl];","app。","app,app","app,只有一次。这里有以下几个问题:","app,并通过","app,我们也没法给用户发货。","app,由","app,跳转到支付宝","app,通知购买成功,并把收据写入到","app,那么我们可能一个月没法给用户发货。","base","blpaymentmanag","break;","buyproduction:","canmakepayments])","case","datawithcontentsofurl:receipturl];","dealloc:","defaultqueue]","didreceiveresponse:(skproductsrespons","finish","finishtransaction:transcation];","getproductinfo:nil];","https://juejin.im/post/5a3b14f36fb9a045104aa6c8","iap","iap,交易是一样的。但是验证交易这一环需要移动端来驱动我们自己的服务器来进行查询,这是第一个坑,先记一笔。另外一点,iap","iap,同时也会对比支付宝和微信支付,从而引出","iap,苹果不是和你商量,而是强制要求,爸爸说怎么样,就怎么样。当然,这篇文章解决不了这个问题,所以也只是说说而已。上面说了微信公众号的事情,虽然它不是","if(self)","init];","initwithproductidentifiers:identifiers];","mainbundle]","mark","nsarray","nsdata","nslog(@\"没有收据,","nslog(@\"没有正在出售的商品\");","nslog(@\"用户禁止应用内付费购买\");","nsset","nsurl","openurl:(nsurl","paymentwithproduct:products.firstobject];","removetransactionobserver:self];","request.deleg","response.products;","return","return;","sdk","sdk,支付宝的","self","self;","setwithobject:productidentifier];","skpayment","skpaymenttransactionobserv","skpaymenttransactionstatedeferred:","skpaymenttransactionstatefailed:","skpaymenttransactionstatepurchased:","skpaymenttransactionstatepurchasing:","skpaymenttransactionstaterestored:","skproductsrequest","skproductsrequestdeleg","sourceapplication:(nsstr","start];","switch","transactions)","transcationdeferred:transcation];","transcationfailed:transcation];","transcationpurchased:transcation];","transcationpurchasing:transcation];","transcationrestored:transcation];","transcationst","ui","updatedtransactions:(nsarray","{","}","。","上的过程。","上面讲了两个很大的坑,接下来看一看","不对交易信息做处理。","不接","不用担心,我从来不会只讲原理不留源码,我已经将我司的源码整理出来,你使用时只需要拽到工程中就可以了,下面开始我们的内容","也收不到支付成功的通知,就没法通知","交易中.","交易失败.","交易延期.","交易成功.","交易没有发生变化,仅仅是重启一下,收据信息就会发生改变。","交易结果出来到通知","今年上半年的公众号打赏事件,大家可还记得?我们对苹果强收过路费的行为愤懑,也为微信可惜不已,此事最后以腾讯高管团队访问苹果画上句号。显然,协商结果两位老板以及他们的团队都很满意。","从apple查询用户点击购买的产品的信息.","仔细看一下下面这张图,这是我们每次在买早餐使用支付宝支付的流程图。下面我们来一步一步看一下每一步对应的操作原理。","代码大致做了如下事情,初始化的时候去添加支付结果的监听,并在","会和","会调起支付宝","原文地址","发起一笔支付交易,此时,第一件事,我们要去我们自己的服务器上创建一个订单信息。同时服务器会组装好一笔交易交给我们。关于组装交易信息,有两种做法,第一种就是支付宝推荐我们做的,由我们服务器来组装交易信息,服务器加密交易信息,并保存签名信息;另一种做法是,服务器返回商品信息给","发送到服务器,","只有","同样,我们再来看看","启动的时候,才会重新通知我们有未验证的订单。这个周期根本没法想象,如果用户一个月不重启","坑爹之处从以下两个方面来理解。","坑爹的","处理异常\");","好吧,算起来有九个比较大的问题了,还有没照顾到的请各位补充。这九个问题,基本上每一个都是致命的。这么多的不确定性,我们应该怎么综合处理,怎么相互平衡?","如果","如果用户后买成功以后,网络就不行了,那么苹果的","如果用户的交易还没有得到验证,就把","存储到本地先.","实战之满地是坑","实战之满地是坑,这一篇是支付基础知识的讲解,主要会详细介绍","实战之见坑填坑,这一篇是高潮性的一篇,主要针对第一篇文章中分析出的","实战之订单绑定,这一篇是关键性的一篇,主要讲述作者探索将自己服务器生成的订单号绑定到","审核不让过。接不接","对比支付宝和","已经购买过该商品.","应该去获取沙盒中的收据信息(一段","当验证交易成功以后我们去取","我们先不去想那么多,先把支付逻辑跑通再说。下面我们看看","我们先放一放这些问题,下一篇就一起来着手解决这些问题,现在我们先来看一看","把交易信息传给支付宝的服务器。","拿到交易信息,开始调起支付宝的","拿到交易信息,然后开始调起","拿到查询结果,然后把这笔交易给","掉。","支付","支付代码","支付宝的支付流程讲完了,那微信支付也讲完了,因为它们流程相似。","支付的基本代码。","文章中讨论的","方法中移除监听。同时可以通过","方法处理支付宝的回调结果,对应的进行刷新","方法查询后台配置的商品信息。通过","方法购买产品,购买成功以后,iap","方法通知购买进度。","是指使用苹果内购购买消耗性的项目。","有人反馈,iap","服务创建订单,并把订单推入支付队列。","服务器回调","服务器查询失败的话,那就要等下次","服务器查询的时候,查不到这笔订单。","服务器查询这个收据对应的已付款的订单号。","服务器通讯,让用户确认购买,输入密码。","本身有哪些坑。最大的一个就是,从","来组装交易信息,并进行加密处理等操作。显然我们应该采用第一种方式。","查询成功后的回调.","步,对不对?看起来比支付宝还简单,有木有?","步,比支付宝少","沙盒中。","没啥大毛病,对吧?现在来详细分析一下。","注意:","源码在这里。","熟悉的支付宝和微信支付","由于移动端所处的网络环境远远比服务端要复杂,所以,最大可能出现问题的是与移动端的通讯上。对于支付宝,只要移动端确实付款完成,那么接下来的验证工作都是服务器于服务器之间的通讯。这样一来,只要用户确实产生了一笔交易,那么接下来的验证就变得可靠的多,而且支付宝服务器会一直回调我们的服务器,交易的可靠性得到了极大的保证。","的事情,但是实质上都属于强收过路费的行为。","的代码。","的坑和注意点。","的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会包含三篇。","的待验证交易列表的时候,这个列表没有数据。","的服务器远在美国,我们的服务器去查询延时相当严重,这是其二。","的问题进行具体解决。","第一方面,app","第一步:我们的","第一步:用户开始购买,首先会去我们自己的服务器创建一个交易订单,返回给","第一篇:[ios]","第七步:我们自己的服务器拿到这个收据对应的已付款的订单号以后,就去校验当前的已付款订单中是否有要查询的那一笔,如果有,就告诉","第七步:支付成功,支付宝服务器回调支付宝","第三步:app","第三步:iap","第三篇:[ios]","第九步:支付宝服务器会回调我们的服务器并把收据传给我们服务器,如果我们的服务器没有确认已经收到支付宝的收据信息,那么支付宝服务器就会一直回调我们的服务器,只是回调时间间隔会越来越久。","第二方面,坑开发人员。下面开始数坑。","第二步:app","第二步:服务器创建好交易信息以后,返回给","第二篇:[ios]","第五步:此时,app","第五步:验证通过以后,我们的","第八步:app","第八步:支付宝回到我们自己的","第六步:在支付宝","第六步:服务器拿到收据以后,就应该去","第十步:我们的服务器收到支付宝的回调,并回调支付宝,确认已经收到收据信息,此时早餐买完了。","第四步:iap","第四步:验证通过以后,支付宝服务器会告诉支付宝","等待验证结果.","等操作。","给卸载了,以后要怎么恢复那些没有被验证的订单?","编码的数据),并将收据信息上传给服务器。","设计上的坑","贝聊","购买操作后的回调.","越狱手机有无数奇葩的收据丢失或无效或被替换的问题,应该怎样酌情处理?","这次为大家带来我司","这里的事务包含之前没有完成的.","通知已经交易成功了,此时去沙盒里取收据数据,发现为空,或者出现通知交易成功那笔交易没有被及时的写入到沙盒数据中,导致我们服务器去","通知我们支付成功,我们驱动服务器去","通过","里,用户输入密码进行交易,和支付宝服务器进行通讯。","题外话","验证通过。","(void)fetchproductinfowithproductidentifiers:(nsset"],"Article/关于离屏渲染的深入研究 - Medium.html":["/","1","100m","121","135","16m","2.5","2010","2011","2014","221,可以看到","419","419,关于","421","60","90%","advanc","allowsedgeantialias","alpha,最后和底下其他","andi","anim","animation:","animation、gpu","app","applic","apps(wwdc14","asdk","asyncdisplaykit","asyncdisplaykit(texture)","backgroundcolor","backgroundcolor,可以放心使用","bitmap","buffer","buffer)。进一步来说,其实所有","buffer,作为像素数据存储区域,而这也是","buffer,再到","buffer,只能暂时先放在另一块内存之中,说起来都属于","buffer,后一层覆盖前一层,就能得到最终的显示结果(值得一提的是,与一般桌面架构不同,在","buffer,最后把内容画上去(这只是我的猜测,实际情况可能更复杂)。不过如果我们能够预先告诉","buffer,而是先暂存在另外的内存区域,之后再写入","buffer,那么这个过程被称之为离屏渲染。","calay","call","calls(以前是","cell","cgcontext","cgcontext,而不是直接到了","collectionview","composition,设置","core","coreanim","coreanimation。这样一来,多线程间数据同步会增加一定的复杂度","coreanimation(通过","coregraph","cornerradiu","cornerradius+clipstobounds,原因就如同上面提到的,不得已只能另开一块内存来操作。而如果只是设置","cornerradius。另一个好处是,我们可以灵活地控制裁剪和缓存的时机,巧妙避开","cornerradius(如不需要剪切内容,只需要一个带圆角的边框),或者只是需要裁掉矩形区域以外的内容(虽然也是剪切,但是稍微想一下就可以发现,对于纯矩形而言,实现这个算法似乎并不需要另开内存),并不会触发离屏渲染。关于剪切圆角的性能优化,根据场景不同有几个方案可供选择,非常推荐阅读","cpu","cpu”","draw","drawrect","drawrect,此时打开","e776f56b3e60","essenti","es,现在慢慢转到了","frame","gpu","gpu。","gpu。除此以外,有时候也会遇到","graphic","green","group","hit","https://medium.com/@jasonyuh/%e5%85%b3%e4%ba%8e%e7%a6%bb%e5%b1%8f%e6%b8%b2%e6%9f%93%e7%9a%84%e6%b7%b1%e5%85%a5%e7%a0%94%e7%a9%b6","instrument","io","ios10","ios7","iphon","layer","layer)必须是静态的,因为一旦发生变化(如","layer)都还没有被组合到一起,怎么可能在第一步就画出只有完成最后一步之后才能知道的形状呢?这样一来又只能另外申请一块内存,把本体内容都先画好,再根据渲染结果的形状,添加阴影到","layer,rend","layer,以及圆角、阴影、group","layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改","mask","mask,我们知道","master","matuschak","medium","metal),显然","miss","move","objc.io:","offscreen","onto","oom","opac","opacity=0.5,并复制一份在旁边作对比。左边关闭","opacity(默认行为)的被标记为","opacity,其实从名字就可以猜到,alpha","opacity,右边保持默认(从","opengl","opengl/met","optim","os","part","perform","pixel","red”","render","rendering)的知识点。一般来说,绝大多数人都能答出","resize,动画),之前辛苦处理得到的缓存就失效了。如果这件事频繁发生,我们就又回到了","screen","server","session","shadowpath","shadow,其原因在于,虽然","shouldraster","shouldrasterize,减少触发的次数","shouldrasterize,只会弄巧成拙。","simpread","tableview","tableview,是个不小的性能挑战","techniques》","text","textur","true,rend","ui","uiblureffect,同样无法通过一次遍历完成,其原理在","uiimage),消耗内存较多,所以应该在使用完及时释放,并在需要的时候重新生成,否则很容易导致","uikit","uiview","uivisualeffect,而是另外实现模糊效果(cigaussianblur),并手动管理渲染结果","understand","view","view,使用","view,右边打开","wwdc","wwdc18","xcode","yellow”","“","“color","“precomposite”","“切圆角”","“剪”","“圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如:","“新开一块","“每一帧都需要离屏渲染”","“画家”","“画家算法”,按次序输出到","“的形状一致,这就意味着需要先知道","“的操作,有很多文章和视频也称之为","“离屏”,但是通常提到的离屏渲染是发生在","“离屏渲染”。","“离屏渲染”(因为像素数据是暂时存入了","“软件渲染”,而真正的离屏渲染发生在","“,把每一层依次输出到画布","”","《core","一个典型的例子是,我们经常会使用","一定会触发离屏渲染吗?","一定要使用","一旦缓存超过","上设置","不擅长做这件事,所以我们需要尽量避免它,就误以为这就是需要避免离屏渲染的原因。但是根据苹果工程师的说法,cpu","与其所有子结构组合之后的形状。更关键的是,阴影需要显示在所有","与离屏","中”","中。这就是","中实现了","中对于如何选择圆角渲染策略的流程图,非常实用","中提到:","中比较多)中有这样一张图:","中的一篇文档。","中苹果的解释,mask","中,滚动的每一帧变化都会触发每个","中,设备主存和","为图片裁剪圆角","为这个方案提供了对应的解法:shouldrasterize。一旦被设置为","之后,系统的设计风格慢慢从扁平化转变成圆角卡片,即刻的设计风格也随之发生变化,加入了大量圆角与阴影效果,如果在处理上稍有不慎,就很容易触发离屏渲染。为此我们采取了以下一些措施:","之间的上下文切换。如果无法避免,也可以通过有效利用","什么时候需要","从一个更广阔的视角看,离屏渲染也仅仅是渲染性能优化中的一部分,而能否保证","会将具体操作转换成发送给","会消耗其相当一部分计算时间,并且我们也不愿意因此阻塞用户操作,因此一般来说","会遵循","会默认打开),然后打开","传给","但是对于一些情况,如文字(coretext","作为主要渲染框架,对于文字和图片的异步渲染操作交由框架来处理。关于这方面可以看我之前的一些介绍","作为渲染结果的","使用","依次画好,然后把四个角","倍大小","做了大量的工作,尽量把渲染工作转换成适合","像素数据,已经在渲染中被永久覆盖了。这就意味着,对于每一层","关于离屏渲染的深入研究","关于离屏渲染的解释","其他还有一些,类似","其实通过","其实除了解决多次离屏渲染的开销,shouldraster","内容的下方,那么根据画家算法,下层必须先被渲染,而此时阴影的本体(layer","分担一部分工作,提高整体效率。","剪裁操作。","即刻大量应用","即刻客户端中有大量的圆角、阴影等效果","即刻的优化","原文地址","双方同处于一个流水线中,协作完成整个渲染工作。","叠在一起,然后在父","可以适当给与帮助","可能的绘画操作。","同样因为","同样的两个","和","和其子","和其所有子","和图形学等等方面的知识,在实践中也非常考验一个工程师排查问题的基本功、经验和判断能力——如果在不恰当的时候打开了","善用离屏渲染","因为父容器有圆角,那么也会需要被裁剪,而这时它们还在渲染队列中排队,尚未被组合到一块画布上,自然也无法统一裁剪","在","在上面的渲染流水线示意图中我们可以看到,主要的渲染操作都是由","在另一个场景中也可以使用:如果","在平时的","在操作,而到了","在早年的","基于","基础的","处理的形式(也就是所谓的硬件加速,如","大家知道,如果我们在","如果一个","如果你选择使用","如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的","如果要绘制一个带有圆角并剪切圆角以外内容的容器,就会触发离屏渲染。我的猜想是(如果读者中有图形学专家希望能指正):","存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写入","完成的。这样一来既然我们已经得到了想要的效果,就不需要再另外给图片容器设置","实在忙不过来的情况,而","实现了","容器的子","对于","对于图片的圆角,统一采用","对于所有的阴影,使用","对于模糊效果,不采用系统提供的","对于特殊形状的","对于类似这种","对于视频的圆角,由于实时剪切非常消耗性能,我们会创建四个白色弧形的","将一个","就会强制把","就需要根据当前滚动位置渲染整个","尽管离屏渲染开销很大,但是当我们无法避免它的时候,可以想办法把性能影响降到最低。优化思路也很简单:既然已经花了不少精力把图片裁出了圆角,如果我能把结果缓存下来,那么下一帧渲染就可以复用这个成果,不需要再重新画一遍了。","属性)阴影的几何形状,那么阴影当然可以先被独立渲染出来,不需要依赖","常见离屏渲染场景分析","平衡","并不擅长做这些工作,不得不先由","并不是分别应用在每一层之上,而是只有到整个","并不认为这属于离屏渲染。","并打开","开关,你会发现这片区域不会被标记为黄色,说明","开始,如果没有显式指定,group","性能过关,将会直接影响到用户日常的操作体验。渲染技术作为客户端工程师的关键技术能力之一,值得持续研究。","总结","成圆形,再把结果画到","我们可以看到,在","或者","所组成的形状上,那就只能等全部子","掌管的","接口来执行的。通常对于每一层","推荐资料","提供了","擅长并行计算,但也有捉襟见肘之时,此时","操作。等到完成以后再次清空,再回到向","改变其中的某个部分——因为在这一层之前的若干层","数据量较大(形式上一般为解码后的","方法,就算它的函数体内部实际没有代码,系统也会为这个","无法在一次遍历就完成绘制,那么就不得不触发离屏渲染","是应用在","是相互扶持的关系。cpu","最繁忙的时段,达到平滑性能波动的目的。","本体,也就不再需要离屏渲染了。","本文由","本来并不复杂,也没有圆角阴影等等,打开这个开关反而会增加一次不必要的离屏渲染","本身是一块矩形区域,但是阴影的形状却未必是矩形,而是与","来做","来做渲染,那么就没有理由再触发","来处理好以后,再把结果作为","来完成渲染任务,而给","来对渲染结果进行缓存","来画出最终结果,那就只能另开一块内存空间来储存中间结果。这些原理并不神秘。","来画图","来自","来规避离屏渲染","树了","树画完之后,再统一加上","模块,通过调用显卡驱动所提供的","次,并且很可能每一帧有几十张的图片要求这么做,对于","此时我们就不得不开辟一块独立于","每","没有被使用,会自动被丢弃","渲染","渲染不是","渲染就是俗称的","渲染并非真正意义上的离屏渲染。另一个证据是,如果你的","渲染性能的调优,其实始终是在做一件事:平衡","渲染效率不高,但是较为通用灵活;gpu","渲染架构","渲染结果先经过了离屏","渲染虽然也是","渲染速度不够快,因此只适合渲染静态的元素,如文字、图片(想象一下没有硬件加速的视频解码,性能惨不忍睹)","渲染都在后台线程完成(这也是","渲染)和图片(imageio)渲染,由于","然而有些场景并没有那么简单。作为","瓶颈),这时可以让","由于在","申请一块内存区域,等待","画完才能得到","画家算法","留出足够时间处理各种各样复杂的","的","的不同工具来测试性能,而不是仅凭猜测来做决定","的主旨在于降低性能损失,但总是至少会触发一次离屏渲染。如果你的","的主要思想),然后再回到主线程上,把渲染结果传回","的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效果。","的像素进行组合。显然也无法通过一次遍历就得到最终结果。将一对蓝色和红色","的内容裁剪成圆角,可能不存在一次遍历就能完成的方法","的内容(包括子","的原理类似,不得不在离屏渲染中完成。","的圆形边框,如果没有","的子结构非常复杂,渲染一次所需时间较长,同样可以打开这个开关,把","的强项,调用","的性能冲击可想而知(gpu","的情景,而这正是开发者需要极力避免的。针对这种情况,xcode","的操作是高度流水线化的。本来所有计算工作都在有条不紊地正在向","的显存共享物理内存,这样可以省去一些数据传输开销)。","的渲染结果(包括其子","的离屏渲染。","的离屏渲染了,否则会同时存在两块内容相同的内存,而且","的空白内存,先把容器以及其所有子","的策略,也就是不经由容器来做剪切,而是预先使用","的组合之上的,而且可能带有透明度,那么其实和","的调试,我们会发现右边的那一组确实是离屏渲染了。","的负载","的负载,让他们尽量做各自最擅长的工作。","的选项,帮助我们查看缓存的使用是否符合预期","的重新绘制,因此一旦存在离屏渲染,上面提到的上下文切换就会每秒发生","盖住四个角,从视觉上制造圆角的效果","相对空闲(gpu","离屏渲染","离屏渲染是在哪一步进行的?为什么?","离屏渲染牵涉了很多","离屏渲染的定义","离屏渲染的开销主要在与","离屏渲染的性能影响","离屏渲染缓存有空间上限,最多不超过屏幕总像素的","等等也可能会触发离屏渲染,原理也都是类似:如果你无法仅仅使用","等等)。","等等)保存在一块内存中,这样一来在下一帧仍然可以被复用,而不会再次触发离屏渲染。有几个需要注意的点:","简悦","绘制到一块缓存,然后在接下来复用这个结果,这样就不需要每次都重新绘制整个","给图片加上圆角(将图片中圆角以外的部分渲染成透明)。整个过程全部是由","绝大多数情况下,得益于","自然我们会认为,因为","虽然可以一层一层往画布上进行输出,但是无法在某一层渲染完成之后,再回过头来擦除","设置","调试的","转码,","输出的正常流程。","输出,此时突然收到指令,需要输出到另一块内存,那么流水线中正在进行的一切都不得不被丢弃,切换到只能服务于我们当前的","这一层中主要是","这一层,coreanim","这里有几个需要注意的点:","进行的光栅化操作(如文字渲染、图片解码),都无法直接绘制到由","逻辑。为此","都会比较辛苦","针对图形处理的优化,我们都会倾向于让","阴影会作用在所有子","需要遍历至少三次","非常擅长大规模并行计算,但是我想频繁的上下文切换显然不在其设计考量之中)","非透明区域","面试中,我们经常会考察有关离屏渲染(offscreen"],"Article/面试驱动技术 - Category 相关考点.html":["&","&&","(!cats)","(!cls)","(addedcount","(cl","(eat)","(flush_cach","(hasarray())","(i","(loadable_classes_us","(loading)","(method_list_t","(mlist)","(nonatomic,","(nsstring","(play)","(printreplacedmethods)","(property_list_t","(proplist)","(protocol_list_t","(protolist)","(rua)","(run)","(test)","(void)initialize{","(void)load{","(void)setproperty:(nsstr","(void)test{","(分类1)","(宿主类1)","(宿主类2)","(对象)","(效果上感觉像成员变量)","(编译状态)",")",")(关联策略)","*","*)properti","*)property{","*)realloc(array(),","**)","**mlist","**proplist","**protolist","*/","*_map;","*_property;","*cache;","*cats,","*class_methods;","*cls;","*instance_methods;","*isa;","*mlist","*name;","*person","*pool","*properties;","*property;","*proplist","*protocols;","*protolist","*ro;","*superclass;","*test","*vtable;","+","+load",",",",(key)",",(关联的值)","...","/*","/*子类1*/","/*子类2*/","/*父类*/","//","//_class_t","//array()","//memcpi","//memmove,内存挪动","//realloc","//先加载宿主类的load方法(按照编译顺序,调用load方法)","//协议列表","//实例方法列表","//宿主类名称","//宿主类对象,里面有isa","//属性列表","//最后编译的分类,最先添加到分类数组中","//类方法列表","0","0)","0,","01401,","01403","02","0;","1,","1.categori","10等价于","17:28:00.519862+0800","17:28:00.520032+0800","17:28:00.520047+0800","17:39:10.354050+0800","17:39:10.354237+0800","17:39:10.354252+0800","17:39:10.354263+0800","17:39:10.354274+0800","17:39:10.354285+0800","17:57:33.305655+0800","17:57:33.305950+0800","17:57:33.306476+0800","18:17:12.034392+0800","18:17:12.034555+0800","18:17:12.034569+0800","18:17:12.034627+0800","18:17:12.034645+0800","18:17:12.034658+0800","1\\.","2.","2019","27","2\\.","3","3,","3.","3\\.","4.categori","5.","6.categori",":","=","==","=>",">",">count",">count;",">count;//宿主类,分类的总数",">data()",">data();",">flag",">isbundle();",">ismetaclass();",">isrealized());",">list",">list[i];",">lists,",">lists[0]));",">methods.attachlists(mlists,",">methodsformeta(ismeta);",">properties.attachlists(proplists,",">propertiesformeta(ismeta,",">protocols.attachlists(protolists,",">protocols;",">setinfo(rw_loaded);",">superclass);","@\"hello","@\"test\"));","@\"test\",","@autoreleasepool","@end","@implement","@interfac","@properti","@selector(key),","[","[[mnperson","[method_t,],","[method_t,method_t,method_t],","[method_t,method_t],","[mnperson","[mnstudent","[mnteacher","[person","]","_category_t","_class_ro_t","_class_t","_lock;//自旋锁,保证线程安全","_method_list_t","_policy;","_prop_list_t","_properti","_property;","_protocol_list_t","_read_imag","_value;","add_class_to_loadable_list(cls);","addedcount","addedcount)","addedcount,","addedcount;","addedlists,","ag","again!怎么这么多!连","age;","age;,就是","alloc","alloc]","alloc];","alloc]init];","alloc],内部也是调用","api","arch","aren’t","argc,","argv[])","arm64","array()","array_t::bytesize(newcount)));","assert(cl","assign)","assign,所以这里选择objc_association_assign","associ","associatedobject","associationshashmap","associationsmanag","attachcategories(class","attachlists(list*","auto","auto&","backward","bb","bool","call","call_category_loads();","call_class_loads();","call_load_methods(void)","cat","categori","category_list","category_t,里面存储着分类的各种信息,包括","cats);","char","cl","clang","class","cls)","cls,","const","copi","copy)nsstr","count","cpp","demo[91107:2281575]","demo[91308:2303030]","demo[91661:2331296]","demo[92064:2370496]","ensur","entrant","entri","entry.cat","entry.hi","entry.hi);","exo","extens","extension(扩展)","finish","first","fixm","flush_caches)","flushcaches(cls);","free(mlists);","free(proplists);","free(protolists);","frombundl","frombundle);","has_assoc","i.","id","ii.","iii.","initi","initialize\");","initialize,","initialize]","initialize],","initialize方法,所以调用父类的initialize,","initialize,加载","initialize,因为是mnteacher的调用,所以会先让父类mnperson","initialize:","int","intermedi","interview","io","iphoneo","ismeta","job.","key","list","load","load\");","load(分类2)","load(分类3)","load(分类4)","load:","load];","load]啊,这个就是","loadmethodlock.assertlocked();","load只会加载一次吗,而且他还不走","load可能其实有点奇怪,不是说","load里了!","m","main(int","malloc(cat","mani","mcount","mcount);","mcount,","me?","memcpy(array()","memmove(array()","method_list_t","mlist;","mlists,","mlists[mcount++]","mndog","mnperson","mnperson+test.m","mnperson{","mnstudent","mnteacher","more","more_categori","more_categories);","more_categories;","msg_send()","newcount","newcount;","newest","no,","no;","nothing;","nsinteg","nslog(@\"%@\",objc_getassociatedobject(person,","nslog(@\"mnperson","nslog(@\"mnstud","nslog(@\"mnteach","nslog(@\"test","nsobject","nsstring","objc","objc_association_assign","objc_association_assign);","objc_association_copi","objc_association_copy_nonatom","objc_association_copy_nonatomic);","objc_association_retain","objc_association_retain_nonatom","objc_associationpolicy)","objc_autoreleasepoolpop(pool);","objc_autoreleasepoolpush();","objc_enum(uintptr_t,","objc_getassociatedobject(,","objc_msgsend","objc_msgsend(mnteacher,@selector(mnteacher)),这就跑到mnteach","objc_msgsend,","objc_setassociatedobject","objc_setassociatedobject(","objc_setassociatedobject(obj,","objc_setassociatedobject(person,","objcassoci","object","objectassociationmap","oc","oldcount","onc","order","outermost","person.ag","person,关联的","preparemethodlists(cls,","printreplacements(cls,","propcount","propcount);","property;","property_list_t","proplist;","proplists[propcount++]","protocol_list_t","protocount","protocount);","protolist;","protolists[protocount++]","public","re","realiz","rearrang","remov","repeatedli","return","return;","rewrit","rua~\");","run","runtim","runtime,","rw","rw_loaded)","schedule_class_load(cl","schedule_class_load(class","sdk","seri","set","setage:10],所以证明了,给分类声明属性之后,并没有添加其对应的实现!","setarray((array_t","sizeof(*mlists));","sizeof(*proplists));","sizeof(*protolists));","sizeof(array()","spinlock_t","spinlock_t(自旋锁),","static","std::map","struct","superclass","test","test,","test,test","through","typedef","uint32_t","uintptr_t","unordered_map","until","untri","valu","value,因为","void","world\",","xcrun","xxx","yes;","{","{//倒序遍历,最先访问最后编译的分类","|=","||","}","};","“覆盖”","“覆盖”,宿主类的同名方法还是存在","、initi","一样,也没实现initi","一次(父类的","上述代码系统内部会自动三件事:","不多","不能为系统类添加扩展","不能直接给","与","两颗星星,一个)","个mnperson","中","中的调用顺序?以及出现继承时他们之间的调用过程?","为什么分类会","为啥打印三次呢","之前会先调用父类的","之前,会先调用父类的","之后,轮到mnteacher","也有了?","了吧,程序一运行,runtim","二维数组(","人工智障翻译:实例变量不能放在分类中","以下代码输出的结果是啥","以关联对象代码为例:","以键值对的形式存储在","但是,你现在是[mnteacher","作用域之后,就会销毁;","使用","做了哪些事?","先初始化父列","先编译的类,优先调用","先调用宿主类的+","先调用类的","关联对象","关联对象其实就是","关联对象并不是存储在被关联对象本身的内存中的","关联对象由","关联对象的原理","关联对象的本质","关联对象,存储在全局的一个统一的associationsmanager中","关联的","关联策略,等价于属性声明","其实不是真正的","其实内部会调用","内","内部","内部有一持有一个_lock,他其实是一个","再初始化子类(可能最终调用的是父类的初始化方法)","再调用分类的的+","出了他们的{}","函数","函数的地址,直接调用","函数转换","函数,但是,还是可以调用的!","函数,它做的是方法查找,因为分类的方法优先放在前面,所以通过选择器查找到分类的方法之后直接调用,宿主类的方法看上去就像被","函数,生产一个","分类中原理解析","分类中可以添加哪些内容","分类也是可以添加属性的","分类将附加到类对象的方法列表中,整合的时候,分类的方法优先放到前面","分类的在编译后,方法并不会直接添加到类信息中,而是要在程序运行的时候,通过","分类的方法列表","分类里面,生成属性,只会生成方法的声明,不会生成成员变量","分解体积庞大的类文件","列表,里面就是","则是用于存储关联对象的数据结构","到原来的方法列表中","前三个","加载类、分类的时候调用(只会调用一次)","动态将分类的方法合并到类对象、元类对象中","协议","原因,关联的对象是","原文:","原来的方法列表","原理分析:","参考资料:","取值","变量","变量已经销毁了,所以程序崩溃了,这也说明了","只是一般没人手动调用load","只能以声明的形式存在,多数情况下,寄生于宿主类的.","可以为系统类添加分类","吗,怎么还能调用这个方法?","和","因为!当类第一次加载进内存的时候,调用的","在分类中,因为类的实例变量的布局已经固定,使用","在程序运行过程中只会执行一次","在类第一次接收消息的时候会调用,oc","在调用分类的","声明私有属性","声明私有成员变量","声明私有方法","复制代码","如果是普通类声明生命属性的话","存储","存储在全局的一个统一的associationsmanag","存放属性的;","完全解析","实例方法","实例方法合并到类对象中,类方法合并到元类对象中","实现关联对象技术的核心对象有","实现原理","实现原理?","实际开发中,你用","实验证明:宿主类先调用,分类再调用","宿主类的方法?","对","对应的对象,访问对象内部的","对象,","对象方法、类方法、属性、协议信息","对象的指针以及其对应","将分类的方法列表","就放在","属性","属性,默认声明是@properti","已经无法向固定的布局中添加新的实例变量(这样做可能会覆盖子类的实例变量),所以我们需要使用关联对象以及两个方法来模拟构成属性的三个要素。","帮我们生成一个生成变量_properti","开发),关注仓库,及时获取更新","引用自","所以这时候,[mnteacher","所以:","扩容了","找到","把framework的私有方法公开","指示对象是否含有关联对象","按照编译先后顺序调用(先编译,先调用)","文件,","文件中","方法","方法可能被调用多次)","方法实现!","方法是系统调的,这时候不走","方法的区别是什么,他们在","方法,再调用自己本身的;","方法,所以同理调用父类的[mnperson","方法,无需导入,无需使用","方法,第一次调用的时候,mnperson","是","是强引用!","是根据函数地址直接调用,initi","是类第一次加载的时候调用,initi","是类第一次接收到消息的时候调用,每个类只会","是通过objc_msgsend","最后一个mnteacher","核心:将所有分类的对象方法,附加到类对象的方法列表中","此时通过","每一个对象都有一个标记位","每个分类的结构都一致,都是category_t","每个分类都是独立的","每个类、分类的","比如这里的","没被使用过,所以未被初始化,要先调用一下父类的","添加成员变量,但是可以间接实现分类有成员变量的效果","然后判断得知","然后轮到[mnstudent","父类mnperson类调用过initialize了,因此调用自身的就够了,由于他和mnteach","生成一个","用来保证associationshashmap操作的时候,是线程安全的","画图分析就是","的函数调用底层走的是","的区别","的区别是什么?","的数据,","的特点","的试题欢迎补充~","的问题都罗列解决了一下,如果还有其他常见的","直接将全部的类加载到内存中,肯定最先输出;","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,上面的问题以及解答已经把比较常见的","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,本文把比较常见的","相关考点","相关面试题","窥探其底层结构","第一个","第二个","答案出现!!!","管理并在","类方法","类第一次加载进内存的时候,会调用","类第一次接收到消息的时候,会调用该方法,需导入,并使用","类结构里面,有个properti","类自己了,由于他内部没有实现","结构","结果如下:","编译之后,底层结构是","编译时决议,categori","而没有生效","能否添加成员变量,如果可以,如何添加?","自身调用,由于他自己没有实现","获取某一个分类","解释:","讲","调用","调用一次initialize,输出第一个","调用了","调用子类的","调用方式也不一样,load","调用时刻,load","调用父类的initialize,","调用的时候,要先实现自己父类的","调用的时候,都会先调用父类对应的","调用都可以看成","调用顺序","调用顺序:","调用,而是找到","走的不是消息发送的","走的是消息发送的","输出第","输出第一个mnperson","输出第二个","输出第二个mnperson","运行时决议","这道题实际上考的就是关联对象","这里的mnperson","递归调用,先将父类添加到load方法列表中,再将自己加进去","通过","都是系统自动调用的话,都只会调用一次","里面的","重新分配内存","问题出现:以下会输出什么结果","问题出现:以下会输出什么结果?","面试题","面试驱动技术","面试驱动技术合集(初中级","题目出现"],"Article/iOS 编译过程的原理和应用.html":["\"","\"${project_dir}/${infoplist_file}\"","\"${project_dir}/${infoplist_file}\")","\"ap","\"applic","\"app的bundleid\";","\"print","\"set","#","#defin","#els","#endif","#ifdef","#import","#object","#pragma","$","$appdir/$ipaname.ipa","$appdir/$projectname.app","$buildconfig","$buildnumber\"","$projectnam","$projectname.xcworkspac","((warn_unused_result))","(.xcodeprog)","(intermedi","(name.app)","(strong,nonatomic)classnam","(type","(variabl","*","+","...","....",".a",".o","/","//","//...","///代码","//oc","//oc方法在swift中不可用","//代码","//告诉编译器,即使这个变量/方法","//和__unused相反","//如果不使用方法的返回值,进行警告","//如果没有使用返回值,编译的时候给出警告","//字符串","//带描述信息的弃用","//常量","//弃用api,用作api更新","//打包","//测试服务器相关的代码","//生产服务器相关代码","//编译成.app","//遇到__unavailable的变量/方法,编译器直接抛出error","/epluspan4phone.build/epluspan4phone.app.xc","/users/huangwenchen/library/developer/xcode/deriveddata/epluspan4phon","/usr/libexec/plistbuddi","0x00000008","0x00000010","0x00000029","0x00000038","0x00000080","0x00000109","0x00000149","0x00000218","0x00000510","0x00000fd8","0x000012c8","0x00001520","0x000019c0","0x00001a50","0x000020e8","0x000022d8","0x00004a9a","0x00006e34","0x00007a30","0x0000a500","0x0000d56c","0x0000e760","0x00010498","0x00010908","0x000129c0","0x00015cc0","0x0001ad78","0x0002d840","0x0003e140","0x00041ef7","0x00053a4c","0x0005af70","0x00071693","0x00129280","0x0077ebc3","0x0077ebc3,而二者相加的下一个位置正好是stub","0x1000021b0","0x1000021b0,大小是","0x1000022c0","0x100002340","0x100780d74","0x100780d74。","0x100781d4c","0x1007837a0","0x10079e518","0x1007e040f","0x1007e7243","0x1007f76dc","0x100805e40","0x1008065c2","0x1008774d4","0x10087bf6e","0x10087c0b8","0x100889628","0x10089c000","0x10089c010","0x10089d2d8","0x10089e7f8","0x10089e840","0x1008dc980","0x10090a1c0","0x10090c498","0x10090c4a8","0x10090c6c0","0x10090c6c8","0x10090cbd8","0x10090cbe0","0x100a35e60","0x100a46768","0x100a467a0","0x100a48888","0x100a4a248","0x100a4a248,就能找到","0x100a54748","0x100a6a420","0x100a71e60","0x100accde0","1))","11]","16","2]","3]","8,关闭",":cfbundlevers","=",">","@class","@properti","[","[0]","[1175]/umsocial_sdk_4.4/libumsocial_sdk_4.4.a(umsocialjob.o)","[1188]/iphonesimulator10.1.sdk/system/library/frameworks//foundation.framework/found","[1]","[1]http://blog.csdn.net/hello_hwc/article/details/50036323","[2]","[2]/epluspan4phone.build/object","[2]http://blog.csdn.net/hello_hwc/article/details/46425503","[3]https://github.com/leomobiledeveloper/blogs/blob/master/demoprojects/scripts/autoipa.sh","[3],使用的时候,需要拷贝到工程的根目录","[ulwbigresponsebutton","[ulwcategorycontrol","__attribtue__","__attribute__","__attribute__((__availability__(swift,","__attribute__((__warn_unused_result__))","__attribute__((deprecated(_msg)))","__attribute__((deprecated))","__attribute__((unavailable))","__attribute__((unused))","__attribute__((used))","__attribute__语法格式为:attribute((attribut","__bss","__cfstring","__common","__const","__cstring","__data","__deprec","__deprecated;","__deprecated_msg(_msg)","__eh_fram","__entitl","__gcc_except_tab","__got","__la_symbol_ptr","__mod_init_func","__nl_symbol_ptr","__objc_catlist","__objc_classlist","__objc_classnam","__objc_classref","__objc_const","__objc_data","__objc_imageinfo","__objc_ivar","__objc_methnam","__objc_methtyp","__objc_nlcatlist","__objc_nlclslist","__objc_protolist","__objc_protoref","__objc_selref","__objc_superref","__result_use_check","__stub","__stub_help","__swift_unavailable(_msg)","__text","__unavail","__unus","__unwind_info","__use","__ustr","_objc_ivar_$_ulwcategorycontroller._liveapi","activ","address","api,但是被__deprec","app","app,sect","arc","arc...","arch","arch:","archier","architectur","archiv","arm64","arm7/arm64","ascii","attribtu","attribut","attribute)","attribute。","attribute)","auto","binari","bitcod","block","build","buildnumber=$(($buildnumb","buildnumber=$(/usr/libexec/plistbuddi","c","c++,object","categories]","cfbundleversion\"","check","checkpod","ci(持续集成)来说,十分有用。io","clang","clang(swift","clang是实际的编译命令","classname.c","classname.h。这样,编译器能大大提高","classname.m","classname.o","classname,而不是","clean","cocoapod","com.apple.compilers.llvm.clang.1_0.compil","com.apple.dt.xcod","command+b),会执行如下过程","compilec","configur","copi","cpu","crash","c,因为原理上大同小异。","ddebug=1","debug","debug/releas","declar","declaration,就是","default","development;","diagnost","dsym","duplicate),单独一个","d开头的,指的是预编译宏,通过这些宏可以实现条件编译","emb","entitlements:","environment\"","epluspan4phone,目录如下","export","eznmxzawtlhpmadnbyhafnpqpizo/build/intermediates/epluspan4phone.build/debug","f","fasm","field","file","files:","file,我们可以窥探二进制文件中布局。","finder","fmessag","fobjc","forward","foundation.framework,afnetworking.framework,alipay.fframework","framework","framework,例如","framework,运行脚本来链接三方库的静态","fuckingclangwarn","f开头的,指定了采用arc等信息。这个也就是为什么你可以对单独的一个.m文件采用非arc编程。","http://sns.whalecloud.com/sina2/callback","https://mp.weixin.qq.com/s/32w4orjwvrkkxwsczjkxga","iar","identifier\"","ignor","imageasset","increas","info","info.plist","initi","installing,保证只有我们在安装到设备上的时候,才会执行这段脚本。重命名脚本的名字为","io","ipa","ipa,重命名为.","iphoneo","iphoneos/.build/","iphonesimulator/epluspan4phone.build","iphonesimulator10.1.sdk","iquot","isysroot","itun","ivar","javascript,python","js","key","lang=en_us.u","length=0","level","librari","link","linker","list))","liter","liveapi]","lldb","llvm","llvm.","lvvm","m","machine)","manifest.lock","manifest.lock,用来检查","map","message=_msg)))","miss","name","normal","normal/x86_64/ulwbigresponsebutton.o","number","o","objc_ivar","object","oc","oc协议列表","organ","packageappl","path=\"...\"","pch","phase","pist","pod","pointinside:withevent:]","pop","properti","proprecess。然后点击图中蓝色的加号,可以分别为","push","push/pop,","releas","representation)。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。","resources,运行脚本来拷贝三方库的资源文件","run","scheme","script","sdk","sdk版本","section","sections:","segment","selector\"","selector(未声明的)selector","set","showbuildoperationdur","size","store","string:","string,会显式的存储到数据段中,例如,","swift","swift)","swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于","symbol","symbols:","symbols,起始地址也是","symroot=$buildapptodir","synthes","target","targetnam","target(右键","target,选择","testmod","text","text,","unavailable,","v","vritual","warn","window","wno","workspac","write","wundeclar","w开头的,指的是编译的警告选项,通过这些你可以定制化编译选项","x","x86_64","x86_64制定了编译的架构,类似还有arm7等","xcode","xcodebuild","xcodeproject,然后配置编译期脚本,来保证三方库能够正确的编译连接。","xcode,然后编译,你会在这里看到编译时间。","xcode,终端输入以下指令","xcrun","xib","xib,图片等资源文件到结果目录","ye","yes。这样做,可以只编译当前的版本,比如","zip","{","}","~/library/developer/xcode/deriveddata/","“;”","…","。其中,文件编号和上文的编号对应","一些列","一系列以","一般可以将编程语言分为两种,编译语言和直译式语言。","上执行,所以执行效率较高。","上文提到了,dysm","上文提到的文件","下载微信,然后获得","下面","两种模式设置预处理宏。","中显示。","中的各个段进行了二级划分,","中自动开启了。","中,搜索","中,选择","之前就已经被预编译,并且引入到每一个.","二进制文件的内容","代码层面的优化","代码段","以明文的形式写在文件里,是一件很危险的事情。","优化器会进行","位置","作为编译器前端,llvm(low","作为编译器后端。","你一定还见过如下代码:","你可以灵活的控制代码块的编译选项。","使用起来也很简单:","例如对于使用","例如,之前写的一个","例如,对于text","例如,我们通过","例如,我的","值得一提的是,对于","像","关于如何用","其中,段分为两种","其中:[cp]","具体内容如下","函数属性","分为三种:","创建.","到这里,cocoapod","到这里,我们知道","制定了编译采用的io","前言","前面。","动态库","包内容了。","包就是一个普通的压缩包。","包的内容","区域如下,可以看到,代码段的","原文地址","参考","友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含","双击","变量属性","可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活,也就是为啥","可以看到我们生成的","可能会有同学想问,我不懂编译的过程,写代码也没问题啊?这点我是不否定的。但是,充分理解了编译的过程,会对你的开发大有帮助。本文的最后,会以以下几个例子,来讲解如何合理利用","右键","右键图中的wechat,选择显示包内容,然后就能够看到实际的","合理利用","同样,我们也可以插入自己的脚本,来做一些额外的事情。比如,每次进行","同样,我们同样也可以定义其他预处理变量,","命令。","和","和编译","在","在这个链接,你可以找到所有的","地址","地址的调用信息。然后,通过","处理","处理文件打包信息,例如在","大小","大法好。","如何调试第三方统计到的崩溃报告","安装包,然后实际看看其安装包的内容。","完整的脚本","实际执行的二进制文件中,是通过地址来调用方法的。在","对","对于","对于不想看我啰里八嗦讲一大堆原理的同学,可以直接跳到本文的最后一个章节。","对常用的工具类进行打包(framework/.a)","对应id/build/intermediates/.build/debug","对当前编译环境进行压栈","对编译环境进行出栈","常用头文件放到预编译文件里","常量","开发中常用的几个:","开发中,编译打包必备的两个命令是:","开发目前的常用语言是:object","开启","开启后,在编译,我们可以在对应的","开头的,就是","当你在","忽略","我们在每次编译过后,都会生成一个","我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。","我在之前的一篇文章里,详细的介绍了","或多或少,你都会在第三方库或者","或者静态库,这样编译的时候这部分代码就不需要重新编译了。","所以,若果你的加密","所谓","所谓预处理,就是在编译之前的处理。预处理能够让你定义编译器变量,实现条件编译。","所需要的framework","打包成","执行","执行一次","把编译信息写入指定的辅助文件","拷贝","指定了编译的语言","提高项目编译速度","插入的脚本。","插入编译期脚本","插入脚本","搜索","改为","放在声明分号","数据段","文件","文件。","文件。dsym","文件中,存储了","文件和对其签名","文件是预编译文件,这里的内容在执行","文件来分析崩溃位置,可以查看我之前的一篇博客。","文件来降低编译速度。","文件编号","文件编译后的结果。","文件里了。","文件里存储了调试信息,在","文件,使用","文件,我们就可以由地址映射到具体的函数位置。","文件,解压缩后会得到一个文件夹。所以,ipa","文文件,也就是上文提到的.","方法列表","方法名","方法类型","是","是一个高级的的编译器指令,它允许开发者指定更更多的编译检查和一些高级的编译期优化。","是如何存储的。","是这样子的:","机器码生成器会针对不同的架构,比如","来管理三方库,那么你的","查看包内容。","查看编译时间","标准库","模式。这个选项在高版本的","模式下,不生成","模式下,关闭编译器优化","模式下,我们可以借助","段","比如","比如我们加上:testserver,表示在这个宏中的代码运行在测试服务器","比如,在三方库中最常见的,声明一个属性或者方法在当前版本弃用了","比如,这样的代码很常见","没被使用,也不要抛出警告","然后对其加一,重新写入。","然后把这段脚本拷贝进去,并且勾选","然后,","然后,拖动这个脚本的到","然后,搜索这个地址","然后,配合多个","然后,重启","父类引用","版本号,","版本,如果一不小心,就会忘记。这个过程,我们可以通过插入脚本自动化。","环境下","的","的位置","的使用场景很多,本文只列举","的原理也就大致搞清楚了,通过修改","的头文件中,见到过","的存储区域。","的属性仍然可以正常使用。如果直接弃用,会导致开发者在更新","的工程会执行","的方法是如何存储的,我们再来看看","的时候(快捷键","的时候,代码无法运行了。","的时候,我们都必须手动调整","的时候,第三方工具(fabric,","的替换速度。","的流程","的生成,链接期优化等等。","的编译过程后,我们可以从以下角度来优化编译速度:","的编译过程,后端的处理如下","的警告相关内容。本文篇幅限制,就不详细讲解了。","目录下看到对应的","等生成不同的机器码。","等等,记得只开启","简单的编译过程如图","管理的三方库是否需要更新","篇幅限制,本文只关注","类名","类型属性","编译","编译产物","编译代码","编译信息写入辅助文件,创建编译后的文件架构","编译前脚本","编译各个.","编译器优化","编译器前端","编译器前端的任务是进行:语法分析,语义分析,生成中间代码","编译器后端","编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。io","编译器选项优化","编译文件","编译过程的原理和应用","而对应的","而这些配置信息都存储在这个文件","脚本","脚本化编译打包对于","脚本编译打包","节","节的地址是","表示代码段中的代码内容。","警告","警告处理","警告来提高代码质量","语法结构","负责测试服务器。这样我们就不用每次切换测试服务器都要修改代码了。","这个区域提供了各个段(segment)和节(section)在可执行文件中的位置和大小。这个区域完整的描述克可执行文件中的全部内容。","这个区域的存储内容比较简单:前面是文件的编号,后面是文件的路径。文件的编号在后续会用到","这个映射文件的主要包含以下部分:","这个部分包括的内容","这样的好处是:给开发者一个过渡的版本,让开发者知道这个属性被弃用了,应当使用最新的","这段代码的作用是","这段脚本其实很简单,读取当前","进制的函数地址映射。","进行调试。所以,不需要生成额外的","选中","选择添加","通常,如果你使用","通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了","通过","通过info命令,可以查看到详细的文档","通过这个编译的命令,我们可以看到","那些你想到和想不到的应用场景","部分将二进制文件进行了一级划分。而,symbol","都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为","都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","采用","里","链接所需要的framework","链接需要的","需要","预处理","首先找到数据栈中data","默认的目录在","!","(function"],"Article/Objective-C Runtime 机制简析.html":["!__objc2__","#defin","#endif","#if","&load_images);","&map_2_images);","'var',","(*imp)(id,","(1ulis_swift","(id","(uint32_t","*","*)((char","*)obj","**methodlist","**value)","*cach","*class;","*data()","*ivar","*locat","*method_typ","*name","*name;","*offset;","*protocol","*ro;","*sel;","*type;","+","+alloc","+load","...);","//","0/*not","0;","1","1.","1.1","2.","2.0","3.","3.2。","3.3","3.4。","4~47","64",":","=","[classobj","[obj","[object","_map_2_imag","_read_imag","api","arg]","arg],classobj","arg)","basemethodlist","basemethodlist;","baseprotocol","baseprotocols;","batch*/,","be","bits.data();","bits;","bits,它相当于","bool","c","c1.0","cach","cache;","cache_t","call_load_method","categori","category_list,并将","char","class","class_data_bits_t","class_ro_t","class_rw_t","class。","class。下文会对此详细介绍。","class。可以这样理解,类是","class(class),即","class(meta)。root","class(meta)的","class(meta)的父类是","class)中寻找。这也就是为什么说,图","const","crash。","custom","data()","dyld","dyld_image_info","dyld_image_st","dyld_register_image_state_change_handler(dyld_image_state_bound,1/*batch*/,","dyld_register_image_state_change_handler(dyld_image_state_dependents_initialized,","dyld,即处理由","false;","fast_is_swift","firstsubclass;","flag","flags;","formerli","found","found;","github","given","hash","here.","https://www.jianshu.com/p/0a4e5b944d7d","id","imag","imp","info","infocount,","infolist[])","instance_s","instances","int32_t","isa","isa;","isa_t","ivar","ivar)","ivar_list_t","ivar_offset);","ivar_t","ivars;","ivar,然后调用","load","load_imag","load_images(enum","load_images_nolock","lock","long","main","map","map2_imag","map_images_nolock","meta","method","method_array_t","method_imp","method_list_t","method_nam","methodizeclass","methodlist","methodlists、protocol","methods;","methodwitharg,","methodwitharg:","methodwitharg:arg];","myobject.var","name;","new.h","nil。","nsobjct","nsobject,nsobject","nsobject,若仍未找着,就","obj_object","objc","objc2.0","objc2_unavailable;","objc_cach","objc_class","objc_class,objc_class","objc_class,但由于对象的内存地址不一样,所以它们的实例变量存储位置也不一样,从而实现对象与类之间的多对一关系。","objc_isa_availability;","objc_ivar_list","objc_method","objc_method_list","objc_msgsend(object,","objc_object","objc_object、objc_class、class_rw_t、class_ro_t","objc_object,有一个","objc_protocol_list","objc_selector","object","object_getinstancevariable(myobject,","object_getivar(myobject,","offset","plu","pointer","properties;","property_array_t","protocol_array_t","protocol_list_t","protocols;","readonli","readwrit","realizeallclass","realizeclass","return","ro","root","rr/alloc","runtim","runtime。","sel","sel,","size;","state,","struct","subclass(class)","subclass(class),subclass(class)的","subclass(meta),subclass(meta)的","subclass)的","super_class","superclass(class)","superclass;","swift","take","typedef","uint32_t","version","version;","vtabl","without","xcode","{","}","};","};","→","。","上下载源码。","与","中","中只有一个","中可以看到","中寻找。以此类推,直到根类","中注册了两个回调","中的","中的变化","中的对象,它仅包含一个","中,class","中,ivar_t","中,objc_class","中,方法实质上是一个","中,方法的调用采用如下方式:","中,类实际上是一个","中,类本身也是一个对象。objc_class","中,除了","为消息的接收体,它可能是一个对象,也可能是一个类。若为对象,则是实例方法(","也会通过其","从","会判断镜像是否实现了","会完成对镜像中所有类的加载和预处理,它最终会调用","位的指针","位(从","例如","值,runtim","其中","其中,","其中,superclass","列表。","列表。若有,则返回;否则,到其父类寻找。以此类推,直到根类,若在根类中仍没有该方法,则","列表中。","列表中,之后会遍历","列表赋值。","前面提到过在","前面提过,在","加载镜像","原文地址","去寻找","又通过其","又通过调用","只剩下一个","可以把它看作是发送消息的过,其中","可以看到,在","可以通过添加符号断点,来直观的查看这几个方法的调用关系,如图","同时,root","同理,若是类方法,则从对象所属类的","图","在","在内存中是不可变的。在运行期间,动态给类添加方法,实质上是更新","在程序初始化方法_objc_init","在编译之后,class_ro_t","在编译期间,以上代码会被转化为","在这里需要先了解几个概念","基于此,虽然多个对象的","如图","如果说,sel","存储协议列表。注意到这里有一个","存储在","存储对象方法,meta","存储属性列表、protocol","存储方法列表、properti","存储类方法。","存储类的实例方法(","存储类的类方法(+),class","官网浏览,或者从","实质上就是一个","对","对象方法:前面提过,调用对象方法,相当于给对象发送消息,","对象的成员变量寻址","就已经确定。当镜像加载的时候,methodizeclass","就是","就是方法的实现。imp","就相同,与这个方法属于哪个类没有关系。","工程的编译产物,包括一些动态链接库、foundat","开始寻找。","开始计)。","当","当我们使用对象的成员变量时,如","我们常用的","所示,一个对象(instanc","找到其","找到相应的方法入口(method_imp),从而执行方法的代码块。","指向父类,cach","指的是分类,基于此,categori","指针。其中,method_nam","指针。实际上当我们调用","指针。由于","指针到其所属的类(meta","指针加上","指针外,objc_class","指针存在于","指针定义了一个方法的入口,指向了实现方法的代码块的内存地址。","指针找到对应的","指针指向","指针指向同一个","指针指向它所属的类","指针指向所属的类。","指针指向本身。","指针指向的也是其所属的类。子","指针指向自身。当然,由于苹果进行了封装,在开发中基本不可能直接去使用","指针,指向其所属的类,即","指针,指向当前对象所属的类。","指针:meta","接收到消息之后,若是实例方法,则会从其所属的类","接收到消息后,通过其","方法","方法。","方法。若未找着,则到其父类","方法之前被调用,所有使用到的类的","方法会在","方法会将","方法找到所有","方法是每个镜像加载完毕的回调。","方法来初始化一个对象时,也仅仅在内存中生成了一个","方法的注释为:process","方法的调用","方法的调用栈。load_imag","方法都会被调用。先调用父类的","方法)。mehodwitharg、arg","方法);反之,则是类方法(+","方法,之后通过","方法,再调用分类的","方法,再调用子类的","方法,并且调用","方法,查询","方法;先调用主类的","映射的给定镜像。它的调用如下:","是","是具体的消息内容。","是成员变量相对于对象内存地址的偏移量,正是通过它来完成变量寻址。","是方法名,那么","本身也是一个对象,它的","机制简析","来分配空间,将其","来处理每一个类,而","来对类结构体的","来获取成员变量的内存地址。其计算公式如下:","标记位标示是否为","添加到","用于存储类名、类版本号、方法列表、协议列表等信息,替代了","的","的关系如图","的其他成员变量皆已被弃用。","的动态链接库,在程序运行时,会将镜像加载进内存。","的基础上添加了面向对象的特性,同时它是一种动态编程语言,将静态语言在编译和链接时需要做的一些事情给延后到运行时执行。例如方法的调用,只有在程序执行的时候,才能具体定位到哪个类的哪个方法。这就需要一个运行时库,就是","的定义如下:","的定义(只截取关键代码,下文同)","的对象。所以,当调用类方法是,例如","的方法也添加到","的最大区别在于一个是只读的,一个是可读写的,实质上","的源码去分析,可以通过","的父类为","的简写。","的简写,rw","的类。通过进行位运算可以得到一个","相当于","等成员变量。","等标志位。其中","等等,是一些二进制文件。","类似。","类型指针。","类型指针,我们会在下文详细介绍。","类型指针,是根据特定规则生成的方法的唯一标识。需要注意的是,只要方法名相同,生成的","类型的指针。","类方法:","类的成员变量","类的理解与方法的调用","类的结构和定义","结构体","结构体中只有一个","结构体就是","结构体的定义如下","结构体的指针,它指向当前类的","结构体,其定义如下:","结构体,并根据其","继承自","缓存指针、方法入口等,用于提高效率。bit","能扩充一个类的方法。这是开发时经常需要使用到。","调用一个方法时具体做了什么?","调用所有的","这里的","进行了一定的封装,类的信息并未全部对开发者开放。我们不妨通过阅读","通过","里","镜像","),meta",",编译器会将其转化为"],"Article/OC 消息机制和 super 关键字.html":["!__objc2__","!defined(__cplusplus)","#0","#0xf000000000000000","#3]","#4","#52,","#60,","#8","#els","#endif","#if","#isa_mask","&&","(!","(!lookupimpornil(cls,","(*msg)(class,","(aselector","(id)forwardingtargetforselector:(sel)aselector","(instancetype)init","(msb","(nsmethodsignatur","(selector","(self","(typeof(msg))objc_msgsend;","(void)doesnotrecognizeselector:(sel)aselector","(void)forwardinvocation:(nsinvoc","(void)sendmessag","(void)sendmessage;","*","*)aninvoc","*)methodsignatureforselector:(sel)aselector","*/","*a","...)","...)的形式。",".h文件",".m文件","/*","/**","//","///","//没有找到resolveclassmethod方法,直接返回。","03","1.0,","10:18:54.252949+0800","12","19:44:46.003313+0800","19:44:46.003442+0800","2","2.0);","2.0,","2019","3","4","5","9.0,",":","=","==",">doesnotrecognizeselector:",">ismetaclass())",">ismetaclass());",">methodsignatureforselector:","@end","@implement","@interfac","@selector(sendmessage))","[a","[aninvoc","[aobject","[bobject","[cl","[nonmetaclass","[self","[super","[x0]","[x10,","[x17,","__objc_forward_handler@pag","__objc_forward_handler@pageoff]","__objc_msgforward","__objc_msgforward_impcach","__objc_msgsend_uncach","__objc_msgsend_uncached,","__unsafe_unretain","_cf_forwarding_prep_0和___forwarding___这两个方法会先被调用了,之后调用了forwardingtargetforselector:。","_class_resolveclassmethod","_class_resolveclassmethod(class","_class_resolveclassmethod(cls,","_class_resolveclassmethod和_class_resolveinstancemethod实现类似,这里就只看_class_resolveclassmethod的实现。","_class_resolveinstancemethod(cls,","_class_resolvemethod","_class_resolvemethod(class","_nonnul","_nullabl","_objc_debug_taggedpointer_classes@pag","_objc_debug_taggedpointer_classes@pageoff","_objc_debug_taggedpointer_ext_classes@pag","_objc_debug_taggedpointer_ext_classes@pageoff","_objc_msgforward_impcach","_objc_msgforward_impcache用来进行消息转发,但是其真正的核心是调用_objc_msgforward。","_objc_msgsend","_objc_msgsend,","abi.h中","add","adrp","alreadi","aobject","arm.s、objc","arm64.s的实现。由于汇编不熟,里面的实现只能连看带猜。","arm64.s等文件中,是通过汇编实现的。这里主要看在arm64即objc","assert(cl","b","b.eq","b.h","b.le","band","bobject","bool","br","c","cache.","cachelookup","call","callabl","check","check,如果为空就是调用lreturnzero,lreturnzero里调用messenger_end_nil*/","cl","class","class,","class.","class;","class]);","class],但是真正执行方法的对象还是aobject。","cls,","cmp","compat","crash","crash。","crash,结合上面的代码我们知道消息转发会调用___forwarding___这个内部方法。___forwarding___方法调用顺序是forwardingtargetforselector:","current","d0,","d1,","d2,","d3,","doesnotrecognizeselector\",","end_entri","entri","ext","first","forwardingtargetforselector:aselector];","forwardinvocation:aninvocation];","framewithnosav","function","header","https://juejin.im/post/5c87a218f265da2dd868cfcd","id","imp","implement","imp,此时会进入一个for循环,沿着类的父类一直往上找,直接找到","init])","init]的时候,调用了那些方法","inst)","inst),","inst);","inst,","instanc","instancemethodsignatureforselector:@selector(sendmessage)];","invokewithtarget:[bobject","ioscodelearning[18165:5967575]","ioscodelearning[34431:7234182]","isa","ldr","lexttag","lexttag:","lgetisadon","lgetisadone:","lnilortag","lnilortagged:","locat","look","lookupimporforward","lookupimporforward会返回一个imp,它的函数实现比较长,但是注释写的非常清楚。它的实现主要由以下几步(这里直接从缓存获取开始):","lookupimpornil(cls,","lreturnzero","lreturnzero:","lsl","messag","message\",","message.","messenger_end_nil","messenger_end_slow","messenger_start","method","method],运行时会将它翻译成objc_msgsend(id","methodsignatureforselector:aselector];","methodtablelookup","mov","movi","msg","msg(_class_getnonmetaclass(cls,","negative)","new.mm文件中的_class_lookupmethodandloadcache3。该函数会调用lookupimporforward函数。","new];","new]];","nil","nil;","no/*initialize*/,","no/*resolver*/))","no/*resolver*/);","nofram","nop","normal","nslog(@\"%@","nslog(@\"%@\",","nsobject","objc","objc_available(10.6,","objc_export","objc_msgsend","objc_msgsend_uncach","objc_msgsendsuper2()","objc_msgsendsuper2(struct","objc_msgsendsuper2的声明在objc","objc_msgsend的实现在objc","objc_sup","objc_super的定义如下:","object","oc","old","op,","out","particular","pointer","receiver;","resolv","resolveclassmethod:sel]","resolveinstancemethod:sel]","resolveinstancemethod:或者resolveclassmethod:方法,然后用objc_msgsend执行上述方法。","resolve)的过程即调用_class_resolvemethod,如果失败,进入第","ret","return","return;","runtim","runtime.h","search","sel","sel)","sel);","sel,","sel_resolveclassmethod,","selector","selector];","self,","self.class);","self;","send","sendmessage];","specialization.","specifi","static","static_entri","stret","struct","super","super,","super_class","super_class;","super_class为指向当前类的父类。","superclass","superclass.","tag","take","tri","ubfx","unwind","void","x0","x0,","x1,","x10","x10,","x11,","x13","x13,","x16","x16,","x17","x17,","yes/*cache*/,","zero","{","}","};","上述函数会根据当前传入的类的是不是一个元类,在_class_resolveinstancemethod和_class_resolveclassmethod中选择一个进行调用。注释也说明了这两个方法的作用就是判断当前类是否实现了","上述过程中有几个比较重要的函数:","上面的流程可能是这样的:","为止。如果找到返回,否则进入第","从cachelookup的注释有两处:","从上面的定义我们可以知道receiver即消息的实际接收者,","代码","代码执行结果和消息重定向测试的运行结果一致。_cf_forwarding_prep_0和___forwarding___这两个方法又再次被调用了,之后代码会先执行forwardingtargetforselector:(消息重定向),消息重定向如果失败后调用methodsignatureforselector:和forwardinvocation:方法签名。所以说___forwarding___方法才是消息转发的真正实现。","代码运行结果肯定是","以下代码省略不影响阅读","关于_objc_msgforward在objc中并没有其相关实现,只能看到_objc_forward_handler。其实_objc_msgforward的实现是在cfruntime.c中的,但是开源出来的cfruntime.c并没有相关实现,但是也不影响我们对真理的追求。","关键字","即使看不懂汇编代码,但是从上面的注释我们可以猜测,消息机制会先从缓存中去查找。","原文地址","原文链接","在","在forwardingtargetforselector:处打个断点,查看一下调用栈:","在缓存、当前类、父类以及方法决议都没有找到的情况下,object","复制代码","我们做几个实验来验证消息转发。","我们先查看一下执行[super","我们用一张图表示整个消息发送的过程:","所以我们能理解为什么下面这段代码执行的结果都是aobject了吧。虽然使用[sup","所以该函数实际的操作是:从objc_super结构体指向的super_class开始查找,直到会找到","执行结果","方法签名测试","步;","测试","消息发送","消息机制和","消息转发","消息重定向","消息重定向测试","的方法为止。找到后以receiver去调用。当然整个查找的过程还是和消息发送的流程一样。","缓存结果","调用","运行结果:","还为我们提供了最后一次翻身的机会,调用_objc_msgforward_impcache进行方法转发,如果找到便加入缓存;如果没有就","这里的methodtablelookup里涉及到objc","进入方法决议(method","通过cache_getimp从缓存中获取方法,有则返回,否则进入第","通过getmethodnosuper_nolock从类的方法列表中获取,有加入缓存中并返回,否则进入第","通过方法名我们可以知道,没有缓存的时候应该会执行__objc_msgsend_uncached。","通过父类的缓存和父类的方法列表中寻找是否有对应的","里面调用一个方法[object","验证crash","验证消息重定向"],"Article/UIViewController 预加载方案浅谈.html":["\"","\"unbalanc","\"viewcontrollerprerender.h\"","#import","()","(^)(uiviewcontrol","(_windowno2","(instancetype)defaultrender;","(instancetype)defaultrender{","(nonatomic,","(uinavigationcontrol","(uiviewcontrol","(vc","(void)dealmemorywarnings:(id)notif","(void)showrenderedviewcontroller:(class)viewcontrollerclass","(void)tableview:(uitableview","*)_windowno2.rootviewcontroller;","*)getrendered:(class)viewcontrollerclass{","*)indexpaths;","*)tableview","*/","*_myrend","*fresh","*key","*nav","*no2","*renderedviewcontrollers;","*vc","*vc))block;","*vc))block{","*vc1","*windowno2;","+","/**","//","//.h","//.m","0)];","1.","10","100","12","13","14;","1777.684814","1793.544922","17:","1828.953857","1850.614990","1895.146729","1897.723877","1934.873047","1946.458984","1956.969971","2.","20","2050.655762","2067.84","2067。","2075.978027","2155.601074","2168.324951","2198.915039","21:","2218.141113","2237.258057","2243.837158","2261.447998","2268.033936","2294.206055","2302.843750","2305.270264","2322.465088","2333.105957","2340.742920","2352.54","2357.508789","2358.933350","2371.049805","2377.906250","2382.412842","2384.422852","2385.695068","2424.213135","2465.007812","2538.381836","2552.829834","2639.933105","2659.640625","300","300ms,猜测是","379.502930","382.000244","386.897949","399.669922","40.200928","400m","407.436035","409.042969","421.780762","426.408691","435.476318","439.666016","440.330811","441.053955","443.14","443.190186","453.924072","478.447998","48.425049","48.640625","490.614014","5","50.403320","508.499023","51.270020","51.363770","515.513916","53.313965","54.635010","54.883789","55.749756","56","56.13","57.637207","58.913818","59.484863","598.571777","63.152832","63.797852","64.150146","68.835938","779.028809","78.262207",":","=","==",">","@end","@implement","@interfac","@option","@param","@properti","@protocol","@requir","@return","[1]","[2]","[3]","[4]https://developer.apple.com/documentation/uikit/uiviewcontroller?language=objc","[5]","[6]","[7]","[8]","[[nsnotificationcent","[[uinavigationcontrol","[[uiwindow","[catransact","[nav","[nsmutabledictionari","[self","[self.renderedviewcontrol","[uiscreen","[unbalanc","[viewcontrollerclass","[viewcontrollerprerend","^{","_myrend","_myrender.renderedviewcontrol","_myrender;","_windowno2=","actual","addobserver:_myrend","alloc]","animated:no];","app","appear","appl","app,其实不适合用","ascend","asdk","avg","begin/end","begin];","block","block(vc1);","block,然后执行","builder。它的底层机制决定了它在开发启动、app","cach","calc.rb","call","cancelprefetchingforrowsatindexpaths:(nsarray","candid","catransact","cell,弹出领取津贴,我们分","cgrect","cgrectgetwidth(full),","chameleon","class","commit];","completion:(void","consid","consol","copi","cpu","data","dealloc","defaultcenter]","demo","develop","dictionarywithcapacity:3];","diff","dispatch_once(&oncetoken,","dispatch_once_t","distanc","document","document.onload","document.onload事件也提前,2357","documentation,","fetch","fetching,","forkey:key];","full","geometr","getrendered:viewcontrollerclass];","h5","hidden","indexpath","init","initwithcoder:方法实现序列化,打开","initwithframe:cgrectoffset(full,","initwithrootviewcontroller:[uiviewcontrol","interfac","io","ios性能优化系列篇之“列表流畅度优化”","layout","load","loadview()","mainscreen].bounds;","memori","ms","ms,相应的","ms,还需要进一步考虑","name:uiapplicationdidreceivememorywarningnotif","nativ","nav;","navig","navigationstart的性能,443","new];","new]];","nil)","nil;","no2","no2.hidden","no2.rootviewcontrol","no2.windowlevel","no2;","no;//","no,和在不在屏幕上没有关系","nslog(@\"releas","nsmutabledictionari","nsobject","nsstring","nsstringfromclass(viewcontrollerclass);","object:nil];","objectforkey:key];","old","oncetoken;","order","popviewcontrolleranimated:no];","pre","prefetch","prefetchrowsatindexpaths:(nsarray","prerend","present","pressure\");","previou","previous","project","purg","push","pushed,而是作为子","pushviewcontroller:fresh","pushviewcontroller:vc","removeallobjects];","renderedviewcontrol","resize、和作为子","return","rootviewcontrol","rootviewcontroller,之后再复用从缓存中拿到的","rootviewcontroller,始终有","safari,序号后面的图形,表示本阶段","same","selector:@selector(dealmemorywarnings:)","setcompletionblock:^{","setobject","setobject:fresh","setobject:vc","share","stack","stack后是否会被渲染,取决于所在的","stack的方式外,","stack里不能","static","storyboard","storyboard,需要持久化为文件,使用","strong)","subset","tabl","tableview:prefetchrowsatindexpaths:","transit","two","uikit","uinavig","uinavigationcontrol","uitableviewdatasourceprefetch","uiviewcontrol","uiviewcontroller.view","uiviewcontrollerd","uiviewcontroller需要可以安全的编写","uiwindow","uiwindowlevelstatusbar","ui、事件和转场等逻辑,将动态部分(网络请求)的发起逻辑写在转场结束之后。","unbalanc","url","url;如果","used;","vc","vc.view中间层,负责事件分发、响应链,","vc;","vc,","view","viewcontrol","viewcontrollerclass","viewcontrollerclass。否则会奔溃","viewcontrollerprefetch,增加额外复杂度。","viewcontrollerprerend","viewcontrollerprerender的逻辑分析解释为什么会有提速,在使用viewcontrollerprerender时,需要特别留意什么地方,以免掉入误区。","viewcontroller。","viewcontroller内部逻辑相同,详见","viewcontroller加载严选首页两种方式测试,保持","viewcontroller性能表现并不是瓶颈,所以目前业界对","viewcontroller的方式;第二次之后使用预热的","viewcontroller,但是不易过多,容易引起内存紧张","viewcontroller,因为","viewcontroller,如果第一次使用。","viewcontroller,池子,在必要时候","viewcontroller,然后再执行真实的","viewcontroller,隐藏的","viewcontroller,需要划分职责,在viewdidload里搭建框架,,而在另一个单独的接口如本","viewdidiload","viewdidload","viewdidload()之后,整个","viewlayoutmarginsdidchang","view,uidropshadowview,uitransitionview。","vs.","way","webview","window","window,才会触发预热","xcode","xib","xml","{","|","}","});","}];","。","一.","七,prerend","三.","上半部分,所有阶段是线性的;下半部分,可以做到并行,尤其是第三个","下次使用缓存","不可用。但是和是否在屏幕可见没关系","不宜占用太多主线程资源,避免对当前界面打开产生负面影响。","不是被","业务逻辑回调","中同步的返回一个预先被渲染的","中的渲染逻辑。以下是我根据自己的理解画的","中,默认大部分的尺寸是全屏。","为","为了避免一个","为例,","为例,你可以在","主方法。传入一个","之间的约束","事件。","事件开始时,就已经完成","二.","五.","从测试数据可见,使用预加载的方式显著的提升了","从测试数据来看,从点击到最后加载完毕,大概节省了","代码很短,全文摘录,以下以注释的方式详细解读。","以","以及其他元素,可以提高加载","会影响被缓存的","会根据滚动方向的变化实时改变缓冲区的位置;在向下滚动时,下面的","传统方式","但是对于整个","但是有些","体验中通常体验最差的","体验的瓶颈问题,不要随意使用","作为","作为严选用户体验的重要载体,app","作为网络加载时间的开始标志,以","作为页面加载完毕的标志;","使用","使用时出错,在本","使用的","使用预加载弹窗的","使用预加载方式","八,xib","六,原因探析","关键点","内“领取津贴”弹窗慢的问题时,我思考了这个问题,所以查阅了","内部方法,用来产生可用的","减少到","初始化,在","到","到底能不能预加载?","加载也使用","加载失败,就不会弹出弹窗。","加速两部分。","加速(使用预加载)和","动画同时进行的问题。","动画和另外一个","区域会是非滚动方向(trailing)的两倍,asdk","区域就是上面的两倍,向上滚动时,上面的","区域就是下面的两倍。","十,补记","却少见预加载的策略。极少数场景是这样的:整个界面包含多个","参考","发送网络请求(但是完成加载耗时只少","另外比较适合","可以直接将从","同样的,在被添加到","启动时会有性能损耗,不过也为我们做了一个例子——","和","四.","因为","困难、复用困难、启动慢等坏处,不值一提。","图例参考","在","在严选里弹窗有两种,一种是被动弹窗,比方说从后台数据返回中,得知有弹窗需要显示,nativ","在同一个","在和同事解决严选","在弹窗出现时使用缩放动画,h5","在整理出上面的流程结论后,编写了viewcontrollerprerender,虽然不到","在滚动方向(leading)上","在被添加到","在被苹果推广时没有被提到它预加载的优点,一直没有引起重视。","增加一个监听,当内存紧张时,丢弃这些预加载的对象不会造成功能错误,","外","大概有以下的收获;","如何预加载","如果使用","子元素容器,子元素根据","子类","字典时,保证被渲染过","实例","实例之后,后续相同的viewcontrol","实例的尺寸。但在预热好的","对","对于","对于大部分功能也能而言,","对象","对象已经在内存内。如果我们要使用","对象,在调用的","层次,特别的,会首先限制","层级,认清这些事件,可以知道哪个阶段做哪些操作是合适的?","工程里已经有","工程里注释。","已经被渲染过后的","带来的启示","常规的优化方案中,预加载也是极常见的手段,多见于:预加载图片、配置文件、离线包等业务资源。查阅后知,","并不是必选项,还需要根据自身的业务来决定使用可以","幸好通过多次尝试,最终解决掉。","序号的","应用时,也抱有相同的意图","开发方式失败的时候,大部分可需要持续迭代的","开发时,已经到了","引子","当它被添加到当前活动的","当我接触","当某个","必须先渲染将要被","必须是","必须是先设置","必须是显示的","性能提升如何?","性能是极其重要一环。我们对弹窗的体验做了少许优化。","性能问题中,","总结:预加载利用了并行这一传统性能优化技术,同时对","我的订单界面,当用户某个订单有商家已发货未收货时,根据行为统计,用户大概率会打开第一条已发货的订单去查看当前物流(物流数据来自第三方,响应速度没有保证),所以在进入我的订单时,可以预先加载一个查看最新未完成订单的物流的","或者","所以这个警告必须解决。","所以这里预先设置将来真正展示时的尺寸,减少","执行了","掉","推销","支持预热多个","文件","文件模式开发","文件绘制","文件被","文件,然后用","时至今日,当我思考预加载方式在","时,会触发","时,先从文件反序列化解析得到","时,可以直接从内存里获取,将会获得速度提升","时,它的","时,它的生命周期是错误的","时,生命周期紊乱导致一些依赖生命周期执行的逻辑失效,如电商行业里很看重的曝光统计数据不正确","是不是","是个懒加载属性,由","是可以被压入","更重要些。暂时没想到方法","有一套很智能的预加载策略;","有正确的尺寸。","有能达到预热","本次使用缓存,同时储备下次","本身。以","来开发,它的可视化带来的好处相比项目协作迭代里遇到的","来构建界面。开发人员创建完","来渲染界面的。这需要","根据","根据全局弹窗排序,决定显示那个——当后台数据返回指定的","次左右,统计表格如下,navigationstart","比目前","没有开源,我从","注意:以上为","测试方案:模拟器,每种方式测试时都重启,各测试了","添加","渲染的流程?","源码","点击到网络加载时间(ms)","点击到页面加载完毕时间(ms)","片段乃至","理想情况,应该是先执行","用户在详情页面,点击了我好评率,那么大概率,用户还会打开用户晒单的视频和图片。这时候可以预加载一个视频播放器和图片浏览器,提供用户的响应速度等。","的","的viewdidload","的原理,我大概画了图例来解释。","的地方如,","的子","的尺寸","的尺寸多少为合适。我自己做了下实验","的尺寸无关。","的尺寸是正确的和","的层级,除了显示第一个","的思想解决","的效果。","的新","的显示,将异步加载数据也放到并行逻辑了,这对有性能瓶颈的界面优化不失为一种方式","的核心组件","的渲染流程,肯定有错误和遗漏,仅供理解本文使用。","的生命周期也提出更高的要求,譬如:","的能力。","的重写源码里试图还原真实的","的错误","的页面优化。","的预加载并没有太多可参考的案例,不过对于某些场景优化还是有指导意义。在本文开始时提到的严选商品详情页里领取津贴是弹窗,常规情况下弹出是比较慢的,经过讨论后,我们决定对津贴弹窗做两个优化","的,这也是预加载的关键。","目标是严选商城的","直接返回全新创建的对象,同时也预热一个相同类的对象,供下次使用。","相同的","相同的一个uiviewcontrol","相比之下,预加载方式提前","知识小集推荐","等新的协议来提供uitableview\\uicollectionview","答案:可以被预加载,除了本文尝试的多个navig","系统层面,io","绘制","而且对于内存而言,尺寸越小内存占用越少,理论上","而对于用户主动弹出的弹窗,如用户在详情页点击","而最终的用户界面需要等待网络返回真实数据后重新渲染,在此期间,显示静态的等待界面。所以在需要被缓存的","而言,预初始化","自己在早期推广","自己的","虽然是编译器警告,实际上","行,前后却花了一周,主要是为了解决下面这个","被初始化好的","被加载完毕之后,才弹出遮罩,显示被加载好的","被添加到","被添加到当前工作的","被添加到活动","被预加载的","被预热的","要多两个","解决","警告。","资源调度问题)。以上数据只作为性能提升参考,对于加载","转场(segue)和按钮动作跳转","转自:","还为开发者新增了uitableviewdatasourceprefetch","这样也要求","这里包含一个陷阱——","这里设置的尺寸会影响被缓存的","适宜的场景","都会来","都能正确处理资源释放","里uikit","里做以下操作;","里拿到的数据实现为报表,方便你测试自己的页面性能加载提升对比。","里的seturl用来使用业务数据渲染页面。","里的情况,在","里绘制的静态数据","里还要多少操作空间时,我发现","里,第","页面的速度。","预加载","预加载与智能预加载(ios)","预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后一页的分页数据,在用户继续翻页时,能极大提升响应速度;在微信公众号列表,不仅预加载了多个分页数据,还加载了某个公众文章的文字部分,所以当列表加载完毕之后,你走到了没有网络的电梯里,依然可以点击某个文字,阅读文字部分,图片是空白。","预加载方案浅谈","题外话,app","(1,1,1,1)",",http://m.you.163.com,分别以传统的,每次都新创建",",否则会崩溃;而来自不同",",这个警告必须解决,否则会导致被缓存的",",预加载其他的"],"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":["\"yzsgoodsmodel.h\"","\"移动开发前线\"","#import","(bool)application:(uiappl","(bool)setupmodulesynchronously;","(h5,","(id)performtarget:(nsstr","(instancetype)sharedinstance;","(nsarray*)getgoodslist","(nsarray*)getgoodslist;","(nsarray*)goods_getgoodslist","(nsarray*)goods_getgoodslist;","(nsinteger)getgoodscount","(nsinteger)getgoodscount;","(nsinteger)goods_getgoodscount","(nsinteger)goods_getgoodscount;","(nsuinteger)priority;","(nullabl","(void)applicationwillenterforeground:(uiappl","(void)load","(void)setup;","(yzsgoodsmodel*)goodsbyid:(nsstring*)goodsid","(yzsgoodsmodel*)obj;","(当然你也可以起个别的名字)。同时因为","(很多接口还是基于阿里的需求提供的,我们用不到,会形成理解成本)。原因三其实是最关键的,就是模块化","(雷神里的彩虹桥)","(雷神里的彩虹桥)。在过程中我们深刻体会到","*","*)actionnam","*)applic","*)launchopt","*)params;","*)targetnam","*)urlstr","*/","*bundl","*good","*goodsid","*imag","*list","*path","*storyboard","*urlstr","*vc","+","+load","...","/","/**","//","//classa为framework中的某各类","//code","//goods模块所有对外提供的方法封装在一个category中","//goods模块提供实现goodsmoduleservice的对象,","//goods模块提供的所有对外服务都放在goodsmoduleservice中","//kroutegoodsdetail","//kroutegoodslist","//kroutemembersearch","//mediator提供基于nsinvocation的远程接口调用方法的统一封装","//sale","//yzsalemoduleservice.m内","//业务方依赖mediator模块,可以直接调用相关方法","//业务模块可以直接调用相关接口","//传统方式只能定位到指定bundle,比如main","//做一次强转","//将goodsmoduleservice放在某个公共模块中,对所有业务模块可见","//并在+load方法中注册","//提供具体实现","//注册服务","//通过路由url跳转到商品列表页面","0","1000","123];","16","17","2","20","2016","2018","3","3.1","3.2","3.3","3.4","3.5","30","300","4","4.1","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2","4.2.1","4.2.2","4.2.3","4.3","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","6",":","=","@\"//goods/goods_list\"","@\"123123123\";","@end","@implement","@implet","@interfac","@option","@protocol","@requir","@return","@“//goods/goods_detail?goods_id=%d”","@“//member/member_search”","[[goodslistviewcontrol","[[mediat","[[nsbundl","[bfmodule(yzgoodsmoduleservice)","[bifrost","[manag","[modul","[nsbundl","[nsstring","[router","[self","[self.navigationcontrol","[servicemanag","[uiimag","[uistoryboard","_nullabl","_nullable(nsdictionari","_yzg_goodsmodel,","_yzs_goodsmodel.","action:(nsstr","action:@\"getgoodscount\"","action:@\"getgoodslist\"","action:@\"goodsbyid:\"","alloc]","android","animated:yes];","app","appdeleg","arguments:@[safe(application),","arguments:@[safe(application)]];","beehiv","bifrost","bifrost.","bifrostmoduledefaultpriority;","bifrostmoduleprotocol","bifrostmoduleprotocol,令每个模块的","bindurl:kroutegoodslist","block","block,","bundl","bundle.","bundle:bundle];","bundleforclass:","bundleforclass:classa];","bundle中资源","bundle需要通过bundleforclass获取","cach","categori","checkallmoduleswithselector:_cmd","class","code","commit","commmon","commom","common","common.","common,和前面提到的简化","common,用于放置一些通用业务和全局的基类。app","compatiblewithtraitcollection:nil];","complet","completion:(nul","completion:^(id","complexparams,","complexparams:(nul","complexparams:nil","copi","ctmediat","d","d1","d2","d3","default","demo.","didfinishlaunchingwithoptions:(nsdictionari","error,","facad","facaded.","framework","framework,需要注意资源读取的问题。因为传统的资源读取方式无法定位到","getgoodslist];","git","git,代码提交的","good","goodmodelprotocol,","goods.name;","goods.price;","goods;","goods_getgoodslist];","goodsbyid:goodsid];","goodsmodul","goodsmoduleservic","handl","handleurl:kroutegoodslist];","handleurl:urlstr","handleurl:urlstr];","hardcod","hardcode,","hardcode.","hook","https://juejin.im/post/5d4136295188255d5861d0e4","id","id)handleurl:(nonnul","if(vc)","im","imagenamed:@\"icon_name\"","import","inbundle:bundl","infoq","init];","io","ios,android,weex/rn);","json,","list","logout","lowest","mainbundle]","manag","mediat","mediator(goods)","mediator,","merg","method1,","method2,","method3.","mgjrouter,","model","modul","module.","moduleprotocol","moduleservi","moduleservic","moduleservice.h","moduleservice.h,","moduleservice。将对其它模块的接口的反射调用,放入各个模块的","modulesevic","module的接口","module远程调用good","mr,","ms,","mvvm、mvp","nsarray","nsbundl","nsclassfromstring(@\"yzgoodsmanager\");","nsdictionary*)complexparam","nsinvoc","nsnotificationcent","nsobject","nsstring","nsurl","obj","objbyservice:@protocol(goodsmoduleservice)];","parameters)","params:(nsdictionari","params:@[goodsid]];","params:nil];","path","path,直接依赖的了别的模块,以便重用复杂模型类的情况。","peformselector","performselector","performselector:@selector(getgoodslist)];","performtarget:@\"yzgoodsmodule\"","performtarget:@“goodsmodule”","plist","pod","prioriti","priority;","project","project.","protocl","protocol","protocol,","protocol,不符合我们编译隔离的需求。但既然我们可以拷贝粘贴复杂对象代码,是否也可以拷贝粘贴","provided,","pushviewcontroller:vc","registerservice:@protocol(service_protocol)","request","result","result)","return","review","rollback","routecompletion)completion;","safe(launchoptions)]];","sdk","search","self.goodscell.nam","self.goodscell.pric","servic","servicemanag","setup.","setupallmodules];","sevic","sharedinstance]","simpread","storyboardwithname:@“sb_name”","stringwithformat:@\"kroutegoodsdetails\",","studio,","tohandler:^id","tricki","ui","uiapplicationdeleg","uiimag","uistoryboard","uiviewcontrol","url","urlforresource:@\"file_name\"","v1.0","v1.0:","v2.0:","v3.0:","vs","warning.","willfinishlaunchingwithoptions:(nsdictionari","withextension:@\"txt\"];","withmodule:self.class]","yes;","yzappdeleg","yzggoodsmodel,开单模块将其强转为","yzsgoodsmodel","{","{...}","}","}];","“危险代码”","“同名”","“如何在保证开发质量和效率的前提下做到无代码依赖的跨模块通信”。目前业界常见的模块间通讯方案大致如下几种:","“没有绝对正确的架构,只有最合适的架构”","“组件”。","“网络层”","“转发层”","“面向协议编程”","一、背景","一对多的通知广播。比如","三、业界常见模块化方案","上述问题在团队规模扩大,新同学到来时格外明显,经常需要答疑讲解。甚至有一次业务项目时间特别紧张时,有些小伙伴私下更改模块间头文件","上面方法里的","与一个","与一个页面绑定,需要时通过","与路由","业务功能的大部分资源可以通过无损压缩控制体积,体积不大的资源允许一定程度上的重复。","业务模块化时机","业务模块化的效果之一就是个业务模块可以单独打包,放入壳工程运行。很容易想到的一个改造就是把各个模块拆到不同的","业务模块化设计通过对各业务模块的解耦改造,避免循环双向依赖,达到提升开发效率和质量的目的。但业务需求的依赖是无法消除的,所以模块化方案首先要解决的是如何在无代码依赖的情况下实现跨模块通信的问题。io","业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自","业界的","业界里,蘑菇街的","个","个左右),所以我们为每个模块创建了一个","个,所以对启动速度的影响可以忽略不计。而且前文提到,每个模块本来也需要注册自己的外观类(modul","中。","中。好处很多,比如单独的权限控制,独立的版本号,万一发版时发现问题可以及时","中。管理非常方便规范,别的模块","中不同模块的开发发版节奏也基本一致,所以多","中业务模块数量不会很多(我们几个","中修改多个模块的代码。修改完成后,要多次执行提交、打版本号以及集成测试等操作,很不效率。同时因为涉及到多个","中接口改变导致的依赖模块的修改,其实成本很低,改起来很快。此时我们开始思考之前追求的编译隔离是否适合当前阶段,是否有实际价值。","中放入所需的初始化代码。可以在合适的地方将初始化","中的方式。","中的类型强转风险也没有了。","中的这些","中的那些方法。所以我们定义了一个继承","中(或者叫消息转发层)。这样危险代码只存在某几个文件里,可以特别地进行","中,曾发生过好几次小伙伴改别人的模块改出问题的例子(虽然有","中,通过","为","为什么不直接使用业界的","为子系统中的一组接口提供一个一致的界面,","为尽量减少拷贝粘贴频率,我们将每个模块对外提供的接口服务,路由定义,通知定义,以及复杂对象","之前的业务模块化方案没有使用","也不会引起编译问题,连改名这一步都省去了。以商品模型为例,为它定义一个","了。同时因为用的是同一个协议对象,所以","二、什么是业务模块化(组件化)","互不可见。","五、总结","人。业务模块化改造后会形成一定的开发门槛,带来一定的开发效率下降。小项目适合模块化改造吗?其收益是否能匹配付出呢?但考虑到当时","仍然对开发效率有一定影响。","代码的。但它有额外的服务注册过程,可能会影响启动速度,性能弱于基于反射的接口封装方案。这里对启动速度的影响究竟有多少呢?我们做了个测试,在","代码隔离的思考","优势是实现简单,非常适合处理一对多的通讯场景。","优化","优化以及","会发现它创建的子系统都叫","会破坏各业务模块的完整性,同时也会影响","传统的","但人难免有遗漏)。后来我们是通过","但介于业界习惯称之为组件化,所以我们继续使用这个术语。本文下面所用名词,“模块”","但编译隔离和代码隔离真的没有价值吗?当然不是,主要是我们当前阶段并不需要。过早的调整增加了成本却没有价值产出,所以并不合适。实际上我们还有一些业务模块是跨","但这样改造后又发生了一件事。某个新来的同学,直接在","但这种方式存在大量的","体验与成果","作为自己的页面统跳方案,达到解耦的目的。","使用","使用的,比如","修改文件路径来控制修改权限才解决了这个问题。后续介绍有赞移动基础设施建设的文章中会有更多相关细节。","做到服务端可配置","其它","其它优化","其实从功能角度,远程接口的网络层,完全可以取代路由","其质量和稳定性难以保障。最终我们采用了一个","内各子系统之间耦合严重,","内大多是","内资源,需要通过","写起来仍然有些麻烦。而且需要额外写单测保证质量。","分开存放的,相当于把以上方案里的","到自己模块中,也不需要改名,操作成本非常低。然后商品模块内就可以使用这个","到自己模块内部,就可以直接依赖并调用接口了。而且如果将来需要从服务器拉取相关配置,一个文件会方便很多。但是也需要考虑如果以上内容都放入同一个头文件,会不会导致文件过大的问题。当时分析模块间交互是有限的,否则就需要考虑模块划分是否合适。所以问题应该不大。从结果来看,目前我们最大的","加上注释大概是","劣势是","劣势是仅适用于简单通讯场景。复杂数据传输,同步调用等方式都不太方便。","动作执行及复杂数据传输。比如商品模块向开单模块传递商品数据模型并进行价格计算。","包含哪些接口即可。","区别于功能模块","协议与具体实现绑定起来。","协议天然支持:","协议注册的模块间通讯方式,对开发效率基本无损。","即可。","即可。我们","原文地址","参数,是一个回调","反射的代码明显会极大损害开发质量与效率,与目标背道而驰。所以,模块化解耦需求的更准确的描述应该是","另外如果使用","另外,为什么还需要路由","另外,我们发现每个模块对初始化顺序也有需求。比如账号模块的初始化可能要优先于别的模块,以便别的模块在初始化时使用其服务。所以我们也对","另外,每个模块单独","只是收敛了","只是模块化整体设计的冰山一角。我们也推荐读者所在团队,如果有时间可以尝试自己实现模块化工具,bifrost","只用做参考即可。","可以方便的打开相应页面。","可以有更细粒度的权限管理。我们因为在一个","各模块边界已经稳定,即使模块化改造出现问题,也可以用很小的代价将其降级到传统的中介者模式,所以改造开始了。","合适的注册及初始化方式。","同时创建一个特殊的模块","同时平时定期通过自动化工具检测无用资源,以及重复资源的大小,以便及时优化包体积。","同时,我们希望各业务模块不需要去理解所依赖模块的内部复杂实现。比如","启动时间影响大概是","呢?","呢?如果接触过后端的服务化改造,会发现和移动端的业务模块化很相似。dubbo","和","和生成静态库","和相关的编译检查也复杂了很多。同样的,因为微信商城","和联调测试。后期还可以通过单元测试来保障质量。模块化方案中,我们可以称这类","和设计不符,beehiv","和这些","和阿里的","商品模块的接口返回的是","四、有赞的模块化实践","因为其强大的运行时特性,无论是基于","因为我们希望一个模块做了接口修改,另一个模块可以存在一种选择,是马上更新接口,还是先完成手头的工作将来再更新。","因为我们每个模块都是基于外观模式设计的。所以每个模块只需要对外暴露一个","因为考虑到每个","基于以上设计,我们大概花了","基于反射的远程接口调用封装。","基于反射的远程调用封装","基于路由","基于通知的广播方案。","基于通知的模块间通讯方案,实现思路非常简单,","基于面向协议思想的服务注册方案。","基本类型的参数,url","增加了优先级接口。每个模块可以定义自己的初始化优先级。","声明呢?答案是可行的。而且即使工程中同时存在多个同名的","处理打开某个页面需要有回调功能的场景。比如打开会员选择页面,搜索会员,搜到之后点击确定,回传会员数据:","复制代码","复杂对象传输","复杂对象传输优化","复杂对象的处理方式也存在一些问题,比如拷贝粘贴的方式比较丑陋,重复代码会带来包体积的增加。","复杂类型的参数,可以提供一个额外的字典参数","外观(facade)模式:","多","多人,但仍然是一个协作紧密的整体,发版节奏基本一致。各业务模块代码都在同一个","多行。","头文件的方式仍然有一些理解成本。移动团队规模快速发展,一些新来的小伙伴还是会提出疑问。18","头文件,不再需要","如何进行优化呢?这其实是各端远程调用都需要解决的问题。移动端最常见的远程调用就是向后端接口发网络请求。针对这类问题,我们很容易想到创建一个网络层,将这类","字符串","字符串。无法触发代码自动补全,容易出现拼写错误,而且这类错误只能在运行时触发相关方法后才能发现。无论是开发效率还是开发质量都有较大的影响。","字符串,也不需要理解内部麻烦的逻辑。","存在重名覆盖的风险,需要通过开发规范以及一些检查机制来规避。同时","定义都放在","实现页面跳转,而且没有路由","对于远程接口调用的封装方式,我们没有完全照抄","对象后,appdeleg","对象对外提供所有服务,同时隐藏内部复杂实现。调用方也只需要理解","对象并令其为单例。在","对象都服从这个协议。app","对象)以处理生命周期和接受","对象,会轮询所有注册了的业务模块并进行必要的调用。","对象,所以其实没有额外的性能消耗。","封装到里面。上层业务调用时网络层接口时,不需要","将","将复杂参数放到字典中即可:","尝试","就做了这种尝试。将代码迁到了很多","就可以直接调用这些方法了。","就是服务化的经典框架之一。它是通过服务注册的方式来实现远程接口调用的。即每个模块提供自己对外服务的协议声明,然后将此声明注册到中间层。调用方能从中间层看到存在哪些服务接口,然后直接调用即可。例:","层只保留","层和","层因为没有明确的业务组来负责,所以也应该尽量轻薄。各业务模块之间互不可见,但可以直接依赖","层的目标是相悖的。而且因为","层等等,以便于维护和扩展。但随着业务的发展,系统变得越来越复杂,只做分层就不够了。app","层设计。","工程中,基本每次发版用的都是各个模块的最新版本。而且实际做了几次调查,发现","年优化后的模块化方案,基本算是具有有赞特色的相对成熟的方案了,支撑了包括零售在内的多个大型","年年中我们做了几次检查,发现模块间","年的实践,发现一味的追求性能,绝对的追求模块间编译隔离,过早的追求模块代码管理隔离等方式都偏离了模块化设计的真正目的,是得不偿失的。更合适的方式是在可控的改造代价下,一定程度考虑未来的优化方式,更多的考虑当前的实际场景,来设计适合自己的模块化方式。希望通过本文提供的具体案例和思考方式,大家都能找到适合自己应用的业务模块化之路。","年的尝试","年的思考","年的成熟","年的第一版模块化设计方案虽然可行,但还存在两个痛点:","年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出","年起开始实践业务模块化架构方式,大致经历了","年,有赞微信商城、有赞收银等","并未消除","广播相结合的方式。","开单模块内叫","开源库,以及美团都是采用类似方案。","当协议内容改变时,会存在所有服务依赖模块编译失败的风险。同时需要一个注册过程,将","当无法","当时最纠结的点就是复杂对象的传输。例如商品模型,它包含几十个字段。如果是传字典或传","当然有些场景会比这个复杂,比如有些页面需要更多参数。","微信群里听了蘑菇街的组件化方案分享,非常受启发。不过当时还是有一些顾虑,比如微信商城和收银当时都属于中小型项目,每端开发人员都只有","思考","成熟","我们建议所有进入业务领域划分稳定期(业务模块基本确定,不会发生较大变动)的团队采用业务模块化架构设计。即使模块划分还没完全明确,也可以考虑对部分明确了模块进行模块化改造。因为迟早要用,晚用不如早用。目前基于路由","我们选择了路由","或者","所有业务代码挪入各业务模块的","所有模块间调用均通过中介者来做(图二)。这时架构逻辑会清晰很多,但因为中介者仍然需要反向依赖业务模块,这并没有从根本上解除循坏依赖等问题。时不时发生一个模块进行改动,多个模块受影响编译不过的情况。进一步的,通过技术手段,消除中介者对业务模块依赖,即形成了业务模块化架构设计(图三)。","才行。","接收并处理全局事件。","摸索","摸索,2017","操作。这样改造的代价是形成了更多的依赖。本来一个业务模块是可以不依赖","收益还是可观的。","放入其中。common","文件","方案。当时非常期望保留模块化的编译隔离属性。比如当","方法,","方法中将自身注册给模块化","方法中注册了","方法引起的启动速度影响都微乎其微。模块需要监听的全局事件主要为","方法里:","方法附带参数数量有限,也没有返回值,所以更适合使用","时账号模块发出广播,各业务模块进行","是不需要","更多路由","最终形成的","最终我们决定节省每一份精力,效率最大化。将各业务的","最终,我们总结了所有我们需要的业务模块化需求,沉淀出了轻量级的模块化","有没有办法直接传递模型对象呢?这里涉及到模型的类文件放在哪里。最容易想到的方案是沉入","有没有办法绝对的避免","有赞移动","有赞移动自","服务使用方开单模块可以直接将这个","服务注册方案","本文由","本身是一种跨多端的通用协议。使用路由","来实现。","来设置模块依赖关系。","架构为:","架构关系如图:","架构设计更多强调的是分层,基于设计模式六大原则之一的单一职责原则,将系统划分为基础层,网络层,ui","某个类的头文件但仍需调用其方法时,最常想到的就是基于反射来实现了。例:","根据具体业务和需求的不同,大部分公司会采用以上一种或者某几种的组合。","模块。但一旦这个口子放开,后续会有越来越多的模型放入","模块。通过","模块中写代码通过这些","模块中这些命名有所变化,还会出现调用失败。所以我们对各个模块使用外观(facade)模式进行重构。d","模块依赖","模块内设计及","模块创建一个外观层","模块化通讯方案中,更多的是把通知方案作为以上几种方案的补充。","模块和","模块对上层业务模块的反向依赖。于是我们进一步拆分出了一个新模块","模块对外提供的某个接口发生变化时,不会引发依赖这个接口的模块的编译错误。这样可以避免依赖模块被迫中断手头的工作先去解决编译问题。当时也没有采用","模块是很薄的一层,共同修改维护这个模块也可以接受,所以目前没有将其拆开。将来如果需要,再将其做分拆改造即可,改造工作量很小。","模块没有明确业务组归属,所有小组都能编辑,","模块点击用户头像打开会员模块的用户详情页。","模块的","模块的这些内部信息才能完成反射功能的实现。如果","模块编译产出以及集成到","模块间网络层的封装基于反射代码,","模块间通信方式设计","模块,各业务模块直接依赖","模块,资产模块等等。他们都是独立","模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。","模式改造之外,还需要考虑以下问题:","每个业务模块的产出包括可执行文件和资源文件两部分。有","每个业务模块都作为一个子","每个模块除了","沉淀","沉淀几个阶段。期间有过对已有","没价值的隔离?","没有路由管理同时不够轻量","注","注意不是报","注:","消息。这里","清理及其它相应操作。","然后各个业务模块依赖","版本不一致的情况时有发生。当时零售移动团队虽然达到","版本改造后,app","独立发版的。编译隔离和代码隔离属性对他们很有效。","用老版本打包。我们的微信商城","的","的一些","的不同版本管理及回退的优势也没有体现出来。最终还是将各模块代码迁回了主","的业务模块存在,这种追求没有价值,所以应该问题不大。同时因为下沉的都是一些头文件,没有具体实现,将来如果需要模块间的进一步隔离,比如模块单独打包等,只需要将这些","的个月的时间对已有项目进行了业务模块化改造(边做业务边改造)。因为方案细节考虑的比较多,大家对一些可能存在的问题也都有预期,所以当时改造后大家多持肯定态度,成本","的主要原因是我们存在动态化且多端统一的需求。比如消息模块下发的各种消息数据模型完全是动态的。后端配好展示内容以及跳转需求后,客户端不需要理解具体需求,只需要通过统一的路由跳转协议执行跳转动作即可。","的代码,并做一个比较。如果发现不一致,则报","的优点是输出在同一个对象内,方便管理。缺点是作为动态库载入,影响加载速度。所以当时选择了静态库","的协议","的基于服务注册的方式","的声明","的头文件","的实现其实不难。通过前面的介绍,可以发现其中并没有什么黑魔法,代码量也不多,实现成本很低。模块化过程更多精力花在了全局架构设计,与之配合的开发规范,以及结合自己团队情况的一些取舍。模块化","的实现者就是这个","的实际模块数量大概是","的开发。","的形式。不过个人感觉这块还是需要具体测一下会慢做少再做决定更合适。但因为二者差别不大,所以后续我们也一直没作调整。","的思想。劣势是如果服务提供方和使用方依赖的是公共模块中的同一份协议(protocol),","的所有质量及效率方面的隐患,业务模块化方案趋近成熟。","的接口","的方式进行管理。但后续开发中体验并不是很好。当时微信商城","的方案。因为下沉入","的方案,把要传递的复杂模型的代码复制一份放在使用方模块中,同时通过修改类名前缀加以区分,这样就可以避免打包时的链接冲突错误。比如商品模块内叫","的服务注册方式,也是因为同样的原因。","的模块化改造,也试过直接应用于新起项目。模块化方案经历过几次改版,踩过一些坑,也收获了很多宝贵的经验。","的模块数量比开发同学数量多很多,每个同学都同时维护着多个模块。有时一个项目,一个人需要同时在多个","的质量。经过讨论后,决定把资源分为三类:","的问题。而且路由","的,但现在就必须依赖了。但考虑到实际情况,还没有不依赖","目前天猫和蘑菇街都有使用路由","直接基于系统的","相关例子,可以参考","相关框架","相比组件(component),个人感觉称之为模块(module)更为合适。组件强调物理拆分,以便复用;模块强调逻辑拆分,以便解耦。而且如果用过","相绑定。block","种选择:生成","移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”。有赞移动团队通过过往","端动态拉取放在本地缓存中。","等优化方式无法从全局层面解决这些问题。后来在","等全局类和","等同于","等特殊配置,基本没有任何业务代码。common","简悦","类似的,我可以将模块间通讯也封装到一个","组件化(模块化)架构设计实践","组件(比如图片库,网络库),本文讨论的是业务模块","组件(比如订单模块,商品模块)相关的架构设计。","经历了初期的功能快速迭代,内部依赖混乱,耦合严重,急需优化重构。传统的","经测试,这里因为单例造成的内存占用以及","经过以上优化改造,基本解决了","经过讨论,当时选择参考网络层封装方式,在每个模块中设计一个对外的","绑定,比如在","结构调整","统跳方案","统跳方案的优势是动态性及多端统一","统跳路由是页面解耦的最常见方式,大量应用于前端页面。通过把一个","编译隔离的思考","缺少服务管理,ctmediat","缺点是能处理的交互场景偏简单。所以一般更适用于简单","考虑到实现的灵活性,提供路由服务的页面,会将","自动化下载生成即可,改造成本非常小。","要再造个轮子呢?主要有三个原因:一是我们开始尝试模块化改造时,业界还没有相关框架开源出来,所以需要自己实现。二是我们的需求和业界的开源库不完全相符。mgjrouter","读uiimag","读uistoryboard","调用了上层业务模块的功能,形成了底层","资源","起来也简单,只需要把这个","跨模块进行方法调用和数据读取非常便捷:","路由","转码,","较大体积的资源放到服务端,app","边界越来越模糊,经常发生你中有我我中有你的情况(图一)。这对代码质量,功能扩展,以及开发效率都会造成很大的影响。此时,一般会将各个子系统划分为相对独立的模块,通过中介者模式收敛交互代码,把模块间交互部分进行集中封装,","还是基于","还是选择远程接口的困惑。这里选择支持路由","还有个原因,就是服务提供方和使用方共同依赖同一个","这些问题的根本原因还是存在效率损失,\"不方便\",怎么优化呢?","这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,提供一种思路,对遇到类似问题的同学能有所启发。","这种方式的优势也包括调用简单方便。代码自动补全和编译时检查都有效。实现起来也简单,协议的所有实现仍然在模块内部,所以不需要写反射代码了。同时对外暴露的只有协议,符合团队协作的","这种方式虽然比较粗暴,但考虑到两个模块间交互的复杂对象应该不会很多(如果太多则应考虑这两个模块是否划分合适),同时拷贝粘贴操作起来成本可控,所以可以接受。同时这种方法也能达到预期的编译隔离的效果。但两边模型定义及实现还是有不一致的风险。为了解决一致性问题,我们做了个检查脚本工具,在编译时触发。会根据命名规则查找这类","这种方案的优势是调用简单方便,代码自动补全和编译时检查都仍然有效。","这类资源主要包括图片、音视频,数据模型等等。","进行下沉到","远程接口存在一定的功能重合,还会造成后续实现新功能时,分不清应选择路由","远程接口封装优化","远程接口调用封装","通用功能所用资源,将相关代码整理为功能组件后一起放入","通知广播方案","通过","通过业务模块化架构,一般可以达到明确模块职责及边界,提升代码质量,减少复杂依赖,优化编译速度,提升开发效率等效果。很多文章都有相关分析,在此不再累述。","那么数据提供方(商品模块)和使用方(开单模块)都需要专门理解并实现一下这种模型的各种字段,对开发效率影响很大.","部分进行分拆,每个业务模块都有一个。这种方式的优点是职责明确,大家不用同时对一个公共模块进行修改,同时可以做到依赖关系很清晰;劣势是模块的数量增加了一倍,维护成本增加很多。考虑到我们目前的情况,mediat","都可以很很容易做到这一点。但不能为了解耦而解耦,提升质量与效率才是我们的目的。直接基于","都是采用的这个方案。","重复资源处理","阿里","除了不在不合适的阶段追求编译隔离,我们还发现代码隔离并不适合我们。","除了模块间通讯的实现,业务模块化架构还需要考虑每个模块内部的设计,比如其生命周期控制,复杂对象传输,重复资源的处理等。可能因为每个公司都有自己的实际场景,业界方案里对这些问题描述的并不是很多。但实际上他们非常重要,有赞在模块化过程中做了很多相关思考和尝试,会在后面环节进行介绍。","集成入","需要了解","非常少。","非常干净。","页面统跳管理。","页面跳转。一些复杂操作和数据传输,虽然也可以通过此方式实现,但都不是很效率。","页面跳转。比如","项目中的","项目结构如图:","首先我们排除了无脑放入","首先是如何避免反射及","首先是梳理我们的模块间通信需求,主要包括以下三种:",":业界有些方案是把"],"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":["\"commit","#","$","$(git","%s\\0\"","&&","(1046479/1046479),","(256/256),","(base)","(printf","+","...",".git","1","1/3:","10","100%","1034279,","190de0ca85c16aef74c490127b94fa8ff04e168","1,例如:sha","20","2005","2007","2017","256,git","40","5d05609b383fffc5f9f36f65de0d7d7d3df91ce6","652baf18601eecf42521a1361a8815576bc8eb55","add","bad,","best","better","better,","between","blob","c);","cat","check","checkout","checksum","client","clone","collis","commit","connectivity:","control","cv","dangl","data","degrad","design","design?","design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。","detect","differ","directori","directories:","done.","explor","fact","file","for?","form","fsck","function","git","git:","git://","git?","github","github.com","gitlab","git、svn","good,","googl","hash","hate","head","head)","https://draveness.me/whi","id","journey","linu","local","main","metaphor","mix","moron","myth","n/a","nightmar","object","objects:","out","prevent","proud","pull","push","real","refer","repo","repositori","request","seri","sha","sha1","sha1sum","stand","subvers","subversion?","svn","system","system),演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用","talk","test","thing","transit","ugli","understand","updat","us","username=","vs.","wc","why'","year","|","·","–","——","上一次提交的","上介绍","上曾经介绍过版本控制系统必须具有的三个特性:","上的演讲就此嘲讽过","上述三点中的后两点是非常容易理解的,虽然很多人可能会疑惑为什么性能对于一个日常使用频率不高的版本控制工具如此重要,但是没有人拒绝性能的提升(尤其是在免费的情况下)。","上述的几个特性对于一个好的版本控制系统来说缺一不可,我们会依次介绍它们的重要性以及","不支持在本地提交文件,这一点背后的设计哲学就与","与其他版本控制工具的对比文章和讨论都已经有着相当久的年头了,我们目前面对的开发场景与几年前有很多不同,而这些不同的版本控制工具也各自演化,不过作者始终认为","个字母组成的","中找到更详细的解释:","为什么你应该使用","为什么这么设计(why’","今天的绝大多数开发者都已经在日常开发中使用","仓库都有全量的变更数据,我们不需要通过网络获取仓库的相关信息,与中心化的版本控制工具相比,在出现问题时我们也能快速定位导致问题的变更所在。","以上的三个问题都是集中式的主仓库带来的,它们是中心化的系统无法避免的问题,这些集中式版本控制系统的缺点非常影响它的使用体验,这也是为什么","以及其他的版本控制工具。","作为分布式的版本控制系统能够让开发者离线工作和本地提交,不仅能够避免直接提交大量代码带来的风险,还能帮助我们限制对主仓库的授权,减少由于命名空间导致的冲突问题;","作为版本号,这一方面是因为一个分布式系统中没有全局时钟和版本的概念,另一个方面","作为版本控制工具的话,你可能无法体会使用集中式版本控制工具的局限性,假设我们使用的是一个集中式的版本控制系统的话,所有的开发者都必须连接到同一个服务器上才能进行开发和提交:","作者和提交人的名字、邮件等信息;","你可以使用如下所示的命令来生成当前仓库","做不到的?","共同组成了一个链条,我们只要验证当前的提交版本是否合法,就能够信任整条链路上的全部提交,如果本地仓库的磁盘损坏,我们可以通过当前的提交记录从远程仓库上获取相同的代码并且通过下面的命令来验证仓库中的数据是否发生了损坏:","关于滨野纯的访谈","分布式","分布式对于一个版本控制工具非常重要,如果你从开发程序以来就一直使用","分布式的方式更加符合版本控制系统的工作场景;","分支;","则使用由","原文地址","可以让我们在本地创建分支并且没有命名空间冲突的问题;","可以让我们在本地进行提交以支持离线工作;","可以让提交通过","可靠性","可靠性对于一个版本控制系统来说也至关重要,专业的云服务商提供的磁盘都不一定能够保证我们数据的可靠性,避免数据损坏和丢失等问题,我们作为普通用户和开发者,更需要通过一些机制来保护我们的代码不会被损坏,如果版本控制系统不能为我们提供保护或者一致性的校验,我们可能就会遇到只有在编译或者打开文件时才会发现文件损坏的窘境。","可靠性能帮助我们能够及时发现数据因磁盘故障而丢失或者损坏;","合并多个分支是一件非常容易并且快速的事情,它能在几秒钟以内将两个复杂的分支进行比较和合并,不需要等待较长的时间。","同时让项目中的所有开发者具有写权限其实是一件危险的事情,我们并不是知道这些开发者是否有着足够的经验操作主仓库,一旦出现操作上的失误,所有的成员都将面临这一失误带来的风险;","命令为我们生成","命令对照表,其中包括了两个不同工具对于检出仓库、更新本地仓库、本地提交和向主仓库提交几个最常用的简单命令:","命令将某一个仓库中的全部数据下载到本地并在本地创建分支、修改和提交,也可以选择将新的改动推送到其他的节点上或者等待其他节点的拉取。","和","哈希来保证仓库中数据的可靠性,我们通过","哈希的一致性检查,保证我们能够立刻感知到仓库中的数据损坏和变更,还能够帮助我们抵御来自攻击者对文件的恶意篡改,保证了仓库的安全和可靠性。","哈希的计算同时使用了源代码树、上一次提交的哈希、作者和提交人的信息以及当前提交的消息,所以只要使用的任何信息有所变动,我们就会在校验时发现哈希的不一致,从而检测出当前仓库的数据中包含数据的变更、损坏和丢失,同时这也能够帮助我们阻挡攻击者对仓库的恶意修改,因为即使对仓库修改成功,攻击者也很难保证哈希的不变,虽然在研究中表明这种的哈希冲突攻击是可能的,但是在实践中遇到这种问题的几率还是非常低。","哈希,你可以在","哈希,例如:e328029255d8f02909ec0cbc16cc74ef4b79e1d0,这个哈希就表示了当前提交的版本号,它是由以下的数据共同计算而来的:","哈希;","在","在一个分布式的版本控制系统中,所有的节点在实现上都是等同的,只要有权限,它们都可以一次获取其他仓库中的全部数据。不同的节点之间可以互相拉取代码,我们可以使用","在优化性能时选择了合并分支作为主要的性能衡量指标,将合并分支变成了成本非常低的操作以鼓励分支的使用;","在日常使用中的明显差异","在绝大多数的场景下都能让我们的开发和合作变得更加高效。","在继续深入理解","在设计","在设计上有哪些缺点和问题,我们能不能改变它?如果能的话又如何改变它?","在设计上的决策之前,我们首先要回到今天要讨论的问题,也就是『为什么你应该使用","如何从","如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因,可以在博客下面留言,作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容。","字节的","完全不同。","客户端和插件也降低了","对中心仓库的提交和改动,例如创建分支等操作对于所有的开发人员都是可见的;","对于一个较大的分布式开发团队,在实际生产中我们也难以保证所有成员都能同时通过骨干网等高速网络连接到同一个主仓库;","对每一个版本的提交都会生成一个","对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用","就可以对数据进行校验,保证整个提交链条上的所有数据的稳定性和可靠性,也帮助我们抵御了来自攻击者的恶意篡改;","工程师必须都需要连接网络才能开发,在网络状况不好或者无网络的情况下无法进行提交;","带来一些其他的差异,例如","年","年开发出的版本控制系统(version","年的","当前仓库的所有开发者都需要有直接向主仓库提交代码的权限,否则他们就无法进行开发;","当前提交的消息;","当前提交的源代码树;","当我们使用集中式的开发模型时,无论是提交代码还是创建新的实验分支,这些操作其实都会改变所有人共享的代码库,这也就意味着如果某个开发者创建了很多的实验分支,所有开发者的代码库也都会变大;","当我们谈论最好的版本控制系统时,我们需要为","很多人可能认为自己并没有离线工作的需求,但是这实际上在我们的日常工作中也比较常见,百兆带宽虽然已经能够满足日常开发的需求,不过在复杂的网络环境下,很多时候我们还是会遇到无法联网或者网络极差的场景,例如在飞机和火车上;","很多公司和决策者因为不了解工程和版本控制系统,可能非常容易地就低估了集中式仓库带来的『效率降低』程度。","很多关于","性能","性能对于一个版本控制系统也至关重要,但是更重要的其实是选取合适的指标对性能进行度量,linu","性能的提升能够鼓励我们做出成本更低的操作;","总结","我们在上一节中已经介绍了版本控制系统必须满足的三个特性:分布式、高性能以及可靠性,在这里我们就会分别从这三个方面介绍","我们对于版本控制系统的的要求是什么,又应该如何定义一个更好的版本控制系统呢?linu","我们还是需要简单总结一下正文中提出的一些观点:","或者","所有的","找几个用于比较的对手,只有通过对手我们才能更清晰的理解","文档和工具链对于一个工具来说十分重要,一个好的文档不仅能够帮助初学者快速上手,还能帮助使用者解决大多数使用过程中的困惑、理解工具背后的设计和实现,git","无法发挥的作用?它有哪些特性是作为分布式系统的","无论是","时可能就会同时比较","时是如何满足自己提出的这些需求的:","是","是一篇关于","是如何遵循这些规则来设计和实现的。","是目前最高效的工具,这都是由顶层的设计思想决定的,我们今天就来看一看『为什么你应该使用","有没有什么方式能够帮助我们发现使用『哈希碰撞』进行的恶意攻击从而保证仓库的安全呢?","服务,图形界面的","来比较两个不同版本和不同文件夹之间的差异也是非常迅速的,作为分布式系统,每一个","来访问这些代码不会有什么问题,通过计算机之外的方式对代码进行控制是一种效率更高的做法。","检测到了","概述","然而『合并分支』的性能对于版本控制系统来说才更加重要,因为我们创建新分支的最终目的就是合并回主干分支,如果合并分支的性能非常差,每次合并可能都需要几十秒甚至几分钟,那么这种昂贵的代价就会使开发者谨慎地使用分支合并操作,很多人可能因为合并分支的复杂和困难选择直接在主干分支上开发,因为他们认为只改一两行代码怎么可能会导致线上事故!","然而在实际场景中,真正需要严格控制的代码都非常少,大多数公司的内部代码都是一些秘密等级非常低的业务代码,不仅代码质量非常差、而且一旦脱离了公司的环境就无法运行,作为公司内部的开发者通过","版本控制系统中的开发模型必须是分布式的;","版本控制系统必须保证文件的完整性,提供来自于数据丢失或者损坏的保护;","版本控制系统必须提供足够好的性能支持;","由于","的使用门槛,sourcetre","的哈希碰撞,所以","的开发者,因为它们选择将『创建分支』作为度量版本控制系统的重要性能,还在自己的官网上以此进行宣传(具体界面已经不可考证)。","的所有版本号都是串行的递增数字,版本号不会有冲突的可能也更利于沟通和交流,git","的提交版本号,这个命令通过以上信息重新计算出了","的方式进行,不需要所有的开发者都有主仓库的写权限;","的生态目前建设的也非常好,github","的生态走的更加成熟,也是为什么我们应该使用","的重要原因。","的集成也不再需要我们直接使用命令行来进行操作(作者还是倾向于使用命令行),这些都帮助","目前的","社区也在考虑使用更加复杂的哈希算法来替代","等服务商提供个人版和企业版的","背后的设计哲学为它带来了怎样与众不同的功能,而我们今天在介绍","能够作为","能够在哪些场景下发挥出","虽然分布式的版本控制系统能够为我们带来各种各样的好处,但是这并不是说集中式的系统就不能用,正相反在一些代码需要严格控制的项目中,集中式的版本控制系统却能更好的工作,这是因为企业或者项目在做决策时认为『代码需要非常严格的控制』,由此带来的效率降低等问题是可以接受的,所以这其实是对开发效率与权限审核的权衡。","虽然在实现上所有的节点都是等同的,但是在实际操作中我们还可能会有一个或者多个主仓库帮助多个开发者同步代码,各个节点之间的关系更像一个可以分叉的树形结构,与中心化的版本控制系统相比,通过分布式的模型:","虽然我们能在中心仓库中创建分支,但是由于中心仓库中不存在名空间,如果开发者创建分支没有遵循特定的命名规则,就非常容易出现命名冲突的问题,例如各种","虽然说这两个版本控制系统有很多等价的功能,但是从两者不同的地方我们就能看到它们在设计上的不同抉择,例如:svn","设计","迁移到更复杂的哈希的提案,感兴趣的读者可以简单阅读一下。","还是其他的版本控制系统,它们绝大多数的功能都是重叠的,所以很多时候我们也能找到不同工具之间命令的对照表,下面就是一个","这篇文章","这里我们还是要强调,集中式的版本控制系统在一些需要严格控制源代码的公司中还是有着一席之地,不过我们总是可以通过将代码分到多个仓库来分别限制权限,但是如果这一操作并不可行,选择集中式的版本控制系统可能就是最后不得不做的选择。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细想一下下面的问题:","进行版本控制","进行版本控制』。","进行版本控制』,我们可以换一种方式思考这个问题","进行版本控制了,分支的创建和合并是非常常用的功能,这其实是因为使用","选择使用分布式的设计思想指导其实现,正是版本控制系统的场景其实与分布式的模型更加相似,所以通过分布式的模型能够很好地解决上述的关键问题。","选择集中式的版本控制工具意味着我们必须接受以下的几个缺点:","通过","除此之外,使用","集中式和分布式系统的特性也为","验证仓库中的内容是否被更改,我们会在『可靠性』一节中详细介绍这一特性。"],"Article/深入了解 iOS 的初始化.html":["!","\"daniels\";","\"旺财\")!","#endif","#if","(instancetype)init","(instancetype)initwithframe:(cgrect)fram","(nonatomic,","(nullabl","(self","*)coder","*)name","*name;","//","0","10,","100","100)","18)",":",";","=","?,则为隐式的可失败的初始化器","@end","@implement","@interfac","@properti","[self","[super","age)","age:","age;","alloc]","anim","c","cgrect,","class","conveni","design","dog:","doubl","double)","failabl","fatalerror(\"init(coder:)","frame)","func","https://juejin.im/post/5dd24e3ff265da0bbc3067a","implemented\")","init(age:","init(frame:","init(name:","init?(coder:","init?(name:","init]时,","initi","initializers)","initializers),表示在某些情况下会创建实例失败。","initwithframe:","initwithframe:fram","initwithframe:frame])","initwithframe:,导致父类nsobject的指定初始化器","init退化成便利初始化器。所以当调用[[uiview","init里面必然调用了","instancetype)initwithcoder:(nscod","int","int)","int,","io","jump()","myview","myview:","name","name)!","name,","name.isempti","name:","name:(nsstr","name:@\"daniels\"];","name;","nil","nil,没有强制要求额外为每个属性(成员变量)赋值,方便的同时也缺少了代码的安全性。","ns_designated_initi","ns_designated_initializer;","ns_enforce_nsobject_designated_initi","nscoder)","nsobject","nsstring","object","overrid","person","requir","return","score","score:","self.ag","self.init(name:","self.nam","self.scor","self;","simpread","string","string)","string,","strong)","student:","super.init(frame:","super.init(name:","swift","swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在","uirespond","uiview","var","xcode","{","}","不存在继承","中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在","中可以定义一个可失败的初始化器(failabl","中的指定初始化器会在后面被ns_designated_initializer修饰,以下为nsobject","中,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手","中,初始化的时候不需要保证所有属性(成员变量)都有值","中,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值","中,可以使用required修饰初始化器,来指定子类必须实现该初始化器。需要注意的是,如果子类可以直接继承父类的指定初始化器和便利初始化器,所以也就可以不用额外实现required修饰的初始化器","中,如果子类没有直接继承父类的指定初始化器和便利指定初始化器,则必须实现父类中required修饰的初始化器","中,如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。必须重写旧的定初始化器,在里面调用新的指定初始化器","中,如果存在继承,并且子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,那么就需要新创建一个指定初始化器,或者重写父类的指定初始化器,并且在里面调用父类的指定初始化器","中,子类会直接继承父类所有的初始化方法","中,子类可以把父类的指定初始化器重写成便利初始化器","中,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器,那么就不会继承父类的指定初始化器和便利指定初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器","中,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利指定初始化器","中,必须在初始化完成后才能调用实例属性,调用实例方法","中,都可以有多个指定初始化器和多个便利指定初始化器。如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器","中,都需要在便利初始化器中调用指定初始化器","从","便利初始化器","便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在初始化时更方便设置相关的属性(成员变量)。既然便利初始化器是为了便利,那么一个类(结构体、枚举)就可以有多个便利初始化器,这些便利初始化器里面最后都需要调用自身的指定初始化器","便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器","则有一堆的限制。","则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。","初始化","初始化时加入参数name,这个方法已经成为新的指定初始化器","初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值,否则会报错。","初始化的核心规则展开而来,swift","原文地址","参考资料","只有在表示创建失败的时候才有返回值,并且返回值为nil。","可以存在多个指定初始化器","可失败的初始化器,如果把","和uiview的指定初始化器","在","在保证子类有指定初始化器,才能创建便利初始化器,且在便利初始化器里面必须调用指定初始化器","在初始化时,会自动给每个属性(成员变量)赋值为","在没有给所有非可选类型属性赋值(初始化完成)之前,不能调用self相关的任何东西,例如:调用实例属性,调用实例方法。","复制代码","多了一些规则:","如果子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,则需要新创建一个指定初始化器,或者重写父类的指定初始化器","如果子类没有新的非可选类型属性,或者保证所有非可选类型属性都已经有默认值,则可以直接继承父类的指定初始化器和便利初始化器","子类可以把父类的可失败的初始化器重写为不可失败的初始化器,但不能把父类的不可失败的初始化器重写为可失败的初始化器","子类实现该初始化器时,也必须加上required修饰符,而不是overrid","存在继承","展开而来的多条规则:","当存在一个新的指定初始化器的时候,推荐在方法名后面加上ns_designated_initializer,主动告诉编译器有一个新的指定初始化器,这样就可以使用","当然,一个新的类也可以不增加新的初始化方法,在","必须在初始化完成后才能调用实例方法","必须实现此初始化器,但由于是可失败的初始化器,所以里面可以不做具体实现","必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)","必须要调用自己的指定初始化器","总结","或者","或者一直对","所有的其他规则都根据这两条规则而展开,只是","指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。在","换成","推荐加上ns_designated_initi","新创建一个指定初始化器,会覆盖父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","新的指定初始化器,如果有新的指定初始化器,就不会继承父类的所有初始化器,除非重写","无论在","无论继承自什么类,都经常需要新的初始化方法,而这个新的初始化方法其实就是新的指定初始化器。如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。为了遵循必须要调用指定初始化器的规则,就必须重写旧的定初始化器,在里面调用新的指定初始化器,这样就能确保所有属性(成员变量)被初始化","旧的指定初始化器就自动退化成便利初始化器,必须在里面调用新的指定初始化器","本文由","核心规则","根据这条规则,可以从nsobject、uiview中看出,由于uiview拥有新的指定初始化器","没有那么多安全检查,显得比较随意、宽松,而","深入了解","的初始化.md","的初始化最核心两条的规则:","的初始化没有深入理解的人很头疼。其实核心规则还是一样,只要理解了各个规则的含义和作用,写起来还是没有压力。","简悦","类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(design","自带的analysis功能分析,找出初始化过程中可能存在的漏洞","转码,","还是","这种情况处理就十分简单,自己里面的init方法就是它的指定初始化器,而且可以随意创建多个它的指定初始化器。如果需要创建便利初始化器,则在方法名前面加上convenience,且在里面必须调用其他初始化器,使得最后肯定调用指定初始化器","里面,所有类都继承自nsobject。当自定义一个类的时候,要么直接继承自nsobject,要么继承自uiview或者其他类。","里面,无论是","里,视图控件类,如果:uiview、uiviewcontroller就有两个指定初始化器,分别代表从代码初始化、从nib初始化","重写父类的指定初始化器,如果不重写,则子类不存在这个方法","重写父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","需要注意的是,如果子类重写父类所有指定初始化器,则会继承父类的便利初始化器。原因也是很简单,因为父类的便利初始化器,依赖于自己的指定初始化器",")、便利初始化器(conveni"],"Article/App 启动时间:过去,现在和未来.html":["/","1.0","1.0(1996","10","10.0,苹果开启了一个新的功能:预绑定(prebinding),用于找到系统中每个","10.13","11","1,如果我们有","2","2.0","2.0(2004","2.x","2.x,但在一些特殊场景下也可能会有一些潜在问题。在适配时我们需要注意以下几点:","2.x,所以有些现存接口会进入降级模式,这些接口的执行效率将会特别慢。所以在使用时,我们需要注意避免这样的接口。另外,有些针对于","2004)","2007)","2016","2。","3","3.0","3.0,dyld","3.1","3.3,在","300","300、400","3,最终","3,第三方","3?核心的理由有三点:性能、安全性和可测试性。什么是理论上启动一个","600","@rpath,那么恶意修改路径或者将一些库插入到特定的地方,攻击者就可以毁坏","all_image_info","app","app。所以这部分工作需要被搬到进程外来完成,比如搬到一个","app,我们会在","app,来完全取代","app,进程内引擎会在首次启动时启动一个","attribut","bind_at_link会降低","bind_at_link,在","bind_at_load","c","c++","cach","closure)”","closure):这是一个新引入的概念,指的是","crash。","crash,苹果提供了一个链接器标志","crash;而","c、c++","daemon","daemon,之后就可以使用启动闭包了。总之大部分情景下,这些工作都在","data","debug","dladdr()","dlclose()","dlopen()","dlopen()、dlsym()、dladdr()、all_image_infos。","dlrelease,它可能并不会真的关闭","dlsym()","dyld","dyld3.0。dyld(动态连接器)的更新对","dylib","dylib。并且,苹果的平台有一些防止","futur","initi","instrument","io","ios,tvos,watcho","juejin.cn","layout","leopard","mach","macho","maco","main()","nextstep","o","objc","oc","past,","path,@rpath","powerpc,后来增加了","present,","printf","randomization)和边界检查;","resolution)策略。也就是说在二进制文件中,printf","search","session","share","sideload","snow","space","startup","swift","swift。swift","symbol","text","thread","thread_loc","tiger","time:","tracing),用于定为","unix","warning,建议程序员自行修正不对齐的指针。不过","wwdc","x86,x86_64,arm,arm64","“启动闭包(launch","“懒惰的符号解析”","一、如何优化","一个启动闭包缓存服务:系统","一个进程内的引擎,来运行启动闭包:它所做的一切是验证启动闭包,将动态链接库映射出去,然后跳转到","一个进程外的","一启动就会","三、dyld","上大部分系统","上的大部分","上,人们必须使用第三方的封装函数来适配标准的","上,是","上,由于有","不同的扩展程序,所以在","不断增加了平台和架构:dyld2","与","个动态链接库,所以这个步骤包含了较大的工作量。","个动态链接库,这个方法会浪费大量内存。所以苹果预计在未来的版本中废弃这个方法,同时苹果将会提供相应的替代接口。","个组件的结合:","中不符。苹果对旧的二进制做了一些兼容,但是链接器将会禁止新的二进制使用这些方案,所以可能会出现链接错误。","中对这些操作进行了改进。这就可能导致","中有","中某些行为的结果和","中的一个方法,这个方法会返回","中的函数指针中","中的大部分只是一个常规的","中的预绑定被抛弃了。","中能被攻击的部分,并且能提升","中调用了","中,mach","中,一切都是在","中,我们甚至不需要打开一个单独的文件;对于第三方","中,缺失符号会导致","中,苹果发布了","中,苹果已经介绍了从","中,苹果给","中,首次调用缺失符号时","为了防止切换到","为什么苹果需要引入","之前调用的,以前我们很难调试它们。而现在,这个工具能提供每一个静态初始化程序的时间,帮助我们找到耗时最长部分。","之前,首先我们来回顾一下","之后,在","之外的平台,dlclose()","也不会卸载。所以在","也不允许不对齐的结构体。这些都对启动时间的优化有一定帮助。","也将会使用","了,未来第三方","二、dyld","二进制文件,并且完成了所有符号查找的工作;最后它将这些工作的结果创建成了启动闭包。这是一个普通的","今年,苹果发布了","从今年开始,系统","从多个角度增加了安全性,增加了代码签名支持,地址空间配置随机加载(address","代码不存在这个问题。","以上两点思路也是","会","但是值得注意的是,在","但是引入了","使用了","使用了哪些动态链接库,其中各个符号的偏移量,代码签名在哪里等等。","使用静态的二进制文件。相比于静态的二进制文件,引入动态链接库可以实现代码共用,节约内存和磁盘空间;各个动态链接库的更新变得比较容易,易于库的维护;动态链接库在构建时不需要合并到可执行文件中去,能大大缩减可执行文件的体积。","写入硬盘。","出现之前,next","出现在","出现时,posix","出现的时候,很多系统还没有使用大型","函数","函数。","函数中。它不需要解析","函数执行这之间的工作:app","函数的地址,首次访问","函数调用之前的启动速度瓶颈。","切换到","到","动态库,所以","匹配","卸载的机制,比如如果","原文地址","参考静态链接器的警告,修复所有不对齐的指针","发布至今,苹果对它进行了不断的优化和升级,即迭代出了","变量,dylib","另外,由于","另外,苹果还建议更多使用","可以使用","可能还是会有一些问题,所以各个第三方","启动上做的一系列优化。","启动之前做完的。在","启动之前完成了。","启动之前,符号解析的结果已经在启动闭包内了,所以","启动到","启动时矫正这些不对齐的指针,但矫正是一个复杂的工作。所以静态链接器会产生一个","启动时间:本次讨论的启动时间,指的是","启动时间:过去,现在和未来","启动闭包(launch","和","和环境变量;它解析","四、潜在问题和适配方案","在","在一些边界条件下,某一些操作的行为在今天看来其实是不正确的,苹果收集了这些案例并且在","在介绍","在启动期间所需要的所有信息。比如这个","在性能有了显著提升,所以","在本次","在设计上能避免很多","在面对一些大型","增加了一个工具,名叫静态初始化程序跟踪器(static","大部分的启动场景都不需要调用这个进程外的","头部可以进行某些攻击,如果一个","头部解析和符号查找工作完成后,这些执行结果会被作为","头部,也不需要做符号查找。","如何减少启动时间,最重要的还是尽可能的少做事。比如:尽可能的嵌入更少的动态链接库;尽可能少引入文件、少定义方法;尽可能少执行初始化程序。","如果必须使用,那么请让苹果知道你为什么需要使用","如果有一个全局的结构体,它指向一个函数或者另一个全局结构体,那么为了更好的运行性能这个指针必须和系统字长对齐。如果出于某些特殊原因,第三方程序员必须使用","安装或者系统升级的时候构建这个启动闭包。在","完全兼容","完全兼容,但在一些极端用例下,从","完全支持了","将全面取代","就不会卸载;或者如果","就将使用","就是专门用来加载动态链接库的库。通过回顾","尽可能将复杂操作放到进程以外:如果","尽可能的不要使用","平台;","并不指向真正的","并且,dyld","库时,动态链接非常慢。","库进行高效支持。","开发了与","开始之前,我们需要了解这样几个术语:","开始启动后,系统首先加载可执行文件,然后加载动态链接库。动态链接库的加载速度直接影响着","开始,app","开放使用","引入的,它完全取代了预绑定。这是一个包含了大部分系统动态库的文件,正是由于这些都被合入到了一个文件,我们可以做一些优化。比如重新组织","总结一下上述的适配方案,对于第三方程序员来说,我们在编码时应该做到以下几点:","所以我们可以认为","所做的优化,以及适配","所要完成的最少的任务呢?我们能有更激进的安全性检查么?我们能让","才会直接访问","抛弃","抛弃依赖","接口起源于","提升了性能,因此预绑定被完全废弃了,取而代之的是","操作系统上,但这是得益于人们在后来适配了专门的扩展程序;而","文件到自身的地址空间","文件并寻找依赖是安全性敏感的,因为恶意篡改的","文件,找到其依赖的库,并且递归的找到所有依赖的库,形成一张动态库的依赖图。io","方法","方法调用之前的时间。","方法,就需要去系统库中查找到","方法,这些方法在","时期不同:dyld","时缺失符号造成","时需要注意的问题。","是","是一个全新的动态链接器,它即将成为新的","是为了效率而设计的,所以在健全性检验上有一些限制。因此它也有安全性问题,所以苹果不断的改进它以适应今天的平台。","是如何启动一个","更严格的链接语法","更便于测试么?这些是苹果一直在思考的问题,也是","有:","本次","本篇相关文档和","来强行指定对齐方式,那么系统会在","模式下使用。","模式下,将","段、","段和整个符号表来缩减大小。它能打包二进制段,因此能节约内存空间。实际上它是一种动态库的预链接。它预先构建了","没有初始化过程;swift","环境下,性能开销变得更大。","由于","由于符号解析的开销很大,dyld","由于这些初始化程序是在","的","的一次全面重写。它拥有正确的","的优化将不再起作用。","的优化思路。在","的出现,改变了动态链接的流程,相信","的函数地址。从第二次访问","的历史","的历史和新的","的发展过程,我们可以看到苹果在","的名字和它实际的功能是不相符的,在苹果的平台上,它代表的意思其实是","的启动","的启动时长","的启动速度、安全性等方面有着重大影响。本文介绍了","的启动速度。","的启动速度带来明显优化。但是目前只有系统","的启动速度得到明显提升。","的启动速度,而","的启动闭包被构建在一个","的固定的地址,动态连接器会尝试从这些地址中加载,如果加载成功,就会编辑这些二进制,等到下次他们被放到同样的地址上时,就不需要做任何工作了。这样能大幅优化启动速度,但这意味着二进制文件在每次启动时都被修改,在安全性和其他方面都有隐患。","的地址,然后将地址拷贝到","的开发者也应该对适配有所留意,按照苹果提供的建议进行检查。","的引入,能让","的性能,所以这个链接器标志应该只在","的改革方向。","的时候,其实是访问了","的环境下不做懒惰符号解析,来帮助第三方程序员及时发现符号缺失的问题。当然,由于","的行为也将和","的陷阱;swift","的默认动态链接器,在未来也会被用于第三方","的:","确实出现在了一部分","等架构的支持,并且增加了","策略也不再被需要。这时,如果有符号缺失的情况,app","简单很多,因为它是一个内存映射文件,解析和验证都非常简单,并且经过了良好的性能优化。所以","类或者","类,dylib","绑定和变基:由于","编译器:它处理了所有可能影响启动速度的","能对","虽然","被添加链接标志符中","装载于","解析","解析器","解析器。而启动闭包又比","让进程中的需要执行的动态链接操作尽可能少:这样可以减少","识别可以被缓存的部分:符号查找就是其中一个,因为在一个特定的库中,除非软件更新或者这个库被改变,不然每个符号都应该有固定的偏移量。","识别安全性敏感的组件:解析","语法支持,能对","语法,也就是说它抛弃了旧时期的接口。dyld","起源于","软件。而问题是,它们的语义并不完全一致,所以会出现一些怪异的边界案例,并且效率很慢。","运行初始化程序,之后运行","还没有被标准化。现在","进程中。","进程,可以使用通常的测试架构。","进程,用标准化的测试工具就可以测试。","进行符号查找:比如","适配方案的最佳实践","那么应该如何做到以上这些呢?","那么这些步骤在性能、安全性和可测试性上应该如何被优化呢?苹果提出了这样两点思路:","部分接口的性能","都依赖","都应该被认为是一个无效的方法。","需要修正不对齐指针","需要完全兼容","需要的数据结构,这节约了内存和时间。","需要解决符号缺失问题","需要让地址空间配置随机加载,所以所有的指针都需要加上一个基地址","预计还得等待一些时日。","默认采取的是懒惰的符号解析(lazi",",其中的优化包括:"],"Article/iOSUIResponderChain.html":["([respond","(bool)pointinside:(cgpoint)point","(hitview)","(iokit可能是注册监听了屏幕输出的端口)","(responder)","(self.alpha","(uiview","(uiviewcontrol",")","*)event","*)event;","*)hittest:(cgpoint)point","*)parentcontrol","*)responder;","*hitview","*respond","*subview","0.01。","0;","1","2","3","=",">","[respond","[self","[subview","__iohideventsystemclientqueuecallback()函数会将事件交给source0处理,source0会调用__uiapplicationhandleeventqueue()函数,函数内部会做具体的处理操作。","api","api,可以处理触摸事件、按压事件(3d","appl","button","buttonaction:","cgpoint","chain派发。如果其不能处理事件,则交给手势处理或响应者链传递。","class]])","convertpoint:point","document","gestur","gesturerecognizer:shouldberequiredtofailbygesturerecognizer:","gesturerecognizer:shouldreceivepress:","gesturerecognizershouldbegin:","hittest:insidepoint","hittest:withevent:","hittest:withevent:方法内部会通过调用这个方法,来判断点击区域是否在视图上,是则返回yes,不是则返回no。","hitview;","icon,会将这个程序启动。","insidepoint","io","ios事件处理,看我就够了~","iskindofclass:[uiviewcontrol","juejin.cn","keywindow遍历subviews的hittest:withevent:方法,找到点击区域内合适的视图来处理事件。","main","nextresponder];","nil;","no。","no,如果想要uiimageview响应交互事件,将属性设置为","pointinside:withevent:","port(ipc","port传来的系统事件的,source0是用来处理用户事件的。","port发过来的事件,唤醒main","port将iohidevent事件转发给这个程序。","recogn","respond","return","rootview","runloop将事件交给source1处理,source1会调用__iohideventsystemclientqueuecallback()函数。","runloop并将这个消息交给source1处理,source1调用__iohideventsystemclientqueuecallback()函数,在函数内部会将事件交给source0处理,并调用source0的__uiapplicationhandleeventqueue()函数。","runloop来处理。","self;","simpread","source1收到系统事件后,都会调用source0的函数,所以最终这些事件都是由source0处理的。","source1是runloop用来处理mach","springboard是","subview3","subviews[i];","superview","tapaction:","tip","touch)、远程控制事件、硬件运动事件。","touchesbegan:withevent:","touchescancelled:","touchesended:withevent:","toview:subview];","uiapplication接收到事件,将事件传递给keywindow。","uicontrol","uigesturerecogn","uiimageview的userinteractionenabled默认为","uirespond","uiresponder是","uiview","uiviewcontroller没有hittest:withevent:方法,所以控制器不参与查找响应视图的过程。但是控制器在响应者链中,如果控制器的view不处理事件,会交给控制器来处理。控制器不处理的话,再交给view的下一级响应者处理。","uiview的子视图也会遍历其subviews的hittest:withevent:方法,以此类推。","withevent:(uiev","withevent:event];","ye","yes。","{","}","上面的视图中subview1、subview2、subview3是同级视图,都是superview的子视图。我们给subview1加上uitapgesturerecognizer手势,并且通过subview1action:方法接收回调,点击上面的subview3后,方法调用如下。","不只uibutton是直接由uiapplication派发事件的,所有继承自uicontrol的类,都是由uiapplication直接派发事件的。","中用于处理用户事件的","为了有依据的推断响应事件的实现和传递机制,我们做以下测试。","事件传递","事件传递优先级","事件到来后先会执行hittest和pointinside操作,通过这两个方法找到第一响应者,这个在上面已经详细讲过了。当找到第一响应者并将其返回给uiapplication后,uiapplication会向第一响应者派发事件,并且遍历整个响应者链。如果响应者链中能够处理当前事件的手势,则将事件交给手势处理,并调用touches的cancelled方法将响应者链取消。","事件拦截","事件控制","事件转发","事件逐级传递","事件通过uitouch进行传递,在事件到来时,第一响应者会分配对应的uitouch,uitouch会一直跟随着第一响应者,并且根据当前事件的变化uitouch也会变化,当事件结束后则uitouch被释放。","从keywindow开始,向前逐级遍历子视图,不断调用uiview的hittest:withevent:方法,通过该方法查找在点击区域中的视图后,并继续调用返回视图的子视图的hittest:withevent:方法,以此类推。如果子视图不在点击区域或没有子视图,则当前视图就是第一响应者。","以uibutton为例,uibutton也是通过hittest的方式查找第一响应者的。区别在于,如果uibutton是第一响应者,则直接由uiapplication派发事件,不通过respond","传递过程","例如用户点击了某个应用程序的","假设rootview、superview、button都实现touches方法,并且button添加buttonaction:的action,点击button后的调用如下。","假设有上面的视图结构,superview的subview超出了其视图范围,如果点击subview在父视图外面的部分,则不能响应事件。所以通过重写pointinside:withevent:方法,将响应区域扩大为虚线区域,包含superview的所有子视图,即可让子视图响应事件。","函数内部会判断,是否有程序在前台显示,如果有则通过mach","分析","即可响应事件。","原文地址","只不过这并不包含uicontrol子类以及uigesturerecognizer的子类,这两类会直接打断响应者链。","可以通过touchesbegan、pressesbegan、motionbegan、remotecontrolreceivedwithevent等方法,获取到对应的回调消息。uiresponder不只用来接收事件,还可以处理和传递对应的事件,如果当前响应者不能处理,则转发给其他合适的响应者处理。","可以通过重写对应的方法,控制这个遍历过程。通过重写pointinside:withevent:方法,来做自己的判断并返回yes或no,返回点击区域是否在视图上。通过重写hittest:withevent:方法,返回被点击的视图。","响应事件的优先级,以及整体的响应逻辑。","在__uiapplicationhandleeventqueue()函数中,会将传递过来的iohidevent转换为uievent对象。","在hittest:withevent:方法中,会从上到下遍历子视图,并调用subviews的pointinside:withevent:方法,来找到点击区域内且最上面的子视图。如果找到子视图则调用其hittest:withevent:方法,并继续执行这个流程,以此类推。如果子视图不在点击区域内,则忽略这个视图及其子视图,继续遍历其他视图。","在uiapplication向第一响应者派发事件,并且遍历响应者链查找手势时,会开始执行响应者链中的touches系列方法。会先执行touchesbegan和touchesmoved方法,如果响应者链能够继续响应事件,则执行touchesended方法表示事件完成,如果将事件交给手势处理则调用touchescancelled方法将响应者链打断。","在uiapplication接收到响应事件之前,还有更复杂的系统级的处理,处理流程大致如下。","在uiresponder中提供了nextresponder方法,通过这个方法可以找到当前响应环节的上一级响应对象。可以从当前uiview开始不断调用nextresponder,查找上一级响应者链的对象,就可以找到离自己最近的uiviewcontroller。","在函数内部,调用uiapplication的sendevent:方法,将uievent传递给第一响应者或uicontrol对象处理,在uievent内部包含若干个uitouch对象。","在开发中,有时会有找到当前view对应的控制器的需求,这时候就可以利用我们上面所学,根据响应者链来找到最近的控制器。","在开发过程中,经常会遇到子视图显示范围超出父视图的情况,这时候可以重写该视图的pointinside:withevent:方法,将点击区域扩大到能够覆盖所有子视图。","在执行hittest:withevent:方法时,如果该视图是hidden等于","在查找第一响应者的过程中,已经形成了一个响应者链。","基础","复制代码","如上图所示,响应者链如下:","如果textfield未处理事件,则会将事件传递给下一级响应者链,也就是其父视图。","如果前台没有程序在显示,则表明springboard的桌面程序在前台显示,也就是用户在桌面进行了操作。","如果当前视图在响应者链中,但其没有处理事件,则不考虑其兄弟视图,即使其兄弟视图和其都在点击范围内。","如果想让响应者链中,每一级uiresponder都可以响应事件,可以在每级uiresponder中都实现touches并调用super方法,即可实现响应者链事件逐级传递。","如果手势不能处理事件,则交给第一响应者来处理。如果第一响应者也不能响应事件,则顺着响应者链继续向后查找,直到找到能够处理事件的uiresponder对象。如果找到uiapplication还没有对象响应事件的话,则将这次事件丢弃。","如果控制器的view未处理事件,则会交给控制器处理。","如果是继承自uiresponder的类,则调用第一响应者的touchesbegin,并且不会立即执行touchesended,而是调用之后顺着响应者链向后查找。如果在查找过程中,发现响应者链中有的视图添加了手势,则进入手势的代理方法中,如果代理方法返回可以响应这个事件,则将第一响应者的事件取消,并调用其touchescanceled方法,然后由手势来响应事件。","如果有事件到来时,视图有附加的手势识别器,则手势识别器优先处理事件。如果手势识别器没有处理事件,则将事件交给视图处理,视图如果未处理则顺着响应者链继续向后传递。","如果点击uitextfield后其会成为第一响应者。","如果点击事件是发生在视图外,但在其子视图内部,子视图也不能接收事件并成为第一响应者。这是因为在其父视图进行hittest:withevent:的过程中,就会将其忽略掉。","如果第一响应者不能处理事件,则调用其nextresponder方法,一直找响应者链中能处理该事件的对象。","将事件转发给springboard来处理。","小技巧","应用程序会先调用第一响应者处理事件。","应用程序接收到springboard传来的消息,会唤醒main","应用程序接收到事件后,将事件交给keywindow并转发给根视图,根视图按照视图层级逐级遍历子视图,并且遍历的过程中不断判断视图范围,并最终找到第一响应者。","应用程序通过响应者来接收和处理事件,响应者可以是继承自uiresponder的任何子类,例如uiview、uiviewcontroller、uiapplication等。当事件来到时,系统会将事件传递给合适的响应者,并且将其成为第一响应者。","当事件到来时,会通过hittest和pointinside两个方法,从window开始向上面的视图查找,找到第一响应者的视图。找到第一响应者后,系统会判断其是继承自uicontrol还是uiresponder,如果是继承自uicontrol,则直接通过uiapplication直接向其派发消息,并且不再向响应者链派发消息。","当响应者链和手势同时出现时,也就是既实现了touches方法又添加了手势,会发现touches方法有时会失效,这是因为手势的执行优先级是高于响应者链的。","当用户操作屏幕,iokit收到屏幕操作,会将这次操作封装为iohidevent对象。通过mach","接收事件深度剖析","控制器未处理则会交给uiwindow。","最后交给uiapplicationdelegate,如果其未处理则丢弃事件。","最后到uiapplication后仍然没有能处理该事件的对象,则该事件被废弃。","有时候想让指定视图来响应事件,不再向其子视图继续传递事件,可以通过重写hittest:withevent:方法。在执行到方法后,直接将该视图返回,而不再继续遍历子视图,这样响应者链的终端就是当前视图。","本文由","查找第一响应者","查找第一响应者时,有两个非常关键的api,查找第一响应者就是通过不断调用子视图的这两个api完成的。","根据上面的手势和响应者链的处理规则,我们会发现uibutton或者uislider等控件,并不符合这个处理规则。uibutton可以在其父视图已经添加tapgesturerecognizer的情况下,依然正常响应事件,并且tap手势不响应。","根据我们上面的测试,推断","根据苹果的官方文档,手势不参与响应者链传递事件,但是也通过hittest的方式查找响应的视图,手势和响应者链一样都需要通过hittest方法来确定响应者链的。在uiapplication向响应者链派发消息时,只要响应者链中存在能够处理事件的手势,则手势响应事件,如果手势不在响应者链中则不能处理事件。","模拟代码","此方法在遍历视图时,忽略以下三种情况的视图,如果视图具有以下特征则忽略。但是视图的背景颜色是clearcolor,并不在忽略范围内。","注意","测试","然后会交给uiapplication。","父视图未处理事件则继续向下传递,也就是uiviewcontroller的view。","的那三种被忽略的情况,则改视图返回nil。","直到找到点击区域内,且处于最上方的视图,将视图逐步返回给uiapplication。","示例","示例代码:","第一响应者未处理的事件,将会在响应者链中进行传递,传递规则由uiresponder的nextresponder决定,可以通过重写该属性来决定传递规则。当一个事件到来时,第一响应者没有接收消息,则顺着响应者链向后传递。","简悦","系统的桌面程序。springboard收到mach","系统通过iokit.framework来处理硬件操作,其中屏幕处理也通过iokit完成","视图的alpha小于等于","视图的hidden等于","视图的userinteractionenabled为","调用方法,获取到被点击的视图,也就是第一响应者。","转码,","还是上面的视图结构,我们给rootview加上uitapgesturerecognizer手势,并且通过tapaction:方法接收回调,点击上面的superview后,方法调用如下。","进程间通信)","通过上面的例子来看,虽然subview1在subview3的下面,并且添加了手势,点击区域是在subview1和subview3两个视图上的。但是由于经过hittest和pointinside之后,响应者链中并没有subview1,所以subview1的手势并没有被响应。"],"Article/iOS 代码瘦身实践_ 删除无用的类.html":["\"\"","\"unref","#arm64","#binary_file_arch:","#class","#file","#subclass","#superclass","#untreat","%","%d\\n\"","%s\"","%s'","'","')","')[","'x86_64':","(__data,__objc_data)","(address,","+",".*","0","00","00000001","0000000102bd8070","0000000103113f68","01","03","03138580","03138878","0:","0x103113f68","0x10313bb80","0x\\w{9}","15","1]","1]))","1].strip()","64","68","75","77","=","==",">","__data","__objc_classlist","__objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。","__objc_classlist获取所有类的地址。","__objc_classref","__objc_classrefs段记录了引用类的地址,__data","__objc_classrefs获取到引用类的地址。","_objc_class_$_episodestatusdetailitemview","_objc_class_$_ttbasecontrol","_objc_class_$_ttepisodestatusdetailitemview","_objc_class_\\$_(.+)\")","_objc_class_\\$_(.+)')","arm64","arm7","b","big","binary_file_arch","binary_file_arch)","binary_file_arch):","binary_file_arch.startswith('arm'):","bit","class","class_list_pointers(path,","class_ref_pointers(path,","class_symbols(path):","confirmed,armv7","continu","d8","def","distinguish","endian","example:","example:00000001030bcd20","example:00000001030cec80","execut","extern","f","f.close()","f.write(","f.write(\"\\n\")","f.write(unref_symble+\"\\n\")","filter_super_class(unref_symbols):","format","io","juejin.cn","len(filter_prefix)","len(reserved_prefix)","len(subclass_name)","len(superclass_name)","len(unref_symbles))","line","line[0:4][::","line[0])","line[16:].strip().split('","line[2])","line[8:12][::","lines:","list_point","list_pointers.union(pointers)","littl","mac","mach","nm","nm:","nm命令可以得到地址和对应的类名字。","none","number:","o","open(script_path+\"/result.txt\",\"w\")","os.popen(\"/usr/bin/otool","os.popen('/usr/bin/otool","os.popen('fil","os.popen('nm","output","ov","ov可以获取到类的继承关系。","o中的段信息,需要注意的是模拟器和真机对应的可执行文件,数据的存储方式不同需要加以区分。","o文件中__data","path).read().split('","path).readlines()","pointer","pointers.add(''.join(line[12:16][::","pointers.add(''.join(line[4:8][::","pointers.add(line[1]","pointers.add(line[3]","pointers_from_binary(line,","re.compile(\"\\s*superclass","re.compile(\"\\w{16}","re.compile('(\\w{16})","re_class_nam","re_class_name.findall(line)","re_subclass_nam","re_subclass_name.findall(line)","re_superclass_nam","re_superclass_name.findall(line)","ref_point","ref_pointers.union(pointers)","result","result:","result[0]","return","s","script_path","set()","simpread","subclass_match_result","subclass_match_result:","subclass_match_result[0]","subclass_nam","superclass","superclass_match_result","superclass_match_result:","superclass_match_result[0]","superclass_nam","symbol","symbol)","symbols:","symbols[address]","symbols[unref_pointer]","sys.path[0].strip()","unconfirm","unref_point","unref_pointers:","unref_symbl","unref_symbles:","unref_symbol","unref_symbol.startswith(filter_prefix):","unref_symbol.startswith(reserved_prefix):","unref_symbols.add(unref_symbol)","unref_symbols.remove(superclass_name)","unref_symbols:","v","{}","中未使用的类,源码链接:xuezhulian/classunref。","为了防止一些三方库的误伤,还可以去过滤一些前缀,或者是是仅保留带有某些前缀的类。","代码瘦身实践_","删除无用的类","原文地址","取差集","可以通过","可以通过file命令获取到arch。","在取类地址的时候区分x86_64和arm。","在实际分析的过程中发现,如果一个类的子类被实例化,父类未被实例化,此时父类不会出现在__objc_classrefs这个段里,在未使用的类中需要将这一部分父类过滤出去。使用otool","复制代码","引用类地址","所有类地址","最终结果保存在脚本目录下。","本文将提供一种静态分析的方式,用于查找可执行文件","本文由","用所有类信息减去引用类的信息,此时我们可以拿到未使用类的地址信息。","符号化","简悦","自带的工具otool打印mach","转码,","过滤","这个思路在一定程度上能够减少代码的冗余,减小包的体积。因为是静态分析,不能包括动态调用的情况,对于需要删除的类需要进一步的确认。","通过nm","通过otool"],"Article/iOSLaunchScreenBug.html":["(bool)moveitematpath:(nsstr","(cgsize)getimagesize:(nsdata","*)dstpath","*)imagedata","*)srcpath","**)error","*imag","*launchscreennam","*storyboard","*vc","+","/","/private/var/mobile/containers/data/application/02cce9fd","/private/var/mobile/containers/data/application/1c4b15fb","/private/var/mobile/containers/data/application/573e7fe9","/private/var/mobile/containers/data/application/e7cb1946","0,","1cb2","1ffd332b","2019","2020","3.1","3.2","3.3","3.4","3.5","4","40c9","42ce","43f4","444f","478b","479cc9cc8bad@3x.ktx","48ff","4d69","4e84","5b3b","5f65","6312","6ae4","8565","88fcf7848323/library/caches/snapshots/baidu.testlaunchscreen","8a15","8eee","9193","93a8","96920d11","96fa","98f7b5b1","9d72","9fc3b84622cd/library/caches/snapshots/baidu.testlaunchscreen1/test.png","=","[[[nsbundl","[baidu.testlaunchscreen]","[uiscreen","[uistoryboard","[vc.view.lay","\\","a.","a562","a5e0ba0c047e/library/splashboard/snapshots/baidu.testlaunchscreen","a834","afbb52dbddb3@3x.ktx","api","api_available(macos(10.5),","api,我们无法得知,并且其生成时机也早于我们应用代码可控制时机,也就意味着我们无法控制系统生成启动图的行为,换句话说就是即使我们的","app","baidu.testlaunchscreen\\","bbdb","bec9aef7c41a@3x.ktx","bundle:nil];","cach","cfdataref)imagedata,","cfrelease(imageref);","cfrelease(source);","cgfloat","cgimagegetheight(imageref);","cgimagegetwidth(imageref);","cgimageref","cgimagesourcecreateimageatindex(source,","cgimagesourcecreatewithdata((__bridg","cgimagesourceref","cgsizemake(width,","creat","d9d48845","data","demo","deny(1)","eba0","ed3de6492ad1@3x.ktx","error:(nserror","execut","f8c4a62eafbc/library/splashboard/snapshots/baidu.testlaunchscreen","file","file:","group}","group}/1ffd332b","group}/96920d11","group}/98f7b5b1","group}/d9d48845","group}/。","group};","height","height);","imageref","info.plist","infodictionary]","interfac","io","ios(2.0),","ios10.0","ios13.0","ios9.x","ios启动图异常修复方案","ipad","iphon","ktx。","landscap","launched】,接着运行工程,在控制台应用中搜索","launchscreen.storyboard","left","library/splashboard/snapshots/","mac","mainbundle]","mainscreen].bounds.size,","mainscreen].scale);","mp.weixin.qq.com","no,","nsstring","null);","objectforkey:@\"uilaunchstoryboardname\"];","orient","png或jpeg。b.","prefer","read","renderincontext:uigraphicsgetcurrentcontext()];","return","right),虽然我们可以通过代码控制页面不跟随设备方向旋转,但是这会导致系统为应用分别生成横屏和竖屏的启动图,从而导致一个问题:","sandbox:","scheme】","simpread","snapshot","sourc","splashboard","splashboard.framework","splashboard,生成新的启动图,并缓存至沙盒目录,而我们在沙盒目录中也找到了新生成的启动图文件。","springboard","storyboard","storyboard.instantiateinitialviewcontroller;","storyboardwithname:launchscreennam","support","testlaunchscreen(403)","testlaunchscreen(630)","topath:(nsstr","tvos(9.0));","uigraphicsbeginimagecontextwithoptions([uiscreen","uigraphicsgetimagefromcurrentimagecontext();","uiimag","uistoryboard","uiviewcontrol","watchos(2.0),","width","write","written","wwdc","{","{default","{default\\","}","“完善”","“无法生成启动图,因为当前应用不支持任何有效的方向”,此种情况下系统生成启动图时机为首次启动应用时,大家可以自行实验下。","……","└──","├──","【``run】","【launch】,将其设置为【wait","一、背景和问题","三、解决方案","上不会跟随设备方向旋转,但","上也有复现);","上删除该缓存目录,发现同样无权限。","上图中大致流程为,检测到无可用缓存启动图,预热","上宣布自","上是需要支持设备方向旋转,所以我们的处理是:","上的方案涉及到图片宽高获取,而相信大家阅读到这里也知道了缓存图格式有ktx,但该图片无法直接使用uiimage接口进行加载,这里我们通过多机型、多系统地查看了ktx图片的元数据,发现总结其中的规则,通过取固定段的字节计算其宽高,或直接使用imageio相关的接口可以获取其宽高,参考:","上,我们通过代码仅生成竖屏启动图,然后直接替换全部的缓存启动图,即启动时不管设备方向如何,展示的始终为竖屏启动图;","上,我们通过代码同时生成竖屏及横屏启动图,接着分别使用这两张图进行替换,同时在替换时进行校验,只有当替换的启动图与缓存启动图宽高一致时才执行,即竖屏只替换竖屏、横屏只替换横屏。","不同系统、不同机型测试,均有复现,排除该问题只发生在特定机型或系统上;","中","中仅添加一张背景图,给其设置约束铺满全屏,竖屏时正常显示,但横屏时就异常了。(ps:大家可以关闭系统旋转锁定,参考横屏冷启淘宝及微信的解决方案)有一种解决方案是","中共生成四张截图,分别为对应着浅色主题下竖屏启动图、浅色主题下横屏启动图、深色主题下竖屏启动图、深色主题下横屏启动图,竖","中所支持的设备方向决定。如果在","中未勾选任何方向,那么系统会输出","二、问题分析定位","从日志中我们了解到,应用安装后,springboard","以下:library/caches/snapshots/${product_bundle_identifier};","以下:png。","以下:无权限。","优化后完整流程图如下:","但系统是如何生成的,调用了什么样的","体会其作用:","作者:shishu","你是否也碰到了启动图不更新、未加载等异常问题,今天就给大家带来一个终极解决方案。","修改图片名,前几次正常,之后依旧偶现;","具体可点击链接查看:https://developer.apple.com/news/?id=03262020b","前面提到替换图片时,需保持缓存目录下文件名不变,所以这里最简单的办法就是遍历缓存目录下的文件名,接着以这些文件名直接写入替换的图片。","即用户安装应用后,系统会自动生成启动图并缓存至沙盒目录,接着用户启动应用时,我们通过代码将沙盒目录下缓存的启动图文件全部替换为我们通过代码生成的启动图。","卸载应用重新安装,大概率恢复正常,仍复现;","原文地址","及以上:ktx","及以上:library/splashboard/snapshots/${product_bundle_identifier}","及以上:有权限;","变相地实现了操作缓存目录,大家可以查看","启动图未渲染成功,表现为每次启动均为白屏,并且线上也有复现,这是我们遇到的主要问题(该问题我们在某些知名","启动图未能更新,启动后仍展示旧启动图,这个问题相信有不少同学遇到。","启动图相信大家都非常熟悉,版本迭代中不免会遇到更换启动图的需求,本以为这是件很简单的事情,但实际操作时却遇到了各种毫无头绪的异常问题,如启动图不更新、启动图未成功渲染等。","呃。。。还是希望苹果爸爸能够","四、总结","图片格式:","在【edit","在初步走通了流程,验证了方案的可行性后,我们开始完善设计整套流程,并且测试其性能消耗。如测试发现从storyboard生成截图较为耗时,为此我们做了一个缓存策略,避免每次都去截图。","在此背景下,百度","地址:https://github.com/iversonxh/dynamiclaunchimag","大部分非游戏类应用,支持的界面方向都只有竖屏(portrait),即应用页面不会跟随设备方向旋转,始终以竖屏方向显示。但实际开发时,由于某些特殊需求,我们可能会勾选上横屏(landscap","如图可知,点击应用图标后,springboard找到了一个可用的启动图,无需预热splashboard,直接使用可用的启动图。","审核:gj,zsb,gbn,zjz","对","将launchscreen.storyboard文件复制到新建的空工程中,仍复现,此时猜测为系统缓存问题;","将图片从assets中迁移至工程根目录下,出现空白启动图概率降低,但仍会偶现;","希望本文能够对碰到此类问题的同学们有所帮助,也欢迎大家对本文指正不足。","年","年以来,苹果也多次发布公告要求更换启动图配置方式:","异步发起截图请求,接着由","引言","我们创建一个空工程,设备方向默认不更改,配置好启动图:","所以接下来我们做了一些尝试来验证是否能够修复我们所遇到的问题:","找到如下信息:","接着我们又做了多次测试,得出了以下结论:","接着我们又测试往缓存目录写入文件,发现也无写入权限:","接着我们想到当启动图出现问题时,系统是否会有一些辅助信息输出呢?果然通过","接着我们点击应用图标启动应用,再次观察控制台应用中输出:","控制台应用,虽然没有找到明显的异常信息输出,但是我们从中发现了关于启动图生成的关键信息(以下测试基于ios13系统,不同系统上表现存在差异)。","效果图:","文件配置无误,但启动图出现异常可能是无法避免的,所以我们的想法是既然无法从根源上避免启动图异常问题,那么我们是否能够提供补救措施,让其自动恢复正常,下次冷启就显示我们期望的启动图,这样不至于一旦出现异常后后续冷启都异常,对于用户来说也可接受。","方案小结","是否可以我们自己生成启动图放至缓存目录,让系统认为存在可用的缓存启动图:a.","替换启动图","替换的图片名需与对应的缓存图完全一致,包括文件扩展名,但实际其内容格式可以为","替换的图片大小需与当前屏幕大小一致(图片宽高等于屏幕宽高或高宽),如果不一致,系统会重新生成缓存启动图。","替换缓存启动图文件,即保证该目录下所有子文件名不变,但文件内容全部替换,验证方案有效:替换后冷启效果:","最后给大家奉上苹果爸爸关于启动图的官方文档,其中一段:","最终我们决定直接摒弃系统缓存的启动图,完全替换为我们自己生成的启动图。","月起,提交审核的应用都必须使用","本文由","本方案主要用于解决启动图无法渲染、不更新等异常问题,能够让应用自动恢复正常的启动图,从用户角度来说最坏的情况是首次启动时展示了异常的启动图,但下次冷启时即可展示正常的启动图了,保证了用户体验。","来配置启动图。而步入","果然,按照控制台中所输出的路径,我们找到了系统生成的启动图文件,其格式为","查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;","根据","根据以上的分析结果,我们知道应用启动时加载启动图的大致流程:","横屏截图是否生成由","横竖屏问题","正如上面所描述,我们的产品页面在","此时看到写入路径正是我们所熟知的沙盒目录,接着我们将应用沙盒目录导出,查看library目录结构如下:","注意","深夜暗坑","清空启动图缓存目录,迫使系统重新生成启动图文件,但仍出现白屏问题,方案无效;","清空缓存目录,直接放入随意命名的图片,验证无效,系统会在应用下次启动时或应用挂起时,根据应用支持的界面方向及设备当前的方向重新生成对应的启动图;b.","清空编译缓存,仍旧复现,故排除编译缓存问题;","然而当我们按照以上方案初步开发完成,进行多系统验证时,遇到了一个棘手的问题,测试发现方案在ios10.0及以上工作正常替换成功,但是在ios9.x及以下系统方案无效。通过断点调试发现调用nsfilemanager接口获取缓存目录下的文件名列表为空,再通过观察控制台应用中的输出,发现根本原因是无读取权限:","理论上在本方案基础之上还可升级添加更多产品策略,但这里也忠告大家请勿滥用,并且未来苹果可能会修改该系统机制。","生成启动图","生成截图,最后写入磁盘。","生成新的启动图,并将其缓存至沙盒目录","由以上分析我们知道系统启动应用时会检查当前是否有可用的启动图,所以我们猜想如果当前没有可用的启动图,那么应该会迫使系统重新生成。为此我们清空了缓存启动图,再次冷启应用,果然验证了我们的猜想:","百度","的初始视图控制器进行截图,参考以下代码:","相信大家也注意到上图红框中的写入路径(路径较长截图中未能完全显示),查看完整输出如下:","简悦","系统缓存图目录读写权限:","细节优化","经历了整个方案从调研到开发完成,以及多机型多系统的测试,我们对缓存启动图在不同系统版本上的表现差异性做了个简单归纳:","经过一系列的测试,我们排除了人为因素、编译问题等可能出现问题的点,最终认定是系统问题导致。","经过深度调研及不断地分析测试,我们终于得出一个可行方案,那就是替换系统生成的缓存启动图。","给imageview添加背景色,启动时正常显示imageview的背景色,但图片内容未显示,故排除了布局问题;","缓存启动图的文件名具有规则,但其规则我们不得而知。","缓存路径:","置空,但这解决不了启动图不更新或无法渲染问题。","而针对","若用户未开启系统旋转锁定,且横置手机启动应用,这会使得应用启动时显示横屏方向的启动图,而部分应用并未考虑适配横屏场景启动图,从而可能导致该场景下启动图拉伸或压缩等显示异常,比如在","苹果曾在","转码,","这个问题。","这里也是经过不断调试,找到了如下","针对","随即开展了相关的更换工作,具体的launchscreen.storyboard配置方式不再赘述,我们直接说配置后出现的问题:","顺带测试了下在","首先我们怀疑是配置方式有误、编译缓存等导致的问题,所以针对这些猜测我们做了以下测试:"],"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":["\"","\"1234\"","\"1234\";","&","(.m/.c/.swift","(__cfstring),以及运行时的元数据:class/protocol/method…","(cstring),object","(metal/opengl","(rhino)","(strip),是因为里面有些信息,如调试符号,是不需要带到线上去的。裁剪有多种级别,一般的配置如下:","(text),常量字符串","(uikit","(void)load","(启动路径上难免会读很多字符串),从而规避这个解密的耗时。抖音的重命名方案:","(如下图)。下图中部分页被标记为","*","+","+load","/","//不会产生静态初始化","//会产生静态初始化","0","0x10","0x1010。运行时类对象的地址已经知道了,bind","0x1010,那么","0x10。但是","0x10,加上","0,这个行为叫做","0,那么这些","1","1.","1234","1234。为了执行函数,首先要访问__text触发一次","12。dyld2","13","13,所以我们重点看下","15%。","16k,6","2.","3","3.","3.1","32byte,里面有两个指针:内部指针,指向__text,__cstring中字符串的位置;外部指针","400m","400ms。","4;","4k,这是","50%+","6","6s","93%",":","=","@\"1234\",编译到最后的二进制的时候是会存储在两个","[3]","__attribute__((constructor))","__data,__cfstring,存储","__mod_init_func,stat","__objc_nlcatlist,实现","__objc_nlclslist,实现","__text,__cstring,存储实际的字符串","anim","app","appl","applifecycl","app。目前我们在上海、北京、杭州、深圳均有招聘需求,内推可以联系邮箱:","app,开始执行","back","base","befor","bind","bind。","bind:修复外部指针。这个比较好理解,因为像","bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。catransact","block","build","c","cach","cache[1],什么是","categori","catransact","char","clang,swift","class","class/method","cocoapod","command","commit","commit(提交),打包","commit,首帧渲染数据打包发给","connect","connect,上传后会对__text段加密,加密会减弱","const","control","core","data","data,数据段,读写,存储","debug","delay","demo{","dependends,依赖动态库列表","dev/2019","didfinishlaunch","didfinishlaunchnotif","didfinishlaunchnotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到","dispatch_async","display],如果","display(绘制),源头是","display,drawrect","drawrect","dyld","dyld2","dyld3","dyld3。","dyld3,dyld3","dyld3,官方数据","dyld。","dyld。dyld","dyld,把入口地址设为_dyld_start","entry,","es)","execv","facebook","fastbot:行进中的智能","featur","fill。","fill,是因为全局变量的初始值往往都是","first","fixup","fixup,包括","fixup:bind","flag","flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的","flags,这些","frame","global","header","http://iphonedevwiki.net/index.php/dyld_shared_cach","http://lists.llvm.org/pipermail/llvm","https://developer.apple.com/support/app","imag","init","initi","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在","initializer,做一些最基本的初始化:","initializer:","inline。","int","in。","in。假如我们把方法","in,runloop","in,从而提升启动速度。链接器","in,其实也比较容易理解,因为启动的会读写二进制中的很多内容。pag","in,影响","in,把对应的文件内容读入物理内存。","io","ios/android","io,把数据读入物理内存","ipa","iphon","ir","ir(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。c","isa","isa,指向类对象的,这就是为什么可以对","itun","january/129268.html","launch","layer","layoutsublayers],这时候","layoutsubview","layout(布局),源头是","layout,viewdidload","lc_load_dylinker,找到","ld","libdispatch","library,是因为链接的过程中只需要符号就可以了,所以","libsystem","libsystem,因为他是所有依赖的源头。","lifecycl","link","linkedit,启动","linkedit,找到","linkmap","linkmap,这样在生成的","llvm","llvm。","load","logger","logger;","mach","mach_msg_trap","magic","main","mainqueue,block。在循环的合适时机,会以","map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:fil","memori","metrickit","metricskit","mmap","mmu","monkey","mp.weixin.qq.com","namespac","non","number,表示这是一个","o","objc","object","observ","oom","optimizeobjc:","optimizeobjc。","order_fil","order_file[2]","order:初始化调用顺序","o。链接的过程并不产生新的代码,只会做一些移动和补丁。","o,而是提供一个只包含符号等信息的","o,虚拟内存,mmap,pag","page","pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了","pass,由于","pc","phase","phase:以","pipelin","pipeline。","pipeline,因为启动优化的重点还在运行时。","prepare(准备),这个过程中会完成图片的解码","prepare,图片解码发生在这一步","printf","printf(\"1234\");","process","rebas","rebase,主要耗时在","rebase:修复内部指针。这是因为","rename_section,__text,__const,__rodata,__const\",","rename_section,__text,__cstring,__rodata,__cstring\",","rename_section,__text,__gcc_except_tab,__rodata,__gcc_except_tab\",","rename_section,__text,__objc_classname,__rodata,__objc_classname\",","rename_section,__text,__objc_methname,__rodata,__objc_methname\",","rename_section,__text,__objc_methtype,__rodata,__objc_methtype\"","rename_section,把","render","renderserv","renderserver,renderserv","renderserver,启动结束","root","runloop","runloop,继续执行这个","runtime,注册","runtime,由于闭包已经初始化了大部分,这里只会注册","section","section,分别存放不同类型的数据。","segment","segment/sect","segment,每个","sel","sel,加载","server","set","settings:配置编译和链接相关的参数。特别要提到的是","share","simpread","slide","slide=0x1000,这时候字符串在运行时的地址就是","slide。","slide,需要把内部的指针指向加上这个","source0","static","std::string","store/","storyboard,asset","stub","suspend","swiftc,二者的后端都是","symbol","symbols,主二进制","symbols,二方静态库","symbols,动态库","target","tbd","tech@bytedance.com","text","text,data,linkedit,也支持自定义:","text,代码段,只读可执行,存储函数的二进制代码","tip","tips:catransact","tips:启动最佳时间是","tmp/com.apple.dyld","tree","ui","uiapplic","uiapplicationdeleg","uiapplication,启动","uikit","uikit。uikit","uiviewcontrol","uuid…","var_1;","var_2","var_3","var_4","view","viewdidapp","viewdidload","while循环。","will/didfinishlaunch,这里主要是业务代码耗时","willfinishlaunch","wl,","write","xcconfig","xcode","xpc","zero","{","}","};","“砸壳”,砸的就是这一层","。","一小段时间再回到主线程上执行,对于性能较差的设备,主线程","一般会用","上传","上对第三方","上的修改打包,一起发给","上的修改,合并成一个事务,通过","下载","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做","不同产品的业务形态不一样,对于抖音来说,首页的数据加载完成就是视频的第一帧播放;对其他首页是静态的","与启动又有什么关系呢?","业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能","两个段存在:__text存函数二进制,cstring存储字符串","中插入脚本,来做一些定制化的构建,比如","中的","中的两个配置项:","中给出了官方计算方式:","中读取,很有可能读取的时候还没有注册。","为了执行这个简单的函数,系统要额外付出两次","为什么二方库在出静态库的时候要选择","为什么闭包能提高启动速度呢?","为例,我们来看下构建流程:","为维度定义了构建的流程。可以在","主二进制,找到","主要会做两个大的初始化:","主要处理几种任务:source0,source1,timer,gcd","主要有两个版本:dyld2","举一个基于链接优化启动速度的例子:","举个例子:一个","举例","之后会进行裁剪","之后对其置为","之后有一个偏移量","之后,首先会执行","之所以花这么大篇幅讲原理,是因为任何优化都一样,只有深入理解系统运作的原理,才能找到性能的瓶颈,下一篇我们会介绍下如何利用这些原理解决实际问题,欢迎关注~","也会编译,编译后加载速度会变快","也是在这一步生效","了。这时候很多动态库还没有加载进来,会首先对这些动态库","二进制重排","产生的条件","什么是","今日头条品质优化","仍然活着,只不过处于","代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用","以下图为例,方法","以内,因为启动动画时长是","以单","以抖音为例,用户感受到的启动时间:","优化了加密过程,不会对包大小和启动耗时有影响)。","会占去启动耗时的很大一部分,我们来看看单个","会合成","会在这个阶段执行。","会在这里调用,autolayout","会对上传","会影响","会成为启动性能的瓶颈。","会把","会把启动流程交给","会有一些逻辑要在启动之后","会被裁剪,去掉一些不必要的信息","会调用","会调用,autolayout","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新","作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,appl","做","做优化,生成机器码","做的组件化,这时候编译选项在对应的.","做的,app","其中解密是大头,io","其他:main","其次。为什么要解密呢?","内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。","再调用渲染框架","冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动","函数。main","函数之前的一些初始化,主要包括","函数多了,page","函数里要做的最重要的事情就是初始化","创建启动闭包","初始化","初始化之后,就进入了我们熟悉的","利用","到内核,内核创建进程。接着会把主二进制","到虚拟内存的时候,起始地址会有一个随机的偏移量","到虚拟内存,找到","前端负责预处理,词法语法分析,生成","前言","加入我们","加载到虚拟内存里。接着会对每个","加载到进程的地址空间里,然后把后续的启动过程交给","动态库一起,链接出最后的","动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是","原文地址","又被划分成很多个","变成","变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接","可以分为三部分:","可以通过","可执行文件的格式,典型的","可能一直处于忙的状态,所以这个","合成一个大的文件,提高加载性能的缓存文件。","后端基于","启动","启动主线程的","启动优化《原理篇》","启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以","启动是","启动有两种定义:","启动流程","启动的定义","启动的时候,mach","启动的种类","启动的路径上会触发很多次","启动速度提升超","启动速度断崖式下降的原因之一。","启用了","呢?","呢?我们先来看一下渲染的大致流程","呢?是因为像","和","和layoutsubview","和之前的设备都是","和方法","和装载","和资源文件一起,打包出最后的.","和静态初始化被调用,除了方法本身耗时,这里还会引起大量","回前台:大多数时候不会被定义为启动,因为此时","回调了,在这些会调里去做一些业务上的初始化:","因为","因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是","图文详情页秒开实践","在","在__cstring的","在启动上主要有几点应用:","基本概念","基础技术","处,所以","大小是","太多会影响这部分时间","如下图,编译的时候,字符串","如果","如果你对技术充满热情,欢迎加入抖音基础技术团队,让我们共建亿级全球化","如果是","姓名","字符串","字符串的元数据,每个元数据占用","字节跳动全链路压测","存储","完全消失第一帧","实现了","寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取","寄存器来完成的。","寄存器设置成_dyld_start,接下来启动流程交给了","寄存器,pc","对.","对三方","对每个二进制做","对解密后的页,进行签名验证","对这个过程进行了优化,page","就是实现了类似的插桩。","就是实现这个功能的。","就是把","就是把一组","就是把指针指向这个地址。","就是把系统库","就是触发一个系统调用,让线程休眠,等待事件到来,唤醒","就是通过","就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在","崩溃率下降","工作年限","广义:点击图标到首页数据加载完毕","开始","开始,像","开始,物理内存的","引入,一直持续到","循环,在图中橙色部分的","性能优化实践:头条抖音如何实现","总结","我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程","或者","打散耗时的启动预热任务","执行","执行完毕之后,dyld","找到一个时机,在启动结束去执行一些预热任务","找到空闲的物理内存页面","把没有加载的动态库","抖音","抖音品质建设","指向实际的内存地址。","排列到一起,那么只需要一次","接下来会进行","提交。","提供的一种事务机制,把一组","提的","插桩来实现。llvm","支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案","数量的是","文件。","文件里。","文件里就可以找到有哪些文件里包含","文件,接着对这个文件进行签名。签名的作用是保证文件内容不多不少,没有被篡改过。接着会把包上传到","文件,除此之外还包含一些","方法名等信息","方法是基于","方法里的内容很简单,会影响启动时间么?比如这样的一个","方法,会在这个阶段调用","方法?","既然","既然要构建,那么必然会有一些地方去定义如何构建,对应","映射到虚拟内存里的","是","是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动","是主二进制和动态库。mach","是从","是单独编译的,输出对应的目标文件(.o)","是启动的时候用到的,为了执行对应的代码,就需要两次","是启动的辅助程序,是","是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~","是基于","是开源的,我们可以添加一个自定义的","显示,过去四年新发布的设备中有","更多分享","更新","最开始讲解","有个参数","有个比较大的优化是","有了闭包之后,就可以用闭包启动","本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍","本文回顾了","本文由","本质上是一个while","来生成","来说,launch","构建","构建的基本流程,以及这个流程里可用于启动优化的点;最后大篇幅讲解","标准的三个","根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。","段中的内容,比如字符串移动到其他的段","段加密。io","段的指针指向","段的指针指向就不对了。rebas","段的页解密很耗时,有没有办法优化呢?","段的页,要进行解密","段进行加密,防止","注册","注意这个过程都是在内核态完成的,这里提到了","注意这里没有初始化","注意,并不是所有的","消失就是首页数据加载完成。由于标准很难对齐,所以我们一般使用狭义的启动定义:即启动终点为启动图完全消失的第一帧。","渲染。","渲染可以分为四个步骤","渲染里。","源文件","点击图标,创建进程","热启动:如果把","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。iphon","状态","狭义:点击图标到","用户点击图标之后,会发送一个系统调用","由于主线程的","的","的主要区别就是没有启动闭包,就导致每次启动都要:","的代价,所以","的代码优化流程是一个一个","的任务并不一定能按时执行。","的元数据","的入口函数_dyld_start,把","的全称是","的前端是","的压缩效果,增加包大小,也会降低启动速度(io","的启动","的启动流程。","的地址","的地址,代码签名,符号表…","的字符串","的字符串字面量发消息的原因。","的实践","的布局信息,比如","的拷贝资源就是通过脚本的方式完成的。","的指针地址,找到","的方式发给","的方式通知外部执行到了哪里。那么,runloop","的时候不需要解密了。","的时候,我们提到","的最开始是","的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。","的构建流程,以及两个典型的利用编译器来优化启动的方案,最后详细的讲解了","的次数,从而优化启动时间:","的渲染是在一个单独的进程","的的路径。然后","的第一次启动才会创建。闭包存储在沙盒的","的第一次启动,会创建启动闭包","的类","的类方法等信息,是因为启动闭包的缓存数据已经包含了","的解析。","的设备是","的路径","的过程就是把指针从","的过程:","的运行时数据(class/method**…)解析非常**慢。","的,即启动的时候会把","的,所以在","目录,清理缓存的时候切记不要清理这个目录。","目标文件和静态库","相关链接","相比","稳定性等方面不断探索,努力为全球数亿用户提供最极致的基础体验。","符号的地址","等)","等元数据,对大型工程来说,这部分耗时会很长","等基础概念,接下来介绍了","等外部函数,只有运行时才知道它的地址是什么,bind","等系统库就不提供完整的","等链接期间的优化是基于符号的,如果把符号裁剪掉,那么这些优化也就不会生效了。","答案是和产品形态有关系,打开频次越高,热启动比例就越高。","签名","签名,防篡改","简悦","精准统计启动时间","线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,runloop","终点:第一个ca::transaction::commit()","经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个","给","给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。","编码打包给","编译","编译器可以分为两大部分:前端和后端,二者以","编译完","编译完了之后,这个函数会在二进制中的","耗时,有没有什么办法优化呢?","虚拟内存","被分割成很多个","裁剪","裁剪完二进制后,会和编译好的资源文件一起打包成.","要特别提一下","解析","解析动态库的依赖关系","触发磁盘","详细回顾下整个启动过程,以及各个阶段耗时的影响因素:","语言家族的前端是","读入物理内存,为了打印字符串,要访问__cstring,还会触发一次","读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少","调用[calay","资源文件如","起点:进程创建的时间","转码,","这是从用户感知维度定义启动,那么代码上如何定义启动呢?appl","进来,动态库的数量会影响这个阶段","进来,读取","进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在","通过","那么如何利用编译优化启动速度呢?","那么,如何找到代码里有哪些","那么,线上用户的冷启动多还是热启动多呢?","部分包含了实际的代码和数据,data","里可以配置","里如果调用了","里对启动终点定义是第一个ca::transaction::commit()。","里的","里,对应会有一些地方读取这些注册的数据,如果在","重启手机","链接","闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:","需要的信息。","需要的信息,如","静态初始化是从哪来的呢?以下几种代码会导致静态初始化","首帧渲染是基于",";邮件标题:"]},"length":73},"tokenStore":{"root":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"2":{"docs":{},"b":{"docs":{},"d":{"8":{"0":{"7":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"3":{"1":{"1":{"3":{"docs":{},"f":{"6":{"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.017191977077363897}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},",":{"docs":{},"则":{"docs":{},"数":{"docs":{},"组":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"任":{"docs":{},"何":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"返":{"docs":{},"回":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}},"1":{"4":{"0":{"1":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"3":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},",":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}},"、":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"2":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.012857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.013740458015267175}},"、":{"docs":{},"算":{"docs":{},"法":{"docs":{},"思":{"docs":{},"想":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"3":{"1":{"3":{"8":{"5":{"8":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"8":{"7":{"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},",":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}},"、":{"docs":{},"算":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"4":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"5":{"docs":{},".":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"6":{"docs":{},".":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.009970089730807577},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.008084074373484237},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.004580152671755725},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"b":{"1":{"1":{"1":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}},"docs":{},"表":{"docs":{},"示":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"占":{"8":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"x":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}},"docs":{}},"1":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"2":{"9":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"3":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"8":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"docs":{}},"1":{"0":{"9":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"4":{"9":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"2":{"1":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"5":{"1":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}},"1":{"2":{"docs":{},"c":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"5":{"2":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"9":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{},"a":{"5":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"2":{"0":{"docs":{},"e":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"2":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"4":{"docs":{},"a":{"9":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"6":{"docs":{},"e":{"3":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"7":{"docs":{},"a":{"3":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"docs":{},"a":{"5":{"0":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}},"docs":{}},"docs":{}},"d":{"5":{"6":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}},"docs":{}},"e":{"7":{"6":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"1":{"0":{"4":{"9":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"9":{"0":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"2":{"9":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"5":{"docs":{},"c":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}},"docs":{},"a":{"docs":{},"d":{"7":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}}},"2":{"docs":{},"d":{"8":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"3":{"docs":{},"e":{"1":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"4":{"1":{"docs":{},"e":{"docs":{},"f":{"7":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}},"docs":{}},"5":{"3":{"docs":{},"a":{"4":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"docs":{},"a":{"docs":{},"f":{"7":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}}},"7":{"1":{"6":{"9":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"1":{"2":{"9":{"2":{"8":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"7":{"docs":{},"e":{"docs":{},"b":{"docs":{},"c":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},",":{"docs":{},"而":{"docs":{},"二":{"docs":{},"者":{"docs":{},"相":{"docs":{},"加":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"正":{"docs":{},"好":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"1":{"0":{"0":{"0":{"0":{"2":{"1":{"docs":{},"b":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996}},",":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"docs":{}}},"2":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"3":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"8":{"0":{"docs":{},"d":{"7":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}},"docs":{}}},"1":{"docs":{},"d":{"4":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"3":{"7":{"docs":{},"a":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"docs":{}},"9":{"docs":{},"e":{"5":{"1":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"e":{"0":{"4":{"0":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}},"docs":{}},"7":{"2":{"4":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"f":{"7":{"6":{"docs":{},"d":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"docs":{}},"docs":{}}},"8":{"0":{"5":{"docs":{},"e":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"6":{"5":{"docs":{},"c":{"2":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"docs":{}},"1":{"6":{"0":{"0":{"0":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"docs":{}},"docs":{}},"docs":{}},"7":{"0":{"0":{"0":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"7":{"4":{"docs":{},"d":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"docs":{},"b":{"docs":{},"f":{"6":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}},"c":{"0":{"docs":{},"b":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}}},"8":{"9":{"6":{"2":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"docs":{},"c":{"0":{"0":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"1":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"d":{"2":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"e":{"7":{"docs":{},"f":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"8":{"4":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"d":{"docs":{},"c":{"9":{"8":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}}},"9":{"0":{"docs":{},"a":{"1":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"c":{"4":{"9":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{},"a":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"6":{"docs":{},"c":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{},"b":{"docs":{},"d":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"e":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}}},"docs":{}},"docs":{},"a":{"3":{"5":{"docs":{},"e":{"6":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"docs":{}},"4":{"6":{"7":{"6":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{},"a":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}},"docs":{}},"8":{"8":{"8":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"a":{"2":{"4":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"5":{"4":{"7":{"4":{"8":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"docs":{},"a":{"4":{"2":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}}},"7":{"1":{"docs":{},"e":{"6":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},"c":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}}}}},"1":{"0":{"docs":{},"。":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"7":{"7":{"1":{"8":{"docs":{},"a":{"3":{"docs":{},",":{"0":{"docs":{},"x":{"1":{"0":{"1":{"7":{"7":{"1":{"8":{"docs":{},"a":{"3":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"1":{"1":{"3":{"docs":{},"f":{"6":{"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}},"docs":{}},"3":{"docs":{},"b":{"docs":{},"b":{"8":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},",":{"docs":{},"加":{"docs":{},"上":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"docs":{}},"7":{"9":{"docs":{},"是":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"i":{"docs":{},"i":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"y":{"docs":{},"字":{"docs":{},"符":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{},"a":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"7":{"9":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"c":{"docs":{},"b":{"4":{"7":{"docs":{},"b":{"8":{"docs":{},"d":{"9":{"8":{"docs":{},"a":{"2":{"docs":{},"f":{"docs":{},"a":{"1":{"5":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"在":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"\\":{"docs":{},"w":{"docs":{},"{":{"9":{"docs":{},"}":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}},"docs":{}}}}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.005089058524173028},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004850444624090542},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"获":{"docs":{},"取":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},".":{"0":{"1":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"docs":{}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"行":{"docs":{},"为":{"docs":{},"叫":{"docs":{},"做":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"s":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"1":{"0":{"0":{"0":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"%":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"3":{"4":{"2":{"7":{"9":{"docs":{},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},".":{"0":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"找":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"3":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"因":{"docs":{},"为":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"都":{"docs":{},"是":{"docs":{},"值":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"是":{"docs":{},"将":{"docs":{},"此":{"docs":{},"时":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"的":{"docs":{},"值":{"1":{"0":{"docs":{},"传":{"docs":{},"给":{"docs":{},"了":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"会":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"成":{"1":{"0":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"⽤":{"docs":{},"到":{"docs":{},"上":{"docs":{},"⾯":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"我":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"先":{"docs":{},"将":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"修":{"docs":{},"改":{"docs":{},"成":{"docs":{},"了":{"2":{"0":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"时":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"会":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"结":{"docs":{},"果":{"docs":{},"呢":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.007976071784646061}}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},":":{"1":{"8":{"docs":{},":":{"5":{"4":{"docs":{},".":{"2":{"5":{"2":{"9":{"4":{"9":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"1":{"1":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},".":{"0":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},",":{"docs":{},"即":{"docs":{},"指":{"docs":{},"向":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"2":{"1":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"3":{"4":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"执":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}},".":{"0":{"docs":{},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}}}}},"3":{"5":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"下":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"4":{"4":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"5":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"5":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"%":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"6":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}},"k":{"docs":{},",":{"6":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"7":{"7":{"7":{"docs":{},".":{"6":{"8":{"4":{"8":{"1":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"3":{"docs":{},".":{"5":{"4":{"4":{"9":{"2":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"}":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},":":{"2":{"8":{"docs":{},":":{"0":{"0":{"docs":{},".":{"5":{"1":{"9":{"8":{"6":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"0":{"3":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"7":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"3":{"9":{"docs":{},":":{"1":{"0":{"docs":{},".":{"3":{"5":{"4":{"0":{"5":{"0":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"2":{"3":{"7":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"3":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"7":{"4":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"5":{"7":{"docs":{},":":{"3":{"3":{"docs":{},".":{"3":{"0":{"5":{"6":{"5":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"9":{"5":{"0":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"6":{"4":{"7":{"6":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"8":{"2":{"8":{"docs":{},".":{"9":{"5":{"3":{"8":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"0":{"docs":{},".":{"6":{"1":{"4":{"9":{"9":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"5":{"docs":{},".":{"1":{"4":{"6":{"7":{"2":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"7":{"docs":{},".":{"7":{"2":{"3":{"8":{"7":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},":":{"1":{"7":{"docs":{},":":{"1":{"2":{"docs":{},".":{"0":{"3":{"4":{"3":{"9":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"5":{"5":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"9":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"6":{"2":{"7":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"5":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"8":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"9":{"0":{"docs":{},"d":{"docs":{},"e":{"0":{"docs":{},"c":{"docs":{},"a":{"8":{"5":{"docs":{},"c":{"1":{"6":{"docs":{},"a":{"docs":{},"e":{"docs":{},"f":{"7":{"4":{"docs":{},"c":{"4":{"9":{"0":{"1":{"2":{"7":{"docs":{},"b":{"9":{"4":{"docs":{},"f":{"docs":{},"a":{"8":{"docs":{},"f":{"docs":{},"f":{"0":{"4":{"docs":{},"e":{"1":{"6":{"8":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}}}},"3":{"4":{"docs":{},".":{"8":{"7":{"3":{"0":{"4":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"6":{"docs":{},".":{"4":{"5":{"8":{"9":{"8":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"6":{"docs":{},".":{"9":{"6":{"9":{"9":{"7":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},":":{"4":{"4":{"docs":{},":":{"4":{"6":{"docs":{},".":{"0":{"0":{"3":{"3":{"1":{"3":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"4":{"4":{"2":{"docs":{},"+":{"0":{"8":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.012987012987012988},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.02745995423340961},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},".":{"0":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.008865248226950355}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"(":{"1":{"9":{"9":{"6":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"2":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"3":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"4":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"5":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{"./":{"ref":"./","tf":0.027777777777777776},"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.02631578947368421},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"+":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"管":{"docs":{},"理":{"docs":{},"之":{"docs":{},"揭":{"docs":{},"秘":{"docs":{},"计":{"docs":{},"数":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}},"特":{"docs":{},"有":{"docs":{},"概":{"docs":{},"念":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"带":{"docs":{},"你":{"docs":{},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"加":{"docs":{},"载":{"docs":{},"某":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"探":{"docs":{},"索":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"存":{"docs":{},"在":{"docs":{},"什":{"docs":{},"么":{"docs":{},"地":{"docs":{},"方":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}},"谜":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"会":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"前":{"docs":{},"世":{"docs":{},"今":{"docs":{},"生":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"及":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"或":{"docs":{},"者":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"也":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"3":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"6":{"0":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"docs":{}},"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"从":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"到":{"docs":{},"完":{"docs":{},"成":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"c":{"docs":{},"p":{"docs":{},"面":{"docs":{},"向":{"docs":{},"连":{"docs":{},"接":{"docs":{},"(":{"docs":{},"如":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"要":{"docs":{},"先":{"docs":{},"拨":{"docs":{},"号":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},")":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"是":{"docs":{},"无":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"之":{"docs":{},"前":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"在":{"docs":{},"于":{"docs":{},"底":{"docs":{},"层":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"张":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"所":{"docs":{},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"、":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"、":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"配":{"docs":{},"置":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"界":{"docs":{},"面":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"的":{"docs":{},"实":{"docs":{},"质":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"a":{"docs":{},"v":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仅":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"要":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"大":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"发":{"docs":{},"送":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},"需":{"docs":{},"要":{"docs":{},"到":{"docs":{},"c":{"docs":{},"a":{"docs":{},"申":{"docs":{},"请":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"免":{"docs":{},"费":{"docs":{},"证":{"docs":{},"书":{"docs":{},"较":{"docs":{},"少":{"docs":{},",":{"docs":{},"因":{"docs":{},"而":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"定":{"docs":{},"费":{"docs":{},"用":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"栈":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"时":{"docs":{},"令":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"等":{"docs":{},"于":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"s":{"1":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{}}}}}}}}}}}},"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"将":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"设":{"docs":{},"置":{"docs":{},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"。":{"docs":{},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"h":{"docs":{},"代":{"docs":{},"表":{"docs":{},"最":{"docs":{},"近":{"docs":{},"一":{"docs":{},"次":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"c":{"docs":{},"代":{"docs":{},"表":{"docs":{},"当":{"docs":{},"前":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"时":{"docs":{},"令":{"docs":{},"h":{"docs":{},"为":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"c":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"栈":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}},"具":{"docs":{},"有":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},"特":{"docs":{},"点":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}},")":{"docs":{},"代":{"docs":{},"理":{"docs":{},"负":{"docs":{},"责":{"docs":{},"生":{"docs":{},"产":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"其":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"优":{"docs":{},"先":{"docs":{},"存":{"docs":{},"在":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"大":{"docs":{},"于":{"5":{"2":{"4":{"2":{"8":{"8":{"docs":{},"便":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"4":{"4":{"3":{"docs":{},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},">":{"0":{"docs":{},"时":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"树":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"叶":{"docs":{},"子":{"docs":{},"只":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"最":{"docs":{},"下":{"docs":{},"一":{"docs":{},"层":{"docs":{},"。":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"其":{"docs":{},"它":{"docs":{},"层":{"docs":{},"就":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"达":{"docs":{},"成":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"点":{"docs":{},"只":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"最":{"docs":{},"下":{"docs":{},"层":{"docs":{},"和":{"docs":{},"次":{"docs":{},"下":{"docs":{},"层":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"第":{"docs":{},"i":{"docs":{},"层":{"docs":{},"上":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"2":{"docs":{},"(":{"docs":{},"i":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"docs":{}}}}}}}}}}}}},"已":{"docs":{},"知":{"docs":{},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"且":{"docs":{},"仅":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"称":{"docs":{},"为":{"docs":{},"根":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"docs":{},"两":{"docs":{},"颗":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"度":{"docs":{},"大":{"docs":{},"于":{"2":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.023255813953488372}},"生":{"docs":{},"成":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"没":{"docs":{},"有":{"docs":{},"“":{"docs":{},"完":{"docs":{},"全":{"docs":{},"替":{"docs":{},"换":{"docs":{},"掉":{"docs":{},"”":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"和":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"都":{"docs":{},"有":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"附":{"docs":{},"加":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"会":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"附":{"docs":{},"加":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"到":{"docs":{},"类":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"会":{"docs":{},"先":{"docs":{},"于":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"类":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"/":{"2":{"docs":{},"加":{"docs":{},"上":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.024793388429752067},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.046511627906976744}}},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},")":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"再":{"docs":{},"加":{"docs":{},"上":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"2":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"进":{"docs":{},"位":{"docs":{},"/":{"docs":{},"借":{"docs":{},"位":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"但":{"docs":{},"是":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"之":{"docs":{},"后":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"为":{"0":{"docs":{},"不":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"进":{"docs":{},"入":{"docs":{},"i":{"docs":{},"=":{"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}}}}}}}},"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"不":{"docs":{},"行":{"docs":{},",":{"docs":{},"给":{"docs":{},"我":{"docs":{},"调":{"docs":{},"整":{"docs":{},"!":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"还":{"docs":{},"算":{"docs":{},"平":{"docs":{},"衡":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.029911075181891674},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},",":{"2":{"docs":{},"s":{"docs":{},",":{"4":{"docs":{},"s":{"docs":{},",":{"8":{"docs":{},"s":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"docs":{}}}},"docs":{}}}},"docs":{}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"+":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"去":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"、":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{},"(":{"docs":{},"k":{"docs":{},">":{"docs":{},"=":{"1":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}}}}}}}},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},"为":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},",":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{},"…":{"docs":{},"n":{"docs":{},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"后":{"docs":{},"移":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"a":{"docs":{},"[":{"docs":{},"j":{"docs":{},"]":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"−":{"1":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}}}}}}}}}},")":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"折":{"docs":{},"半":{"docs":{},",":{"docs":{},"先":{"docs":{},"跟":{"docs":{},"他":{"docs":{},"们":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"比":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"小":{"docs":{},",":{"docs":{},"则":{"docs":{},"对":{"docs":{},"前":{"docs":{},"半":{"docs":{},"再":{"docs":{},"进":{"docs":{},"行":{"docs":{},"折":{"docs":{},"半":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"对":{"docs":{},"后":{"docs":{},"半":{"docs":{},"进":{"docs":{},"行":{"docs":{},"折":{"docs":{},"半":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"−":{"1":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"docs":{}}},"}":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"\\":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"c":{"docs":{},"b":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"f":{"docs":{},"f":{"docs":{},"d":{"3":{"3":{"2":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}}}}},"2":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{},"低":{"docs":{},"于":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"5":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"7":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"docs":{}},"1":{"0":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"1":{"0":{"3":{"docs":{},"l":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"docs":{}},"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}}},"4":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"6":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"7":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"8":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"9":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.012857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.013740458015267175},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"2":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"5":{"0":{"docs":{},".":{"6":{"5":{"5":{"7":{"6":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"7":{"docs":{},".":{"8":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}},"7":{"5":{"docs":{},".":{"9":{"7":{"8":{"0":{"2":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}},"1":{"4":{"7":{"4":{"8":{"3":{"6":{"4":{"7":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"最":{"docs":{},"低":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"其":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"子":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"创":{"docs":{},"建":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"前":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"5":{"docs":{},".":{"6":{"0":{"1":{"0":{"7":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"8":{"docs":{},".":{"3":{"2":{"4":{"9":{"5":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"8":{"docs":{},".":{"9":{"1":{"5":{"0":{"3":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"2":{"1":{"8":{"docs":{},".":{"1":{"4":{"1":{"1":{"1":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"3":{"7":{"docs":{},".":{"2":{"5":{"8":{"0":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"3":{"docs":{},".":{"8":{"3":{"7":{"1":{"5":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"1":{"docs":{},".":{"4":{"4":{"7":{"9":{"9":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},".":{"0":{"3":{"3":{"9":{"3":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"4":{"docs":{},".":{"2":{"0":{"6":{"0":{"5":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"3":{"0":{"2":{"docs":{},".":{"8":{"4":{"3":{"7":{"5":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},".":{"2":{"7":{"0":{"2":{"6":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"2":{"2":{"docs":{},".":{"4":{"6":{"5":{"0":{"8":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"3":{"3":{"docs":{},".":{"1":{"0":{"5":{"9":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"0":{"docs":{},".":{"7":{"4":{"2":{"9":{"2":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"2":{"docs":{},".":{"5":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}}},"7":{"docs":{},".":{"5":{"0":{"8":{"7":{"8":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},".":{"9":{"3":{"3":{"3":{"5":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"7":{"1":{"docs":{},".":{"0":{"4":{"9":{"8":{"0":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"7":{"docs":{},".":{"9":{"0":{"6":{"2":{"5":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"2":{"docs":{},".":{"4":{"1":{"2":{"8":{"4":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},".":{"4":{"2":{"2":{"8":{"5":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},".":{"6":{"9":{"5":{"0":{"6":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"4":{"2":{"4":{"docs":{},".":{"2":{"1":{"3":{"1":{"3":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"6":{"5":{"docs":{},".":{"0":{"0":{"7":{"8":{"1":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.015772870662460567}}},"5":{"3":{"8":{"docs":{},".":{"3":{"8":{"1":{"8":{"3":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"5":{"2":{"docs":{},".":{"8":{"2":{"9":{"8":{"3":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},"6":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"6":{"3":{"9":{"docs":{},".":{"9":{"3":{"3":{"1":{"0":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"5":{"9":{"docs":{},".":{"6":{"4":{"0":{"6":{"2":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},".":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"7":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.012857142857142857},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.013740458015267175}}},"8":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"变":{"docs":{},"成":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}}},"9":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},".":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"“":{"docs":{},"一":{"docs":{},"些":{"docs":{},"”":{"docs":{},"对":{"docs":{},"象":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"空":{"docs":{},"间":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"它":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"》":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},",":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"(":{"2":{"0":{"0":{"4":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"1":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},".":{"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"2":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},".":{"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"2":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"3":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"4":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"5":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{}}},"3":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"4":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"5":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"6":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992}}}},"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"3":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"4":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"5":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"6":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"7":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"原":{"docs":{},"理":{"docs":{},"总":{"docs":{},"结":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"o":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"基":{"docs":{},"础":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"回":{"docs":{},"调":{"docs":{},"又":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"将":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"封":{"docs":{},"装":{"docs":{},"成":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"将":{"docs":{},"正":{"docs":{},"式":{"docs":{},"开":{"docs":{},"始":{"docs":{},"对":{"docs":{},"于":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"创":{"docs":{},"建":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}},"分":{"docs":{},"类":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"绑":{"docs":{},"定":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"只":{"docs":{},"存":{"docs":{},"在":{"docs":{},"父":{"docs":{},"类":{"docs":{},"么":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"子":{"docs":{},"类":{"docs":{},"也":{"docs":{},"会":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"在":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},":":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"总":{"docs":{},"结":{"docs":{},"就":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"都":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"同":{"docs":{},"步":{"docs":{},"和":{"docs":{},"异":{"docs":{},"步":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"检":{"docs":{},"测":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"回":{"docs":{},"调":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"当":{"docs":{},"前":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"x":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"在":{"docs":{},"适":{"docs":{},"配":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"有":{"docs":{},"些":{"docs":{},"现":{"docs":{},"存":{"docs":{},"接":{"docs":{},"口":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"降":{"docs":{},"级":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"将":{"docs":{},"会":{"docs":{},"特":{"docs":{},"别":{"docs":{},"慢":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"针":{"docs":{},"对":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"c":{"docs":{},"p":{"docs":{},"提":{"docs":{},"供":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"传":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"无":{"docs":{},"差":{"docs":{},"错":{"docs":{},",":{"docs":{},"不":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"不":{"docs":{},"重":{"docs":{},"复":{"docs":{},",":{"docs":{},"且":{"docs":{},"按":{"docs":{},"序":{"docs":{},"到":{"docs":{},"达":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"尽":{"docs":{},"最":{"docs":{},"大":{"docs":{},"努":{"docs":{},"力":{"docs":{},"交":{"docs":{},"付":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"保":{"docs":{},"证":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"交":{"docs":{},"付":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},":":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"、":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"docs":{}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"时":{"docs":{},"机":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"作":{"docs":{},"为":{"docs":{},"中":{"docs":{},"间":{"docs":{},"者":{"docs":{},",":{"docs":{},"代":{"docs":{},"替":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"再":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"待":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"大":{"docs":{},"于":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"最":{"docs":{},"大":{"docs":{},"报":{"docs":{},"文":{"docs":{},"长":{"docs":{},"度":{"docs":{},")":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"前":{"docs":{},"将":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"是":{"docs":{},"超":{"docs":{},"文":{"docs":{},"本":{"docs":{},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"明":{"docs":{},"文":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"则":{"docs":{},"是":{"docs":{},"具":{"docs":{},"有":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"记":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"先":{"docs":{},"把":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"先":{"docs":{},"把":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"压":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"以":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"为":{"docs":{},"头":{"docs":{},"的":{"docs":{},"整":{"docs":{},"棵":{"docs":{},"子":{"docs":{},"树":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"把":{"docs":{},"整":{"docs":{},"棵":{"docs":{},"树":{"docs":{},"的":{"docs":{},"左":{"docs":{},"边":{"docs":{},"界":{"docs":{},"压":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"中":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"断":{"docs":{},"令":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"令":{"docs":{},"c":{"docs":{},"等":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"分":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"至":{"docs":{},"多":{"docs":{},"等":{"docs":{},"于":{"1":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"的":{"docs":{},";":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}},")":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"把":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"(":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"有":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"公":{"docs":{},"钥":{"docs":{},",":{"docs":{},"网":{"docs":{},"站":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"机":{"docs":{},"构":{"docs":{},",":{"docs":{},"失":{"docs":{},"效":{"docs":{},"日":{"docs":{},"期":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"由":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"持":{"docs":{},"有":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},">":{"0":{"docs":{},"时":{"docs":{},",":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{},"没":{"docs":{},"有":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"们":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"交":{"docs":{},"的":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"如":{"docs":{},"果":{"docs":{},"深":{"docs":{},"度":{"docs":{},"为":{"docs":{},"k":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"2":{"docs":{},"(":{"docs":{},"k":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}}}}}}}}}}}}}}}},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"是":{"docs":{},"有":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"次":{"docs":{},"序":{"docs":{},"不":{"docs":{},"能":{"docs":{},"任":{"docs":{},"意":{"docs":{},"颠":{"docs":{},"倒":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"知":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"n":{"docs":{},">":{"1":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"余":{"docs":{},"结":{"docs":{},"点":{"docs":{},"可":{"docs":{},"分":{"docs":{},"为":{"docs":{},"m":{"docs":{},"(":{"docs":{},"m":{"docs":{},">":{"0":{"docs":{},")":{"docs":{},"个":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"交":{"docs":{},"的":{"docs":{},"有":{"docs":{},"限":{"docs":{},"集":{"docs":{},"t":{"1":{"docs":{},"、":{"docs":{},"t":{"2":{"docs":{},"、":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"、":{"docs":{},"t":{"docs":{},"n":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"合":{"docs":{},"本":{"docs":{},"身":{"docs":{},"又":{"docs":{},"是":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"树":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"称":{"docs":{},"为":{"docs":{},"根":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"docs":{}}}},"最":{"docs":{},"下":{"docs":{},"层":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"集":{"docs":{},"中":{"docs":{},"在":{"docs":{},"树":{"docs":{},"的":{"docs":{},"左":{"docs":{},"部":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"非":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"度":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"2":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"绑":{"docs":{},"定":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"而":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"后":{"docs":{},"面":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"平":{"docs":{},"常":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"“":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"”":{"docs":{},"掉":{"docs":{},"原":{"docs":{},"来":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"要":{"docs":{},"一":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"罢":{"docs":{},"休":{"docs":{},",":{"docs":{},"殊":{"docs":{},"不":{"docs":{},"知":{"docs":{},"后":{"docs":{},"面":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"样":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"父":{"docs":{},"类":{"docs":{},"先":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"子":{"docs":{},"类":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"分":{"docs":{},"类":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"先":{"docs":{},"类":{"docs":{},",":{"docs":{},"后":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"编":{"docs":{},"译":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"么":{"docs":{},"些":{"docs":{},"个":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"咋":{"docs":{},"样":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728}}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"版":{"docs":{},"本":{"docs":{},"低":{"docs":{},"于":{"1":{"0":{"docs":{},".":{"1":{"1":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"若":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"、":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"i":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"+":{"1":{"docs":{},">":{"docs":{},"n":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"无":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},">":{"docs":{},"n":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"无":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"\\":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"3":{"0":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"m":{"docs":{},"s":{"docs":{},",":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"是":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"、":{"4":{"0":{"0":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"1":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"2":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},":":{"docs":{},"内":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"中":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},";":{"docs":{},"外":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.030303030303030304}}}},"3":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"4":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"5":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"7":{"9":{"docs":{},".":{"5":{"0":{"2":{"9":{"3":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}},"8":{"2":{"docs":{},".":{"0":{"0":{"0":{"2":{"4":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{},".":{"8":{"9":{"7":{"9":{"4":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"9":{"9":{"docs":{},".":{"6":{"6":{"9":{"9":{"2":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.024822695035460994},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},".":{"0":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.01950354609929078}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"1":{"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}},"2":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},",":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"4":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"5":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"6":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"7":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},".":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"8":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},".":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"4":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"5":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"6":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"内":{"docs":{},"联":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"与":{"docs":{},"宏":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"回":{"docs":{},"调":{"docs":{},"内":{"docs":{},"部":{"docs":{},"将":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"。":{"docs":{},"事":{"docs":{},"件":{"docs":{},"出":{"docs":{},"队":{"docs":{},"后":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"开":{"docs":{},"始":{"docs":{},"一":{"docs":{},"个":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"又":{"docs":{},"称":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"i":{"docs":{},"o":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}},"将":{"docs":{},"合":{"docs":{},"并":{"docs":{},"后":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"类":{"docs":{},"原":{"docs":{},"来":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"就":{"docs":{},"算":{"docs":{},"插":{"docs":{},"入":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"也":{"docs":{},"没":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"面":{"docs":{},"会":{"docs":{},"清":{"docs":{},"空":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"与":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"和":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"锁":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"切":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"错":{"docs":{},"误":{"docs":{},"请":{"docs":{},"求":{"docs":{},"从":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"下":{"docs":{},"载":{"docs":{},"好":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"周":{"docs":{},"期":{"docs":{},"会":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"c":{"docs":{},"p":{"docs":{},"面":{"docs":{},"向":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"把":{"docs":{},"数":{"docs":{},"据":{"docs":{},"看":{"docs":{},"成":{"docs":{},"一":{"docs":{},"连":{"docs":{},"串":{"docs":{},"无":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"是":{"docs":{},"面":{"docs":{},"向":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"函":{"docs":{},"数":{"docs":{},"根":{"docs":{},"据":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"获":{"docs":{},"取":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"这":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"把":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"从":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"清":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"加":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"综":{"docs":{},"合":{"docs":{},"存":{"docs":{},"储":{"docs":{},"图":{"docs":{},"片":{"docs":{},"并":{"docs":{},"且":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"期":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"过":{"docs":{},"程":{"docs":{},"停":{"docs":{},"止":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"不":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"要":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"小":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"发":{"docs":{},"送":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"将":{"docs":{},"多":{"docs":{},"次":{"docs":{},"写":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"一":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"出":{"docs":{},"去":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"用":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"也":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"是":{"8":{"0":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"是":{"4":{"4":{"3":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"断":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"发":{"docs":{},"现":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{},"打":{"docs":{},"印":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"让":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"继":{"docs":{},"续":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"从":{"docs":{},"s":{"1":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"放":{"docs":{},"进":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"s":{"2":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"打":{"docs":{},"印":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"先":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"是":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"的":{"docs":{},"空":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"读":{"docs":{},"取":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"含":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"段":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"、":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},")":{"docs":{},"验":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"n":{"0":{"docs":{},"=":{"docs":{},"n":{"2":{"docs":{},"+":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"docs":{}}}},"docs":{}},"倒":{"docs":{},"数":{"docs":{},"第":{"docs":{},"二":{"docs":{},"层":{"docs":{},"若":{"docs":{},"存":{"docs":{},"在":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"在":{"docs":{},"右":{"docs":{},"部":{"docs":{},"连":{"docs":{},"续":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"使":{"docs":{},"树":{"docs":{},"中":{"docs":{},"某":{"docs":{},"结":{"docs":{},"点":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"也":{"docs":{},"要":{"docs":{},"区":{"docs":{},"分":{"docs":{},"它":{"docs":{},"是":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"还":{"docs":{},"是":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"同":{"docs":{},"样":{"docs":{},"深":{"docs":{},"度":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"个":{"docs":{},"数":{"docs":{},"最":{"docs":{},"多":{"docs":{},",":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"数":{"docs":{},"最":{"docs":{},"多":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}},",":{"docs":{},"最":{"docs":{},"终":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"?":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"理":{"docs":{},"由":{"docs":{},"有":{"docs":{},"三":{"docs":{},"点":{"docs":{},":":{"docs":{},"性":{"docs":{},"能":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"和":{"docs":{},"可":{"docs":{},"测":{"docs":{},"试":{"docs":{},"性":{"docs":{},"。":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"4":{"0":{"0":{"docs":{},"m":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"7":{"docs":{},".":{"4":{"3":{"6":{"0":{"3":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"9":{"5":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},"6":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"资":{"docs":{},"源":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"不":{"docs":{},"要":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"尺":{"docs":{},"寸":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},".":{"0":{"4":{"2":{"9":{"6":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"2":{"0":{"0":{"9":{"2":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"c":{"9":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}},"1":{"9":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"关":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"docs":{}},"2":{"1":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},".":{"7":{"8":{"0":{"7":{"6":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{},".":{"4":{"0":{"8":{"6":{"9":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"c":{"docs":{},"e":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}},"3":{"5":{"docs":{},".":{"4":{"7":{"6":{"3":{"1":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"9":{"docs":{},".":{"6":{"6":{"6":{"0":{"1":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},"f":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"4":{"0":{"docs":{},".":{"3":{"3":{"0":{"8":{"1":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"1":{"docs":{},".":{"0":{"5":{"3":{"9":{"5":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"3":{"docs":{},".":{"1":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"9":{"0":{"1":{"8":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},"f":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"5":{"3":{"docs":{},".":{"9":{"2":{"4":{"0":{"7":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"7":{"8":{"docs":{},".":{"4":{"4":{"7":{"9":{"9":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}},"9":{"docs":{},"c":{"docs":{},"c":{"9":{"docs":{},"c":{"docs":{},"c":{"8":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}}}}},"docs":{}}}},"docs":{}}}},"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"]":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}}}},"8":{"docs":{},".":{"4":{"2":{"5":{"0":{"4":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"4":{"0":{"6":{"2":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"f":{"docs":{},"f":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"9":{"0":{"docs":{},".":{"6":{"1":{"4":{"0":{"1":{"4":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},".":{"1":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"4":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"5":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"4":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"5":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"单":{"docs":{},"链":{"docs":{},"表":{"docs":{},"与":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"结":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}},"寻":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"后":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"便":{"docs":{},"是":{"docs":{},"事":{"docs":{},"件":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"及":{"docs":{},"响":{"docs":{},"应":{"docs":{},"了":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"详":{"docs":{},"见":{"docs":{},"[":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"及":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"]":{"docs":{},"一":{"docs":{},"节":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"除":{"docs":{},"了":{"docs":{},"被":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"消":{"docs":{},"耗":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"被":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"或":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"进":{"docs":{},"程":{"docs":{},"与":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"图":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"锁":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"=":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"从":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"过":{"docs":{},"程":{"docs":{},"详":{"docs":{},"解":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"启":{"docs":{},"用":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"或":{"docs":{},"者":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},")":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"节":{"docs":{},"省":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"通":{"docs":{},"常":{"docs":{},"直":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"去":{"docs":{},"解":{"docs":{},"码":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"你":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"、":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"这":{"docs":{},"样":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"结":{"docs":{},"束":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"多":{"docs":{},"核":{"docs":{},"设":{"docs":{},"备":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"图":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{},"端":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"没":{"docs":{},"有":{"docs":{},"及":{"docs":{},"时":{"docs":{},"读":{"docs":{},"取":{"docs":{},"接":{"docs":{},"收":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"将":{"docs":{},"发":{"docs":{},"生":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"是":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},";":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},"是":{"docs":{},"由":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"+":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"可":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"输":{"docs":{},"、":{"docs":{},"身":{"docs":{},"份":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"比":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"条":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"只":{"docs":{},"能":{"docs":{},"是":{"docs":{},"点":{"docs":{},"到":{"docs":{},"点":{"docs":{},"的":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"和":{"docs":{},"多":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"断":{"docs":{},"重":{"docs":{},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"和":{"docs":{},"步":{"docs":{},"骤":{"3":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"1":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"过":{"docs":{},"程":{"docs":{},"停":{"docs":{},"止":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"docs":{}}}}}},"docs":{}}}}},"3":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"全":{"docs":{},"部":{"docs":{},"过":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"空":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"为":{"docs":{},"空":{"docs":{},"时":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"不":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"红":{"docs":{},"色":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"被":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"节":{"docs":{},"点":{"docs":{},"隔":{"docs":{},"开":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"=":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"到":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"中":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"、":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"k":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},")":{"docs":{},"生":{"docs":{},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"密":{"docs":{},"码":{"docs":{},"(":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"在":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"具":{"docs":{},"有":{"docs":{},"n":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"深":{"docs":{},"度":{"docs":{},"为":{"docs":{},"[":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},"]":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"[":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},"]":{"docs":{},"是":{"docs":{},"向":{"docs":{},"下":{"docs":{},"取":{"docs":{},"整":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"结":{"docs":{},"点":{"docs":{},"度":{"docs":{},"为":{"1":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"只":{"docs":{},"有":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"即":{"docs":{},"没":{"docs":{},"有":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"~":{"4":{"7":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"docs":{}},"docs":{}},"d":{"6":{"9":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{}},"e":{"8":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}},"docs":{}}},"5":{"0":{"8":{"docs":{},".":{"4":{"9":{"9":{"0":{"2":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"4":{"0":{"3":{"3":{"2":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"%":{"docs":{},"+":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"1":{"5":{"docs":{},".":{"5":{"1":{"3":{"9":{"1":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"2":{"7":{"0":{"0":{"2":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"6":{"3":{"7":{"7":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"2":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"3":{"docs":{},".":{"3":{"1":{"3":{"9":{"6":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},".":{"6":{"3":{"5":{"0":{"1":{"0":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"8":{"3":{"7":{"8":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},".":{"7":{"4":{"9":{"7":{"5":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},".":{"1":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}}},"7":{"0":{"4":{"2":{"5":{"3":{"4":{"4":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"6":{"3":{"7":{"2":{"0":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},".":{"9":{"1":{"3":{"8":{"1":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"9":{"8":{"docs":{},".":{"5":{"7":{"1":{"7":{"7":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"4":{"8":{"4":{"8":{"6":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"docs":{},")":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"历":{"docs":{},"经":{"docs":{},"坎":{"docs":{},"坷":{"docs":{},"后":{"docs":{},"要":{"docs":{},"么":{"docs":{},"被":{"docs":{},"某":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"对":{"docs":{},"象":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"后":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"致":{"docs":{},"死":{"docs":{},"也":{"docs":{},"没":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"至":{"docs":{},"此":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"使":{"docs":{},"命":{"docs":{},"就":{"docs":{},"算":{"docs":{},"终":{"docs":{},"结":{"docs":{},"了":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"若":{"docs":{},"没":{"docs":{},"有":{"docs":{},"其":{"docs":{},"他":{"docs":{},"事":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"也":{"docs":{},"将":{"docs":{},"重":{"docs":{},"归":{"docs":{},"于":{"docs":{},"眠":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"新":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"后":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"设":{"docs":{},"置":{"docs":{},"指":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.01131770412287793},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},":":{"docs":{},"某":{"docs":{},"些":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"、":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"首":{"docs":{},"部":{"docs":{},"开":{"docs":{},"销":{"2":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{},";":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"的":{"docs":{},"首":{"docs":{},"部":{"docs":{},"开":{"docs":{},"销":{"docs":{},"小":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"8":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"从":{"docs":{},"s":{"2":{"docs":{},"中":{"docs":{},"依":{"docs":{},"次":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"节":{"docs":{},"点":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"就":{"docs":{},"是":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"了":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"从":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"到":{"docs":{},"达":{"docs":{},"其":{"docs":{},"可":{"docs":{},"达":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"都":{"docs":{},"包":{"docs":{},"含":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"目":{"docs":{},"的":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"️":{"docs":{},"⃣":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"c":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},")":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"同":{"docs":{},"样":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"目":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"深":{"docs":{},"度":{"docs":{},"最":{"docs":{},"小":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"对":{"docs":{},"含":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"d":{"0":{"5":{"6":{"0":{"9":{"docs":{},"b":{"3":{"8":{"3":{"docs":{},"f":{"docs":{},"f":{"docs":{},"f":{"docs":{},"c":{"5":{"docs":{},"f":{"9":{"docs":{},"f":{"3":{"6":{"docs":{},"f":{"6":{"5":{"docs":{},"d":{"docs":{},"e":{"0":{"docs":{},"d":{"7":{"docs":{},"d":{"7":{"docs":{},"d":{"3":{"docs":{},"d":{"docs":{},"f":{"9":{"1":{"docs":{},"c":{"docs":{},"e":{"6":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"b":{"3":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}},"docs":{}},"f":{"6":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}}},"6":{"0":{"0":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}}}},"3":{"1":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{},"之":{"docs":{},"间":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"取":{"docs":{},"到":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"1":{"5":{"2":{"8":{"3":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"9":{"7":{"8":{"5":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},".":{"1":{"5":{"0":{"1":{"4":{"6":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"5":{"2":{"docs":{},"b":{"docs":{},"a":{"docs":{},"f":{"1":{"8":{"6":{"0":{"1":{"docs":{},"e":{"docs":{},"e":{"docs":{},"c":{"docs":{},"f":{"4":{"2":{"5":{"2":{"1":{"docs":{},"a":{"1":{"3":{"6":{"1":{"docs":{},"a":{"8":{"8":{"1":{"5":{"5":{"7":{"6":{"docs":{},"b":{"docs":{},"c":{"8":{"docs":{},"e":{"docs":{},"b":{"5":{"5":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"docs":{}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},".":{"8":{"3":{"5":{"9":{"3":{"8":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"队":{"docs":{},"列":{"docs":{},"和":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"绘":{"docs":{},"图":{"docs":{},"(":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.007275666936135812},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},":":{"docs":{},"父":{"docs":{},"类":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"、":{"docs":{},"后":{"docs":{},"台":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"压":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"通":{"docs":{},"信":{"docs":{},"信":{"docs":{},"道":{"docs":{},"是":{"docs":{},"全":{"docs":{},"双":{"docs":{},"工":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"信":{"docs":{},"道":{"docs":{},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"则":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"信":{"docs":{},"道":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"还":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"可":{"docs":{},"变":{"docs":{},"字":{"docs":{},"典":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"s":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}},"a":{"docs":{},"e":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}}},"7":{"2":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}}}},"5":{"0":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"7":{"9":{"docs":{},".":{"0":{"2":{"8":{"8":{"0":{"9":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"8":{"docs":{},".":{"2":{"6":{"2":{"2":{"0":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},".":{"1":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"2":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"3":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"4":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"带":{"docs":{},"着":{"docs":{},"问":{"docs":{},"题":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"和":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},")":{"docs":{},"删":{"docs":{},"除":{"docs":{},"除":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"或":{"docs":{},"者":{"0":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}}},"、":{"docs":{},"确":{"docs":{},"保":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"不":{"docs":{},"会":{"docs":{},"下":{"docs":{},"载":{"docs":{},"多":{"docs":{},"次":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"8":{"5":{"6":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{}},"8":{"docs":{},"f":{"docs":{},"c":{"docs":{},"f":{"7":{"8":{"4":{"8":{"3":{"2":{"3":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},".":{"0":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"因":{"docs":{},"素":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"、":{"docs":{},"确":{"docs":{},"保":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"不":{"docs":{},"会":{"docs":{},"重":{"docs":{},"复":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"关":{"docs":{},"闭":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"a":{"1":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}},"docs":{}},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}},"9":{"0":{"docs":{},"%":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"1":{"9":{"3":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"3":{"docs":{},"%":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}},"a":{"8":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}},"4":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"6":{"9":{"2":{"0":{"docs":{},"d":{"1":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"a":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"8":{"docs":{},"f":{"7":{"docs":{},"b":{"5":{"docs":{},"b":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},".":{"0":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},".":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"比":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},")":{"docs":{},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"⼤":{"docs":{},"于":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"、":{"docs":{},"确":{"docs":{},"保":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"d":{"7":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"f":{"docs":{},"c":{"3":{"docs":{},"b":{"8":{"4":{"6":{"2":{"2":{"docs":{},"c":{"docs":{},"d":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"1":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{},"&":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.005952380952380952}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"&":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.009345794392523364},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0072992700729927005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":2.0047846889952154},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":3.333333333333333},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"[":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},")":{"docs":{},"]":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"算":{"docs":{},"法":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"下":{"docs":{},"标":{"docs":{},",":{"docs":{},"再":{"docs":{},"返":{"docs":{},"回":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"v":{"docs":{},"[":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"c":{"docs":{},"+":{"1":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"docs":{}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"=":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"2":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"docs":{}}}}}},"c":{"1":{"docs":{},".":{"0":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"中":{"docs":{},"的":{"docs":{},"新":{"docs":{},"语":{"docs":{},"法":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"。":{"docs":{},"它":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.02066115702479339},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.02044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.00933609958506224},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.5089153046062407},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.027842227378190254},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.007936507936507936}},"作":{"docs":{},"为":{"docs":{},"m":{"docs":{},"和":{"docs":{},"v":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}},"则":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"及":{"docs":{},"时":{"docs":{},"提":{"docs":{},"交":{"docs":{},"相":{"docs":{},"应":{"docs":{},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"界":{"docs":{},"面":{"docs":{},"展":{"docs":{},"示":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"o":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"x":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}},":":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.006640106241699867}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"总":{"docs":{},"结":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},"是":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"(":{"docs":{},"字":{"docs":{},"典":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"[":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01929260450160772},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005213764337851929},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.008091706001348618},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.004830917874396135},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01188707280832095},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"s":{"docs":{},"”":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"标":{"docs":{},"记":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"i":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}},"r":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"v":{"7":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},",":{"docs":{},"上":{"docs":{},"传":{"docs":{},"后":{"docs":{},"会":{"docs":{},"对":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"段":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"加":{"docs":{},"密":{"docs":{},"会":{"docs":{},"减":{"docs":{},"弱":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"]":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"s":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.004830917874396135},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.014314928425357873},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"接":{"docs":{},"受":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"+":{"docs":{},"b":{"docs":{},")":{"docs":{},",":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"过":{"docs":{},"程":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.018306636155606407},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"提":{"docs":{},"交":{"docs":{},"位":{"docs":{},"图":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},")":{"docs":{},",":{"docs":{},"打":{"docs":{},"包":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"首":{"docs":{},"帧":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"数":{"docs":{},"据":{"docs":{},"打":{"docs":{},"包":{"docs":{},"发":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.011661807580174927}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"不":{"docs":{},"是":{"docs":{},"实":{"docs":{},"际":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"的":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},",":{"docs":{},"和":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"简":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"放":{"docs":{},"置":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"用":{"docs":{},"业":{"docs":{},"务":{"docs":{},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"合":{"docs":{},"并":{"1":{"docs":{},"、":{"2":{"docs":{},"的":{"docs":{},"纹":{"docs":{},"理":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"docs":{}}},"docs":{}}}}}}}},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}},"^":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"^":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"s":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"t":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"1":{"docs":{},"_":{"0":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.019230769230769232},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.011111111111111112},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"提":{"docs":{},"交":{"docs":{},"会":{"docs":{},"话":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"自":{"docs":{},"己":{"docs":{},"和":{"docs":{},"子":{"docs":{},"树":{"docs":{},"(":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"数":{"docs":{},"据":{"docs":{},"同":{"docs":{},"步":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.009259259259259259}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"s":{"docs":{},"+":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"如":{"docs":{},"同":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"得":{"docs":{},"已":{"docs":{},"只":{"docs":{},"能":{"docs":{},"另":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"是":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"地":{"docs":{},"控":{"docs":{},"制":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"和":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"巧":{"docs":{},"妙":{"docs":{},"避":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"如":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"边":{"docs":{},"框":{"docs":{},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"只":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"裁":{"docs":{},"掉":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"也":{"docs":{},"是":{"docs":{},"剪":{"docs":{},"切":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"纯":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"算":{"docs":{},"法":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"另":{"docs":{},"开":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"场":{"docs":{},"景":{"docs":{},"不":{"docs":{},"同":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"可":{"docs":{},"供":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"阅":{"docs":{},"读":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"、":{"docs":{},"对":{"docs":{},"象":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}}},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"堆":{"docs":{},"上":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"d":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"—":{"docs":{},"—":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"技":{"docs":{},"术":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"v":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.016355140186915886},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.012396694214876033},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":4.043062200956938},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.08444444444444445},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.016233766233766232},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.02526002971768202},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.013921113689095127},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"入":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},")":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"修":{"docs":{},"改":{"docs":{},"在":{"docs":{},"该":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"中":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"说":{"docs":{},",":{"docs":{},"图":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.028938906752411574},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}}}}}}}}}}}},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.041666666666666664},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.06109324758842444},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01634472511144131}},"*":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"中":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"是":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"是":{"docs":{},"可":{"docs":{},"读":{"docs":{},"可":{"docs":{},"写":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"类":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"内":{"docs":{},"容":{"docs":{},"以":{"docs":{},"及":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.028938906752411574},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832}},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"即":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"为":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"则":{"docs":{},"由":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"所":{"docs":{},"有":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"和":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}},"所":{"docs":{},"以":{"docs":{},"和":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"r":{"docs":{},"w":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":10}}}}},"'":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},"下":{"docs":{},"文":{"docs":{},"会":{"docs":{},"对":{"docs":{},"此":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"类":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"+":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"回":{"docs":{},"动":{"docs":{},"态":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}},"]":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223}},"]":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.017777777777777778}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"还":{"docs":{},"是":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}},"不":{"docs":{},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}},"h":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"能":{"docs":{},"大":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"即":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},"。":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"父":{"docs":{},"类":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.011410788381742738}},",":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"(":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"是":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"命":{"docs":{},"令":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"&":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"s":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789}}}}}}},"o":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},")":{"docs":{},"”":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},":":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.012987012987012988}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},")":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"的":{"docs":{},"半":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"一":{"docs":{},"端":{"docs":{},"在":{"docs":{},"结":{"docs":{},"束":{"docs":{},"它":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"后":{"docs":{},"还":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"来":{"docs":{},"自":{"docs":{},"另":{"docs":{},"一":{"docs":{},"端":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.015952143569292122}}}}}}}}},"a":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/CA.html":{"ref":"Network/CA.html","tf":10.11111111111111}},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},":":{"docs":{},"以":{"docs":{},"后":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"执":{"docs":{},"行":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.013986013986013986},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"e":{"docs":{},"r":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"专":{"docs":{},"门":{"docs":{},"负":{"docs":{},"责":{"docs":{},"处":{"docs":{},"理":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"等":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"参":{"docs":{},"与":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"代":{"docs":{},"理":{"docs":{},"没":{"docs":{},"有":{"docs":{},"响":{"docs":{},"应":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"流":{"docs":{},"程":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"代":{"docs":{},"理":{"docs":{},"响":{"docs":{},"应":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"与":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"动":{"docs":{},"画":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},",":{"docs":{},"对":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"开":{"docs":{},"闭":{"docs":{},"是":{"docs":{},"否":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"[":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"会":{"docs":{},"先":{"docs":{},"处":{"docs":{},"理":{"docs":{},"几":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"以":{"docs":{},"前":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"回":{"docs":{},"退":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},".":{"docs":{},"r":{"docs":{},"b":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":10.01},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":3.350127226463104},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},",":{"docs":{},"并":{"docs":{},"将":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"t":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"被":{"docs":{},"附":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"上":{"docs":{},"面":{"docs":{},"是":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"2":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"能":{"docs":{},"够":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"造":{"docs":{},"一":{"docs":{},"个":{"docs":{},"层":{"docs":{},"级":{"docs":{},"的":{"3":{"docs":{},"d":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"r":{"docs":{},"e":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"c":{"docs":{},"h":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.007633587786259542},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.009589041095890411},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"用":{"docs":{},"来":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"当":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"被":{"docs":{},"清":{"docs":{},"理":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"1":{"docs":{},"]":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"docs":{}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"'":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"这":{"docs":{},"里":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"。":{"docs":{},"其":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"由":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"错":{"docs":{},"误":{"docs":{},"并":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"s":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.01272264631043257}},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"docs":{}}}}}}}},")":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"公":{"docs":{},"开":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"握":{"docs":{},"手":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"协":{"docs":{},"商":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"。":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"该":{"docs":{},"证":{"docs":{},"书":{"docs":{},"所":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"域":{"docs":{},"名":{"docs":{},"范":{"docs":{},"围":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"签":{"docs":{},"发":{"docs":{},"机":{"docs":{},"构":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}},"认":{"docs":{},"证":{"docs":{},"链":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}},"证":{"docs":{},"书":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}},"详":{"docs":{},"解":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"位":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.03225806451612903}}},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"p":{"docs":{},"u":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.014218009478672985},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.040740740740740744},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"通":{"docs":{},"过":{"docs":{},"总":{"docs":{},"线":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"中":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"的":{"docs":{},"往":{"docs":{},"往":{"docs":{},"是":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"总":{"docs":{},"线":{"docs":{},"由":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"位":{"docs":{},"图":{"docs":{},"后":{"docs":{},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"视":{"docs":{},"频":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"根":{"docs":{},"据":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"之":{"docs":{},"前":{"docs":{},"去":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"提":{"docs":{},"取":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"作":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"会":{"docs":{},"将":{"docs":{},"处":{"docs":{},"理":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"层":{"docs":{},"级":{"docs":{},"关":{"docs":{},"系":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"(":{"docs":{},"内":{"docs":{},"部":{"docs":{},"处":{"docs":{},"理":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{},"通":{"docs":{},"道":{"docs":{},"提":{"docs":{},"交":{"docs":{},"给":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"由":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}},"主":{"docs":{},"要":{"docs":{},"体":{"docs":{},"现":{"docs":{},"在":{"docs":{},"以":{"docs":{},"下":{"5":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"docs":{}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"p":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.018367346938775512},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"f":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"—":{"docs":{},"—":{"docs":{},"分":{"docs":{},"为":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}},":":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"模":{"docs":{},"型":{"docs":{},"图":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"/":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"获":{"docs":{},"得":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"获":{"docs":{},"得":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"—":{"docs":{},"—":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"四":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"放":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"、":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"以":{"docs":{},"及":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"模":{"docs":{},"式":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"—":{"docs":{},"—":{"docs":{},"监":{"docs":{},"听":{"docs":{},"者":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"更":{"docs":{},"的":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"监":{"docs":{},"听":{"docs":{},"者":{"docs":{},"进":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"监":{"docs":{},"听":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"监":{"docs":{},"听":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.009333333333333334},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"—":{"docs":{},"—":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"都":{"docs":{},"代":{"docs":{},"表":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"的":{"docs":{},"一":{"docs":{},"层":{"docs":{},"o":{"docs":{},"c":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"是":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"—":{"docs":{},"—":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"我":{"docs":{},"们":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"模":{"docs":{},"型":{"docs":{},"图":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"源":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"层":{"docs":{},"层":{"docs":{},"给":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}},"派":{"docs":{},"发":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"交":{"docs":{},"给":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},"或":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.008915304606240713},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"'":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.005394470667565745}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.011441647597254004}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"就":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},",":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"里":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"_":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{},"过":{"docs":{},"度":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"被":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"正":{"docs":{},"在":{"docs":{},"析":{"docs":{},"构":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"再":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"应":{"docs":{},"该":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},",":{"docs":{},"结":{"docs":{},"合":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"这":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"标":{"docs":{},"志":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},";":{"docs":{},"而":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},".":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"本":{"docs":{},"质":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},"+":{"docs":{},"+":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.008865248226950355}},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"r":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.016233766233766232}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333}},"获":{"docs":{},"得":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.018593371059013743}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"由":{"docs":{},"多":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"共":{"docs":{},"同":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"依":{"docs":{},"次":{"docs":{},"寻":{"docs":{},"找":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"原":{"docs":{},"始":{"docs":{},"方":{"docs":{},"法":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"被":{"docs":{},"找":{"docs":{},"到":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"存":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"就":{"docs":{},"没":{"docs":{},"法":{"docs":{},"保":{"docs":{},"证":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"是":{"docs":{},"有":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},";":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"l":{"docs":{},"l":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"领":{"docs":{},"取":{"docs":{},"津":{"docs":{},"贴":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"验":{"docs":{},"证":{"docs":{},"身":{"docs":{},"份":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},".":{"2":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}},"i":{"docs":{},"(":{"docs":{},"持":{"docs":{},"续":{"docs":{},"集":{"docs":{},"成":{"docs":{},")":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"十":{"docs":{},"分":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"原":{"docs":{},"理":{"docs":{},"上":{"docs":{},"大":{"docs":{},"同":{"docs":{},"小":{"docs":{},"异":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"h":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}},"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.041666666666666664},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Network/Https.html":{"ref":"Network/Https.html","tf":10.070866141732283},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"5":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"docs":{}}}}}}}}}}}}}}}},"j":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"p":{"docs":{},"/":{"0":{"docs":{},"a":{"4":{"docs":{},"e":{"5":{"docs":{},"b":{"9":{"4":{"4":{"docs":{},"d":{"7":{"docs":{},"d":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"6":{"8":{"4":{"4":{"9":{"0":{"4":{"0":{"7":{"9":{"9":{"5":{"7":{"6":{"8":{"8":{"3":{"2":{"8":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"5":{"docs":{},"a":{"3":{"docs":{},"b":{"1":{"4":{"docs":{},"f":{"3":{"6":{"docs":{},"f":{"docs":{},"b":{"9":{"docs":{},"a":{"0":{"4":{"5":{"1":{"0":{"4":{"docs":{},"a":{"docs":{},"a":{"6":{"docs":{},"c":{"8":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"c":{"8":{"7":{"docs":{},"a":{"2":{"1":{"8":{"docs":{},"f":{"2":{"6":{"5":{"docs":{},"d":{"docs":{},"a":{"2":{"docs":{},"d":{"docs":{},"d":{"8":{"6":{"8":{"docs":{},"c":{"docs":{},"f":{"docs":{},"c":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"d":{"4":{"1":{"3":{"6":{"2":{"9":{"5":{"1":{"8":{"8":{"2":{"5":{"5":{"docs":{},"d":{"5":{"8":{"6":{"1":{"docs":{},"d":{"0":{"docs":{},"e":{"4":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"d":{"2":{"4":{"docs":{},"e":{"3":{"docs":{},"f":{"docs":{},"f":{"2":{"6":{"5":{"docs":{},"d":{"docs":{},"a":{"0":{"docs":{},"b":{"docs":{},"b":{"docs":{},"c":{"3":{"0":{"6":{"7":{"docs":{},"a":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"4":{"2":{"6":{"7":{"7":{"5":{"3":{"4":{"docs":{},"/":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"@":{"docs":{},"j":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"y":{"docs":{},"u":{"docs":{},"h":{"docs":{},"/":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"5":{"docs":{},"%":{"docs":{},"b":{"3":{"docs":{},"%":{"docs":{},"e":{"4":{"docs":{},"%":{"docs":{},"b":{"docs":{},"a":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"docs":{},"a":{"6":{"docs":{},"%":{"docs":{},"b":{"docs":{},"b":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"b":{"1":{"docs":{},"%":{"8":{"docs":{},"f":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"docs":{},"b":{"8":{"docs":{},"%":{"docs":{},"b":{"2":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"9":{"docs":{},"f":{"docs":{},"%":{"9":{"3":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"9":{"docs":{},"a":{"docs":{},"%":{"8":{"4":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"docs":{},"b":{"7":{"docs":{},"%":{"docs":{},"b":{"1":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"5":{"docs":{},"%":{"docs":{},"a":{"5":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"docs":{},"a":{"0":{"docs":{},"%":{"9":{"4":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"docs":{},"a":{"9":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}}}}},"docs":{}}},"docs":{}}}},"docs":{}}}}}}},"docs":{}}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"/":{"3":{"2":{"docs":{},"w":{"4":{"docs":{},"o":{"docs":{},"r":{"docs":{},"j":{"docs":{},"w":{"docs":{},"v":{"docs":{},"r":{"docs":{},"k":{"docs":{},"k":{"docs":{},"x":{"docs":{},"w":{"docs":{},"s":{"docs":{},"c":{"docs":{},"z":{"docs":{},"j":{"docs":{},"k":{"docs":{},"x":{"docs":{},"g":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},":":{"docs":{},"点":{"docs":{},"外":{"docs":{},"卖":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"原":{"docs":{},"来":{"docs":{},"这":{"docs":{},"么":{"docs":{},"复":{"docs":{},"杂":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"主":{"docs":{},"要":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"流":{"docs":{},"程":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"运":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"加":{"docs":{},"密":{"docs":{},"手":{"docs":{},"段":{"docs":{},"?":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"都":{"docs":{},"是":{"docs":{},"未":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"明":{"docs":{},"文":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"隐":{"docs":{},"私":{"docs":{},"信":{"docs":{},"息":{"docs":{},"非":{"docs":{},"常":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"这":{"docs":{},"些":{"docs":{},"隐":{"docs":{},"私":{"docs":{},"数":{"docs":{},"据":{"docs":{},"能":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"网":{"docs":{},"景":{"docs":{},"公":{"docs":{},"司":{"docs":{},"设":{"docs":{},"计":{"docs":{},"了":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"n":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":10.055555555555555}},"s":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"域":{"docs":{},"名":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"代":{"docs":{},"替":{"docs":{},"现":{"docs":{},"有":{"docs":{},"基":{"docs":{},"于":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"的":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"域":{"docs":{},"名":{"docs":{},"解":{"docs":{},"析":{"docs":{},"请":{"docs":{},"求":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"云":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"款":{"docs":{},"递":{"docs":{},"归":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"与":{"docs":{},"权":{"docs":{},"威":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"并":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"决":{"docs":{},"定":{"docs":{},"解":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"解":{"docs":{},"析":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"直":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"a":{"docs":{},"记":{"docs":{},"录":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"向":{"docs":{},"本":{"docs":{},"地":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"询":{"docs":{},"问":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"解":{"docs":{},"析":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"从":{"docs":{},"根":{"docs":{},"本":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"i":{"docs":{},"p":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"省":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"解":{"docs":{},"析":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"降":{"docs":{},"低":{"docs":{},"平":{"docs":{},"均":{"docs":{},"访":{"docs":{},"问":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"。":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"与":{"docs":{},":":{"docs":{},"前":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"域":{"docs":{},"名":{"docs":{},"解":{"docs":{},"析":{"docs":{},";":{"docs":{},"后":{"docs":{},"者":{"docs":{},"协":{"docs":{},"议":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"5":{"3":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"度":{"docs":{},"解":{"docs":{},"析":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"e":{"docs":{},"i":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"2":{"0":{"1":{"9":{"docs":{},"/":{"0":{"5":{"docs":{},"/":{"0":{"2":{"docs":{},"/":{"docs":{},"%":{"docs":{},"e":{"4":{"docs":{},"%":{"docs":{},"b":{"docs":{},"a":{"docs":{},"%":{"8":{"docs":{},"c":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"docs":{},"f":{"docs":{},"%":{"8":{"9":{"docs":{},"%":{"docs":{},"e":{"6":{"docs":{},"%":{"docs":{},"a":{"0":{"docs":{},"%":{"9":{"1":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"9":{"docs":{},"a":{"docs":{},"%":{"8":{"4":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"9":{"docs":{},"%":{"8":{"docs":{},"d":{"docs":{},"%":{"docs":{},"e":{"4":{"docs":{},"%":{"docs":{},"b":{"8":{"docs":{},"%":{"docs":{},"a":{"docs":{},"d":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"9":{"0":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"b":{"docs":{},"a":{"docs":{},"%":{"8":{"docs":{},"f":{"docs":{},"%":{"docs":{},"e":{"9":{"docs":{},"%":{"8":{"1":{"docs":{},"%":{"8":{"docs":{},"d":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"8":{"6":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"9":{"docs":{},"a":{"docs":{},"%":{"8":{"4":{"docs":{},"%":{"docs":{},"e":{"9":{"docs":{},"%":{"9":{"docs":{},"d":{"docs":{},"%":{"9":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"9":{"docs":{},"%":{"8":{"0":{"docs":{},"%":{"9":{"2":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"b":{"docs":{},"d":{"docs":{},"%":{"9":{"2":{"docs":{},"%":{"docs":{},"e":{"5":{"docs":{},"%":{"docs":{},"a":{"docs":{},"e":{"docs":{},"%":{"9":{"docs":{},"e":{"docs":{},"%":{"docs":{},"e":{"7":{"docs":{},"%":{"8":{"docs":{},"e":{"docs":{},"%":{"docs":{},"b":{"0":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"/":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"docs":{}}}}},"docs":{}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}},"docs":{}},"docs":{}}}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}}},"docs":{}}}},"docs":{}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}}}},"docs":{}}}}}},"docs":{}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"2":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{},"/":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"j":{"docs":{},"e":{"docs":{},"b":{"docs":{},"f":{"docs":{},"g":{"docs":{},"c":{"docs":{},"a":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.03363914373088685}},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.03333333333333333}},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"出":{"docs":{},"操":{"docs":{},"作":{"docs":{},"初":{"docs":{},"始":{"docs":{},"点":{"docs":{},"所":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"查":{"docs":{},"找":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},",":{"docs":{},"是":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"o":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"点":{"docs":{},"在":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"之":{"docs":{},"内":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},">":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"y":{"docs":{},")":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"等":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"g":{"docs":{},"h":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.010638297872340425},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"将":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"算":{"docs":{},"法":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},",":{"0":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"1":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"_":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},":":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},":":{"docs":{},"当":{"docs":{},"对":{"docs":{},"象":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"技":{"docs":{},"术":{"docs":{},"⼤":{"docs":{},"于":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"之":{"docs":{},"前":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0058309037900874635}},"e":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"或":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"均":{"docs":{},"可":{"docs":{},"主":{"docs":{},"动":{"docs":{},"发":{"docs":{},"起":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"动":{"docs":{},"作":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"建":{"docs":{},"立":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"总":{"docs":{},"共":{"docs":{},"发":{"docs":{},"送":{"3":{"docs":{},"个":{"docs":{},"包":{"docs":{},"。":{"docs":{},"进":{"docs":{},"行":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"确":{"docs":{},"认":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"和":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"、":{"docs":{},"指":{"docs":{},"定":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"为":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"传":{"docs":{},"送":{"docs":{},"做":{"docs":{},"准":{"docs":{},"备":{"docs":{},"。":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"指":{"docs":{},"定":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"建":{"docs":{},"立":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"并":{"docs":{},"同":{"docs":{},"步":{"docs":{},"连":{"docs":{},"接":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"和":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},",":{"docs":{},"交":{"docs":{},"换":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"大":{"docs":{},"小":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"t":{"docs":{},"e":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"值":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"外":{"docs":{},"部":{"docs":{},"重":{"docs":{},"新":{"docs":{},"为":{"docs":{},"其":{"docs":{},"赋":{"docs":{},"的":{"2":{"0":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},".":{"docs":{},".":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"a":{"docs":{},"d":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"s":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"分":{"docs":{},"析":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.006256517205422315}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"、":{"docs":{},"e":{"docs":{},"c":{"docs":{},"c":{"docs":{},"等":{"docs":{},"。":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"相":{"docs":{},"互":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"用":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"c":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"至":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"h":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"h":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"t":{"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"docs":{}},"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.028913260219341975},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0053435114503816794},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"0":{"3":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"docs":{}},"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"(":{"docs":{},"^":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}},"o":{"docs":{},")":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"[":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"{":{"2":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"自":{"docs":{},"动":{"docs":{},"设":{"docs":{},"置":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"认":{"docs":{},"为":{"docs":{},"这":{"docs":{},"些":{"docs":{},"约":{"docs":{},"束":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},";":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"但":{"docs":{},"通":{"docs":{},"常":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0072992700729927005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"1":{"docs":{},"]":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"。":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"那":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.022857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.030534351145038167},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.013921113689095127},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.007936507936507936}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},",":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"o":{"docs":{},"r":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"先":{"docs":{},"让":{"docs":{},"父":{"docs":{},"类":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"r":{"docs":{},".":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"。":{"docs":{},"这":{"docs":{},"两":{"docs":{},"类":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"函":{"docs":{},"数":{"docs":{},"都":{"docs":{},"有":{"docs":{},"个":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"链":{"docs":{},"接":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{},"坑":{"docs":{},":":{"docs":{},"有":{"docs":{},"些":{"docs":{},"注":{"docs":{},"册":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"最":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"s":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"实":{"docs":{},"例":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"]":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"c":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"e":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"父":{"docs":{},"类":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},":":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.013921113689095127}}}}}}}},"'":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"?":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"[":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"必":{"docs":{},"然":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"由":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"所":{"docs":{},"有":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"等":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"某":{"docs":{},"个":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"做":{"docs":{},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"o":{"docs":{},"c":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{},"被":{"docs":{},"触":{"docs":{},"发":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"只":{"docs":{},"有":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"段":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"q":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"p":{"docs":{},"k":{"docs":{},"i":{"docs":{},")":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"签":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"认":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"管":{"docs":{},"理":{"docs":{},"已":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"机":{"docs":{},"关":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"也":{"docs":{},"比":{"docs":{},"较":{"docs":{},"容":{"docs":{},"易":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"会":{"docs":{},"读":{"docs":{},"写":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"把":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"读":{"docs":{},"入":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"t":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"o":{"docs":{"./":{"ref":"./","tf":0.05555555555555555},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01529051987767584},"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":5.021739130434782},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":5.006122448979592},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.01048951048951049},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":5.016129032258065},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.008454106280193236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":5.010416666666667},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.009259259259259259},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":5.0062240663900415},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":3.334305150631681},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":3.3495746326372773},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":3.333333333333333},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":3.341269841269841}},"s":{"1":{"0":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},".":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}},"docs":{}}},"2":{"docs":{},"之":{"docs":{},"前":{"docs":{},"打":{"docs":{},"印":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"能":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"看":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"2":{"docs":{},"之":{"docs":{},"后":{"docs":{},"系":{"docs":{},"统":{"docs":{},"则":{"docs":{},"打":{"docs":{},"印":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"看":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"了":{"docs":{},",":{"docs":{},"看":{"docs":{},"了":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"发":{"docs":{},"现":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"混":{"docs":{},"淆":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"得":{"docs":{},"到":{"docs":{},"值":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"避":{"docs":{},"免":{"docs":{},"我":{"docs":{},"们":{"docs":{},"去":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"就":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"3":{"docs":{},".":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}},"docs":{}},"7":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"7":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"docs":{}}}}}},"9":{"docs":{},"后":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},".":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{},"技":{"docs":{},"术":{"docs":{},"总":{"docs":{},"结":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":10.090909090909092}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"看":{"docs":{},"我":{"docs":{},"就":{"docs":{},"够":{"docs":{},"了":{"docs":{},"~":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":10}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"中":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"全":{"docs":{},"家":{"docs":{},"桶":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"只":{"docs":{},"会":{"docs":{},"当":{"docs":{},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"对":{"docs":{},"内":{"docs":{},"存":{"docs":{},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"很":{"docs":{},"有":{"docs":{},"好":{"docs":{},"处":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"按":{"docs":{},"下":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"许":{"docs":{},"多":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"会":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"及":{"docs":{},"时":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"从":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"视":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"极":{"docs":{},"限":{"docs":{},"优":{"docs":{},"化":{"docs":{},"—":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"程":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":10.001748251748252}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"分":{"docs":{},"为":{"docs":{},"自":{"docs":{},"动":{"docs":{},"监":{"docs":{},"听":{"docs":{},"和":{"docs":{},"手":{"docs":{},"动":{"docs":{},"触":{"docs":{},"发":{"docs":{},"两":{"docs":{},"种":{"docs":{},"形":{"docs":{},"式":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"探":{"docs":{},"索":{"docs":{},":":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"结":{"docs":{},"构":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":10.007462686567164}}}}}}}}},"探":{"docs":{},"索":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"系":{"docs":{},"统":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"几":{"docs":{},"钟":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"技":{"docs":{},"术":{"docs":{},"各":{"docs":{},"自":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"3":{"docs":{},"种":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"&":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"《":{"docs":{},"原":{"docs":{},"理":{"docs":{},"篇":{"docs":{},"》":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"图":{"docs":{},"异":{"docs":{},"常":{"docs":{},"修":{"docs":{},"复":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":5}}}}}}}}}}},":":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"1":{"8":{"1":{"6":{"5":{"docs":{},":":{"5":{"9":{"6":{"7":{"5":{"7":{"5":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"4":{"4":{"3":{"1":{"docs":{},":":{"7":{"2":{"3":{"4":{"1":{"8":{"2":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"系":{"docs":{},"列":{"docs":{},"篇":{"docs":{},"之":{"docs":{},"“":{"docs":{},"列":{"docs":{},"表":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},"优":{"docs":{},"化":{"docs":{},"”":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"/":{"docs":{},"r":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"v":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}}}}}}}}},"(":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}},"docs":{}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"将":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"封":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},",":{"docs":{},"把":{"docs":{},"数":{"docs":{},"据":{"docs":{},"读":{"docs":{},"入":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"e":{"docs":{},":":{"0":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"1":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505}}},"docs":{},"%":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":10.037190082644628},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.031203566121842496},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"_":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.012396694214876033},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},"、":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"保":{"docs":{},"存":{"docs":{},"着":{"docs":{},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"全":{"docs":{},"局":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"询":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},".":{"docs":{},"h":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}},"。":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"那":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"联":{"docs":{},"合":{"docs":{},"体":{"docs":{},"位":{"docs":{},"域":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":3.342222222222222}},":":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":3.342222222222222}},":":{"docs":{},"[":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"判":{"docs":{},"断":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"=":{"docs":{},"y":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.017316017316017316}},"(":{"docs":{},"c":{"docs":{},")":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"s":{"docs":{},")":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"会":{"docs":{},"把":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"创":{"docs":{},"建":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"内":{"docs":{},"存":{"docs":{},"映":{"docs":{},"射":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"图":{"docs":{},"像":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"解":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.010114632501685773},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"e":{"docs":{},";":{"docs":{},")":{"docs":{},",":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"会":{"docs":{},"被":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"变":{"docs":{},"成":{"docs":{},"r":{"docs":{},"g":{"docs":{},"b":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"]":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"@":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},":":{"docs":{},":":{"docs":{},"k":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},":":{"docs":{},":":{"docs":{},"d":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},":":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"等":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.03225806451612903}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"代":{"docs":{},"表":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"当":{"docs":{},"找":{"docs":{},"到":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"对":{"docs":{},"函":{"docs":{},"数":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"一":{"docs":{},"直":{"docs":{},"往":{"docs":{},"上":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}}}}}}}},"p":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.05555555555555555}},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"内":{"docs":{},"部":{"docs":{},"通":{"docs":{},"信":{"docs":{},"(":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}},"通":{"docs":{},"信":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"4":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"docs":{},"时":{"docs":{},"这":{"docs":{},"个":{"docs":{},"值":{"docs":{},"为":{"8":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}}}}}},"o":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"s":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"1":{"0":{"docs":{},".":{"1":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"docs":{}}},"docs":{}},"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},",":{"docs":{},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}},"列":{"docs":{},"表":{"docs":{},"更":{"docs":{},"换":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}},"直":{"docs":{},"连":{"docs":{},"方":{"docs":{},"案":{"docs":{},"有":{"docs":{},"下":{"docs":{},"面":{"docs":{},"几":{"docs":{},"大":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178}}}}}}},"先":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"准":{"docs":{},"备":{"docs":{},"好":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"进":{"docs":{},"行":{"docs":{},"数":{"docs":{},"据":{"docs":{},"填":{"docs":{},"充":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.011702127659574468},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.02040816326530612},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.01564129301355579},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006361323155216285},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.008632138114209827},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"+":{"docs":{},"+":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"=":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"f":{"docs":{},"(":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"t":{"docs":{},"=":{"docs":{},"=":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"v":{"docs":{},"c":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}},"=":{"0":{"docs":{},"时":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"先":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"先":{"docs":{},"发":{"docs":{},"出":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"1":{"docs":{},"时":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"先":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"先":{"docs":{},"发":{"docs":{},"出":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"结":{"docs":{},"点":{"docs":{},"是":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},",":{"docs":{},"无":{"docs":{},"双":{"docs":{},"亲":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"docs":{}},"+":{"docs":{},"+":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"r":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"(":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"媒":{"docs":{},"介":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"前":{"docs":{},"后":{"docs":{},"端":{"docs":{},"分":{"docs":{},"离":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"前":{"docs":{},"后":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"互":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"、":{"docs":{},"优":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"优":{"docs":{},"化":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"后":{"docs":{},"端":{"docs":{},"(":{"docs":{},"生":{"docs":{},"成":{"docs":{},"汇":{"docs":{},"编":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},",":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},":":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"为":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"d":{"docs":{},",":{"docs":{},"d":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"已":{"docs":{},"经":{"docs":{},"访":{"docs":{},"问":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"b":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"到":{"docs":{},"b":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"e":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"e":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":3.396946564885496}},",":{"docs":{},"交":{"docs":{},"易":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"验":{"docs":{},"证":{"docs":{},"交":{"docs":{},"易":{"docs":{},"这":{"docs":{},"一":{"docs":{},"环":{"docs":{},"需":{"docs":{},"要":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"来":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"坑":{"docs":{},",":{"docs":{},"先":{"docs":{},"记":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"点":{"docs":{},",":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"比":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"支":{"docs":{},"付":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"引":{"docs":{},"出":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"和":{"docs":{},"你":{"docs":{},"商":{"docs":{},"量":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"强":{"docs":{},"制":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"爸":{"docs":{},"爸":{"docs":{},"说":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},",":{"docs":{},"就":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"这":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"解":{"docs":{},"决":{"docs":{},"不":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"也":{"docs":{},"只":{"docs":{},"是":{"docs":{},"说":{"docs":{},"说":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"说":{"docs":{},"了":{"docs":{},"微":{"docs":{},"信":{"docs":{},"公":{"docs":{},"众":{"docs":{},"号":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"它":{"docs":{},"不":{"docs":{},"是":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"i":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"i":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"v":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"因":{"docs":{},"其":{"docs":{},"复":{"docs":{},"用":{"docs":{},"性":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}},"最":{"docs":{},"早":{"docs":{},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}},"v":{"docs":{},"m":{"docs":{},"、":{"docs":{},"m":{"docs":{},"v":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"业":{"docs":{},"务":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},"a":{"docs":{},"c":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.008091706001348618},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.016908212560386472},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":5.032719836400818},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.012411347517730497},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.015873015873015872}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}},"e":{"docs":{},"r":{"docs":{},"_":{"6":{"4":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}}},"docs":{}},"docs":{}}}}}}}}},"内":{"docs":{},"核":{"docs":{},"编":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004045853000674309}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.014184397163120567}}}},"k":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.006666666666666667},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.023622047244094488},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"每":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{},"会":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"又":{"docs":{},"包":{"docs":{},"括":{"docs":{},"多":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"等":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"画":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"获":{"docs":{},"得":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425}},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"准":{"docs":{},"备":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"这":{"docs":{},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"在":{"docs":{},"负":{"docs":{},"责":{"docs":{},",":{"docs":{},"核":{"docs":{},"心":{"docs":{},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"内":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"到":{"docs":{},"的":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"指":{"docs":{},"针":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"}":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.029911075181891674}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{},"在":{"docs":{},"循":{"docs":{},"环":{"docs":{},"的":{"docs":{},"合":{"docs":{},"适":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"会":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},",":{"docs":{},"去":{"docs":{},"对":{"docs":{},"比":{"docs":{},"表":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},":":{"docs":{},"计":{"docs":{},"数":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"量":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},":":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},":":{"docs":{},"⽤":{"docs":{},"于":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"真":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"还":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"n":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"检":{"docs":{},"查":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"k":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"r":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.007633587786259542}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}}}}},"p":{"2":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"内":{"docs":{},"存":{"docs":{},"映":{"docs":{},"射":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"文":{"docs":{},"件":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"里":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"内":{"docs":{},"存":{"docs":{},"那":{"docs":{},"样":{"docs":{},"来":{"docs":{},"读":{"docs":{},"写":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"读":{"docs":{},"取":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.04},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01634472511144131}},"l":{"docs":{},"入":{"docs":{},"门":{"docs":{},"教":{"docs":{},"程":{"docs":{},"总":{"docs":{},"结":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"八":{"docs":{},")":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"与":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"早":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},")":{"docs":{},",":{"docs":{},"显":{"docs":{},"然":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"是":{"docs":{},"单":{"docs":{},"一":{"docs":{},"职":{"docs":{},"责":{"docs":{},"和":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"1":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"2":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"3":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":10.007575757575758},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"、":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"配":{"docs":{},"套":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"为":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"携":{"docs":{},"带":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"构":{"docs":{},"建":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{},"名":{"docs":{},"称":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"与":{"docs":{},"函":{"docs":{},"数":{"docs":{},"体":{"docs":{},"(":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"三":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"依":{"docs":{},"次":{"docs":{},"来":{"docs":{},"看":{"docs":{},"三":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"什":{"docs":{},"么":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"里":{"docs":{},"面":{"docs":{},"最":{"docs":{},"终":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"b":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"会":{"docs":{},"将":{"docs":{},"它":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"成":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"e":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":10}}}}}}}}},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"=":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}},"m":{"docs":{},"c":{"docs":{},"p":{"docs":{},"y":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"i":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},")":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":5}}}},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"r":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.010912698412698412}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.04838709677419355}}}}}},"u":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"b":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},",":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"考":{"docs":{},"虑":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}}}},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"_":{"docs":{},"t":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"即":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"是":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":10}}}}}}}}}}}},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},";":{"docs":{},"那":{"docs":{},"么":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"写":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"[":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.02366412213740458}},"+":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0053435114503816794}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"d":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.013333333333333334}},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"就":{"docs":{},"不":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"际":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"用":{"docs":{},"于":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"通":{"docs":{},"常":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"用":{"docs":{},"不":{"docs":{},"到":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"那":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"结":{"docs":{},"束":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0058309037900874635}},"e":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}},"e":{"docs":{},".":{"docs":{},"h":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"。":{"docs":{},"将":{"docs":{},"对":{"docs":{},"其":{"docs":{},"它":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"反":{"docs":{},"射":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"放":{"docs":{},"入":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"v":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"i":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"n":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"d":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.023255813953488372}}},"x":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"h":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"g":{"docs":{},"j":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"r":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"p":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"p":{"1":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"t":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"i":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.03363914373088685}},"e":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.03333333333333333}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"该":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"返":{"docs":{},"回":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":5.022082018927445},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915}},"s":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"'":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"[":{"1":{"2":{"docs":{},":":{"1":{"6":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"4":{"docs":{},":":{"8":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"[":{"1":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"3":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"值":{"docs":{},"作":{"docs":{},"为":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"那":{"docs":{},"程":{"docs":{},"序":{"docs":{},"就":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"的":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"对":{"docs":{},"象":{"docs":{},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}},"话":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"本":{"docs":{},"身":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}},"值":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"1":{"2":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"打":{"docs":{},"印":{"docs":{},"就":{"docs":{},"发":{"docs":{},"现":{"docs":{},"完":{"docs":{},"全":{"docs":{},"看":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"类":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"等":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"且":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"先":{"docs":{},"从":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"中":{"docs":{},"去":{"docs":{},"取":{"docs":{},"(":{"docs":{},"这":{"docs":{},"里":{"docs":{},"将":{"docs":{},"取":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"+":{"1":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"说":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"值":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"针":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"其":{"docs":{},"指":{"docs":{},"针":{"docs":{},"值":{"docs":{},"作":{"docs":{},"为":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"就":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}},"么":{"docs":{},"会":{"docs":{},"对":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"成":{"docs":{},"员":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"会":{"docs":{},"对":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"探":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"对":{"docs":{},"象":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"不":{"docs":{},"再":{"docs":{},"是":{"docs":{},"地":{"docs":{},"址":{"docs":{},"了":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"不":{"docs":{},"再":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"了":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"披":{"docs":{},"着":{"docs":{},"对":{"docs":{},"象":{"docs":{},"皮":{"docs":{},"的":{"docs":{},"普":{"docs":{},"通":{"docs":{},"变":{"docs":{},"量":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"不":{"docs":{},"指":{"docs":{},"向":{"docs":{},"任":{"docs":{},"何":{"docs":{},"实":{"docs":{},"质":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"在":{"6":{"4":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"设":{"docs":{},"备":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"存":{"docs":{},"储":{"docs":{},"小":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"优":{"docs":{},"化":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"等":{"docs":{},"小":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"储":{"docs":{},"存":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"有":{"docs":{},"长":{"docs":{},"度":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"过":{"docs":{},"长":{"docs":{},"会":{"docs":{},"依":{"docs":{},"然":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"保":{"docs":{},"存":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"成":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"普":{"docs":{},"通":{"docs":{},"变":{"docs":{},"量":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"需":{"docs":{},"要":{"docs":{},"留":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"不":{"docs":{},"太":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"是":{"docs":{},"用":{"docs":{},"最":{"docs":{},"低":{"docs":{},"位":{"docs":{},"、":{"docs":{},"有":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"高":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"且":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"了":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"有":{"docs":{},"这":{"docs":{},"么":{"docs":{},"几":{"docs":{},"个":{"docs":{},"判":{"docs":{},"断":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"源":{"docs":{},"码":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"进":{"docs":{},"行":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"这":{"docs":{},"个":{"docs":{},"后":{"docs":{},"面":{"docs":{},"也":{"docs":{},"会":{"docs":{},"提":{"docs":{},"到":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"满":{"docs":{},"足":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"才":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"池":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}},"来":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"接":{"docs":{},"受":{"docs":{},"到":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"进":{"docs":{},"程":{"docs":{},"传":{"docs":{},"递":{"docs":{},"来":{"docs":{},"的":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}},"”":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"都":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"端":{"docs":{},"口":{"docs":{},")":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"(":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}},"发":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"将":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"这":{"docs":{},"个":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521}},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},":":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"1":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"2":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"3":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.010427528675703858}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"(":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"临":{"docs":{},"时":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"得":{"docs":{},"到":{"docs":{},"释":{"docs":{},"放":{"docs":{},"(":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"即":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"延":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"决":{"docs":{},"定":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"1":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"2":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"3":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"docs":{}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"n":{"docs":{},"o":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},",":{"docs":{},"后":{"docs":{},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}},"(":{"docs":{},"准":{"docs":{},"备":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"完":{"docs":{},"成":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"解":{"docs":{},"码":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"v":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":10}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"t":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},",":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"]":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}},"会":{"docs":{},"做":{"docs":{},"如":{"docs":{},"下":{"docs":{},"事":{"docs":{},"情":{"docs":{},":":{"docs":{},"分":{"docs":{},"析":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"进":{"docs":{},"程":{"docs":{},"内":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"被":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{},"才":{"docs":{},"能":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"3":{"docs":{},"则":{"docs":{},"是":{"docs":{},"部":{"docs":{},"分":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}},")":{"docs":{},":":{"docs":{},"宏":{"docs":{},"替":{"docs":{},"换":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"注":{"docs":{},"释":{"docs":{},"、":{"docs":{},"展":{"docs":{},"开":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"[":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"t":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":10}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"中":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"加":{"docs":{},"号":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.006802721088435374}},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},",":{"docs":{},"不":{"docs":{},"符":{"docs":{},"合":{"docs":{},"我":{"docs":{},"们":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"但":{"docs":{},"既":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"s":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669}}},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"u":{"docs":{},"d":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"f":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.012411347517730497},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"%":{"docs":{},"c":{"docs":{},"\"":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"1":{"docs":{},":":{"docs":{},"重":{"docs":{},"复":{"docs":{},"次":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"2":{"docs":{},":":{"docs":{},"追":{"docs":{},"加":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"3":{"docs":{},":":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"接":{"docs":{},"受":{"docs":{},"分":{"docs":{},"块":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"参":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"@":{"docs":{},"[":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.006256517205422315}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"i":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}},"t":{"docs":{},"h":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"了":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"重":{"docs":{},"用":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"模":{"docs":{},"型":{"docs":{},"类":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.035453597497393116},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.020531400966183576},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.09090909090909091},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.017857142857142856}},"\"":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"没":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"池":{"docs":{},"子":{"docs":{},"被":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"池":{"docs":{},"子":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"1":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"2":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"头":{"docs":{},"部":{"docs":{},"插":{"docs":{},"入":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"记":{"docs":{},"录":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"统":{"docs":{},"计":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"上":{"docs":{},"传":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"用":{"docs":{},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"t":{"docs":{},",":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"或":{"docs":{},"者":{"docs":{},"j":{"docs":{},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"比":{"docs":{},"同":{"docs":{},"质":{"docs":{},"量":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"小":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"把":{"docs":{},"它":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"成":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"未":{"docs":{},"解":{"docs":{},"压":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},"。":{"docs":{},"b":{"docs":{},".":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"1":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"2":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"docs":{}}}}}}}},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"本":{"docs":{},"身":{"docs":{},"—":{"docs":{},"—":{"docs":{},"当":{"docs":{},"锁":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"申":{"docs":{},"请":{"docs":{},"锁":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"忙":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},"并":{"docs":{},"睡":{"docs":{},"眠":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"r":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"r":{"docs":{},"y":{"docs":{},"r":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}}}}}}},"d":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"都":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"即":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"为":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"v":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}},"l":{"docs":{},"u":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"e":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},".":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"“":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}},"(":{"docs":{},"_":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},".":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},",":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"关":{"docs":{},"于":{"docs":{},"多":{"docs":{},"核":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"分":{"docs":{},"析":{"docs":{},"源":{"docs":{},"码":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"到":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"e":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"重":{"docs":{},"点":{"docs":{},"还":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"h":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},":":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"s":{"docs":{},"、":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"从":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"到":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"编":{"docs":{},"译":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"o":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"o":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.02922077922077922},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.025974025974025976},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"docs":{}}}}}}}}}}}},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.01948051948051948},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.03636363636363636}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"复":{"docs":{},"用":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"始":{"docs":{},"终":{"docs":{},"有":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"及":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"则":{"docs":{},"新":{"docs":{},"增":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"放":{"docs":{},"在":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.025974025974025976},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"f":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.013513513513513514},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776},"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"e":{"docs":{},":":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":10}}}}}}}}},"t":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"1":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"2":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"3":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"4":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"e":{"docs":{},"(":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},")":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"接":{"docs":{},"受":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"开":{"docs":{},"端":{"docs":{},"。":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"发":{"docs":{},"的":{"docs":{},"使":{"docs":{},"命":{"docs":{},"都":{"docs":{},"是":{"docs":{},"找":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}},"\\":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},")":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},"临":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"对":{"docs":{},"应":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"保":{"docs":{},"存":{"docs":{},"到":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}},"或":{"docs":{},"者":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"述":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"外":{"docs":{},"界":{"docs":{},"看":{"docs":{},"来":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}},")":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"即":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"来":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.008905852417302799},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0136986301369863},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.009589041095890411}}},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"[":{"0":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"辛":{"docs":{},"苦":{"docs":{},"处":{"docs":{},"理":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"就":{"docs":{},"失":{"docs":{},"效":{"docs":{},"了":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"件":{"docs":{},"事":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"又":{"docs":{},"回":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"和":{"docs":{},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.019762845849802372},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.009574468085106383},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.05841121495327103},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.010967098703888335},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.026068821689259645},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.01272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.010958904109589041},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01649175412293853},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.015197568389057751},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.017777777777777778},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.025974025974025976},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.025974025974025976},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0111731843575419},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0058309037900874635},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.01818181818181818},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.02005730659025788},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"质":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"h":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.028985507246376812},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.012962962962962963},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"片":{"docs":{},"元":{"docs":{},"着":{"docs":{},"色":{"docs":{},"器":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"像":{"docs":{},"素":{"docs":{},"渲":{"docs":{},"染":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"u":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},")":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"人":{"docs":{},"都":{"docs":{},"能":{"docs":{},"答":{"docs":{},"出":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"docs":{},"r":{"docs":{},"解":{"docs":{},"析":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"把":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"(":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"i":{"docs":{},"z":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"e":{"docs":{},"s":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"\\":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"现":{"docs":{},"错":{"docs":{},"误":{"docs":{},"或":{"docs":{},"者":{"docs":{},"警":{"docs":{},"告":{"docs":{},"会":{"docs":{},"标":{"docs":{},"注":{"docs":{},"出":{"docs":{},"来":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"一":{"docs":{},"行":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.038834951456310676},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"入":{"docs":{},"参":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"#":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篡":{"docs":{},"改":{"docs":{},"入":{"docs":{},"参":{"docs":{},"、":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}},"那":{"docs":{},"还":{"docs":{},"不":{"docs":{},"如":{"docs":{},"把":{"docs":{},"转":{"docs":{},"发":{"docs":{},"操":{"docs":{},"作":{"docs":{},"提":{"docs":{},"前":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"只":{"docs":{},"是":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"调":{"docs":{},"用":{"docs":{},"目":{"docs":{},"标":{"docs":{},",":{"docs":{},"这":{"docs":{},"项":{"docs":{},"改":{"docs":{},"动":{"docs":{},"放":{"docs":{},"在":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"会":{"docs":{},"更":{"docs":{},"为":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"还":{"docs":{},"得":{"docs":{},"创":{"docs":{},"建":{"docs":{},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"g":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"e":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},":":{"docs":{},"修":{"docs":{},"复":{"docs":{},"内":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"d":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"*":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}},"w":{"docs":{},"{":{"1":{"6":{"docs":{},"}":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}},"docs":{}}}}},"'":{"docs":{},"(":{"docs":{},"\\":{"docs":{},"w":{"docs":{},"{":{"1":{"6":{"docs":{},"}":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.009333333333333334},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.006993006993006993},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":10.032},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.028409090909090908},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.009478672985781991},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.010912698412698412}},"、":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"核":{"docs":{},"心":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"4":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"用":{"docs":{},"来":{"docs":{},"装":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"该":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"所":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"“":{"docs":{},"运":{"docs":{},"行":{"docs":{},"”":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"当":{"docs":{},"前":{"docs":{},"只":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"_":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"所":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"所":{"docs":{},"包":{"docs":{},"括":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"、":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"与":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"刷":{"docs":{},"新":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"说":{"docs":{},"是":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"字":{"docs":{},"典":{"docs":{},"内":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"只":{"docs":{},"能":{"docs":{},"选":{"docs":{},"择":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"在":{"docs":{},"主":{"docs":{},"界":{"docs":{},"面":{"docs":{},"即":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"前":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"启":{"docs":{},"动":{"docs":{},"(":{"docs":{},"主":{"docs":{},"界":{"docs":{},"面":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"就":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"在":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},"会":{"docs":{},"不":{"docs":{},"断":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"某":{"docs":{},"种":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"下":{"docs":{},",":{"docs":{},"意":{"docs":{},"思":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},"大":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"把":{"docs":{},"来":{"docs":{},"自":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"事":{"docs":{},"件":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"循":{"docs":{},"环":{"docs":{},"地":{"docs":{},"从":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"事":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"被":{"docs":{},"新":{"docs":{},"到":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},",":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"开":{"docs":{},"启":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"任":{"docs":{},"务":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"有":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"开":{"docs":{},"启":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"任":{"docs":{},"务":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"有":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"部":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"循":{"docs":{},"环":{"docs":{},"来":{"docs":{},"对":{"docs":{},"事":{"docs":{},"件":{"docs":{},"/":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"总":{"docs":{},"共":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"结":{"docs":{},"构":{"docs":{},"与":{"docs":{},"运":{"docs":{},"行":{"docs":{},"原":{"docs":{},"理":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"相":{"docs":{},"关":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"顾":{"docs":{},"名":{"docs":{},"思":{"docs":{},"义":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"循":{"docs":{},"环":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"它":{"docs":{},"根":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"重":{"docs":{},"要":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"(":{"docs":{},"即":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"详":{"docs":{},"解":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"迭":{"docs":{},"代":{"docs":{},".":{"docs":{},"新":{"docs":{},"的":{"docs":{},"一":{"docs":{},"轮":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"进":{"docs":{},"行":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"何":{"docs":{},"为":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}},"并":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":10.0625},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.50148588410104},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}},"称":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"最":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},",":{"docs":{},"注":{"docs":{},"册":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"由":{"docs":{},"于":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"已":{"docs":{},"经":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"只":{"docs":{},"会":{"docs":{},"注":{"docs":{},"册":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},".":{"docs":{},"h":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"学":{"docs":{},"习":{"docs":{},":":{"docs":{},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{},"狙":{"docs":{},"击":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{},"会":{"docs":{},"将":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"l":{"docs":{},"e":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"s":{"docs":{},":":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"特":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"添":{"docs":{},"加":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"添":{"docs":{},"加":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"~":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"c":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"a":{"docs":{},"w":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523}}},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"c":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"和":{"docs":{},"边":{"docs":{},"界":{"docs":{},"检":{"docs":{},"查":{"docs":{},";":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"w":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"|":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"记":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"类":{"docs":{},"是":{"docs":{},"有":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"给":{"docs":{},"该":{"docs":{},"类":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"该":{"docs":{},"类":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"当":{"docs":{},"类":{"docs":{},"收":{"docs":{},"到":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"时":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"[":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"s":{"docs":{},"a":{"docs":{},"密":{"docs":{},"码":{"docs":{},"体":{"docs":{},"制":{"docs":{},"就":{"docs":{},"是":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"密":{"docs":{},"码":{"docs":{},"体":{"docs":{},"制":{"docs":{},",":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"的":{"docs":{},"一":{"docs":{},"对":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"和":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},")":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"控":{"docs":{},"制":{"docs":{},"页":{"docs":{},"面":{"docs":{},"不":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"系":{"docs":{},"统":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"分":{"docs":{},"别":{"docs":{},"生":{"docs":{},"成":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"和":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.027777777777777776},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"s":{"docs":{},":":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"是":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"更":{"docs":{},"为":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"非":{"docs":{},"常":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"。":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"端":{"docs":{},"口":{"docs":{},"和":{"docs":{},"套":{"docs":{},"接":{"docs":{},"字":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"与":{"docs":{},"外":{"docs":{},"部":{"docs":{},"实":{"docs":{},"体":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.008},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.017045454545454544},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"0":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"主":{"docs":{},"动":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"来":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"让":{"docs":{},"其":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"1":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.006666666666666667}},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}},"包":{"docs":{},"括":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},"和":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},"?":{"docs":{},"又":{"docs":{},"如":{"docs":{},"何":{"docs":{},"理":{"docs":{},"解":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"手":{"docs":{},"指":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"来":{"docs":{},"接":{"docs":{},"受":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"分":{"docs":{},"发":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"接":{"docs":{},"受":{"docs":{},"到":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}},"能":{"docs":{},"主":{"docs":{},"动":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"它":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"内":{"docs":{},"核":{"docs":{},"向":{"docs":{},"线":{"docs":{},"程":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"收":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"用":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}},"docs":{},"s":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"(":{"docs":{},"定":{"docs":{},"时":{"docs":{},"源":{"docs":{},")":{"docs":{},"两":{"docs":{},"种":{"docs":{},"来":{"docs":{},"源":{"docs":{},"等":{"docs":{},"待":{"docs":{},"接":{"docs":{},"受":{"docs":{},"事":{"docs":{},"件":{"docs":{},";":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"接":{"docs":{},"受":{"docs":{},"到":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"线":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"休":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},")":{"docs":{},"和":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"在":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"设":{"docs":{},"置":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"周":{"docs":{},"期":{"docs":{},"性":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"或":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"端":{"docs":{},"口":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{},"信":{"docs":{},"号":{"docs":{},"发":{"docs":{},"生":{"docs":{},"时":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"或":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"当":{"docs":{},"文":{"docs":{},"件":{"docs":{},"或":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"进":{"docs":{},"程":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"与":{"docs":{},"进":{"docs":{},"程":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}},"n":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933}}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"快":{"docs":{},"排":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"排":{"docs":{},"序":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"早":{"docs":{},"由":{"docs":{},"东":{"docs":{},"尼":{"docs":{},"·":{"docs":{},"霍":{"docs":{},"尔":{"docs":{},"提":{"docs":{},"出":{"docs":{},"。":{"docs":{},"在":{"docs":{},"平":{"docs":{},"均":{"docs":{},"状":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"进":{"docs":{},"程":{"docs":{},"因":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"&":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"(":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},")":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"i":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"至":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"也":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.012121212121212121}}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"s":{"docs":{},")":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},",":{"docs":{},"一":{"docs":{},"层":{"docs":{},"一":{"docs":{},"层":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"修":{"docs":{},"改":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"不":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"[":{"0":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":2.014354066985646},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5027932960893855}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},".":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"[":{"0":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"docs":{}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"为":{"docs":{},"指":{"docs":{},"向":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}},":":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}}}}}}}}}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.030303030303030304}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"p":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"】":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}}}},"e":{"docs":{},"l":{"1":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"docs":{}}}}}},"2":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.006983240223463687},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":2.0239234449760763},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"a":{"docs":{},"l":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"g":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"m":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"o":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"[":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.01160092807424594}}}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.013677811550151976},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.010638297872340425}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"docs":{}}}}}}}}}}}}},"仅":{"docs":{},"仅":{"docs":{},"代":{"docs":{},"表":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"中":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"表":{"docs":{},"方":{"docs":{},"法":{"docs":{},"\\":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"跟":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"得":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.03398058252427184},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"。":{"docs":{},"在":{"docs":{},"继":{"docs":{},"续":{"docs":{},"往":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"转":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"本":{"docs":{},"类":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"新":{"docs":{},"增":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"此":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"新":{"docs":{},"增":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"该":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"从":{"docs":{},"而":{"docs":{},"影":{"docs":{},"响":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"的":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"上":{"docs":{},"述":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{},"关":{"docs":{},"联":{"docs":{},"到":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},":":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"(":{"docs":{},"未":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0111731843575419}}},",":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"去":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"将":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"体":{"docs":{},",":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"协":{"docs":{},"议":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.00816326530612245}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"给":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"打":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"脏":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"即":{"docs":{},"将":{"docs":{},"结":{"docs":{},"束":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836}}}},"]":{"docs":{},"/":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"]":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"向":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"观":{"docs":{},"察":{"docs":{},"键":{"docs":{},"值":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"g":{"docs":{},"s":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"链":{"docs":{},"接":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"特":{"docs":{},"别":{"docs":{},"要":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"一":{"docs":{},"栏":{"docs":{},"下":{"docs":{},"是":{"docs":{},"对":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"进":{"docs":{},"行":{"docs":{},"设":{"docs":{},"定":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"g":{"docs":{},"e":{"docs":{},":":{"1":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"证":{"docs":{},"明":{"docs":{},"了":{"docs":{},",":{"docs":{},"给":{"docs":{},"分":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"属":{"docs":{},"性":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"添":{"docs":{},"加":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"与":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"v":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"^":{"docs":{},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"4":{"1":{"9":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"docs":{}},"docs":{}},"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"存":{"docs":{},"放":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"u":{"docs":{},"r":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"m":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}},"v":{"docs":{},".":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},",":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"都":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{},"保":{"docs":{},"存":{"docs":{},"本":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{},"的":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"去":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"将":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"位":{"docs":{},"图":{"docs":{},")":{"docs":{},"传":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"当":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"进":{"docs":{},"行":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"最":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"点":{"docs":{},"(":{"docs":{},"源":{"docs":{},"码":{"docs":{},"太":{"docs":{},"长":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"不":{"docs":{},"贴":{"docs":{},"了":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"一":{"docs":{},"块":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"称":{"docs":{},"为":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"、":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"转":{"docs":{},"换":{"docs":{},"后":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"、":{"docs":{},"原":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{},"、":{"docs":{},"等":{"docs":{},"待":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.013001083423618635},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"需":{"docs":{},"要":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{},"为":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"“":{"docs":{},"s":{"docs":{},"b":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.029850746268656716},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.016891891891891893},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.01652892561983471},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.014285714285714285},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.014955134596211365},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.004452926208651399},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.022288261515601784},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}},"的":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},"—":{"docs":{},"—":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"中":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.01160092807424594}}},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315}},"&":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"[":{"docs":{},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}},"e":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.008342022940563087},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0057251908396946565},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00684931506849315},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.014218009478672985},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.016908212560386472},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.013888888888888888}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}},"e":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"g":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"u":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"c":{"docs":{},"k":{"1":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"2":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.012987012987012988},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0065005417118093175}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}},"后":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"外":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"里":{"docs":{},"不":{"docs":{},"能":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"e":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"b":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"h":{"docs":{},"a":{"1":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.029748283752860413}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}}}}}},",":{"docs":{},"其":{"docs":{},"原":{"docs":{},"因":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"]":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"触":{"docs":{},"发":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"弄":{"docs":{},"巧":{"docs":{},"成":{"docs":{},"拙":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}},"w":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"s":{"docs":{},":":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"e":{"docs":{},"(":{"4":{"docs":{},",":{"docs":{},"位":{"docs":{},"计":{"docs":{},"算":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"docs":{}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"(":{"docs":{},"将":{"docs":{},"向":{"docs":{},"右":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"操":{"docs":{},"作":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.019762845849802372},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":10.030405405405405},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.011702127659574468}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"&":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"3":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896}}}}}}}}}}}},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"里":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"有":{"docs":{},"改":{"docs":{},"动":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"做":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"操":{"docs":{},"作":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"别":{"docs":{},"的":{"docs":{},"类":{"docs":{},"会":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"住":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"操":{"docs":{},"作":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"查":{"docs":{},"询":{"docs":{},"效":{"docs":{},"率":{"docs":{},"都":{"docs":{},"很":{"docs":{},"低":{"docs":{},"。":{"docs":{},"而":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"单":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"分":{"docs":{},"离":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"z":{"docs":{},"e":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"_":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"*":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"docs":{}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"操":{"docs":{},"作":{"docs":{},"是":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"一":{"docs":{},"个":{"docs":{},"正":{"docs":{},"在":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"w":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}},"2":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}},"docs":{}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}},"o":{"docs":{},"f":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"0":{"docs":{},"x":{"1":{"0":{"0":{"0":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"把":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"加":{"docs":{},"上":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.037122969837587005},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"c":{"docs":{},",":{"docs":{},"二":{"docs":{},"者":{"docs":{},"的":{"docs":{},"后":{"docs":{},"端":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"。":{"docs":{},"二":{"docs":{},"者":{"docs":{},"都":{"docs":{},"是":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"换":{"docs":{},"句":{"docs":{},"话":{"docs":{},"说":{"docs":{},"都":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},"才":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"二":{"docs":{},"者":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"都":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},",":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},"技":{"docs":{},"术":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}},"s":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},",":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"版":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"[":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"取":{"docs":{},"消":{"docs":{},"上":{"docs":{},"一":{"docs":{},"次":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"没":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"正":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"下":{"docs":{},"载":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"这":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"通":{"docs":{},"过":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"关":{"docs":{},"联":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"请":{"docs":{},"求":{"docs":{},"链":{"docs":{},"接":{"docs":{},"接":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"操":{"docs":{},"作":{"docs":{},"类":{"docs":{},"型":{"docs":{},"如":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},":":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}},"y":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"。":{"docs":{},"它":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"当":{"docs":{},"前":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":10.00199203187251}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.006640106241699867}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"开":{"docs":{},"启":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"。":{"docs":{},"则":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"源":{"docs":{},"码":{"docs":{},"学":{"docs":{},"习":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"f":{"docs":{},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"l":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"形":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"本":{"docs":{},"阶":{"docs":{},"段":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.04}}}},"n":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}}},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.05194805194805195}},"c":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"用":{"docs":{},"来":{"docs":{},"记":{"docs":{},"录":{"docs":{},"某":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"被":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"持":{"docs":{},"有":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"记":{"docs":{},"录":{"docs":{},"某":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"以":{"docs":{},"及":{"docs":{},"已":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.021917808219178082}},"*":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"就":{"docs":{},"是":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"v":{"docs":{},"d":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}},"e":{"docs":{},"c":{"docs":{},"v":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"攻":{"docs":{},"击":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},",":{"docs":{},"起":{"docs":{},"始":{"docs":{},"地":{"docs":{},"址":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"主":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"二":{"docs":{},"方":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"[":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"=":{"docs":{},"$":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},")":{"docs":{},",":{"docs":{},"演":{"docs":{},"化":{"docs":{},"至":{"docs":{},"今":{"docs":{},"已":{"docs":{},"经":{"docs":{},"成":{"docs":{},"为":{"docs":{},"了":{"docs":{},"最":{"docs":{},"流":{"docs":{},"行":{"docs":{},"和":{"docs":{},"最":{"docs":{},"先":{"docs":{},"进":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"公":{"docs":{},"司":{"docs":{},"和":{"docs":{},"团":{"docs":{},"队":{"docs":{},"还":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}},"docs":{}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"w":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.013054830287206266}}}}}}}}},"s":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"/":{"docs":{},"t":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"。":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"如":{"docs":{},"何":{"docs":{},"保":{"docs":{},"证":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"就":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"手":{"docs":{},"段":{"docs":{},":":{"docs":{},"身":{"docs":{},"份":{"docs":{},"认":{"docs":{},"证":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{},"身":{"docs":{},"份":{"docs":{},"认":{"docs":{},"证":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"c":{"docs":{},"a":{"docs":{},"证":{"docs":{},"书":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"机":{"docs":{},"制":{"docs":{},":":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"中":{"docs":{},"都":{"docs":{},"是":{"docs":{},"加":{"docs":{},"密":{"docs":{},"传":{"docs":{},"送":{"docs":{},"的":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},":":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"就":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"双":{"docs":{},"发":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"3":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"a":{"docs":{},"e":{"docs":{},"s":{"docs":{},"等":{"docs":{},"。":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"双":{"docs":{},"方":{"docs":{},"各":{"docs":{},"自":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"对":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"私":{"docs":{},"钥":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"是":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},",":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"是":{"docs":{},"保":{"docs":{},"密":{"docs":{},"的":{"docs":{},"。":{"docs":{},"当":{"docs":{},"发":{"docs":{},"送":{"docs":{},"方":{"docs":{},"向":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"方":{"docs":{},"利":{"docs":{},"用":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"明":{"docs":{},"文":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"、":{"docs":{},"e":{"docs":{},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"、":{"docs":{},"e":{"docs":{},"c":{"docs":{},"c":{"docs":{},"等":{"docs":{},"。":{"docs":{},"此":{"docs":{},"处":{"docs":{},"只":{"docs":{},"是":{"docs":{},"简":{"docs":{},"单":{"docs":{},"了":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"加":{"docs":{},"密":{"docs":{},"机":{"docs":{},"制":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"若":{"docs":{},"要":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"、":{"docs":{},"过":{"docs":{},"程":{"docs":{},"请":{"docs":{},"网":{"docs":{},"上":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"资":{"docs":{},"料":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.02745995423340961}}}}},"t":{"1":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}},"c":{"docs":{},"p":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.25675675675675674},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516}},"/":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"区":{"docs":{},"别":{"docs":{},"以":{"docs":{},"及":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"./":{"ref":"./","tf":0.013888888888888888},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"粘":{"docs":{},"包":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":10}},",":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"及":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"丢":{"docs":{},"包":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"及":{"docs":{},"解":{"docs":{},"决":{"docs":{},"办":{"docs":{},"法":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":10}}}}}}}}}},"&":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":10}}}}}},"(":{"docs":{},"传":{"docs":{},"输":{"docs":{},"控":{"docs":{},"制":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}},"一":{"docs":{},"样":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"前":{"docs":{},"进":{"docs":{},"行":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},",":{"docs":{},"想":{"docs":{},"发":{"docs":{},"数":{"docs":{},"据":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"开":{"docs":{},"始":{"docs":{},"发":{"docs":{},"送":{"docs":{},"了":{"docs":{},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"只":{"docs":{},"是":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{},"搬":{"docs":{},"运":{"docs":{},"工":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"文":{"docs":{},"进":{"docs":{},"行":{"docs":{},"任":{"docs":{},"何":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"和":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"像":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"一":{"docs":{},"样":{"docs":{},"那":{"docs":{},"样":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"独":{"docs":{},"立":{"docs":{},"地":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"保":{"docs":{},"留":{"docs":{},"报":{"docs":{},"文":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"以":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"区":{"docs":{},"别":{"docs":{},"总":{"docs":{},"结":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"靠":{"docs":{},"停":{"docs":{},"止":{"docs":{},"等":{"docs":{},"待":{"docs":{},"协":{"docs":{},"议":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"通":{"docs":{},"信":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"候":{"docs":{},"都":{"docs":{},"能":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"两":{"docs":{},"端":{"docs":{},"都":{"docs":{},"设":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"临":{"docs":{},"时":{"docs":{},"存":{"docs":{},"放":{"docs":{},"双":{"docs":{},"向":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"可":{"docs":{},"以":{"docs":{},"立":{"docs":{},"即":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"以":{"docs":{},"便":{"docs":{},"一":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"(":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"大":{"docs":{},"小":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"和":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"是":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},"的":{"docs":{},"运":{"docs":{},"输":{"docs":{},"层":{"docs":{},"中":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"提":{"docs":{},"供":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"则":{"docs":{},"常":{"docs":{},"被":{"docs":{},"用":{"docs":{},"于":{"docs":{},"让":{"docs":{},"广":{"docs":{},"播":{"docs":{},"和":{"docs":{},"细":{"docs":{},"节":{"docs":{},"控":{"docs":{},"制":{"docs":{},"交":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"全":{"docs":{},"双":{"docs":{},"工":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334}},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"视":{"docs":{},"图":{"docs":{},"栈":{"docs":{},"里":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"为":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"次":{"docs":{},"的":{"docs":{},"逆":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"2":{"3":{"7":{"3":{"8":{"docs":{},":":{"8":{"8":{"8":{"8":{"8":{"2":{"5":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"4":{"0":{"3":{"docs":{},")":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"6":{"3":{"0":{"docs":{},")":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},";":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.006944444444444444}},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"支":{"docs":{},"持":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},",":{"docs":{},"只":{"docs":{},"读":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"常":{"docs":{},"量":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"(":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"c":{"docs":{},"h":{"docs":{},"n":{"docs":{},"i":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"》":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"@":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},")":{"docs":{},"、":{"docs":{},"远":{"docs":{},"程":{"docs":{},"控":{"docs":{},"制":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"运":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"d":{"docs":{},"o":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"o":{"docs":{},"l":{"docs":{},"]":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"^":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"是":{"docs":{},"个":{"docs":{},"不":{"docs":{},"小":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"挑":{"docs":{},"战":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}}}}}}}}}}}}},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"而":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},",":{"docs":{},"也":{"docs":{},"叫":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"关":{"docs":{},"键":{"docs":{},"码":{"docs":{},"值":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.03557312252964427},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":5.025236593059937},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"e":{"docs":{},"r":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"左":{"docs":{},"移":{"docs":{},"右":{"docs":{},"移":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"修":{"docs":{},"饰":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"会":{"docs":{},"截":{"docs":{},"获":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"的":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}},",":{"docs":{},"将":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"选":{"docs":{},"择":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},";":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"直":{"docs":{},"接":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"太":{"docs":{},"能":{"docs":{},"整":{"docs":{},"出":{"docs":{},"花":{"docs":{},"样":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"(":{"docs":{},"右":{"docs":{},"键":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"k":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"k":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"着":{"docs":{},"色":{"docs":{},"器":{"docs":{},",":{"docs":{},"把":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"块":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},",":{"docs":{},"即":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"语":{"docs":{},"境":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"面":{"docs":{},"就":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},"要":{"docs":{},"分":{"docs":{},"清":{"docs":{},":":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"跟":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.017333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},")":{"docs":{},"、":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"g":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"会":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"=":{"4":{"9":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}},"docs":{}},":":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"即":{"docs":{},"等":{"docs":{},"多":{"docs":{},"久":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},")":{"docs":{},"时":{"docs":{},"间":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"状":{"docs":{},"态":{"docs":{},"也":{"docs":{},"成":{"docs":{},"为":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"实":{"docs":{},"现":{"docs":{},"必":{"docs":{},"须":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"最":{"docs":{},"大":{"docs":{},"生":{"docs":{},"存":{"docs":{},"时":{"docs":{},"间":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"没":{"docs":{},"有":{"docs":{},"字":{"docs":{},"节":{"docs":{},"对":{"docs":{},"齐":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"默":{"docs":{},"认":{"docs":{},"添":{"docs":{},"加":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"定":{"docs":{},"为":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},")":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},"e":{"docs":{},"(":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"docs":{},"i":{"docs":{},"]":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},",":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}},"u":{"docs":{},"e":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}},"s":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"编":{"docs":{},"码":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"和":{"docs":{},"参":{"docs":{},"数":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"来":{"docs":{},"代":{"docs":{},"表":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"及":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"&":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":5.005263157894737},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.004452926208651399},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"表":{"docs":{},"示":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"n":{"docs":{},"g":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"l":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Network/Https.html":{"ref":"Network/Https.html","tf":0.03937007874015748}},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"在":{"docs":{},"加":{"docs":{},"密":{"docs":{},"信":{"docs":{},"道":{"docs":{},"进":{"docs":{},"行":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}},"b":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}},"m":{"docs":{},"p":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},".":{"docs":{},"a":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}},"t":{"docs":{},"l":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}},"n":{"docs":{},"q":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"v":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"9":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"docs":{}}},"docs":{}}}}}},"v":{"1":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},".":{"0":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{}}},"2":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},".":{"0":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{}}},"3":{"docs":{},".":{"0":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{}}},"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"是":{"docs":{},"指":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.027522935779816515},"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.03469387755102041},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.005555555555555556},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.010834236186348862}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"视":{"docs":{},"图":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"奔":{"docs":{},"溃":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"额":{"docs":{},"外":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0065005417118093175}},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"析":{"docs":{},"解":{"docs":{},"释":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"会":{"docs":{},"有":{"docs":{},"提":{"docs":{},"速":{"docs":{},",":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"特":{"docs":{},"别":{"docs":{},"留":{"docs":{},"意":{"docs":{},"什":{"docs":{},"么":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"掉":{"docs":{},"入":{"docs":{},"误":{"docs":{},"区":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}},"内":{"docs":{},"部":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"严":{"docs":{},"选":{"docs":{},"首":{"docs":{},"页":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"保":{"docs":{},"持":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"表":{"docs":{},"现":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"目":{"docs":{},"前":{"docs":{},"业":{"docs":{},"界":{"docs":{},"对":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},";":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"之":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"预":{"docs":{},"热":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"不":{"docs":{},"易":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"引":{"docs":{},"起":{"docs":{},"内":{"docs":{},"存":{"docs":{},"紧":{"docs":{},"张":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"如":{"docs":{},"果":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"池":{"docs":{},"子":{"docs":{},",":{"docs":{},"在":{"docs":{},"必":{"docs":{},"要":{"docs":{},"时":{"docs":{},"候":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"真":{"docs":{},"实":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"需":{"docs":{},"要":{"docs":{},"划":{"docs":{},"分":{"docs":{},"职":{"docs":{},"责":{"docs":{},",":{"docs":{},"在":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"里":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"如":{"docs":{},"本":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},")":{"docs":{},"到":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"与":{"docs":{},"约":{"docs":{},"束":{"docs":{},"时":{"docs":{},"机":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"机":{"docs":{},"制":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"什":{"docs":{},"么":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"会":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"替":{"docs":{},"换":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"右":{"docs":{},"边":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},"启":{"docs":{},"动":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"上":{"docs":{},",":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"段":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"提":{"docs":{},"交":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"上":{"docs":{},"面":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"同":{"docs":{},"步":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"要":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"也":{"docs":{},"是":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"面":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"任":{"docs":{},"务":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"等":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"控":{"docs":{},"件":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"a":{"docs":{},"l":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.025974025974025976}},"i":{"docs":{},"d":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},",":{"docs":{},"一":{"docs":{},"般":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"u":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.03},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"着":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"因":{"docs":{},"为":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"把":{"docs":{},"关":{"docs":{},"键":{"docs":{},"码":{"docs":{},"值":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"表":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"记":{"docs":{},"录":{"docs":{},",":{"docs":{},"以":{"docs":{},"加":{"docs":{},"快":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"映":{"docs":{},"射":{"docs":{},"函":{"docs":{},"数":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"散":{"docs":{},"列":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"存":{"docs":{},"放":{"docs":{},"记":{"docs":{},"录":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521}}},":":{"docs":{},"被":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"到":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"—":{"docs":{},"—":{"1":{"0":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}},"docs":{}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0057251908396946565},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.01160092807424594}},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"_":{"1":{"docs":{},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"3":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"4":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.011428571428571429},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.028169014084507043},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.01296111665004985},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.008342022940563087},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0071090047393364926},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0053435114503816794},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"(":{"docs":{},"^":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}},"/":{"docs":{},"/":{"docs":{},"➕":{"docs":{},"➕":{"docs":{},"➕":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},")":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},",":{"docs":{},"加":{"docs":{},"速":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"i":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"@":{"docs":{},":":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"发":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"↓":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}},"《":{"docs":{},"图":{"docs":{},"解":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"》":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"摘":{"docs":{},"录":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"一":{"docs":{},"些":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"阅":{"docs":{},"读":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"可":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"不":{"docs":{},"计":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"会":{"docs":{},"引":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"列":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"次":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"所":{"docs":{},"经":{"docs":{},"历":{"docs":{},"的":{"7":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"docs":{}}}}}}}}}}}}}},"性":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"(":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"是":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"当":{"docs":{},"其":{"docs":{},"被":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"后":{"docs":{},"事":{"docs":{},"件":{"docs":{},"被":{"docs":{},"交":{"docs":{},"由":{"docs":{},"它":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"像":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"一":{"docs":{},"样":{"docs":{},"来":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"造":{"docs":{},"成":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"担":{"docs":{},"过":{"docs":{},"重":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"docs":{},"过":{"docs":{},"长":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"因":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"现":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"做":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"、":{"docs":{},"类":{"docs":{},"别":{"docs":{},"等":{"docs":{},"方":{"docs":{},"式":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"类":{"docs":{},"别":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"现":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"增":{"docs":{},"加":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},";":{"docs":{},"类":{"docs":{},"别":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"对":{"docs":{},"被":{"docs":{},"截":{"docs":{},"获":{"docs":{},"变":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"单":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"会":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"它":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"文":{"docs":{},"本":{"docs":{},"、":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"手":{"docs":{},"机":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"请":{"docs":{},"简":{"docs":{},"述":{"docs":{},"其":{"docs":{},"流":{"docs":{},"程":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},")":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"位":{"docs":{},"于":{"docs":{},"函":{"docs":{},"数":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"销":{"docs":{},"毁":{"docs":{},",":{"docs":{},"而":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"机":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"定":{"docs":{},"义":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"里":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"他":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"合":{"docs":{},"容":{"docs":{},"器":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"来":{"docs":{},"装":{"docs":{},"这":{"docs":{},"些":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"属":{"docs":{},"于":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"(":{"docs":{},"程":{"docs":{},"序":{"docs":{},")":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"至":{"docs":{},"少":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"(":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{},"。":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"调":{"docs":{},"度":{"docs":{},"(":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"单":{"docs":{},"位":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"质":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"崩":{"docs":{},"溃":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"保":{"docs":{},"护":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"整":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"都":{"docs":{},"死":{"docs":{},"掉":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"多":{"docs":{},"进":{"docs":{},"程":{"docs":{},"要":{"docs":{},"比":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"健":{"docs":{},"壮":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"的":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},":":{"docs":{},"它":{"docs":{},"所":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"切":{"docs":{},"是":{"docs":{},"验":{"docs":{},"证":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"将":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"映":{"docs":{},"射":{"docs":{},"出":{"docs":{},"去":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"处":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"类":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"库":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"含":{"docs":{},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"\"":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"加":{"docs":{},"密":{"docs":{},"密":{"docs":{},"文":{"docs":{},"\"":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"会":{"docs":{},"被":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"机":{"docs":{},"构":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"比":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"也":{"docs":{},"没":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"有":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"道":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"题":{"docs":{},"目":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"套":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}},"目":{"docs":{},"了":{"docs":{},"然":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"别":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"便":{"docs":{},"知":{"docs":{},",":{"docs":{},"该":{"docs":{},"类":{"docs":{},"扮":{"docs":{},"演":{"docs":{},"的":{"docs":{},"是":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}},"旦":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"就":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"一":{"docs":{},"直":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"类":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"超":{"docs":{},"过":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"起":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"小":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"再":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"差":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"张":{"docs":{},"包":{"docs":{},"含":{"docs":{},"很":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"带":{"docs":{},"你":{"docs":{},"揭":{"docs":{},"开":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"面":{"docs":{},"纱":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"看":{"docs":{},"懂":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"、":{"docs":{},"证":{"docs":{},"书":{"docs":{},"机":{"docs":{},"构":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},")":{"docs":{},"、":{"docs":{},"证":{"docs":{},"书":{"docs":{},"、":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},"、":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"、":{"docs":{},"公":{"docs":{},"钥":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"棵":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"定":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"系":{"docs":{},"列":{"docs":{},"以":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"、":{"docs":{},"背":{"docs":{},"景":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"和":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"如":{"docs":{},"何":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"广":{"docs":{},"播":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"就":{"docs":{},"会":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"协":{"docs":{},"议":{"docs":{},"?":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"解":{"docs":{},"决":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"协":{"docs":{},"议":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"v":{"docs":{},"c":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"?":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"卡":{"docs":{},"顿":{"docs":{},"?":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"元":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"联":{"docs":{},"合":{"docs":{},"体":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"传":{"docs":{},"送":{"docs":{},"门":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}},"来":{"docs":{},"自":{"docs":{},"其":{"docs":{},"他":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},"/":{"docs":{},"消":{"docs":{},"息":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"时":{"docs":{},"或":{"docs":{},"重":{"docs":{},"复":{"docs":{},"发":{"docs":{},"送":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"链":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},":":{"docs":{},"有":{"docs":{},"系":{"docs":{},"统":{"docs":{},"向":{"docs":{},"最":{"docs":{},"上":{"docs":{},"层":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"设":{"docs":{},"备":{"docs":{},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{},"当":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"抹":{"docs":{},"除":{"docs":{},"这":{"docs":{},"个":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"重":{"docs":{},"新":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"过":{"docs":{},"程":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}},"统":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"操":{"docs":{},"作":{"docs":{},"为":{"docs":{},"标":{"docs":{},"准":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},",":{"docs":{},"即":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"模":{"docs":{},"型":{"docs":{},"下":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"先":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"减":{"docs":{},"少":{"docs":{},"了":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"多":{"docs":{},"次":{"docs":{},"数":{"docs":{},"据":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"及":{"docs":{},"内":{"docs":{},"存":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"多":{"docs":{},"处":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},"队":{"docs":{},"列":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},"传":{"docs":{},"入":{"docs":{},"和":{"docs":{},"传":{"docs":{},"出":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"消":{"docs":{},"息":{"docs":{},"队":{"docs":{},"列":{"docs":{},"既":{"docs":{},"简":{"docs":{},"单":{"docs":{},"又":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"们":{"docs":{},"不":{"docs":{},"如":{"docs":{},"其":{"docs":{},"他":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"信":{"docs":{},"技":{"docs":{},"术":{"docs":{},"高":{"docs":{},"效":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"存":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"、":{"docs":{},"平":{"docs":{},"均":{"docs":{},"访":{"docs":{},"问":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"较":{"docs":{},"高":{"docs":{},"、":{"docs":{},"用":{"docs":{},"户":{"docs":{},"连":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"率":{"docs":{},"较":{"docs":{},"高":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"解":{"docs":{},"析":{"docs":{},"是":{"docs":{},"交":{"docs":{},"给":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"来":{"docs":{},"做":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"解":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},"被":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"插":{"docs":{},"入":{"docs":{},"广":{"docs":{},"告":{"docs":{},",":{"docs":{},"解":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},"不":{"docs":{},"按":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"值":{"docs":{},"为":{"2":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"三":{"docs":{},"次":{"docs":{},"才":{"docs":{},"堵":{"docs":{},"塞":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"docs":{}}}},"输":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"网":{"docs":{},"络":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"给":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"于":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"域":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"会":{"docs":{},"是":{"docs":{},"非":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},",":{"docs":{},"向":{"docs":{},"上":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"另":{"docs":{},"外":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}},"比":{"docs":{},"较":{"docs":{},"适":{"docs":{},"合":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"也":{"docs":{},"有":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"账":{"docs":{},"号":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"可":{"docs":{},"能":{"docs":{},"要":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"对":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"单":{"docs":{},"独":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"由":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"苹":{"docs":{},"果":{"docs":{},"还":{"docs":{},"建":{"docs":{},"议":{"docs":{},"更":{"docs":{},"多":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"和":{"docs":{"./":{"ref":"./","tf":0.027777777777777776},"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.012962962962962963},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.009750812567713976},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.011441647597254004},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.010912698412698412}},"它":{"docs":{},"的":{"docs":{},"父":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"前":{"docs":{},"面":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"中":{"docs":{},"对":{"docs":{},"应":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"。":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"和":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"共":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"端":{"docs":{},"口":{"docs":{},"“":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"。":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"当":{"docs":{},"代":{"docs":{},"码":{"docs":{},"离":{"docs":{},"开":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"被":{"docs":{},"加":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"他":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"一":{"docs":{},"样":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"关":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"检":{"docs":{},"查":{"docs":{},"也":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"也":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"元":{"docs":{},"素":{"docs":{},"都":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"将":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"装":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"打":{"docs":{},"包":{"docs":{},"出":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"方":{"docs":{},"法":{"docs":{},"本":{"docs":{},"身":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"还":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"大":{"docs":{},"量":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"学":{"docs":{},"等":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"践":{"docs":{},"中":{"docs":{},"也":{"docs":{},"非":{"docs":{},"常":{"docs":{},"考":{"docs":{},"验":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"排":{"docs":{},"查":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"功":{"docs":{},"、":{"docs":{},"经":{"docs":{},"验":{"docs":{},"和":{"docs":{},"判":{"docs":{},"断":{"docs":{},"能":{"docs":{},"力":{"docs":{},"—":{"docs":{},"—":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"不":{"docs":{},"恰":{"docs":{},"当":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"打":{"docs":{},"开":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"生":{"docs":{},"成":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"联":{"docs":{},"调":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{},"后":{"docs":{},"期":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"来":{"docs":{},"保":{"docs":{},"障":{"docs":{},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"称":{"docs":{},"这":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"不":{"docs":{},"符":{"docs":{},",":{"docs":{},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"阿":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},";":{"docs":{},"它":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"m":{"docs":{},"和":{"docs":{},"v":{"docs":{},"之":{"docs":{},"间":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}},"父":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"容":{"docs":{},"器":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"也":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"时":{"docs":{},"它":{"docs":{},"们":{"docs":{},"还":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"排":{"docs":{},"队":{"docs":{},",":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"被":{"docs":{},"组":{"docs":{},"合":{"docs":{},"到":{"docs":{},"一":{"docs":{},"块":{"docs":{},"画":{"docs":{},"布":{"docs":{},"上":{"docs":{},",":{"docs":{},"自":{"docs":{},"然":{"docs":{},"也":{"docs":{},"无":{"docs":{},"法":{"docs":{},"统":{"docs":{},"一":{"docs":{},"裁":{"docs":{},"剪":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"会":{"docs":{},"主":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"延":{"docs":{},"时":{"0":{"docs":{},"s":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"相":{"docs":{},"应":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"上":{"docs":{},"面":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},".":{"docs":{},"(":{"docs":{},"创":{"docs":{},"建":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"后":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"读":{"docs":{},"取":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"许":{"docs":{},"多":{"docs":{},"临":{"docs":{},"时":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"内":{"docs":{},"存":{"docs":{},"过":{"docs":{},"高":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"把":{"docs":{},"信":{"docs":{},"息":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"就":{"docs":{},"能":{"docs":{},"避":{"docs":{},"免":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"储":{"docs":{},"存":{"docs":{},"多":{"docs":{},"种":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"通":{"docs":{},"用":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"通":{"docs":{},"常":{"docs":{},"比":{"docs":{},"单":{"docs":{},"一":{"docs":{},"平":{"docs":{},"台":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},"要":{"docs":{},"大":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"后":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"应":{"docs":{},"答":{"docs":{},"的":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},"时":{"docs":{},",":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"能":{"docs":{},"先":{"docs":{},"回":{"docs":{},"复":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"\"":{"docs":{},"你":{"docs":{},"发":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},"我":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"等":{"docs":{},"到":{"docs":{},"我":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"都":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"才":{"docs":{},"能":{"docs":{},"发":{"docs":{},"送":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"不":{"docs":{},"能":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"送":{"docs":{},"。":{"docs":{},"故":{"docs":{},"需":{"docs":{},"要":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"会":{"docs":{},"以":{"docs":{},"恒":{"docs":{},"定":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"即":{"docs":{},"使":{"docs":{},"网":{"docs":{},"络":{"docs":{},"条":{"docs":{},"件":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"发":{"docs":{},"送":{"docs":{},"速":{"docs":{},"率":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"弊":{"docs":{},"端":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"条":{"docs":{},"件":{"docs":{},"不":{"docs":{},"好":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"丢":{"docs":{},"包":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"优":{"docs":{},"点":{"docs":{},"也":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"要":{"docs":{},"求":{"docs":{},"高":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"电":{"docs":{},"话":{"docs":{},"会":{"docs":{},"议":{"docs":{},")":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"加":{"docs":{},"到":{"docs":{},"了":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"就":{"docs":{},"要":{"docs":{},"想":{"docs":{},"办":{"docs":{},"法":{"docs":{},"给":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"加":{"docs":{},"点":{"docs":{},"料":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"需":{"docs":{},"要":{"docs":{},"逆":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"将":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"当":{"docs":{},"类":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"做":{"docs":{},"了":{"docs":{},"接":{"docs":{},"口":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"种":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"是":{"docs":{},"马":{"docs":{},"上":{"docs":{},"更":{"docs":{},"新":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"先":{"docs":{},"完":{"docs":{},"成":{"docs":{},"手":{"docs":{},"头":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"将":{"docs":{},"来":{"docs":{},"再":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"都":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"外":{"docs":{},"观":{"docs":{},"模":{"docs":{},"式":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"每":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"此":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"内":{"docs":{},"完":{"docs":{},"不":{"docs":{},"成":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"做":{"docs":{},"了":{"docs":{},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"层":{"docs":{},"次":{"docs":{},"过":{"docs":{},"于":{"docs":{},"多":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"过":{"docs":{},"于":{"docs":{},"大":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"压":{"docs":{},"力":{"docs":{},"太":{"docs":{},"大":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"“":{"docs":{},"卡":{"docs":{},"”":{"docs":{},"的":{"docs":{},"现":{"docs":{},"象":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"丢":{"docs":{},"帧":{"docs":{},".":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"外":{"docs":{},"部":{"docs":{},"修":{"docs":{},"改":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"才":{"docs":{},"能":{"docs":{},"确":{"docs":{},"认":{"docs":{},"双":{"docs":{},"方":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"与":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"共":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"⼀":{"docs":{},"种":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},"。":{"docs":{},"⼀":{"docs":{},"旦":{"docs":{},"获":{"docs":{},"取":{"docs":{},"了":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"⼀":{"docs":{},"直":{"docs":{},"保":{"docs":{},"持":{"docs":{},"该":{"docs":{},"锁":{"docs":{},",":{"docs":{},"直":{"docs":{},"⾄":{"docs":{},"显":{"docs":{},"式":{"docs":{},"释":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"话":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.009153318077803204},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.03248259860788863},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0070921985815602835},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"上":{"docs":{},"述":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"下":{"docs":{},"文":{"docs":{},"中":{"docs":{},"做":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"面":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"示":{"docs":{},"意":{"docs":{},"图":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"有":{"docs":{},"所":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"工":{"docs":{},"作":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"总":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"超":{"docs":{},"出":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"(":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"u":{"docs":{},"i":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"或":{"docs":{},"者":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"东":{"docs":{},"西":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"回":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"代":{"docs":{},"理":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"给":{"docs":{},"与":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"调":{"docs":{},"一":{"docs":{},"个":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"把":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"规":{"docs":{},"定":{"docs":{},"的":{"1":{"6":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"内":{"docs":{},",":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"到":{"docs":{},"来":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"共":{"docs":{},"同":{"docs":{},"完":{"docs":{},"成":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"合":{"docs":{},"成":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"、":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"表":{"docs":{},"内":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"上":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"解":{"docs":{},"决":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"都":{"docs":{},"是":{"docs":{},"等":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"其":{"docs":{},"他":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"之":{"docs":{},"间":{"docs":{},"可":{"docs":{},"以":{"docs":{},"互":{"docs":{},"相":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"边":{"docs":{},"界":{"docs":{},"条":{"docs":{},"件":{"docs":{},"下":{"docs":{},",":{"docs":{},"某":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"在":{"docs":{},"今":{"docs":{},"天":{"docs":{},"看":{"docs":{},"来":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"收":{"docs":{},"集":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"案":{"docs":{},"例":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"运":{"docs":{},"行":{"docs":{},"循":{"docs":{},"环":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"某":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"队":{"docs":{},"列":{"docs":{},"上":{"docs":{},"提":{"docs":{},"交":{"docs":{},"了":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"会":{"docs":{},"注":{"docs":{},"册":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"上":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"几":{"docs":{},"点":{"docs":{},"应":{"docs":{},"用":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"期":{"docs":{},"间":{"docs":{},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"中":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"收":{"docs":{},"端":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"处":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"背":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"百":{"docs":{},"度":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"研":{"docs":{},"究":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"有":{"docs":{},"想":{"docs":{},"过":{"docs":{},"去":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"试":{"docs":{},"着":{"docs":{},"去":{"docs":{},"理":{"docs":{},"解":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"完":{"docs":{},"全":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"惜":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"开":{"docs":{},"源":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"章":{"docs":{},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"运":{"docs":{},"作":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"是":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"、":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"、":{"docs":{},"父":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"方":{"docs":{},"法":{"docs":{},"决":{"docs":{},"议":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"同":{"docs":{},"时":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"y":{"docs":{},"大":{"docs":{},"的":{"docs":{},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"推":{"docs":{},"荐":{"docs":{},"大":{"docs":{},"家":{"docs":{},"去":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"落":{"docs":{},"影":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"阅":{"docs":{},"读":{"docs":{},"郭":{"docs":{},"曜":{"docs":{},"源":{"docs":{},"前":{"docs":{},"辈":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"和":{"docs":{},"析":{"docs":{},"构":{"docs":{},"的":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"或":{"docs":{},"者":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},".":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"或":{"docs":{},"者":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},".":{"docs":{},"c":{"docs":{},"x":{"docs":{},"x":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"相":{"docs":{},"关":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"几":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"里":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"被":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"了":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"样":{"docs":{},"的":{"docs":{},"继":{"docs":{},"承":{"docs":{},"体":{"docs":{},"系":{"docs":{},"下":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"、":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"元":{"docs":{},"类":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"2":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"印":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"定":{"docs":{},"时":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"但":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"在":{"docs":{},"一":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"当":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"就":{"docs":{},"挂":{"docs":{},"机":{"docs":{},"了":{"docs":{},";":{"docs":{},"又":{"docs":{},"如":{"docs":{},"果":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"在":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"就":{"docs":{},"会":{"docs":{},"推":{"docs":{},"迟":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"周":{"docs":{},"期":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"计":{"docs":{},"时":{"docs":{},"上":{"docs":{},"会":{"docs":{},"有":{"docs":{},"误":{"docs":{},"差":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"特":{"docs":{},"别":{"docs":{},"精":{"docs":{},"确":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"计":{"docs":{},"时":{"docs":{},"精":{"docs":{},"度":{"docs":{},"要":{"docs":{},"高":{"docs":{},"很":{"docs":{},"多":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"种":{"docs":{},"类":{"docs":{},"只":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},":":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"比":{"docs":{},"如":{"docs":{},"条":{"docs":{},"件":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"都":{"docs":{},"是":{"docs":{},"上":{"docs":{},"层":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"探":{"docs":{},"索":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"键":{"docs":{},"值":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"入":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"传":{"docs":{},"入":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}},"取":{"docs":{},"出":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"类":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"区":{"docs":{},"分":{"docs":{},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"和":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"若":{"docs":{},"引":{"docs":{},"用":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"元":{"docs":{},"类":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"类":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"里":{"docs":{},"就":{"docs":{},"有":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"份":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"都":{"docs":{},"保":{"docs":{},"存":{"docs":{},"一":{"docs":{},"份":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"接":{"docs":{},"收":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"之":{"docs":{},"后":{"docs":{},"修":{"docs":{},"改":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"紧":{"docs":{},"跟":{"docs":{},"在":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"给":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"只":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"证":{"docs":{},"书":{"docs":{},"验":{"docs":{},"证":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}},",":{"docs":{},"以":{"docs":{},"上":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"被":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"只":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"两":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"_":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"依":{"docs":{},"然":{"docs":{},"为":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"情":{"docs":{},"况":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"上":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},"的":{"docs":{},"研":{"docs":{},"究":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"两":{"docs":{},"个":{"docs":{},"队":{"docs":{},"列":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"释":{"docs":{},"放":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"m":{"docs":{},"r":{"docs":{},"c":{"docs":{},"中":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"创":{"docs":{},"造":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"之":{"docs":{},"前":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"防":{"docs":{},"止":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"提":{"docs":{},"前":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"当":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"就":{"docs":{},"会":{"docs":{},"释":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"直":{"docs":{},"进":{"docs":{},"行":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"原":{"docs":{},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"野":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"了":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"外":{"docs":{},"部":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"入":{"docs":{},"口":{"docs":{},"静":{"docs":{},"态":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"下":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"还":{"docs":{},"是":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"底":{"docs":{},"部":{"docs":{},"去":{"docs":{},"看":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},".":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"在":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"前":{"docs":{},"后":{"docs":{},"分":{"docs":{},"别":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"编":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"方":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"操":{"docs":{},"作":{"docs":{},"即":{"docs":{},"可":{"docs":{},"产":{"docs":{},"生":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"触":{"docs":{},"发":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"注":{"docs":{},"册":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"修":{"docs":{},"改":{"docs":{},"观":{"docs":{},"察":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"中":{"docs":{},"间":{"docs":{},"类":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"真":{"docs":{},"实":{"docs":{},"类":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"值":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"反":{"docs":{},"映":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"刚":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"监":{"docs":{},"听":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"掉":{"docs":{},"不":{"docs":{},"关":{"docs":{},"心":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},",":{"docs":{},"只":{"docs":{},"专":{"docs":{},"注":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"该":{"docs":{},"页":{"docs":{},"面":{"docs":{},"标":{"docs":{},"记":{"docs":{},"成":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"动":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"手":{"docs":{},"加":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"给":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"(":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"东":{"docs":{},"西":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"共":{"docs":{},"享":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"共":{"docs":{},"享":{"docs":{},"内":{"docs":{},"存":{"docs":{},"块":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"共":{"docs":{},"享":{"docs":{},"变":{"docs":{},"量":{"docs":{},"既":{"docs":{},"快":{"docs":{},"速":{"docs":{},"又":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"们":{"docs":{},"比":{"docs":{},"直":{"docs":{},"接":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"更":{"docs":{},"脆":{"docs":{},"弱":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},"锁":{"docs":{},"或":{"docs":{},"其":{"docs":{},"他":{"docs":{},"同":{"docs":{},"步":{"docs":{},"机":{"docs":{},"制":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"保":{"docs":{},"护":{"docs":{},"共":{"docs":{},"享":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"正":{"docs":{},"确":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"时":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"被":{"docs":{},"销":{"docs":{},"毁":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"都":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"均":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"其":{"docs":{},"专":{"docs":{},"用":{"docs":{},"且":{"docs":{},"受":{"docs":{},"保":{"docs":{},"护":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"内":{"docs":{},"。":{"docs":{},"进":{"docs":{},"程":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"分":{"docs":{},"配":{"docs":{},"资":{"docs":{},"源":{"docs":{},"和":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"单":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"银":{"docs":{},"行":{"docs":{},"(":{"docs":{},"进":{"docs":{},"程":{"docs":{},")":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"4":{"docs":{},"个":{"docs":{},"工":{"docs":{},"作":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"(":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"队":{"docs":{},"伍":{"docs":{},"(":{"docs":{},"队":{"docs":{},"列":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"取":{"docs":{},"消":{"docs":{},"已":{"docs":{},"经":{"docs":{},"设":{"docs":{},"定":{"docs":{},"要":{"docs":{},"准":{"docs":{},"备":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"了":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"没":{"docs":{},"法":{"docs":{},"停":{"docs":{},"止":{"docs":{},"已":{"docs":{},"经":{"docs":{},"加":{"docs":{},"入":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"有":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"需":{"docs":{},"要":{"docs":{},"许":{"docs":{},"多":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{},"篇":{"docs":{},"章":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"过":{"docs":{},"讲":{"docs":{},"解":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"实":{"docs":{},"例":{"docs":{},"开":{"docs":{},"始":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"际":{"docs":{},"分":{"docs":{},"析":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"被":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},",":{"docs":{},"父":{"docs":{},"类":{"docs":{},"未":{"docs":{},"被":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"父":{"docs":{},"类":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},"这":{"docs":{},"个":{"docs":{},"段":{"docs":{},"里":{"docs":{},",":{"docs":{},"在":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"父":{"docs":{},"类":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"出":{"docs":{},"去":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"中":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"续":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"工":{"docs":{},"程":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"重":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"传":{"docs":{},"递":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"出":{"docs":{},"现":{"docs":{},"前":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"指":{"docs":{},"令":{"docs":{},"必":{"docs":{},"须":{"docs":{},"都":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"内":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"能":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"十":{"docs":{},"分":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"发":{"docs":{},"生":{"docs":{},"越":{"docs":{},"界":{"docs":{},"访":{"docs":{},"问":{"docs":{},"等":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"当":{"docs":{},"进":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"个":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"缺":{"docs":{},"页":{"docs":{},"中":{"docs":{},"断":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"中":{"docs":{},",":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"长":{"docs":{},"度":{"docs":{},"或":{"docs":{},"者":{"docs":{},"基":{"docs":{},"于":{"docs":{},"终":{"docs":{},"结":{"docs":{},"符":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"中":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"x":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"y":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"端":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"如":{"docs":{},"何":{"docs":{},"获":{"docs":{},"得":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"当":{"docs":{},"时":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"分":{"docs":{},"发":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"劫":{"docs":{},"持":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"自":{"docs":{},"己":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"一":{"docs":{},"对":{"docs":{},"密":{"docs":{},"钥":{"docs":{},",":{"docs":{},"将":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"将":{"docs":{},"信":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"劫":{"docs":{},"持":{"docs":{},",":{"docs":{},"用":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"密":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"而":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"反":{"docs":{},"过":{"docs":{},"来":{"docs":{},"亦":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"是":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"信":{"docs":{},"息":{"docs":{},"泄":{"docs":{},"露":{"docs":{},"却":{"docs":{},"不":{"docs":{},"得":{"docs":{},"而":{"docs":{},"知":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"修":{"docs":{},"改":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"对":{"docs":{},"于":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{},"是":{"docs":{},"可":{"docs":{},"见":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"对":{"docs":{},"象":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"包":{"docs":{},"含":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"平":{"docs":{},"时":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"而":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"早":{"docs":{},"年":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"分":{"docs":{},"类":{"docs":{},"中":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"已":{"docs":{},"经":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"处":{"docs":{},"打":{"docs":{},"个":{"docs":{},"断":{"docs":{},"点":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"严":{"docs":{},"选":{"docs":{},"里":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"被":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},",":{"docs":{},"比":{"docs":{},"方":{"docs":{},"说":{"docs":{},"从":{"docs":{},"后":{"docs":{},"台":{"docs":{},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"中":{"docs":{},",":{"docs":{},"得":{"docs":{},"知":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"和":{"docs":{},"同":{"docs":{},"事":{"docs":{},"解":{"docs":{},"决":{"docs":{},"严":{"docs":{},"选":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"弹":{"docs":{},"窗":{"docs":{},"出":{"docs":{},"现":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}}}}}}}}}}}}}},"整":{"docs":{},"理":{"docs":{},"出":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"结":{"docs":{},"论":{"docs":{},"后":{"docs":{},",":{"docs":{},"编":{"docs":{},"写":{"docs":{},"了":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"不":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"上":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"苹":{"docs":{},"果":{"docs":{},"推":{"docs":{},"广":{"docs":{},"时":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"提":{"docs":{},"到":{"docs":{},"它":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"起":{"docs":{},"重":{"docs":{},"视":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"性":{"docs":{},"能":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"作":{"docs":{},"为":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"衡":{"docs":{},"量":{"docs":{},"指":{"docs":{},"标":{"docs":{},",":{"docs":{},"将":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"成":{"docs":{},"本":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"以":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"明":{"docs":{},"显":{"docs":{},"差":{"docs":{},"异":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"都":{"docs":{},"能":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"合":{"docs":{},"作":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"加":{"docs":{},"高":{"docs":{},"效":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"上":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"和":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"改":{"docs":{},"变":{"docs":{},"它":{"docs":{},"?":{"docs":{},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"的":{"docs":{},"话":{"docs":{},"又":{"docs":{},"如":{"docs":{},"何":{"docs":{},"改":{"docs":{},"变":{"docs":{},"它":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"决":{"docs":{},"策":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"回":{"docs":{},"到":{"docs":{},"今":{"docs":{},"天":{"docs":{},"要":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"『":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"避":{"docs":{},"免":{"docs":{},"很":{"docs":{},"多":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"子":{"docs":{},"类":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"创":{"docs":{},"建":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"且":{"docs":{},"在":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"里":{"docs":{},"面":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"给":{"docs":{},"每":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"为":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"走":{"docs":{},"通":{"docs":{},"了":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"验":{"docs":{},"证":{"docs":{},"了":{"docs":{},"方":{"docs":{},"案":{"docs":{},"的":{"docs":{},"可":{"docs":{},"行":{"docs":{},"性":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"始":{"docs":{},"完":{"docs":{},"善":{"docs":{},"设":{"docs":{},"计":{"docs":{},"整":{"docs":{},"套":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"测":{"docs":{},"试":{"docs":{},"其":{"docs":{},"性":{"docs":{},"能":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{},"如":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"生":{"docs":{},"成":{"docs":{},"截":{"docs":{},"图":{"docs":{},"较":{"docs":{},"为":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"去":{"docs":{},"截":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"性":{"docs":{},"能":{"docs":{},"有":{"docs":{},"了":{"docs":{},"显":{"docs":{},"著":{"docs":{},"提":{"docs":{},"升":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"本":{"docs":{},"次":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"面":{"docs":{},"对":{"docs":{},"一":{"docs":{},"些":{"docs":{},"大":{"docs":{},"型":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"找":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"且":{"docs":{},"最":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"不":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},",":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"这":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"及":{"docs":{},"其":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"其":{"docs":{},"他":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"向":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"查":{"docs":{},"找":{"docs":{},"手":{"docs":{},"势":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"系":{"docs":{},"列":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"会":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"和":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"能":{"docs":{},"够":{"docs":{},"继":{"docs":{},"续":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"表":{"docs":{},"示":{"docs":{},"事":{"docs":{},"件":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"打":{"docs":{},"断":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"级":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"响":{"docs":{},"应":{"docs":{},"环":{"docs":{},"节":{"docs":{},"的":{"docs":{},"上":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"开":{"docs":{},"始":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"上":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"离":{"docs":{},"自":{"docs":{},"己":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"时":{"docs":{},"会":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"学":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"来":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"显":{"docs":{},"示":{"docs":{},"范":{"docs":{},"围":{"docs":{},"超":{"docs":{},"出":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"写":{"docs":{},"该":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"视":{"docs":{},"图":{"docs":{},"是":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"等":{"docs":{},"于":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"【":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"复":{"docs":{},"用":{"docs":{},"已":{"docs":{},"有":{"docs":{},"的":{"docs":{},"m":{"docs":{},"和":{"docs":{},"v":{"docs":{},"便":{"docs":{},"可":{"docs":{},"快":{"docs":{},"速":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"展":{"docs":{},"示":{"docs":{},"错":{"docs":{},"乱":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},",":{"docs":{},"分":{"docs":{},"用":{"docs":{},",":{"docs":{},"差":{"docs":{},"错":{"docs":{},"检":{"docs":{},"测":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0183206106870229},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.01675977653631285},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.014577259475218658},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.016241299303944315},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.024242424242424242},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.025787965616045846}}}},"并":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"杂":{"docs":{},"度":{"docs":{},"分":{"docs":{},"析":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"对":{"docs":{},"象":{"docs":{},"传":{"docs":{},"输":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"优":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"也":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"比":{"docs":{},"较":{"docs":{},"丑":{"docs":{},"陋":{"docs":{},",":{"docs":{},"重":{"docs":{},"复":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"的":{"docs":{},"增":{"docs":{},"加":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"参":{"docs":{},"数":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"任":{"docs":{},"何":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"场":{"docs":{},"景":{"docs":{},"都":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"外":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"游":{"docs":{},"戏":{"docs":{},"类":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"方":{"docs":{},"向":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"即":{"docs":{},"应":{"docs":{},"用":{"docs":{},"页":{"docs":{},"面":{"docs":{},"不":{"docs":{},"会":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"始":{"docs":{},"终":{"docs":{},"以":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"方":{"docs":{},"向":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"勾":{"docs":{},"选":{"docs":{},"上":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"家":{"docs":{},"应":{"docs":{},"该":{"docs":{},"都":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{},"玩":{"docs":{},"一":{"docs":{},"玩":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"小":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"体":{"docs":{},"分":{"docs":{},"为":{"docs":{},"如":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"右":{"docs":{},"边":{"docs":{},"序":{"docs":{},"列":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}},"法":{"docs":{},"好":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"概":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"收":{"docs":{},"获":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"用":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"确":{"docs":{},"保":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"不":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"去":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"没":{"docs":{},"办":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},"必":{"docs":{},"须":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"里":{"docs":{},"预":{"docs":{},"先":{"docs":{},"设":{"docs":{},"置":{"docs":{},"将":{"docs":{},"来":{"docs":{},"真":{"docs":{},"正":{"docs":{},"展":{"docs":{},"示":{"docs":{},"时":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"函":{"docs":{},"数":{"docs":{},"默":{"docs":{},"认":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"也":{"docs":{},"是":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"总":{"docs":{},"结":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"是":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"解":{"docs":{},"释":{"docs":{},"通":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"笔":{"docs":{},"者":{"docs":{},"认":{"docs":{},"为":{"docs":{},":":{"docs":{},"超":{"docs":{},"过":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"核":{"docs":{},"心":{"docs":{},"数":{"docs":{},"量":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"速":{"docs":{},"度":{"docs":{},"上":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"业":{"docs":{},"务":{"docs":{},"上":{"docs":{},"便":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"能":{"docs":{},"最":{"docs":{},"大":{"docs":{},"化":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"排":{"docs":{},"序":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{},"x":{"docs":{},"=":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},",":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"不":{"docs":{},"大":{"docs":{},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"。":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"折":{"docs":{},"中":{"docs":{},"发":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"在":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"都":{"docs":{},"是":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"了":{"docs":{},"吧":{"docs":{},"。":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"是":{"docs":{},":":{"docs":{},"从":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"开":{"docs":{},"始":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"会":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"修":{"docs":{},"复":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"释":{"docs":{},"放":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"元":{"docs":{},"类":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"(":{"docs":{},"继":{"docs":{},"承":{"docs":{},"体":{"docs":{},"系":{"docs":{},"中":{"docs":{},"处":{"docs":{},"于":{"docs":{},"顶":{"docs":{},"端":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"所":{"docs":{},"有":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"(":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"类":{"docs":{},")":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"都":{"docs":{},"会":{"docs":{},"以":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"作":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"类":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"规":{"docs":{},"则":{"docs":{},"都":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"两":{"docs":{},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},"而":{"docs":{},"展":{"docs":{},"开":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"容":{"docs":{},"器":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"设":{"docs":{},"置":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},"挪":{"docs":{},"入":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"调":{"docs":{},"用":{"docs":{},"均":{"docs":{},"通":{"docs":{},"过":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"来":{"docs":{},"做":{"docs":{},"(":{"docs":{},"图":{"docs":{},"二":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"架":{"docs":{},"构":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"会":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"需":{"docs":{},"要":{"docs":{},"反":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"这":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"从":{"docs":{},"根":{"docs":{},"本":{"docs":{},"上":{"docs":{},"解":{"docs":{},"除":{"docs":{},"循":{"docs":{},"坏":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"时":{"docs":{},"不":{"docs":{},"时":{"docs":{},"发":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"改":{"docs":{},"动":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"受":{"docs":{},"影":{"docs":{},"响":{"docs":{},"编":{"docs":{},"译":{"docs":{},"不":{"docs":{},"过":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"技":{"docs":{},"术":{"docs":{},"手":{"docs":{},"段":{"docs":{},",":{"docs":{},"消":{"docs":{},"除":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"对":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"即":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"(":{"docs":{},"图":{"docs":{},"三":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"持":{"docs":{},"有":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"“":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"”":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"中":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"堆":{"docs":{},"中":{"docs":{},"。":{"docs":{},"进":{"docs":{},"而":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"到":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"只":{"docs":{},"要":{"docs":{},"观":{"docs":{},"察":{"docs":{},"到":{"docs":{},"该":{"docs":{},"变":{"docs":{},"量":{"docs":{},"被":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}},"属":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"上":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"等":{"docs":{},"全":{"docs":{},"部":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"谓":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"你":{"docs":{},"定":{"docs":{},"义":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"条":{"docs":{},"件":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}},"示":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"做":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"适":{"docs":{},"配":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"最":{"docs":{},"少":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"有":{"docs":{},"更":{"docs":{},"激":{"docs":{},"进":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{},"么":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"让":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"多":{"docs":{},"博":{"docs":{},"文":{"docs":{},"可":{"docs":{},"看":{"docs":{},"传":{"docs":{},"送":{"docs":{},"门":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"分":{"docs":{},"享":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"好":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"析":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}},"新":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"是":{"docs":{},"你":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"那":{"docs":{},"样":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"某":{"docs":{},"些":{"docs":{},"计":{"docs":{},"算":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"当":{"docs":{},"下":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"改":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"以":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"新":{"docs":{},"值":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"以":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"重":{"docs":{},"要":{"docs":{},"些":{"docs":{},"。":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"没":{"docs":{},"想":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"链":{"docs":{},"接":{"docs":{},"语":{"docs":{},"法":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"便":{"docs":{},"于":{"docs":{},"测":{"docs":{},"试":{"docs":{},"么":{"docs":{},"?":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"一":{"docs":{},"直":{"docs":{},"在":{"docs":{},"思":{"docs":{},"考":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"什":{"docs":{},"么":{"docs":{},"关":{"docs":{},"系":{"docs":{},"和":{"docs":{},"区":{"docs":{},"别":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"作":{"docs":{},"用":{"docs":{},"?":{"docs":{},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"测":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"优":{"docs":{},"点":{"docs":{},"吗":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"许":{"docs":{},"多":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"给":{"docs":{},"视":{"docs":{},"图":{"docs":{},"打":{"docs":{},"上":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"如":{"docs":{},"果":{"docs":{},"支":{"docs":{},"持":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}},"防":{"docs":{},"护":{"docs":{},"操":{"docs":{},"作":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},"来":{"docs":{},"做":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"必":{"docs":{},"不":{"docs":{},"可":{"docs":{},"少":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"比":{"docs":{},"较":{"docs":{},"小":{"docs":{},"则":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}},"套":{"docs":{},"很":{"docs":{},"智":{"docs":{},"能":{"docs":{},"的":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"策":{"docs":{},"略":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"两":{"docs":{},"种":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"点":{"docs":{},"特":{"docs":{},"殊":{"docs":{},",":{"docs":{},"替":{"docs":{},"换":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"比":{"docs":{},"较":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"防":{"docs":{},"护":{"docs":{},"手":{"docs":{},"段":{"docs":{},"就":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"了":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"a":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"3":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"、":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"、":{"docs":{},"r":{"docs":{},"c":{"4":{"docs":{},"、":{"docs":{},"r":{"docs":{},"c":{"5":{"docs":{},"、":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"等":{"docs":{},"。":{"docs":{},"加":{"docs":{},"密":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"和":{"docs":{},"解":{"docs":{},"密":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"是":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},",":{"docs":{},"若":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},",":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"不":{"docs":{},"能":{"docs":{},"对":{"docs":{},"外":{"docs":{},"公":{"docs":{},"开":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"消":{"docs":{},"息":{"docs":{},"体":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"m":{"docs":{},"d":{"5":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"1":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"2":{"5":{"6":{"docs":{},"。":{"docs":{},"用":{"docs":{},"来":{"docs":{},"确":{"docs":{},"认":{"docs":{},"信":{"docs":{},"息":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"篡":{"docs":{},"改":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"是":{"docs":{},"加":{"docs":{},"在":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"证":{"docs":{},"明":{"docs":{},"信":{"docs":{},"息":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"过":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"对":{"docs":{},"信":{"docs":{},"息":{"docs":{},"先":{"docs":{},"做":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"计":{"docs":{},"算":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"加":{"docs":{},"密":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"签":{"docs":{},"名":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"送":{"docs":{},"。":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"收":{"docs":{},"到":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"且":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"所":{"docs":{},"附":{"docs":{},"带":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"样":{"docs":{},"则":{"docs":{},"认":{"docs":{},"为":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"认":{"docs":{},"为":{"docs":{},"修":{"docs":{},"改":{"docs":{},"过":{"docs":{},",":{"docs":{},"不":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"黑":{"docs":{},"客":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"信":{"docs":{},"息":{"docs":{},"并":{"docs":{},"把":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"也":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"让":{"docs":{},"他":{"docs":{},"们":{"docs":{},"相":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"(":{"docs":{},"生":{"docs":{},"成":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{},"再":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}}}}}},"docs":{}}},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"、":{"docs":{},"d":{"docs":{},"s":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{},"e":{"docs":{},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"、":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"、":{"docs":{},"d":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"播":{"docs":{},",":{"docs":{},"多":{"docs":{},"播":{"docs":{},",":{"docs":{},"广":{"docs":{},"播":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}},"序":{"docs":{},"接":{"docs":{},"受":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"人":{"docs":{},"反":{"docs":{},"馈":{"docs":{},",":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"能":{"docs":{},"达":{"docs":{},"到":{"docs":{},"预":{"docs":{},"热":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"传":{"docs":{},"递":{"docs":{},"模":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"里":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"类":{"docs":{},"文":{"docs":{},"件":{"docs":{},"放":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"。":{"docs":{},"最":{"docs":{},"容":{"docs":{},"易":{"docs":{},"想":{"docs":{},"到":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{},"沉":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绝":{"docs":{},"对":{"docs":{},"的":{"docs":{},"避":{"docs":{},"免":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"方":{"docs":{},"式":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"使":{"docs":{},"用":{"docs":{},"『":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},"』":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"从":{"docs":{},"而":{"docs":{},"保":{"docs":{},"证":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":3.333333333333333}},"自":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"时":{"docs":{},"候":{"docs":{},"想":{"docs":{},"让":{"docs":{},"指":{"docs":{},"定":{"docs":{},"视":{"docs":{},"图":{"docs":{},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"向":{"docs":{},"其":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"继":{"docs":{},"续":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"该":{"docs":{},"视":{"docs":{},"图":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"继":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"终":{"docs":{},"端":{"docs":{},"就":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"杂":{"docs":{},"乱":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}},"架":{"docs":{},"构":{"docs":{},"方":{"docs":{},"面":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}},"中":{"docs":{},"有":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"上":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"为":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"关":{"docs":{},"系":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"设":{"docs":{},"计":{"docs":{},"更":{"docs":{},"多":{"docs":{},"强":{"docs":{},"调":{"docs":{},"的":{"docs":{},"是":{"docs":{},"分":{"docs":{},"层":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{},"六":{"docs":{},"大":{"docs":{},"原":{"docs":{},"则":{"docs":{},"之":{"docs":{},"一":{"docs":{},"的":{"docs":{},"单":{"docs":{},"一":{"docs":{},"职":{"docs":{},"责":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"将":{"docs":{},"系":{"docs":{},"统":{"docs":{},"划":{"docs":{},"分":{"docs":{},"为":{"docs":{},"基":{"docs":{},"础":{"docs":{},"层":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"与":{"docs":{},"转":{"docs":{},"发":{"docs":{},"详":{"docs":{},"解":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"中":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"指":{"docs":{},"针":{"docs":{},"包":{"docs":{},"含":{"docs":{},"任":{"docs":{},"意":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"将":{"docs":{},"在":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},"通":{"docs":{},"知":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"回":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},";":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"并":{"docs":{},"完":{"docs":{},"全":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"键":{"docs":{},"路":{"docs":{},"径":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"更":{"docs":{},"改":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"来":{"docs":{},"源":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"而":{"docs":{},"观":{"docs":{},"察":{"docs":{},"到":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"键":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{},"一":{"docs":{},"种":{"docs":{},"更":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"更":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"确":{"docs":{},"保":{"docs":{},"您":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"是":{"docs":{},"发":{"docs":{},"给":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"超":{"docs":{},"类":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"协":{"docs":{},"商":{"docs":{},"好":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"传":{"docs":{},"递":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"边":{"docs":{},"界":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"中":{"docs":{},"同":{"docs":{},"时":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"它":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"这":{"docs":{},"次":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"和":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5013966480446927}}}}},"转":{"docs":{},"发":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"测":{"docs":{},"试":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"失":{"docs":{},"就":{"docs":{},"是":{"docs":{},"首":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"标":{"docs":{},"准":{"docs":{},"很":{"docs":{},"难":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{},"狭":{"docs":{},"义":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"终":{"docs":{},"点":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"完":{"docs":{},"全":{"docs":{},"消":{"docs":{},"失":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"处":{"docs":{},"理":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},"做":{"docs":{},"相":{"docs":{},"应":{"docs":{},"展":{"docs":{},"示":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"分":{"docs":{},"发":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"原":{"docs":{},"系":{"docs":{},"统":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"真":{"docs":{},"实":{"docs":{},"地":{"docs":{},"址":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"上":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},"进":{"docs":{},"行":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"讲":{"docs":{},"一":{"docs":{},"讲":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"环":{"docs":{},"境":{"docs":{},"插":{"docs":{},"件":{"docs":{},"如":{"docs":{},"何":{"docs":{},"防":{"docs":{},"护":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"交":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"把":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"加":{"docs":{},"载":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"跳":{"docs":{},"转":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"开":{"docs":{},"始":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"后":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"还":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"取":{"docs":{},"消":{"docs":{},"的":{"docs":{},"话":{"docs":{},"就":{"docs":{},"从":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"也":{"docs":{},"不":{"docs":{},"做":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"下":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"并":{"docs":{},"把":{"docs":{},"我":{"docs":{},"们":{"docs":{},"读":{"docs":{},"取":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"入":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拖":{"docs":{},"动":{"docs":{},"这":{"docs":{},"个":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"这":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"配":{"docs":{},"合":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"重":{"docs":{},"启":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"由":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"判":{"docs":{},"断":{"docs":{},"得":{"docs":{},"知":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"轮":{"docs":{},"到":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"对":{"docs":{},"其":{"docs":{},"加":{"docs":{},"一":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"写":{"docs":{},"入":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"把":{"docs":{},"这":{"docs":{},"段":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"进":{"docs":{},"去":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"勾":{"docs":{},"选":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"各":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"而":{"docs":{},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"那":{"docs":{},"么":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"『":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"』":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"于":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"说":{"docs":{},"才":{"docs":{},"更":{"docs":{},"加":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"目":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"合":{"docs":{},"并":{"docs":{},"回":{"docs":{},"主":{"docs":{},"干":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"差":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"合":{"docs":{},"并":{"docs":{},"可":{"docs":{},"能":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"几":{"docs":{},"十":{"docs":{},"秒":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"几":{"docs":{},"分":{"docs":{},"钟":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"种":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"就":{"docs":{},"会":{"docs":{},"使":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"谨":{"docs":{},"慎":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{},"分":{"docs":{},"支":{"docs":{},"合":{"docs":{},"并":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"因":{"docs":{},"为":{"docs":{},"合":{"docs":{},"并":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"和":{"docs":{},"困":{"docs":{},"难":{"docs":{},"选":{"docs":{},"择":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"主":{"docs":{},"干":{"docs":{},"分":{"docs":{},"支":{"docs":{},"上":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"认":{"docs":{},"为":{"docs":{},"只":{"docs":{},"改":{"docs":{},"一":{"docs":{},"两":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"上":{"docs":{},"事":{"docs":{},"故":{"docs":{},"!":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"真":{"docs":{},"正":{"docs":{},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"控":{"docs":{},"制":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"都":{"docs":{},"非":{"docs":{},"常":{"docs":{},"少":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"公":{"docs":{},"司":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"代":{"docs":{},"码":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"秘":{"docs":{},"密":{"docs":{},"等":{"docs":{},"级":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{},"非":{"docs":{},"常":{"docs":{},"差":{"docs":{},"、":{"docs":{},"而":{"docs":{},"且":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"脱":{"docs":{},"离":{"docs":{},"了":{"docs":{},"公":{"docs":{},"司":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"公":{"docs":{},"司":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"按":{"docs":{},"照":{"docs":{},"以":{"docs":{},"上":{"docs":{},"方":{"docs":{},"案":{"docs":{},"初":{"docs":{},"步":{"docs":{},"开":{"docs":{},"发":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"验":{"docs":{},"证":{"docs":{},"时":{"docs":{},",":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"棘":{"docs":{},"手":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"方":{"docs":{},"案":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"0":{"docs":{},".":{"0":{"docs":{},"及":{"docs":{},"以":{"docs":{},"上":{"docs":{},"工":{"docs":{},"作":{"docs":{},"正":{"docs":{},"常":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"9":{"docs":{},".":{"docs":{},"x":{"docs":{},"及":{"docs":{},"以":{"docs":{},"下":{"docs":{},"系":{"docs":{},"统":{"docs":{},"方":{"docs":{},"案":{"docs":{},"无":{"docs":{},"效":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"断":{"docs":{},"点":{"docs":{},"调":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},"获":{"docs":{},"取":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"列":{"docs":{},"表":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"观":{"docs":{},"察":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"根":{"docs":{},"本":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"无":{"docs":{},"读":{"docs":{},"取":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"已":{"docs":{},"被":{"docs":{},"广":{"docs":{},"泛":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"各":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}}}}},"简":{"docs":{},"述":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"过":{"docs":{},"程":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}}},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"讲":{"docs":{},",":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"面":{"docs":{},"向":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"就":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"静":{"docs":{},"止":{"docs":{},"着":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"用":{"docs":{},"手":{"docs":{},"指":{"docs":{},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"易":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"图":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"映":{"docs":{},"射":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"解":{"docs":{},"析":{"docs":{},"和":{"docs":{},"验":{"docs":{},"证":{"docs":{},"都":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"经":{"docs":{},"过":{"docs":{},"了":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"介":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"化":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"书":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}},"悦":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"网":{"docs":{},"络":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"都":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"1":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"docs":{}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"模":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}},"上":{"docs":{},"的":{"docs":{},"坑":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"置":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"是":{"docs":{},"移":{"docs":{},"除":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"则":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"当":{"docs":{},"前":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"docs":{},"直":{"docs":{},"接":{"docs":{},"判":{"docs":{},"定":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"是":{"docs":{},"否":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"源":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"成":{"docs":{},"功":{"docs":{},"为":{"0":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"docs":{}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"记":{"docs":{},"录":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"方":{"docs":{},"便":{"docs":{},"我":{"docs":{},"们":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"占":{"docs":{},"位":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"好":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"备":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"都":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"是":{"docs":{},"双":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"+":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},")":{"docs":{},";":{"docs":{},"在":{"docs":{},"读":{"docs":{},"取":{"docs":{},"经":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"每":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"完":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"画":{"docs":{},"面":{"docs":{},",":{"docs":{},"复":{"docs":{},"位":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{},"为":{"docs":{},"a":{"docs":{},"[":{"0":{"docs":{},"…":{"docs":{},"n":{"docs":{},"]":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}},"docs":{}}}}}}},"负":{"docs":{},"责":{"docs":{},"获":{"docs":{},"取":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"调":{"docs":{},"度":{"docs":{},"可":{"docs":{},"调":{"docs":{},"度":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"中":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"状":{"docs":{},"态":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"在":{"docs":{},"就":{"docs":{},"绪":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"间":{"docs":{},"来":{"docs":{},"回":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"就":{"docs":{},"绪":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"由":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"责":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"不":{"docs":{},"能":{"docs":{},"干":{"docs":{},"预":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"将":{"docs":{},"语":{"docs":{},"法":{"docs":{},"树":{"docs":{},"自":{"docs":{},"顶":{"docs":{},"向":{"docs":{},"下":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"成":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"每":{"docs":{},"次":{"docs":{},"切":{"docs":{},"换":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"都":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},"代":{"docs":{},"码":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"替":{"docs":{},"换":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"c":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.013888888888888888}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"只":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"解":{"docs":{},"码":{"docs":{},"和":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"当":{"docs":{},"项":{"docs":{},"目":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"引":{"docs":{},"入":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"很":{"docs":{},"慢":{"docs":{},"。":{"docs":{},"在":{"docs":{},"了":{"docs":{},"解":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"是":{"docs":{},"纯":{"docs":{},"c":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"并":{"docs":{},"未":{"docs":{},"提":{"docs":{},"供":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"功":{"docs":{},"能":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"知":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"退":{"docs":{},"出":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"将":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"交":{"docs":{},"易":{"docs":{},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"去":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"里":{"docs":{},"取":{"docs":{},"收":{"docs":{},"据":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"出":{"docs":{},"现":{"docs":{},"通":{"docs":{},"知":{"docs":{},"交":{"docs":{},"易":{"docs":{},"成":{"docs":{},"功":{"docs":{},"那":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"写":{"docs":{},"入":{"docs":{},"到":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"数":{"docs":{},"据":{"docs":{},"中":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"我":{"docs":{},"们":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"去":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"支":{"docs":{},"付":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"去":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"广":{"docs":{},"播":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"视":{"docs":{},"图":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"提":{"docs":{},"交":{"docs":{},"(":{"docs":{},"打":{"docs":{},"包":{"docs":{},"好":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},"树":{"docs":{},"以":{"docs":{},"及":{"docs":{},"动":{"docs":{},"画":{"docs":{},"属":{"docs":{},"性":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"到":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"其":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"获":{"docs":{},"取":{"docs":{},"标":{"docs":{},"识":{"docs":{},"位":{"docs":{},"的":{"docs":{},"值":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{},"来":{"docs":{},"建":{"docs":{},"立":{"docs":{},"索":{"docs":{},"引":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"桶":{"docs":{},"重":{"docs":{},"复":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"解":{"docs":{},"除":{"docs":{},"引":{"docs":{},"用":{"docs":{},"关":{"docs":{},"联":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"也":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"有":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"和":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"是":{"docs":{},"存":{"docs":{},"在":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"线":{"docs":{},"程":{"docs":{},"私":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"自":{"docs":{},"然":{"docs":{},"连":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"在":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"的":{"docs":{},"下":{"docs":{},"面":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"是":{"docs":{},"在":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"和":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"两":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"经":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"层":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"当":{"docs":{},"前":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},"主":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"上":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"指":{"docs":{},"向":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"并":{"docs":{},"获":{"docs":{},"取":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"来":{"docs":{},"展":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"由":{"docs":{},"某":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"指":{"docs":{},"定":{"docs":{},"在":{"docs":{},"另":{"docs":{},"外":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"是":{"docs":{},"目":{"docs":{},"标":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"将":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"的":{"docs":{},"被":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"汇":{"docs":{},"编":{"docs":{},"能":{"docs":{},"发":{"docs":{},"现":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"就":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"号":{"docs":{},"断":{"docs":{},"点":{"docs":{},"能":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},"解":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"查":{"docs":{},"看":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"这":{"docs":{},"个":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"从":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"有":{"docs":{},"加":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"应":{"docs":{},"该":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"和":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"可":{"docs":{},"以":{"docs":{},"达":{"docs":{},"到":{"docs":{},"明":{"docs":{},"确":{"docs":{},"模":{"docs":{},"块":{"docs":{},"职":{"docs":{},"责":{"docs":{},"及":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"提":{"docs":{},"升":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"优":{"docs":{},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"提":{"docs":{},"升":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"等":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"文":{"docs":{},"章":{"docs":{},"都":{"docs":{},"有":{"docs":{},"相":{"docs":{},"关":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"累":{"docs":{},"述":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}},"用":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"通":{"docs":{},"常":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"所":{"docs":{},"用":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"将":{"docs":{},"相":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{},"整":{"docs":{},"理":{"docs":{},"为":{"docs":{},"功":{"docs":{},"能":{"docs":{},"组":{"docs":{},"件":{"docs":{},"后":{"docs":{},"一":{"docs":{},"起":{"docs":{},"放":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{"./":{"ref":"./","tf":0.041666666666666664},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"器":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"库":{"docs":{},"。":{"docs":{},"如":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},")":{"docs":{},":":{"docs":{},"对":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"j":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"6":{"8":{"4":{"4":{"9":{"0":{"3":{"9":{"5":{"8":{"6":{"2":{"4":{"8":{"7":{"8":{"6":{"0":{"6":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"a":{"5":{"6":{"2":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}},"docs":{},"e":{"0":{"docs":{},"b":{"docs":{},"a":{"0":{"docs":{},"c":{"0":{"4":{"7":{"docs":{},"e":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"8":{"3":{"4":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}},"docs":{}},"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":10.005213764337851}},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.020855057351407715}},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"为":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"如":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"(":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},")":{"docs":{},"是":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"内":{"docs":{},"存":{"docs":{},"自":{"docs":{},"动":{"docs":{},"回":{"docs":{},"收":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"加":{"docs":{},"入":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"中":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"会":{"docs":{},"从":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"开":{"docs":{},"始":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"整":{"docs":{},"个":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"满":{"docs":{},"了":{"docs":{},",":{"docs":{},"就":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"未":{"docs":{},"满":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"此":{"docs":{},"时":{"docs":{},"跳":{"docs":{},"出":{"docs":{},"了":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"循":{"docs":{},"环":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"它":{"docs":{},"能":{"docs":{},"够":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},"都":{"docs":{},"加":{"docs":{},"入":{"docs":{},"了":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"比":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"更":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"资":{"docs":{},"源":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"&":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"为":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"时":{"docs":{},"注":{"docs":{},"册":{"docs":{},"观":{"docs":{},"察":{"docs":{},"属":{"docs":{},"性":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"动":{"docs":{},"态":{"docs":{},"子":{"docs":{},"类":{"docs":{},"n":{"docs":{},"s":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"缩":{"docs":{},"写":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},")":{"docs":{},"机":{"docs":{},"构":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"进":{"docs":{},"行":{"docs":{},"颁":{"docs":{},"发":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"机":{"docs":{},"构":{"docs":{},"通":{"docs":{},"过":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},"生":{"docs":{},"成":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"持":{"docs":{},"有":{"docs":{},"人":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},",":{"docs":{},"签":{"docs":{},"署":{"docs":{},"者":{"docs":{},"签":{"docs":{},"名":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{},"等":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"在":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"模":{"docs":{},"式":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},"并":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"对":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"@":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"v":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"d":{"docs":{},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.04329004329004329}},"包":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"包":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"首":{"docs":{},"次":{"docs":{},"重":{"docs":{},"传":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"仍":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"包":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"重":{"docs":{},"传":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"传":{"docs":{},"次":{"docs":{},"数":{"docs":{},"超":{"docs":{},"过":{"docs":{},"系":{"docs":{},"统":{"docs":{},"规":{"docs":{},"定":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"重":{"docs":{},"传":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"将":{"docs":{},"该":{"docs":{},"连":{"docs":{},"接":{"docs":{},"信":{"docs":{},"息":{"docs":{},"从":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"b":{"docs":{},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"对":{"docs":{},"已":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"超":{"docs":{},"时":{"docs":{},"重":{"docs":{},"传":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"而":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"能":{"docs":{},"在":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"收":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"重":{"docs":{},"传":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"重":{"docs":{},"传":{"docs":{},"一":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"都":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"若":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"在":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"对":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"超":{"docs":{},"时":{"docs":{},"重":{"docs":{},"传":{"docs":{},"这":{"docs":{},"个":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"再":{"docs":{},"重":{"docs":{},"传":{"docs":{},"一":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},"待":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"都":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{},"假":{"docs":{},"设":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"之":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"一":{"docs":{},"但":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"进":{"docs":{},"入":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"和":{"docs":{},"底":{"docs":{},"下":{"docs":{},"其":{"docs":{},"他":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"。":{"docs":{},"当":{"docs":{},"再":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"时":{"docs":{},"候":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"为":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":10}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}},"w":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"s":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.01570048309178744},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.017811704834605598},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.01749271137026239},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":5.0620567375886525},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.016865079365079364}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"e":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"'":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"响":{"docs":{},"应":{"docs":{},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"从":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"硬":{"docs":{},"件":{"docs":{},")":{"docs":{},"到":{"docs":{},"完":{"docs":{},"全":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{},"越":{"docs":{},"详":{"docs":{},"细":{"docs":{},"越":{"docs":{},"好":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"(":{"docs":{},"w":{"docs":{},"w":{"docs":{},"d":{"docs":{},"c":{"1":{"4":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}},"docs":{}}}}}}},"启":{"docs":{},"动":{"docs":{},"详":{"docs":{},"细":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":10}}}},"和":{"docs":{},"内":{"docs":{},"存":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"没":{"docs":{},"法":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},"发":{"docs":{},"货":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"会":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"由":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"通":{"docs":{},"知":{"docs":{},"购":{"docs":{},"买":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"收":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"到":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"一":{"docs":{},"个":{"docs":{},"月":{"docs":{},"没":{"docs":{},"法":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},"发":{"docs":{},"货":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"其":{"docs":{},"实":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"来":{"docs":{},"完":{"docs":{},"全":{"docs":{},"取":{"docs":{},"代":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"进":{"docs":{},"程":{"docs":{},"内":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"会":{"docs":{},"在":{"docs":{},"首":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.010178117048346057}},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"工":{"docs":{},"作":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"搬":{"docs":{},"到":{"docs":{},"进":{"docs":{},"程":{"docs":{},"外":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"搬":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"上":{"docs":{},"海":{"docs":{},"、":{"docs":{},"北":{"docs":{},"京":{"docs":{},"、":{"docs":{},"杭":{"docs":{},"州":{"docs":{},"、":{"docs":{},"深":{"docs":{},"圳":{"docs":{},"均":{"docs":{},"有":{"docs":{},"招":{"docs":{},"聘":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"内":{"docs":{},"推":{"docs":{},"可":{"docs":{},"以":{"docs":{},"联":{"docs":{},"系":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"中":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"里":{"docs":{},"面":{"docs":{},"含":{"docs":{},"有":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"被":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"、":{"docs":{},"按":{"docs":{},"压":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"3":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"docs":{}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"法":{"docs":{},"得":{"docs":{},"知":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"其":{"docs":{},"生":{"docs":{},"成":{"docs":{},"时":{"docs":{},"机":{"docs":{},"也":{"docs":{},"早":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"控":{"docs":{},"制":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"换":{"docs":{},"句":{"docs":{},"话":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},"即":{"docs":{},"使":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"5":{"docs":{},")":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.013986013986013986},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.009259259259259259},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"分":{"docs":{},"配":{"docs":{},"一":{"docs":{},"个":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"确":{"docs":{},"保":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},",":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"字":{"docs":{},"节":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"使":{"docs":{},"用":{"docs":{},"未":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"来":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"图":{"docs":{},"层":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"并":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"字":{"docs":{},"面":{"docs":{},"意":{"docs":{},"思":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"整":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"核":{"docs":{},"心":{"docs":{},"都":{"docs":{},"是":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"等":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"种":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"可":{"docs":{},"见":{"docs":{},"图":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"循":{"docs":{},"环":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"事":{"docs":{},"务":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"创":{"docs":{},"建":{"docs":{},"已":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"层":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"副":{"docs":{},"本":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"图":{"docs":{},"像":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"的":{"docs":{},"合":{"docs":{},"成":{"docs":{},"器":{"docs":{},"会":{"docs":{},"联":{"docs":{},"合":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"、":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"n":{"docs":{},"o":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}},"y":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"语":{"docs":{},"法":{"docs":{},"树":{"docs":{},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"校":{"docs":{},"验":{"docs":{},"语":{"docs":{},"法":{"docs":{},"是":{"docs":{},"否":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"p":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"选":{"docs":{},"择":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"!":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":10},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"]":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771}},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"它":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"方":{"docs":{},"法":{"docs":{},"判":{"docs":{},"断":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"依":{"docs":{},"然":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"d":{"docs":{},"o":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"异":{"docs":{},"常":{"docs":{},";":{"docs":{},"若":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"l":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"⾥":{"docs":{},"存":{"docs":{},"有":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},")":{"docs":{},"]":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"_":{"docs":{},"t":{"docs":{},":":{"docs":{},":":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},"[":{"docs":{},"j":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"]":{"docs":{},";":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"一":{"docs":{},"句":{"docs":{},"想":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"理":{"docs":{},"解":{"docs":{},"k":{"docs":{},"v":{"docs":{},"c":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"键":{"docs":{},"值":{"docs":{},"观":{"docs":{},"察":{"docs":{},"是":{"docs":{},"建":{"docs":{},"立":{"docs":{},"在":{"docs":{},"键":{"docs":{},"值":{"docs":{},"编":{"docs":{},"码":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.0081799591002045},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}},"v":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"环":{"docs":{},"境":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"m":{"6":{"4":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},".":{"docs":{},"s":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"不":{"docs":{},"熟":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"能":{"docs":{},"连":{"docs":{},"看":{"docs":{},"带":{"docs":{},"猜":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"主":{"docs":{},"要":{"docs":{},"看":{"docs":{},"在":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{},"即":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"7":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}}}}}},"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"_":{"docs":{},"v":{"7":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}}},"v":{"7":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}},".":{"docs":{},"s":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"’":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"g":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"v":{"docs":{},"[":{"docs":{},"]":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"s":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"]":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{},"@":{"docs":{},"[":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"@":{"1":{"2":{"3":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"docs":{}},"docs":{}},"docs":{}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"s":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02}}}}}},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"[":{"docs":{},"]":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},"i":{"docs":{},"c":{"docs":{},"保":{"docs":{},"证":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"获":{"docs":{},"取":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"是":{"docs":{},"对":{"docs":{},"成":{"docs":{},"员":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"直":{"docs":{},"接":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"代":{"docs":{},"表":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"访":{"docs":{},"问":{"docs":{},"安":{"docs":{},"全":{"docs":{},".":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"取":{"docs":{},"值":{"docs":{},"和":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"时":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"是":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"即":{"docs":{},"当":{"docs":{},"上":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"没":{"docs":{},"有":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"(":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"住":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"等":{"docs":{},"待":{"docs":{},"(":{"docs":{},"不":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"上":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"线":{"docs":{},"程":{"docs":{},"立":{"docs":{},"即":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"他":{"docs":{},"区":{"docs":{},"别":{"docs":{},"于":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},",":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"安":{"docs":{},"全":{"docs":{},"吗":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"只":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"数":{"docs":{},"据":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"来":{"docs":{},"修":{"docs":{},"饰":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},":":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{},"所":{"docs":{},"以":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"查":{"docs":{},"找":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"*":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"e":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"t":{"docs":{},"u":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"直":{"docs":{},"接":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"异":{"docs":{},"常":{"docs":{},"来":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"系":{"docs":{},"统":{"docs":{},"正":{"docs":{},"常":{"docs":{},"运":{"docs":{},"行":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"d":{"docs":{},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"j":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"i":{"docs":{},".":{"docs":{},"h":{"docs":{},"中":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"单":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.006979062811565304},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"时":{"docs":{},"将":{"docs":{},"参":{"docs":{},"数":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"自":{"docs":{},"动":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.018561484918793503}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},".":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"!":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},"!":{"docs":{},"连":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"f":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},",":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"f":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"docs":{},":":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"]":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"b":{"5":{"2":{"docs":{},"d":{"docs":{},"b":{"docs":{},"d":{"docs":{},"d":{"docs":{},"b":{"3":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}},"docs":{}}}}}}},"docs":{}},"docs":{}}}},".":{"5":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"、":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"执":{"docs":{},"行":{"3":{"docs":{},"次":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},"docs":{}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.01675977653631285}}}}}}}}},"u":{"docs":{},"i":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"视":{"docs":{},"图":{"docs":{"iOS/ReadME.html":{"ref":"iOS/ReadME.html","tf":0.09090909090909091}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"往":{"docs":{},"下":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"到":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},",":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.012232415902140673},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.018367346938775512},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.008741258741258742},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"与":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":5.002040816326531}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"也":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"其":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"动":{"docs":{},"画":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":5.028169014084507},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"和":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"不":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"需":{"docs":{},"要":{"docs":{},"可":{"docs":{},"以":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"编":{"docs":{},"写":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"查":{"docs":{},"找":{"docs":{},"响":{"docs":{},"应":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"再":{"docs":{},"交":{"docs":{},"给":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}},"上":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"+":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"另":{"docs":{},"外":{"docs":{},"实":{"docs":{},"现":{"docs":{},"模":{"docs":{},"糊":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"c":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"手":{"docs":{},"动":{"docs":{},"管":{"docs":{},"理":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.005417118093174431}},"?":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"与":{"docs":{},"事":{"docs":{},"件":{"docs":{},"响":{"docs":{},"应":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":10}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"处":{"docs":{},"理":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"/":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"其":{"docs":{},"原":{"docs":{},"理":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.03225806451612903}},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"持":{"docs":{},"有":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"未":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"能":{"docs":{},"节":{"docs":{},"省":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"加":{"docs":{},"快":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"内":{"docs":{},"存":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"完":{"docs":{},"及":{"docs":{},"时":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"导":{"docs":{},"致":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"1":{"6":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}},"docs":{}},"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01929260450160772},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.012269938650306749},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475}}}}},"docs":{}},"6":{"4":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"docs":{}},"8":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}},"*":{"docs":{},")":{"docs":{},"m":{"docs":{},"h":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.02364864864864865},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.04132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.005417118093174431}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"等":{"docs":{},"于":{"docs":{},"说":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"是":{"docs":{},"具":{"docs":{},"有":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"标":{"docs":{},"记":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"都":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"进":{"docs":{},"了":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"会":{"docs":{},"被":{"docs":{},"放":{"docs":{},"入":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"这":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"里":{"docs":{},"。":{"docs":{},"只":{"docs":{},"要":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"所":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"下":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"所":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"自":{"docs":{},"己":{"docs":{},"本":{"docs":{},"身":{"docs":{},"所":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"也":{"docs":{},"是":{"docs":{},"会":{"docs":{},"被":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"刷":{"docs":{},"新":{"docs":{},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"推":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.02848575712143928}},"(":{"docs":{},".":{"docs":{},"d":{"docs":{},"m":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}},"、":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"转":{"docs":{},"场":{"docs":{},"等":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"将":{"docs":{},"动":{"docs":{},"态":{"docs":{},"部":{"docs":{},"分":{"docs":{},"(":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},")":{"docs":{},"的":{"docs":{},"发":{"docs":{},"起":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"写":{"docs":{},"在":{"docs":{},"转":{"docs":{},"场":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"d":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":5.000808407437348},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521}}}}}}},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0163265306122449},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356}}}},"t":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"x":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.02912621359223301}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.004452926208651399},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0182370820668693}}}}}}}},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.01749271137026239}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"[":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},";":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"…":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.08064516129032258}},"(":{"docs":{},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"是":{"docs":{},"面":{"docs":{},"向":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"没":{"docs":{},"有":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"网":{"docs":{},"络":{"docs":{},"出":{"docs":{},"现":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"不":{"docs":{},"会":{"docs":{},"使":{"docs":{},"源":{"docs":{},"主":{"docs":{},"机":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"速":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},"(":{"docs":{},"对":{"docs":{},"实":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"很":{"docs":{},"有":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"i":{"docs":{},"p":{"docs":{},"电":{"docs":{},"话":{"docs":{},",":{"docs":{},"实":{"docs":{},"时":{"docs":{},"视":{"docs":{},"频":{"docs":{},"会":{"docs":{},"议":{"docs":{},"等":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"f":{"docs":{},"x":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},";":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.005952380952380952}},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"\"":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"\"":{"docs":{},";":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"读":{"docs":{},"完":{"docs":{},",":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"保":{"docs":{},"存":{"docs":{},"两":{"docs":{},"种":{"docs":{},"数":{"docs":{},"据":{"docs":{},"来":{"docs":{},"源":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"从":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"里":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"句":{"docs":{},"柄":{"docs":{},",":{"docs":{},"读":{"docs":{},"和":{"docs":{},"写":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"写":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"了":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"回":{"docs":{},"调":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"最":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"获":{"docs":{},"取":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"\"":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"\"":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.01948051948051948}}}},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"}":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"u":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"z":{"docs":{},"s":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"前":{"docs":{},"线":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"旺":{"docs":{},"财":{"docs":{},"\"":{"docs":{},")":{"docs":{},"!":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}},"(":{"0":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"1":{"0":{"4":{"6":{"4":{"7":{"9":{"docs":{},"/":{"1":{"0":{"4":{"6":{"4":{"7":{"9":{"docs":{},")":{"docs":{},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"借":{"docs":{},"用":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"流":{"docs":{},"程":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"此":{"docs":{},"时":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"2":{"5":{"6":{"docs":{},"/":{"2":{"5":{"6":{"docs":{},")":{"docs":{},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"定":{"docs":{},"义":{"docs":{},"以":{"docs":{},"及":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.015748031496062992},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"5":{"docs":{},".":{"0":{"docs":{},".":{"6":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"docs":{}}},"docs":{}},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"6":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.016183412002697236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.010224948875255624}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"*":{"docs":{},")":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}}}}}},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"docs":{}},"6":{"4":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"docs":{}},"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},")":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.012934518997574777},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"e":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}}}}}}}}}}}}},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.021052631578947368}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"b":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"{":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}},"b":{"docs":{},"u":{"docs":{},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},")":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"1":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"s":{"docs":{},"b":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"j":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"注":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"基":{"docs":{},"于":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"8":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}},"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"_":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"*":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"docs":{}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.008084074373484237},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},")":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.005924170616113744}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},")":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"1":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523}}}},"docs":{}}}}}}},"o":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"_":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"*":{"docs":{},")":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}},"f":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"o":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"注":{"docs":{},"册":{"docs":{},"监":{"docs":{},"听":{"docs":{},"了":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"*":{"docs":{},")":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"u":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.008995502248875561},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"*":{"docs":{},")":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}}}}},")":{"docs":{},"}":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.029911075181891674}}}}}}},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},"并":{"docs":{},"不":{"docs":{},"执":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"程":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"*":{"docs":{},")":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"s":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"@":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"x":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"s":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"常":{"docs":{},"量":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}},"d":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"r":{"docs":{},"j":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}}}}}}},")":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"g":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"!":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"%":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"*":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},")":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}},"m":{"docs":{},"_":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}},"a":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"h":{"5":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}},")":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"f":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"l":{"docs":{},"f":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},")":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"!":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},"调":{"docs":{},"试":{"docs":{},"符":{"docs":{},"号":{"docs":{},",":{"docs":{},"是":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"带":{"docs":{},"到":{"docs":{},"线":{"docs":{},"上":{"docs":{},"去":{"docs":{},"的":{"docs":{},"。":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"级":{"docs":{},"别":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"x":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"docs":{}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"…":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"!":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"h":{"docs":{},"i":{"docs":{},"h":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"h":{"docs":{},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"f":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"1":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0072992700729927005}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"n":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"分":{"docs":{},"类":{"1":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"docs":{}}},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"大":{"docs":{},"方":{"docs":{},"法":{"docs":{},"数":{"docs":{},"组":{"docs":{},"最":{"docs":{},"前":{"docs":{},"面":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"宿":{"docs":{},"主":{"docs":{},"类":{"1":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"2":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"docs":{}}}},"^":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},")":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"两":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"要":{"docs":{},"配":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},".":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}},"/":{"docs":{},".":{"docs":{},"c":{"docs":{},"/":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"s":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"*":{"docs":{},")":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"*":{"docs":{},")":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"多":{"docs":{},"边":{"docs":{},"形":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"文":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渐":{"docs":{},"变":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"硬":{"docs":{},"件":{"docs":{},"层":{"docs":{},"面":{"docs":{},")":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"层":{"docs":{},"面":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"重":{"docs":{},"签":{"docs":{},"微":{"docs":{},"信":{"docs":{},"应":{"docs":{},"用":{"docs":{},"实":{"docs":{},"战":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"一":{"docs":{},")":{"docs":{},"概":{"docs":{},"念":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}},"三":{"docs":{},")":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}},"二":{"docs":{},")":{"docs":{},"算":{"docs":{},"法":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}},")":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"对":{"docs":{},"象":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"效":{"docs":{},"果":{"docs":{},"上":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"像":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"当":{"docs":{},"然":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"起":{"docs":{},"个":{"docs":{},"别":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},")":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"接":{"docs":{},"口":{"docs":{},"还":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"不":{"docs":{},"到":{"docs":{},",":{"docs":{},"会":{"docs":{},"形":{"docs":{},"成":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{},"原":{"docs":{},"因":{"docs":{},"三":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"最":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"雷":{"docs":{},"神":{"docs":{},"里":{"docs":{},"的":{"docs":{},"彩":{"docs":{},"虹":{"docs":{},"桥":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"。":{"docs":{},"在":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"深":{"docs":{},"刻":{"docs":{},"体":{"docs":{},"会":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"路":{"docs":{},"径":{"docs":{},"上":{"docs":{},"难":{"docs":{},"免":{"docs":{},"会":{"docs":{},"读":{"docs":{},"很":{"docs":{},"多":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"规":{"docs":{},"避":{"docs":{},"这":{"docs":{},"个":{"docs":{},"解":{"docs":{},"密":{"docs":{},"的":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"。":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"的":{"docs":{},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"图":{"docs":{},"中":{"docs":{},"部":{"docs":{},"分":{"docs":{},"页":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"*":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.03536977491961415},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.013958125623130608},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0072992700729927005},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.009296148738379814},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.024464831804281346},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.012232415902140673}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"+":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"*":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.01272264631043257}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"s":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"g":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},";":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}},"{":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"&":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"_":{"7":{"docs":{},"_":{"docs":{},"_":{"docs":{},"p":{"1":{"9":{"docs":{},"y":{"docs":{},"p":{"8":{"2":{"docs":{},"j":{"0":{"docs":{},"x":{"docs":{},"d":{"2":{"docs":{},"m":{"docs":{},"_":{"1":{"docs":{},"k":{"8":{"docs":{},"f":{"docs":{},"p":{"docs":{},"r":{"7":{"7":{"docs":{},"z":{"4":{"0":{"0":{"0":{"0":{"docs":{},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"2":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"5":{"8":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"docs":{}}}}}},"docs":{}},"docs":{}}}}},"docs":{}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}},"8":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"g":{"docs":{},"m":{"2":{"8":{"docs":{},"r":{"0":{"docs":{},"d":{"0":{"docs":{},"b":{"docs":{},"z":{"9":{"4":{"docs":{},"x":{"docs":{},"n":{"docs":{},"n":{"docs":{},"r":{"docs":{},"r":{"6":{"0":{"6":{"docs":{},"r":{"docs":{},"f":{"4":{"0":{"0":{"0":{"0":{"docs":{},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"3":{"docs":{},"f":{"2":{"0":{"6":{"9":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}},"1":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"a":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"{":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"[":{"docs":{},"[":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"m":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"d":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"y":{"docs":{},"{":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"m":{"docs":{},"p":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"看":{"docs":{},"做":{"docs":{},"是":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"/":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.006666666666666667},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.012269938650306749},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},")":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"p":{"1":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"x":{"docs":{},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.004985044865403789},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"终":{"docs":{},"端":{"docs":{},"命":{"docs":{},"令":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"】":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"影":{"docs":{},"响":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"所":{"docs":{},"指":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"出":{"docs":{},"了":{"docs":{},"临":{"docs":{},"时":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"的":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"地":{"docs":{},"表":{"docs":{},"示":{"docs":{},"为":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"*":{"docs":{},">":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"w":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"左":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"指":{"docs":{},"针":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}}}}}}}}},"*":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"将":{"docs":{},"被":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},".":{"docs":{},"m":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}},"o":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"t":{"docs":{},"x":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"t":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"s":{"docs":{},"a":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"v":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"c":{"1":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},")":{"docs":{},")":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"{":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"这":{"docs":{},"里":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"该":{"docs":{},"地":{"docs":{},"址":{"docs":{},"应":{"docs":{},"该":{"docs":{},"就":{"docs":{},"是":{"docs":{},"外":{"docs":{},"部":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},";":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"面":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}},"类":{"docs":{},"似":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"函":{"docs":{},"数":{"docs":{},"太":{"docs":{},"长":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.08698583951449763},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.07157464212678936},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"继":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"重":{"docs":{},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}},"新":{"docs":{},"赋":{"docs":{},"值":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"值":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},".":{"0":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.05866486850977748},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.02044989775051125}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},".":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005213764337851929},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.013605442176870748},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},".":{"docs":{},".":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"乱":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}},"按":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}},"是":{"docs":{},"否":{"docs":{},"按":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{},"与":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"还":{"docs":{},"是":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"有":{"docs":{},"关":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"掉":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},")":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"文":{"docs":{},"件":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}}}}},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"文":{"docs":{},"件":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"当":{"docs":{},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"放":{"docs":{},"弃":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"做":{"docs":{},"返":{"docs":{},"回":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}},"o":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"这":{"docs":{},"里":{"docs":{},"加":{"docs":{},"载":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"有":{"docs":{},"几":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"a":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"d":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"i":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}},"s":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"*":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"/":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.010638297872340425},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.006944444444444444}},"/":{"1":{"2":{"3":{"4":{"5":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"docs":{}},"docs":{}},"docs":{}},"3":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"docs":{},".":{"docs":{},"创":{"docs":{},"建":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"2":{"docs":{},".":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"3":{"docs":{},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"首":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"精":{"docs":{},"确":{"docs":{},"度":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"5":{"docs":{},".":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.019762845849802372},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.03785488958990536},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.07553191489361702},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.04906542056074766},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.02},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.03169014084507042},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.041666666666666664},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.03866666666666667},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.01981230448383733},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.038803556992724336},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.02989821882951654},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0136986301369863},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.019490254872563718},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.013280212483399735},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.010114632501685773},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.017857142857142856},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.027989821882951654},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.009923664122137405},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.04888268156424581},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.024918743228602384},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.037122969837587005}},"判":{"docs":{},"断":{"docs":{},"点":{"docs":{},"击":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"想":{"docs":{},"要":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"向":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"内":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"扩":{"docs":{},"大":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"最":{"docs":{},"终":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},".":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"m":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"数":{"docs":{},"组":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"在":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"针":{"docs":{},"获":{"docs":{},"取":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"新":{"docs":{},"值":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}},"获":{"docs":{},"得":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"否":{"docs":{},"则":{"docs":{},"为":{"6":{"4":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}},"docs":{}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"算":{"docs":{},"法":{"docs":{},"了":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"里":{"docs":{},"是":{"docs":{},"做":{"docs":{},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"换":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},"也":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}},"安":{"docs":{},"全":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"!":{"docs":{},"!":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"挪":{"docs":{},"动":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"统":{"docs":{},"一":{"docs":{},"封":{"docs":{},"装":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"按":{"docs":{},"照":{"docs":{},"编":{"docs":{},"译":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"名":{"docs":{},"称":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"最":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{},",":{"docs":{},"最":{"docs":{},"先":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"分":{"docs":{},"类":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"队":{"docs":{},"列":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"如":{"docs":{},"果":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"传":{"docs":{},"值":{"docs":{},"是":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"给":{"docs":{},"出":{"docs":{},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"更":{"docs":{},"改":{"docs":{},"值":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"放":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"公":{"docs":{},"共":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"见":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"送":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"\"":{"docs":{},"n":{"docs":{},"o":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"2":{"4":{"9":{"5":{"2":{"5":{"4":{"9":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"池":{"docs":{},"子":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}},"析":{"docs":{},"构":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"没":{"docs":{},"有":{"docs":{},"池":{"docs":{},"子":{"docs":{},"被":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"全":{"docs":{},"局":{"docs":{},"控":{"docs":{},"制":{"docs":{},"当":{"docs":{},"前":{"docs":{},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"在":{"docs":{},"图":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"图":{"docs":{},"像":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"变":{"docs":{},"换":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"关":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"首":{"docs":{},"次":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"最":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"在":{"docs":{},"非":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"同":{"docs":{},"步":{"docs":{},"读":{"docs":{},"取":{"docs":{},"指":{"docs":{},"定":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"调":{"docs":{},"用":{"docs":{},"设":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"死":{"docs":{},"锁":{"docs":{},",":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"被":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"条":{"docs":{},"目":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"已":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"入":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"模":{"docs":{},"块":{"docs":{},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"封":{"docs":{},"装":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"实":{"docs":{},"现":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"外":{"docs":{},"服":{"docs":{},"务":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"中":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"区":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},"存":{"docs":{},"储":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"要":{"docs":{},"点":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},"队":{"docs":{},"列":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"/":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"标":{"docs":{},"识":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"是":{"docs":{},"把":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"交":{"docs":{},"互":{"docs":{},"位":{"docs":{},"置":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}},"o":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"中":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"这":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"/":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"和":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"相":{"docs":{},"反":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"带":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"弃":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"常":{"docs":{},"量":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"弃":{"docs":{},"用":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"用":{"docs":{},"作":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"生":{"docs":{},"产":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"相":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"/":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"直":{"docs":{},"接":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"为":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"中":{"docs":{},"的":{"docs":{},"某":{"docs":{},"各":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"z":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"内":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"传":{"docs":{},"统":{"docs":{},"方":{"docs":{},"式":{"docs":{},"只":{"docs":{},"能":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"次":{"docs":{},"强":{"docs":{},"转":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"并":{"docs":{},"在":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"注":{"docs":{},"册":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},"页":{"docs":{},"面":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"*":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.016359918200409},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"*":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"递":{"docs":{},"归":{"docs":{},"算":{"docs":{},"法":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"递":{"docs":{},"归":{"docs":{},"算":{"docs":{},"法":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"递":{"docs":{},"归":{"docs":{},"算":{"docs":{},"法":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"先":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"再":{"docs":{},"先":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"后":{"docs":{},"续":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"改":{"docs":{},"为":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"结":{"docs":{},"点":{"docs":{},"操":{"docs":{},"作":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"先":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"*":{"docs":{},"/":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"子":{"docs":{},"类":{"1":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"2":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"docs":{}}},"父":{"docs":{},"类":{"docs":{},"*":{"docs":{},"/":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"0":{"2":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"9":{"docs":{},"f":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}}}},"docs":{}},"1":{"docs":{},"c":{"4":{"docs":{},"b":{"1":{"5":{"docs":{},"f":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}},"docs":{}}},"docs":{}}},"5":{"7":{"3":{"docs":{},"e":{"7":{"docs":{},"f":{"docs":{},"e":{"9":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"e":{"7":{"docs":{},"c":{"docs":{},"b":{"1":{"9":{"4":{"6":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.06719367588932806},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.08201892744479496},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.016891891891891893},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.035106382978723406},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.015306122448979591},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.03271028037383177},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.03857142857142857},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0528169014084507},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.047856430707876374},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.018666666666666668},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.026068821689259645},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.14874696847210994},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.04770992366412214},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.035545023696682464},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.022488755622188907},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.05927051671732523},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.017928286852589643},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.022252191503708697},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.02666666666666667},"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.06976744186046512},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.11038961038961038},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.05357142857142857},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.020356234096692113},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.025954198473282442},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.013966480446927373},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.018418201516793065},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.021379980563654033},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.025522041763341066},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.01818181818181818},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.09169054441260745},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.020887728459530026},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"=":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.01251303441084463},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.007633587786259542},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},">":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"−":{"1":{"docs":{},"]":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"docs":{}}}}}}}}}}}},">":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.045871559633027525},"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.028985507246376812},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.01893939393939394},"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.18181818181818182},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.010114632501685773},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.008298755186721992},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.1},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"—":{"docs":{},"—":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"】":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}},"呈":{"docs":{},"现":{"docs":{},"树":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},">":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"r":{"docs":{},"o":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.011857707509881422},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"l":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"=":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"/":{"docs":{},"/":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},",":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"总":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005213764337851929}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},")":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"[":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"i":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"[":{"0":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}},"docs":{}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"对":{"docs":{},"锁":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"过":{"docs":{},"程":{"docs":{},"前":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"擦":{"docs":{},"除":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"说":{"docs":{},"白":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"a":{"docs":{},")":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}},"堆":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"\"":{"docs":{},">":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"\"":{"docs":{},">":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"以":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"]":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"可":{"docs":{},"以":{"docs":{},"类":{"docs":{},"比":{"docs":{},"成":{"docs":{},"o":{"docs":{},"c":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"中":{"docs":{},"序":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"后":{"docs":{},"序":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}},"左":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"子":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}}},"根":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}},"[":{"0":{"docs":{},",":{"0":{"docs":{},",":{"1":{"docs":{},",":{"1":{"docs":{},",":{"1":{"docs":{},",":{"2":{"docs":{},",":{"2":{"docs":{},",":{"3":{"docs":{},",":{"3":{"docs":{},",":{"4":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"docs":{},",":{"2":{"docs":{},",":{"3":{"docs":{},",":{"4":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"1":{"1":{"7":{"5":{"docs":{},"]":{"docs":{},"/":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"_":{"4":{"docs":{},".":{"4":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"_":{"4":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"a":{"docs":{},"(":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}},"8":{"8":{"docs":{},"]":{"docs":{},"/":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"1":{"0":{"docs":{},".":{"1":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"/":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{},",":{"1":{"docs":{},",":{"2":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}},"2":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"d":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"_":{"docs":{},"h":{"docs":{},"w":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"5":{"0":{"0":{"3":{"6":{"3":{"2":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"d":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"_":{"docs":{},"h":{"docs":{},"w":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"4":{"6":{"4":{"2":{"5":{"5":{"0":{"3":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},",":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}}},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},"]":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"=":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"6":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"7":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"8":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.015789473684210527},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.031914893617021274},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.013280212483399735},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.015267175572519083},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"o":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}}}}}},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0057251908396946565}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"l":{"docs":{},"w":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"原":{"docs":{},"理":{"docs":{},"]":{"docs":{},"当":{"docs":{},"你":{"docs":{},"被":{"docs":{},"问":{"docs":{},"到":{"docs":{},"下":{"docs":{},"面":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"你":{"docs":{},"能":{"docs":{},"够":{"docs":{},"回":{"docs":{},"答":{"docs":{},"出":{"docs":{},"来":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}},"译":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"e":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.008}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.018593371059013743}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"e":{"docs":{},"w":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.010178117048346057}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.022727272727272728}}},"a":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"v":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"/":{"2":{"docs":{},"]":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}},"f":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}}}}}}}},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"0":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"1":{"0":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"7":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}},"docs":{}}},"b":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.02336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005213764337851929},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.006997455470737914},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.017777777777777778},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.003816793893129771},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"(":{"docs":{},"^":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.009776536312849162}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.036231884057971016},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.014814814814814815}},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406}}},")":{"docs":{},"在":{"docs":{},"内":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"当":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"的":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"会":{"docs":{},"互":{"docs":{},"换":{"docs":{},"。":{"docs":{},"(":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"操":{"docs":{},"作":{"docs":{},"由":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"所":{"docs":{},"有":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"再":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"只":{"docs":{},"能":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"先":{"docs":{},"放":{"docs":{},"在":{"docs":{},"另":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"之":{"docs":{},"中":{"docs":{},",":{"docs":{},"说":{"docs":{},"起":{"docs":{},"来":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"一":{"docs":{},"层":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"前":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"结":{"docs":{},"果":{"docs":{},"(":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"与":{"docs":{},"一":{"docs":{},"般":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"架":{"docs":{},"构":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"把":{"docs":{},"内":{"docs":{},"容":{"docs":{},"画":{"docs":{},"上":{"docs":{},"去":{"docs":{},"(":{"docs":{},"这":{"docs":{},"只":{"docs":{},"是":{"docs":{},"我":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"测":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"可":{"docs":{},"能":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},")":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"够":{"docs":{},"预":{"docs":{},"先":{"docs":{},"告":{"docs":{},"诉":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"是":{"docs":{},"先":{"docs":{},"暂":{"docs":{},"存":{"docs":{},"在":{"docs":{},"另":{"docs":{},"外":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"写":{"docs":{},"入":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"被":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.007575757575757576}},"是":{"docs":{},"以":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.004830917874396135},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.041666666666666664},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.014522821576763486},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.003968253968253968}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"$":{"docs":{},"(":{"docs":{},"(":{"docs":{},"$":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"机":{"docs":{},"制":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"它":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.021212121212121213}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"e":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"资":{"docs":{},"源":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"获":{"docs":{},"取":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"心":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.015151515151515152},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"d":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}},"d":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"n":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\\":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"准":{"docs":{},"备":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}}}}},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"e":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.004859086491739553}}}}}},"s":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"c":{"9":{"docs":{},"a":{"docs":{},"e":{"docs":{},"f":{"7":{"docs":{},"c":{"4":{"1":{"docs":{},"a":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}}},"i":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.025236593059936908},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.012244897959183673},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"也":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"放":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"里":{"docs":{},",":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"根":{"docs":{},"据":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"信":{"docs":{},"号":{"docs":{},"读":{"docs":{},"取":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"z":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"它":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"会":{"docs":{},"做":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"若":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"后":{"docs":{},"端":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"这":{"docs":{},"份":{"docs":{},"优":{"docs":{},"化":{"docs":{},"过":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"e":{"docs":{},",":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"{":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},":":{"docs":{},"修":{"docs":{},"复":{"docs":{},"外":{"docs":{},"部":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"像":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"类":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},",":{"docs":{},"把":{"docs":{},"上":{"docs":{},"述":{"docs":{},"结":{"docs":{},"果":{"docs":{},"写":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"加":{"docs":{},"快":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"k":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},",":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"y":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"'":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{},"令":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":10.008973080757727},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"!":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}},"(":{"1":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}},"docs":{}},"5":{"0":{"docs":{},",":{"1":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}},"c":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"docs":{}}}},"[":{"1":{"3":{"9":{"9":{"7":{"docs":{},":":{"1":{"2":{"6":{"3":{"4":{"0":{"6":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"0":{"6":{"4":{"docs":{},":":{"3":{"7":{"5":{"5":{"2":{"8":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"7":{"2":{"5":{"docs":{},":":{"4":{"7":{"6":{"5":{"3":{"0":{"docs":{},"]":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"名":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"函":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"内":{"docs":{},"部":{"docs":{},"为":{"docs":{},"其":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"读":{"docs":{},"(":{"docs":{},"三":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"地":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"当":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"看":{"docs":{},"待":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"这":{"3":{"docs":{},"种":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"为":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"捕":{"docs":{},"获":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"局":{"docs":{},"部":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"是":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"以":{"docs":{},"及":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"有":{"3":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}},"本":{"docs":{},"质":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"上":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"有":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"面":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"要":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"变":{"docs":{},"量":{"docs":{},"名":{"docs":{},"访":{"docs":{},"问":{"docs":{},"就":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{},"跨":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"深":{"docs":{},"入":{"docs":{},"分":{"docs":{},"析":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"即":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"任":{"docs":{},"务":{"docs":{},"中":{"docs":{},"哪":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"要":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},".":{"docs":{},"先":{"docs":{},"分":{"docs":{},"派":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"队":{"docs":{},"列":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"结":{"docs":{},"束":{"docs":{},"又":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"又":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"等":{"docs":{},"事":{"docs":{},"件":{"docs":{},".":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"解":{"docs":{},"释":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"处":{"docs":{},"于":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"b":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028}}}}}}}}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}},",":{"docs":{},"b":{"docs":{},"⾥":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}},"、":{"docs":{},"c":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00821917808219178},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.01272264631043257}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"会":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"所":{"docs":{},"有":{"docs":{},"正":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"组":{"docs":{},"织":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"里":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},".":{"2":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},"q":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"l":{"docs":{},"e":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"存":{"docs":{},"放":{"docs":{},"为":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"即":{"docs":{},"常":{"docs":{},"说":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}},"f":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"b":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"d":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}},"d":{"0":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"1":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"2":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"3":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"8":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"9":{"docs":{},"d":{"4":{"8":{"8":{"4":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.021739130434782608},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.008298755186721992},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"创":{"docs":{},"建":{"docs":{},"动":{"docs":{},"画":{"docs":{},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}}}},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}},"a":{"docs":{},"y":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"f":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.022727272727272728},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915}},"i":{"docs":{},"n":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"首":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"3":{"docs":{},"个":{"docs":{},"分":{"docs":{},"页":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"docs":{}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.010178117048346057}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"标":{"docs":{},"志":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"在":{"docs":{},"释":{"docs":{},"放":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{},"元":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"子":{"docs":{},"类":{"docs":{},"不":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"对":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"过":{"docs":{},"来":{"docs":{},"就":{"docs":{},"是":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"s":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"m":{"docs":{},"o":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}},"[":{"9":{"1":{"1":{"0":{"7":{"docs":{},":":{"2":{"2":{"8":{"1":{"5":{"7":{"5":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"3":{"0":{"8":{"docs":{},":":{"2":{"3":{"0":{"3":{"0":{"3":{"0":{"docs":{},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.008571428571428572},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.004580152671755725}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"6":{"6":{"1":{"docs":{},":":{"2":{"3":{"3":{"1":{"2":{"9":{"6":{"docs":{},"]":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"6":{"4":{"docs":{},":":{"2":{"3":{"7":{"0":{"4":{"9":{"6":{"docs":{},"]":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.004580152671755725}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"{":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"s":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}},")":{"docs":{},"是":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"关":{"docs":{},"于":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"领":{"docs":{},"域":{"docs":{},"中":{"docs":{},"程":{"docs":{},"序":{"docs":{},"设":{"docs":{},"计":{"docs":{},"决":{"docs":{},"策":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"系":{"docs":{},"列":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"并":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"这":{"docs":{},"种":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"优":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"、":{"docs":{},"对":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"有":{"docs":{},"想":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"文":{"docs":{},"章":{"docs":{},"下":{"docs":{},"面":{"docs":{},"留":{"docs":{},"言":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"/":{"2":{"0":{"1":{"9":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"n":{"docs":{},"y":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}},"docs":{}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885}},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}},"创":{"docs":{},"建":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.007275666936135812}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.014551333872271624},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"创":{"docs":{},"建":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"}":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"y":{"docs":{},"(":{"1":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"docs":{}},"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"前":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"后":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"将":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"追":{"docs":{},"加":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"重":{"docs":{},"复":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"并":{"docs":{},"等":{"docs":{},"到":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"&":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"/":{"docs":{},"/":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"才":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},":":{"docs":{},"作":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"会":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}},"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"/":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}}}}}}}}}},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"成":{"docs":{},"对":{"docs":{},"出":{"docs":{},"现":{"docs":{},",":{"docs":{},"使":{"docs":{},"进":{"docs":{},"出":{"docs":{},"组":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"更":{"docs":{},"加":{"docs":{},"清":{"docs":{},"晰":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"受":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}},":":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"组":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"能":{"docs":{},"监":{"docs":{},"听":{"docs":{},"任":{"docs":{},"务":{"docs":{},"组":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"平":{"docs":{},"衡":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"e":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"docs":{},")":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{},"释":{"docs":{},"放":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},",":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"加":{"1":{"docs":{},"。":{"docs":{},"当":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},">":{"docs":{},"=":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{},"等":{"docs":{},"待":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},",":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"减":{"1":{"docs":{},"。":{"docs":{},"当":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"时":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},"间":{"docs":{},"决":{"docs":{},"定":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"—":{"docs":{},"—":{"docs":{},"如":{"docs":{},"果":{"docs":{},"永":{"docs":{},"久":{"docs":{},"等":{"docs":{},"待":{"docs":{},"将":{"docs":{},"等":{"docs":{},"到":{"docs":{},"信":{"docs":{},"号":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},"才":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"去":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"一":{"docs":{},"些":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{},"/":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"继":{"docs":{},"续":{"docs":{},"走":{"docs":{},"下":{"docs":{},"去":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"(":{"docs":{},"^":{"docs":{},"{":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"纯":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"]":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"他":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"若":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"则":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"走":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"就":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"看":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"(":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},")":{"docs":{},",":{"docs":{},"源":{"docs":{},"头":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},",":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"直":{"docs":{},"接":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},"丢":{"docs":{},"掉":{"docs":{},"等":{"docs":{},"待":{"docs":{},"最":{"docs":{},"久":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"3":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.004149377593360996}}}}}}}},"d":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"大":{"docs":{},"家":{"docs":{},"在":{"docs":{},"埋":{"docs":{},"点":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"还":{"docs":{},"有":{"docs":{},"这":{"docs":{},"个":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"把":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"时":{"docs":{},"间":{"docs":{},"算":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"e":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"为":{"docs":{},"何":{"docs":{},"第":{"docs":{},"一":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"总":{"docs":{},"要":{"docs":{},"获":{"docs":{},"取":{"docs":{},"图":{"docs":{},"形":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},":":{"docs":{},"]":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"配":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"与":{"docs":{},"此":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"中":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},"放":{"docs":{},"入":{"docs":{},"到":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},":":{"docs":{},"]":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"调":{"docs":{},"用":{"docs":{},"[":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0121580547112462},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.013054830287206266},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}},"/":{"docs":{},"/":{"docs":{},"数":{"docs":{},"据":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},",":{"docs":{},"读":{"docs":{},"写":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}},"r":{"docs":{},"k":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685}}}}}}}}}},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"属":{"docs":{},"性":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"了":{"docs":{},"。":{"docs":{},"总":{"docs":{},"之":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"情":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}},"o":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"e":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"n":{"docs":{},"’":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"'":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"e":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"分":{"docs":{},"析":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},".":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}}}}},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"w":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},".":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"事":{"docs":{},"件":{"docs":{},"也":{"docs":{},"提":{"docs":{},"前":{"docs":{},",":{"2":{"3":{"5":{"7":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"即":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.05555555555555555}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"按":{"docs":{},"需":{"docs":{},"加":{"docs":{},"载":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.011363636363636364}}}},")":{"docs":{},",":{"docs":{},"单":{"docs":{},"独":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"m":{"docs":{},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.010494752623688156}}},"y":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},")":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"y":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"由":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}},"?":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{},"加":{"docs":{},"载":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},")":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"3":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}}},"官":{"docs":{},"方":{"docs":{},"数":{"docs":{},"据":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"[":{"3":{"docs":{},"]":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"过":{"docs":{},"去":{"docs":{},"四":{"docs":{},"年":{"docs":{},"新":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"中":{"docs":{},"有":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"的":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},".":{"0":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"动":{"docs":{},"态":{"docs":{},"连":{"docs":{},"接":{"docs":{},"器":{"docs":{},")":{"docs":{},"的":{"docs":{},"更":{"docs":{},"新":{"docs":{},"对":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":10.012137559002023},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.047244094488188976},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.10283687943262411},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.011904761904761904}},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"f":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"1":{"docs":{},"/":{"docs":{},"*":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"docs":{}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"进":{"docs":{},"程":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},",":{"docs":{},"把":{"docs":{},"入":{"docs":{},"口":{"docs":{},"地":{"docs":{},"址":{"docs":{},"设":{"docs":{},"为":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"即":{"docs":{},"处":{"docs":{},"理":{"docs":{},"由":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"i":{"docs":{},"b":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0070921985815602835}},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"防":{"docs":{},"止":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493}}}}},"n":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}},"s":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"域":{"docs":{},"名":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"问":{"docs":{},"题":{"docs":{},"和":{"docs":{},"调":{"docs":{},"度":{"docs":{},"不":{"docs":{},"精":{"docs":{},"准":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"避":{"docs":{},"免":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}},".":{"5":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"=":{"1":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}},"docs":{}}}}}}},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"宏":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"宏":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"条":{"docs":{},"件":{"docs":{},"编":{"docs":{},"译":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.008865248226950355}},"、":{"docs":{},"d":{"docs":{},"l":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{},"、":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"、":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"s":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"能":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"真":{"docs":{},"的":{"docs":{},"关":{"docs":{},"闭":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}}}}}}}}},"e":{"7":{"7":{"6":{"docs":{},"f":{"5":{"6":{"docs":{},"b":{"3":{"docs":{},"e":{"6":{"0":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"1":{"0":{"3":{"0":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"2":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}},"c":{"docs":{},"e":{"docs":{},"c":{"8":{"0":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}},",":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"r":{"docs":{},"a":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356}},":":{"docs":{},"当":{"docs":{},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"值":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"值":{"docs":{},"减":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"扩":{"docs":{},"展":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"决":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"是":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"和":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"的":{"docs":{},"@":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"以":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"的":{"docs":{},"@":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"起":{"docs":{},"形":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"伴":{"docs":{},"随":{"docs":{},"类":{"docs":{},"的":{"docs":{},"产":{"docs":{},"生":{"docs":{},"而":{"docs":{},"产":{"docs":{},"生":{"docs":{},",":{"docs":{},"亦":{"docs":{},"随":{"docs":{},"之":{"docs":{},"一":{"docs":{},"起":{"docs":{},"消":{"docs":{},"亡":{"docs":{},"。":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"一":{"docs":{},"般":{"docs":{},"用":{"docs":{},"来":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"类":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"你":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"才":{"docs":{},"能":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"无":{"docs":{},"法":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"类":{"docs":{},"比":{"docs":{},"如":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"添":{"docs":{},"加":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"n":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"\\":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"缩":{"docs":{},"写":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{},"防":{"docs":{},"止":{"docs":{},"两":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"公":{"docs":{},"共":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"读":{"docs":{},"写":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{},"当":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"锁":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.010224948875255624},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"v":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"o":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}},"s":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.013986013986013986}},"交":{"docs":{},"互":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"做":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"做":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"本":{"docs":{},"文":{"docs":{},"中":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},"都":{"docs":{},"是":{"docs":{},"将":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"与":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"分":{"docs":{},"开":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"坐":{"docs":{},"标":{"docs":{},"是":{"docs":{},"以":{"docs":{},"浮":{"docs":{},"点":{"docs":{},"数":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"是":{"docs":{},"其":{"docs":{},"他":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"转":{"docs":{},"化":{"docs":{},"成":{"docs":{},"浮":{"docs":{},"点":{"docs":{},"型":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"指":{"docs":{},"令":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"层":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"层":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"层":{"docs":{},"等":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"混":{"docs":{},"合":{"docs":{},"产":{"docs":{},"生":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"并":{"docs":{},"切":{"docs":{},"换":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"实":{"docs":{},"践":{"docs":{},"指":{"docs":{},"南":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"卷":{"docs":{},"》":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"过":{"docs":{},"长":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"图":{"docs":{},"层":{"docs":{},"进":{"docs":{},"行":{"docs":{},"取":{"docs":{},"色":{"docs":{},",":{"docs":{},"采":{"docs":{},"样":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"图":{"docs":{},"层":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"被":{"docs":{},"上":{"docs":{},"传":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"中":{"docs":{},"。":{"docs":{},"当":{"docs":{},"你":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"生":{"docs":{},"成":{"docs":{},"和":{"docs":{},"着":{"docs":{},"色":{"docs":{},"。":{"docs":{},"生":{"docs":{},"成":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"显":{"docs":{},"示":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"的":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"频":{"docs":{},"率":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"以":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"为":{"docs":{},"标":{"docs":{},"准":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.017316017316017316}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"转":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"随":{"docs":{},"后":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"其":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},")":{"docs":{},"并":{"docs":{},"在":{"docs":{},"此":{"docs":{},"前":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"先":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}},"}":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"^":{"docs":{},"(":{"docs":{},"y":{"docs":{},"y":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"h":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"其":{"docs":{},"回":{"docs":{},"调":{"docs":{},"内":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"—":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"docs":{},"]":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},"\"":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}},"d":{"3":{"docs":{},"d":{"docs":{},"e":{"6":{"4":{"9":{"2":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}}}}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"l":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{},"目":{"docs":{},"录":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"docs":{}}}}}}}},"z":{"docs":{},"n":{"docs":{},"m":{"docs":{},"x":{"docs":{},"z":{"docs":{},"a":{"docs":{},"w":{"docs":{},"t":{"docs":{},"l":{"docs":{},"h":{"docs":{},"p":{"docs":{},"m":{"docs":{},"a":{"docs":{},"d":{"docs":{},"n":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"p":{"docs":{},"q":{"docs":{},"p":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"4":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"0":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"docs":{}}}},"f":{"8":{"docs":{},"c":{"4":{"docs":{},"a":{"6":{"2":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"b":{"docs":{},"c":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}},"x":{"docs":{},"m":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},":":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.017316017316017316}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},":":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"。":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"e":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"1":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{}}}}}}},"l":{"docs":{},"e":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.011441647597254004},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"(":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"写":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"窥":{"docs":{},"探":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}},"l":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{},"往":{"docs":{},"往":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.036231884057971016},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.025925925925925925},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},"等":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"运":{"docs":{},"行":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"来":{"docs":{},"链":{"docs":{},"接":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"资":{"docs":{},"源":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"读":{"docs":{},"取":{"docs":{},"方":{"docs":{},"式":{"docs":{},"无":{"docs":{},"法":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"新":{"docs":{},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"下":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{},"不":{"docs":{},"走":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"那":{"docs":{},"一":{"docs":{},"套":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"减":{"docs":{},"小":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"1":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"协":{"docs":{},"议":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"将":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{},"完":{"docs":{},"成":{"docs":{},"更":{"docs":{},"省":{"docs":{},"事":{"docs":{},"儿":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"高":{"docs":{},"阶":{"docs":{},"的":{"docs":{},"玩":{"docs":{},"法":{"docs":{},",":{"docs":{},"或":{"docs":{},"许":{"docs":{},"真":{"docs":{},"的":{"docs":{},"只":{"docs":{},"有":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"出":{"docs":{},"多":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"就":{"docs":{},"不":{"docs":{},"同":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"它":{"docs":{},"身":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"的":{"docs":{},"手":{"docs":{},"脚":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"不":{"docs":{},"光":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"此":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"还":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"入":{"docs":{},"参":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"要":{"docs":{},"和":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"简":{"docs":{},"单":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"用":{"docs":{},"于":{"docs":{},"复":{"docs":{},"合":{"docs":{},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},".":{"docs":{},"e":{"docs":{},"g":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"1":{"0":{"0":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"*":{"docs":{},")":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"{":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"循":{"docs":{},"环":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"才":{"docs":{},"会":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"才":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"休":{"docs":{},"眠":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"说":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"前":{"docs":{},"才":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"文":{"docs":{},"中":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"内":{"docs":{},"存":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},"内":{"docs":{},"存":{"docs":{},"暴":{"docs":{},"涨":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},",":{"docs":{},"手":{"docs":{},"动":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"多":{"docs":{},"次":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"身":{"docs":{},"上":{"docs":{},"挂":{"docs":{},"着":{"docs":{},"n":{"docs":{},"把":{"docs":{},"锁":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"无":{"docs":{},"法":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"—":{"docs":{},"—":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"出":{"docs":{},"口":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"符":{"docs":{},"合":{"docs":{},"的":{"docs":{},"就":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"”":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"?":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}},"框":{"docs":{},"架":{"docs":{},"下":{"docs":{},"关":{"docs":{},"于":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"5":{"docs":{},"个":{"docs":{},"类":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"源":{"docs":{},"码":{"docs":{},"来":{"docs":{},"一":{"docs":{},"探":{"docs":{},"究":{"docs":{},"竟":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"…":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},".":{"docs":{},"f":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"/":{"docs":{},"*":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}},"_":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"x":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},":":{"docs":{},"行":{"docs":{},"进":{"docs":{},"中":{"docs":{},"的":{"docs":{},"智":{"docs":{},"能":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"a":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.056818181818181816}},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}},"造":{"docs":{},"成":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"损":{"docs":{},"耗":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},")":{"docs":{},",":{"docs":{},"分":{"docs":{},"配":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"话":{"docs":{},"会":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},"因":{"docs":{},"此":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"数":{"docs":{},"据":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"影":{"docs":{},"响":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"将":{"docs":{},"指":{"docs":{},"令":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"验":{"docs":{},"签":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},".":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"=":{"0":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"项":{"docs":{},"目":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":10.010494752623687}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.008905852417302799},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"l":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}},"c":{"docs":{},"k":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},".":{"docs":{},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"采":{"docs":{},"用":{"docs":{},"非":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"编":{"docs":{},"程":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"\"":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"+":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"0":{"docs":{},"表":{"docs":{},"示":{"docs":{},"度":{"docs":{},"数":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"数":{"docs":{},",":{"docs":{},"n":{"2":{"docs":{},"表":{"docs":{},"示":{"docs":{},"度":{"docs":{},"数":{"docs":{},"为":{"2":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"数":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0071090047393364926},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.023809523809523808},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.009574468085106383},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.010638297872340425},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"因":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"无":{"docs":{},"需":{"docs":{},"取":{"docs":{},"消":{"docs":{},"注":{"docs":{},"册":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"会":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"类":{"docs":{},"名":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"强":{"docs":{},"制":{"docs":{},"要":{"docs":{},"求":{"docs":{},"额":{"docs":{},"外":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"缺":{"docs":{},"少":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"都":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"。":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"在":{"docs":{},"激":{"docs":{},"活":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"释":{"docs":{},"放":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"o":{"2":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0065005417118093175}},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"禁":{"docs":{},"止":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},".":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}},"n":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"和":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"对":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907}}}}}}},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"/":{"docs":{},"/":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"/":{"docs":{},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"/":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}},"w":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}}},",":{"docs":{},"则":{"docs":{},"结":{"docs":{},"束":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"和":{"docs":{},"在":{"docs":{},"不":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"要":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"响":{"docs":{},"应":{"docs":{},"交":{"docs":{},"互":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"将":{"docs":{},"属":{"docs":{},"性":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}},"d":{"docs":{},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{},"/":{"docs":{},")":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}},"p":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.005394470667565745}},"(":{"docs":{},"@":{"docs":{},"\"":{"0":{"docs":{},"x":{"docs":{},"%":{"6":{"docs":{},"l":{"docs":{},"x":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"docs":{}}}},"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}},"2":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}},"3":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}}}}}},"4":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"5":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.010967098703888335},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}}},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"%":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}}}}},"离":{"docs":{},"开":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"进":{"docs":{},"入":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"%":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"p":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},",":{"docs":{},"%":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}},"@":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"b":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"i":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}},"o":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"前":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"后":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"%":{"docs":{},"z":{"docs":{},"u":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"docs":{},"%":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885}}}}},"刷":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}},"延":{"docs":{},"迟":{"1":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}},"docs":{}}}}}},"2":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}},"docs":{}}}}}},"docs":{}}},"开":{"docs":{},"始":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}},"按":{"docs":{},"时":{"docs":{},"完":{"docs":{},"成":{"docs":{},"任":{"docs":{},"务":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}},"二":{"docs":{},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"@":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"一":{"docs":{},"完":{"docs":{},"成":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}},"二":{"docs":{},"完":{"docs":{},"成":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}},"超":{"docs":{},"时":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"2":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"3":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"docs":{}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"—":{"docs":{},"—":{"docs":{},"%":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}}}}}}}}}},"加":{"docs":{},"锁":{"docs":{},"前":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"后":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"没":{"docs":{},"有":{"docs":{},"收":{"docs":{},"据":{"docs":{},",":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"正":{"docs":{},"在":{"docs":{},"出":{"docs":{},"售":{"docs":{},"的":{"docs":{},"商":{"docs":{},"品":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"付":{"docs":{},"费":{"docs":{},"购":{"docs":{},"买":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423}},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"底":{"docs":{},"层":{"docs":{},"都":{"docs":{},"是":{"docs":{},"对":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"a":{"docs":{},"f":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"中":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}}}}}}}},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.044444444444444446},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0111731843575419},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},".":{"docs":{},"m":{"docs":{},"m":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"若":{"docs":{},"仍":{"docs":{},"未":{"docs":{},"找":{"docs":{},"着":{"docs":{},",":{"docs":{},"就":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"支":{"docs":{},"持":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"观":{"docs":{},"察":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}},"c":{"docs":{},"_":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00398406374501992}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"锁":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"只":{"docs":{},"是":{"docs":{},"无":{"docs":{},"脑":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"信":{"docs":{},"号":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"加":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"条":{"docs":{},"件":{"docs":{},"锁":{"docs":{},",":{"docs":{},"当":{"docs":{},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"和":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"类":{"docs":{},"似":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"锁":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"平":{"docs":{},"时":{"docs":{},"用":{"docs":{},"的":{"docs":{},"不":{"docs":{},"多":{"docs":{},",":{"docs":{},"但":{"docs":{},"与":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"相":{"docs":{},"似":{"docs":{},":":{"docs":{},"线":{"docs":{},"程":{"1":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"到":{"docs":{},"条":{"docs":{},"件":{"1":{"docs":{},"满":{"docs":{},"足":{"docs":{},"才":{"docs":{},"会":{"docs":{},"往":{"docs":{},"下":{"docs":{},"走":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"直":{"docs":{},"至":{"docs":{},"条":{"docs":{},"件":{"docs":{},"满":{"docs":{},"足":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"封":{"docs":{},"装":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"访":{"docs":{},"问":{"docs":{},"和":{"docs":{},"操":{"docs":{},"作":{"docs":{},"特":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},">":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},",":{"docs":{},"对":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},">":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}},"y":{"docs":{},"*":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075}}},"y":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"而":{"docs":{},"生":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"超":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"充":{"docs":{},"当":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"替":{"docs":{},"身":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"会":{"docs":{},"被":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"实":{"docs":{},"际":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"或":{"docs":{},"使":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},")":{"docs":{},"实":{"docs":{},"际":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"开":{"docs":{},"销":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"惰":{"docs":{},"性":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},",":{"docs":{},"类":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"两":{"docs":{},"种":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"主":{"docs":{},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"不":{"docs":{},"同":{"docs":{},"颜":{"docs":{},"色":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"到":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"a":{"docs":{},"。":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},"类":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"将":{"docs":{},"a":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"f":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"e":{"docs":{},"s":{"docs":{},"其":{"docs":{},"实":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"被":{"docs":{},"打":{"docs":{},"上":{"docs":{},"这":{"docs":{},"种":{"docs":{},"标":{"docs":{},"签":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"会":{"docs":{},"被":{"docs":{},"放":{"docs":{},"入":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"成":{"docs":{},"员":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"f":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"内":{"docs":{},"部":{"docs":{},"装":{"docs":{},"着":{"docs":{},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"c":{"docs":{},"\u0010":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"能":{"docs":{},"解":{"docs":{},"决":{"docs":{},"上":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"y":{"docs":{},"y":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"中":{"docs":{},"y":{"docs":{},"y":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"中":{"docs":{},"有":{"docs":{},"用":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.009296148738379814},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"要":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"回":{"docs":{},"调":{"docs":{},"回":{"docs":{},"来":{"docs":{},"线":{"docs":{},"程":{"docs":{},"已":{"docs":{},"经":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"无":{"docs":{},"法":{"docs":{},"做":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"3":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"能":{"docs":{},"指":{"docs":{},"定":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"_":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{},"e":{"docs":{},"的":{"docs":{},"个":{"docs":{},"人":{"docs":{},"博":{"docs":{},"客":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}},"w":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"docs":{}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}},":":{"docs":{},"所":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"即":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}}}}}}}}},".":{"docs":{},"m":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"3":{"docs":{},"。":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"]":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545}}},"]":{"docs":{},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005213764337851929},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}}}}}},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"链":{"docs":{},"表":{"docs":{},"中":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"e":{"docs":{},"d":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"(":{"docs":{},"*":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.012987012987012988}}},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"i":{"docs":{},"v":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}},"m":{"docs":{},"e":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.05982215036378335},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}},"@":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},",":{"docs":{},"简":{"docs":{},"称":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},")":{"docs":{},"!":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},",":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.02702702702702703}}}},"v":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"i":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.005417118093174431}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"4":{"4":{"3":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.03571428571428571}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"s":{"docs":{},"、":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"引":{"docs":{},"用":{"docs":{},"数":{"docs":{},"值":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"记":{"docs":{},"录":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"有":{"docs":{},"效":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},")":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"让":{"docs":{},"对":{"docs":{},"方":{"docs":{},"知":{"docs":{},"道":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"如":{"docs":{},"何":{"docs":{},"按":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"组":{"docs":{},"装":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"s":{"docs":{},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}},"l":{"docs":{},"l":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}}},"创":{"docs":{},"建":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"底":{"docs":{},"层":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"到":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.004648074369189907}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"n":{"docs":{},"。":{"docs":{},"将":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},"/":{"docs":{},"a":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"命":{"docs":{},"令":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{},"名":{"docs":{},"字":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"预":{"docs":{},"热":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0672782874617737}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.009174311926605505}}}}},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01529051987767584},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.012121212121212121}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}}}}}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},"耗":{"docs":{},"时":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"w":{"docs":{},"d":{"docs":{},"c":{"1":{"8":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"docs":{}},"2":{"0":{"1":{"4":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.014814814814814815},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"a":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"l":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"\"":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"t":{"docs":{},"h":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00851063829787234},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.005319148936170213}}},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.02027027027027027},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00851063829787234}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"其":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255}},"e":{"docs":{},";":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"_":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.016891891891891893},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"(":{"docs":{},"&":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":10}},"e":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"以":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"总":{"docs":{},"结":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}},"置":{"docs":{},"空":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"修":{"docs":{},"饰":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"会":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},"(":{"docs":{},"也":{"docs":{},"称":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"值":{"docs":{},"是":{"docs":{},"所":{"docs":{},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},")":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{},"(":{"docs":{},"备":{"docs":{},"注":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"l":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"指":{"docs":{},"向":{"docs":{},"或":{"docs":{},"者":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"指":{"docs":{},"向":{"docs":{},"⼀":{"docs":{},"个":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"对":{"docs":{},"外":{"docs":{},"界":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"或":{"docs":{},"者":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},")":{"docs":{},"又":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"一":{"docs":{},"份":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"b":{"docs":{},"p":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}}},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"*":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"循":{"docs":{},"环":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"y":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"'":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"操":{"docs":{},"作":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"使":{"docs":{},"其":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"直":{"docs":{},"至":{"docs":{},"超":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},"立":{"docs":{},"即":{"docs":{},"释":{"docs":{},"放":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"法":{"docs":{},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"重":{"docs":{},"传":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"+":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"次":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"则":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"法":{"docs":{},"正":{"docs":{},"常":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"自":{"docs":{},"行":{"docs":{},"修":{"docs":{},"正":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"docs":{}}},"docs":{}}}}}}}},"n":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}}},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"警":{"docs":{},"告":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"制":{"docs":{},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"选":{"docs":{},"项":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"l":{"docs":{},",":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.005952380952380952}}}}},"y":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"s":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"隐":{"docs":{},"藏":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},".":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"存":{"docs":{},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"新":{"docs":{},"建":{"docs":{},"下":{"docs":{},"载":{"docs":{},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},":":{"docs":{},"先":{"docs":{},"确":{"docs":{},"认":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"原":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"编":{"docs":{},"译":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"*":{"docs":{},"/":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}},"t":{"docs":{},".":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"a":{"docs":{},"r":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":10.007109004739336}},"e":{"docs":{},"r":{"docs":{},"基":{"docs":{},"于":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},".":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"是":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"管":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"回":{"docs":{},"调":{"docs":{},"将":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},",":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"里":{"docs":{},"面":{"docs":{},"写":{"docs":{},"业":{"docs":{},"务":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"何":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"也":{"docs":{},"先":{"docs":{},"不":{"docs":{},"用":{"docs":{},"管":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"判":{"docs":{},"断":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"提":{"docs":{},"前":{"docs":{},"结":{"docs":{},"束":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996}},".":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.011848341232227487}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},".":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"将":{"docs":{},"其":{"docs":{},"强":{"docs":{},"转":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}}}}}}}},"{":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.03162055335968379},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.01892744479495268},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.04391891891891892},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.04042553191489362},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.024793388429752067},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01929260450160772},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.0514018691588785},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.018571428571428572},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.031904287138584245},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.04924242424242424},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.025333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.05005213764337852},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.015359741309620048},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.05597964376590331},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.052054794520547946},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.024881516587677725},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.053973013493253376},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.05319148936170213},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.025896414342629483},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.012137559002022926},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.023923444976076555},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.046511627906976744},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.022727272727272728},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.04580152671755725},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.016793893129770993},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.034916201117318434},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.012633624878522837},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.05336426914153132},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.021212121212121213},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"/":{"docs":{},"倒":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"最":{"docs":{},"先":{"docs":{},"访":{"docs":{},"问":{"docs":{},"最":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"传":{"docs":{},"值":{"docs":{},"不":{"docs":{},"是":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"开":{"docs":{},"始":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"池":{"docs":{},"子":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}},"}":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"中":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"嵌":{"docs":{},"套":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"按":{"docs":{},"照":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"拆":{"docs":{},"解":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"层":{"docs":{},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.021018593371059015}}}}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.015665796344647518}},"\\":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"}":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.01834862385321101},"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.03162055335968379},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.015772870662460567},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.010135135135135136},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.035106382978723406},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.012861736334405145},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.05841121495327103},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.017142857142857144},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.03873239436619718},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.03090727816550349},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.026515151515151516},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.03},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.02266666666666667},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.05005213764337852},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0064672594987873885},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.03684210526315789},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.05725190839694656},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.04657534246575343},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.02014218009478673},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.050974512743628186},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.05319148936170213},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.023240371845949535},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.014160485502360081},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.019138755980861243},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.022222222222222223},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.012618296529968454},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.06976744186046512},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.04580152671755725},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.022137404580152672},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0335195530726257},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.010689990281827016},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.05336426914153132},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.024242424242424242},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"2":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"3":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"docs":{}}}}}}},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.02027027027027027},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.01652892561983471},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.01296111665004985},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.005479452054794521},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"/":{"docs":{},"/":{"docs":{},"临":{"docs":{},"时":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"结":{"docs":{},"束":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"{":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0137429264349232},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.042105263157894736},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.008293838862559242},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"它":{"docs":{},"会":{"docs":{},"给":{"docs":{},"有":{"docs":{},"内":{"docs":{},"容":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"之":{"docs":{},"前":{"docs":{},"就":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"保":{"docs":{},"存":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"节":{"docs":{},"省":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"编":{"docs":{},"码":{"docs":{},"(":{"docs":{},"压":{"docs":{},"缩":{"docs":{},")":{"docs":{},"后":{"docs":{},"再":{"docs":{},"进":{"docs":{},"行":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"为":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"成":{"docs":{},"位":{"docs":{},"图":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"它":{"docs":{},"与":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"堆":{"docs":{},"是":{"docs":{},"两":{"docs":{},"回":{"docs":{},"事":{"docs":{},",":{"docs":{},"分":{"docs":{},"配":{"docs":{},"方":{"docs":{},"式":{"docs":{},"倒":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"链":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"编":{"docs":{},"号":{"docs":{},"和":{"docs":{},"上":{"docs":{},"文":{"docs":{},"的":{"docs":{},"编":{"docs":{},"号":{"docs":{},"对":{"docs":{},"应":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"[":{"docs":{},"注":{"docs":{},"意":{"docs":{},"是":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"中":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"也":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},")":{"docs":{},"]":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"选":{"docs":{},"择":{"docs":{},"序":{"docs":{},"号":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"在":{"docs":{},"于":{"docs":{},"防":{"docs":{},"止":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"中":{"docs":{},"被":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"的":{"docs":{},"分":{"docs":{},"组":{"docs":{},"在":{"docs":{},"以":{"docs":{},"后":{"docs":{},"又":{"docs":{},"被":{"docs":{},"传":{"docs":{},"送":{"docs":{},",":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"某":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"一":{"docs":{},"方":{"docs":{},"对":{"docs":{},"它":{"docs":{},"做":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},">":{"docs":{},"=":{"1":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"docs":{}}}}},"即":{"docs":{},"o":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"超":{"docs":{},"出":{"docs":{},"新":{"docs":{},"长":{"docs":{},"度":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{},"触":{"docs":{},"点":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"峰":{"docs":{},"值":{"docs":{},"时":{"docs":{},"候":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"被":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"设":{"docs":{},"置":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"同":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"上":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"中":{"docs":{},"相":{"docs":{},"同":{"docs":{},"名":{"docs":{},"字":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"扩":{"docs":{},"展":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"、":{"docs":{},"不":{"docs":{},"同":{"docs":{},"机":{"docs":{},"型":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"均":{"docs":{},"有":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"排":{"docs":{},"除":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{},"只":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"机":{"docs":{},"型":{"docs":{},"或":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"产":{"docs":{},"品":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"形":{"docs":{},"态":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"首":{"docs":{},"页":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"就":{"docs":{},"是":{"docs":{},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"播":{"docs":{},"放":{"docs":{},";":{"docs":{},"对":{"docs":{},"其":{"docs":{},"他":{"docs":{},"首":{"docs":{},"页":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"该":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"暂":{"docs":{},"停":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"提":{"docs":{},"交":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"哲":{"docs":{},"学":{"docs":{},"就":{"docs":{},"与":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"配":{"docs":{},"新":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"分":{"docs":{},"配":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"可":{"docs":{},"变":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"流":{"docs":{},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{},"和":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}},"性":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"用":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"可":{"docs":{},"见":{"docs":{},"没":{"docs":{},"关":{"docs":{},"系":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"改":{"docs":{},"变":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}},"管":{"docs":{},"是":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"还":{"docs":{},"是":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"、":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"重":{"docs":{},"新":{"docs":{},"分":{"docs":{},"配":{"docs":{},"、":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"扩":{"docs":{},"展":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"非":{"docs":{},"o":{"docs":{},"c":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"条":{"docs":{},"件":{"docs":{},"—":{"docs":{},"—":{"docs":{},"i":{"docs":{},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},"接":{"docs":{},"收":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"i":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"给":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"论":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"内":{"docs":{},"存":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"顺":{"docs":{},"利":{"docs":{},"访":{"docs":{},"问":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"变":{"docs":{},"量":{"docs":{},".":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"做":{"docs":{},"成":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"呢":{"docs":{},",":{"docs":{},"做":{"docs":{},"成":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"还":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"多":{"docs":{},"费":{"docs":{},"事":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"多":{"docs":{},"继":{"docs":{},"承":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"观":{"docs":{},"察":{"docs":{},"值":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}},"会":{"docs":{},"启":{"docs":{},"动":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"等":{"docs":{},"待":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"与":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"发":{"docs":{},"生":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"保":{"docs":{},"证":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"上":{"docs":{},"有":{"docs":{},"且":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"满":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"用":{"docs":{},"等":{"docs":{},"待":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"句":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"语":{"docs":{},"句":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"我":{"docs":{},"从":{"docs":{},"来":{"docs":{},"不":{"docs":{},"会":{"docs":{},"只":{"docs":{},"讲":{"docs":{},"原":{"docs":{},"理":{"docs":{},"不":{"docs":{},"留":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"已":{"docs":{},"经":{"docs":{},"将":{"docs":{},"我":{"docs":{},"司":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"整":{"docs":{},"理":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"拽":{"docs":{},"到":{"docs":{},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"开":{"docs":{},"始":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"过":{"docs":{},"是":{"docs":{},"初":{"docs":{},"始":{"docs":{},"配":{"docs":{},"置":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"装":{"docs":{},"入":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},",":{"docs":{},"与":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"在":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"像":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"那":{"docs":{},"样":{"docs":{},",":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"着":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"着":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"使":{"docs":{},"用":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"要":{"docs":{},"说":{"docs":{},",":{"docs":{},"单":{"docs":{},"单":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"面":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"比":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"快":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"着":{"docs":{},"急":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"指":{"docs":{},"向":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"四":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"退":{"docs":{},"出":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"三":{"docs":{},"行":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}},"等":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"止":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"你":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}},"对":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"接":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"擅":{"docs":{},"长":{"docs":{},"做":{"docs":{},"这":{"docs":{},"件":{"docs":{},"事":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"它":{"docs":{},",":{"docs":{},"就":{"docs":{},"误":{"docs":{},"以":{"docs":{},"为":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"的":{"docs":{},"说":{"docs":{},"法":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"宜":{"docs":{},"占":{"docs":{},"用":{"docs":{},"太":{"docs":{},"多":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"界":{"docs":{},"面":{"docs":{},"打":{"docs":{},"开":{"docs":{},"产":{"docs":{},"生":{"docs":{},"负":{"docs":{},"面":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"断":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"平":{"docs":{},"台":{"docs":{},"和":{"docs":{},"架":{"docs":{},"构":{"docs":{},":":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}}}}}}}}}}}}}}},"只":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"直":{"docs":{},"接":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"着":{"docs":{},"重":{"docs":{},"于":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"大":{"docs":{},"致":{"docs":{},"为":{"docs":{},"以":{"docs":{},"下":{"docs":{},"职":{"docs":{},"能":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"又":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"关":{"docs":{},"系":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"等":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}},"其":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"结":{"docs":{},"构":{"docs":{},"组":{"docs":{},"合":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"。":{"docs":{},"更":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"他":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"对":{"docs":{},"比":{"docs":{},"文":{"docs":{},"章":{"docs":{},"和":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"着":{"docs":{},"相":{"docs":{},"当":{"docs":{},"久":{"docs":{},"的":{"docs":{},"年":{"docs":{},"头":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"目":{"docs":{},"前":{"docs":{},"面":{"docs":{},"对":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"场":{"docs":{},"景":{"docs":{},"与":{"docs":{},"几":{"docs":{},"年":{"docs":{},"前":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"也":{"docs":{},"各":{"docs":{},"自":{"docs":{},"演":{"docs":{},"化":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"作":{"docs":{},"者":{"docs":{},"始":{"docs":{},"终":{"docs":{},"认":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"离":{"docs":{},"屏":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"页":{"docs":{},"面":{"docs":{},"绑":{"docs":{},"定":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"中":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01607717041800643},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},",":{"docs":{},"属":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"均":{"docs":{},"为":{"docs":{},"空":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"式":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"更":{"docs":{},"新":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"调":{"docs":{},"整":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"、":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},"多":{"docs":{},"张":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"缓":{"docs":{},"存":{"docs":{},"判":{"docs":{},"断":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"判":{"docs":{},"断":{"docs":{},"了":{"docs":{},"其":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{},",":{"docs":{},"无":{"docs":{},"效":{"docs":{},"直":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"往":{"docs":{},"深":{"docs":{},"层":{"docs":{},"调":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"元":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"间":{"docs":{},"就":{"docs":{},"不":{"docs":{},"能":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},",":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"两":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"?":{"docs":{},"以":{"docs":{},"及":{"docs":{},"出":{"docs":{},"现":{"docs":{},"继":{"docs":{},"承":{"docs":{},"时":{"docs":{},"他":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"个":{"docs":{},"段":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"二":{"docs":{},"级":{"docs":{},"划":{"docs":{},"分":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"仅":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"我":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"画":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"强":{"docs":{},"转":{"docs":{},"风":{"docs":{},"险":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"那":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"继":{"docs":{},"承":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"被":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"修":{"docs":{},"饰":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"为":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"指":{"docs":{},"针":{"docs":{},"中":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"规":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"被":{"docs":{},"抛":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"好":{"docs":{},"处":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"万":{"docs":{},"一":{"docs":{},"发":{"docs":{},"版":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"可":{"docs":{},"以":{"docs":{},"及":{"docs":{},"时":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"别":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"避":{"docs":{},"免":{"docs":{},"或":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"试":{"docs":{},"这":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"展":{"docs":{},"示":{"docs":{},"出":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"就":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{},"视":{"docs":{},"图":{"docs":{},"们":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"有":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"设":{"docs":{},"置":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"读":{"docs":{},"取":{"docs":{},"生":{"docs":{},"成":{"docs":{},"好":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},",":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"已":{"docs":{},"标":{"docs":{},"标":{"docs":{},"记":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"些":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"其":{"docs":{},"成":{"docs":{},"员":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"自":{"docs":{},"己":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"对":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"有":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"直":{"docs":{},"等":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},"前":{"docs":{},"面":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"它":{"docs":{},"真":{"docs":{},"正":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"甚":{"docs":{},"至":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"滚":{"docs":{},"动":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"变":{"docs":{},"化":{"docs":{},"都":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"每":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"主":{"docs":{},"存":{"docs":{},"和":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"搜":{"docs":{},"索":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"选":{"docs":{},"择":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"采":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"类":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"默":{"docs":{},"认":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"是":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"曾":{"docs":{},"发":{"docs":{},"生":{"docs":{},"过":{"docs":{},"好":{"docs":{},"几":{"docs":{},"次":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"改":{"docs":{},"别":{"docs":{},"人":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"改":{"docs":{},"出":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"(":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"严":{"docs":{},"格":{"docs":{},"且":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"代":{"docs":{},"码":{"docs":{},"更":{"docs":{},"加":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"符":{"docs":{},"合":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"常":{"docs":{},"常":{"docs":{},"会":{"docs":{},"让":{"docs":{},"刚":{"docs":{},"接":{"docs":{},"手":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"都":{"docs":{},"有":{"docs":{},"值":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"值":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"子":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"该":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"也":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"用":{"docs":{},"额":{"docs":{},"外":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"没":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"父":{"docs":{},"类":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"重":{"docs":{},"写":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"子":{"docs":{},"类":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"重":{"docs":{},"写":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"多":{"docs":{},"个":{"docs":{},"便":{"docs":{},"利":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"多":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"源":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"最":{"docs":{},"好":{"docs":{},"只":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"缺":{"docs":{},"失":{"docs":{},"符":{"docs":{},"号":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"从":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"给":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"首":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"符":{"docs":{},"号":{"docs":{},"时":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}},"两":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"并":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"声":{"docs":{},"明":{"docs":{},"其":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"接":{"docs":{},"触":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}},"口":{"docs":{},"改":{"docs":{},"变":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"成":{"docs":{},"本":{"docs":{},"很":{"docs":{},"低":{"docs":{},",":{"docs":{},"改":{"docs":{},"起":{"docs":{},"来":{"docs":{},"很":{"docs":{},"快":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"始":{"docs":{},"思":{"docs":{},"考":{"docs":{},"之":{"docs":{},"前":{"docs":{},"追":{"docs":{},"求":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"是":{"docs":{},"否":{"docs":{},"适":{"docs":{},"合":{"docs":{},"当":{"docs":{},"前":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"实":{"docs":{},"际":{"docs":{},"价":{"docs":{},"值":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"计":{"docs":{},"数":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"类":{"docs":{},"结":{"docs":{},"构":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"以":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"层":{"docs":{},"面":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"这":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"字":{"docs":{},"段":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"对":{"docs":{},"于":{"docs":{},"基":{"docs":{},"类":{"docs":{},"则":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"(":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},"省":{"docs":{},"略":{"docs":{},")":{"docs":{},":":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"了":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}},"更":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}},"说":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"添":{"docs":{},"加":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"利":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"取":{"docs":{},"出":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"同":{"docs":{},"步":{"docs":{},"或":{"docs":{},"者":{"docs":{},"异":{"docs":{},"步":{"docs":{},"地":{"docs":{},"执":{"docs":{},"行":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"先":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"取":{"docs":{},"不":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"了":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"s":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"就":{"docs":{},"算":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"野":{"docs":{},"指":{"docs":{},"针":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"出":{"docs":{},"的":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"库":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"由":{"docs":{},"调":{"docs":{},"整":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}},"看":{"docs":{},"到":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"来":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"定":{"docs":{},"制":{"docs":{},"化":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"出":{"docs":{},"了":{"docs":{},"官":{"docs":{},"方":{"docs":{},"计":{"docs":{},"算":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"叫":{"docs":{},"做":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"继":{"docs":{},"续":{"docs":{},"添":{"docs":{},"加":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"预":{"docs":{},"设":{"docs":{},"一":{"docs":{},"些":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"当":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"向":{"docs":{},"左":{"docs":{},"在":{"docs":{},"向":{"docs":{},"右":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"对":{"docs":{},"于":{"docs":{},"如":{"docs":{},"何":{"docs":{},"选":{"docs":{},"择":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"策":{"docs":{},"略":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"实":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"改":{"docs":{},"进":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"导":{"docs":{},"致":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"到":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},")":{"docs":{},"中":{"docs":{},"有":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"自":{"docs":{},"动":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"根":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"发":{"docs":{},"版":{"docs":{},"节":{"docs":{},"奏":{"docs":{},"也":{"docs":{},"基":{"docs":{},"本":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"多":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"。":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"对":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"将":{"docs":{},"会":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"新":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"链":{"docs":{},"接":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"数":{"docs":{},"量":{"docs":{},"不":{"docs":{},"会":{"docs":{},"很":{"docs":{},"多":{"docs":{},"(":{"docs":{},"我":{"docs":{},"们":{"docs":{},"几":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"多":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"修":{"docs":{},"改":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"要":{"docs":{},"多":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},"、":{"docs":{},"打":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"以":{"docs":{},"及":{"docs":{},"集":{"docs":{},"成":{"docs":{},"测":{"docs":{},"试":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"很":{"docs":{},"不":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"放":{"docs":{},"入":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"将":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"叫":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"层":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"危":{"docs":{},"险":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"存":{"docs":{},"在":{"docs":{},"某":{"docs":{},"几":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"特":{"docs":{},"别":{"docs":{},"地":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"宽":{"docs":{},"松":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"按":{"docs":{},"照":{"docs":{},"规":{"docs":{},"则":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"但":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"隐":{"docs":{},"患":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"些":{"docs":{},"行":{"docs":{},"为":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"和":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"能":{"docs":{},"被":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"能":{"docs":{},"提":{"docs":{},"升":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"链":{"docs":{},"接":{"docs":{},":":{"docs":{},"x":{"docs":{},"u":{"docs":{},"e":{"docs":{},"z":{"docs":{},"h":{"docs":{},"u":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"勾":{"docs":{},"选":{"docs":{},"任":{"docs":{},"何":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"仅":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"张":{"docs":{},"背":{"docs":{},"景":{"docs":{},"图":{"docs":{},",":{"docs":{},"给":{"docs":{},"其":{"docs":{},"设":{"docs":{},"置":{"docs":{},"约":{"docs":{},"束":{"docs":{},"铺":{"docs":{},"满":{"docs":{},"全":{"docs":{},"屏":{"docs":{},",":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"时":{"docs":{},"正":{"docs":{},"常":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"但":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"时":{"docs":{},"就":{"docs":{},"异":{"docs":{},"常":{"docs":{},"了":{"docs":{},"。":{"docs":{},"(":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"系":{"docs":{},"统":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"锁":{"docs":{},"定":{"docs":{},",":{"docs":{},"参":{"docs":{},"考":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"淘":{"docs":{},"宝":{"docs":{},"及":{"docs":{},"微":{"docs":{},"信":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},")":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"生":{"docs":{},"成":{"docs":{},"四":{"docs":{},"张":{"docs":{},"截":{"docs":{},"图":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"、":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"、":{"docs":{},"深":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"、":{"docs":{},"深":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},"下":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"竖":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"决":{"docs":{},"定":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"响":{"docs":{},"应":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"链":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"机":{"docs":{},"制":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"由":{"docs":{},":":{"docs":{},"响":{"docs":{},"应":{"docs":{},"连":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"长":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"处":{"docs":{},"理":{"docs":{},"机":{"docs":{},"制":{"docs":{},"与":{"docs":{},"图":{"docs":{},"像":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}},"并":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"循":{"docs":{},"环":{"docs":{},"指":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"消":{"docs":{},"息":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"资":{"docs":{},"源":{"docs":{},"占":{"docs":{},"用":{"docs":{},",":{"docs":{},"有":{"docs":{},"消":{"docs":{},"息":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},",":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"退":{"docs":{},"出":{"docs":{},"一":{"docs":{},"直":{"docs":{},"保":{"docs":{},"活":{"docs":{},"。":{"docs":{},"直":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"到":{"docs":{},"来":{"docs":{},"后":{"docs":{},"先":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"过":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"后":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"向":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"整":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"能":{"docs":{},"够":{"docs":{},"处":{"docs":{},"理":{"docs":{},"当":{"docs":{},"前":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"取":{"docs":{},"消":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"控":{"docs":{},"制":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"转":{"docs":{},"发":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}},"逐":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"在":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"会":{"docs":{},"分":{"docs":{},"配":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"着":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"也":{"docs":{},"会":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"当":{"docs":{},"事":{"docs":{},"件":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"则":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"3":{"2":{"docs":{},"位":{"docs":{},"迁":{"docs":{},"移":{"docs":{},"到":{"6":{"4":{"docs":{},"位":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"上":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"所":{"docs":{},"占":{"docs":{},"有":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"却":{"docs":{},"会":{"docs":{},"翻":{"docs":{},"倍":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"以":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"看":{"docs":{},"出":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"底":{"docs":{},"到":{"docs":{},"高":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"倒":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"上":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"探":{"docs":{},"测":{"docs":{},"链":{"docs":{},"是":{"docs":{},"最":{"docs":{},"先":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"后":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"i":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"比":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"正":{"docs":{},"常":{"docs":{},"操":{"docs":{},"作":{"docs":{},"慢":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"广":{"docs":{},"阔":{"docs":{},"的":{"docs":{},"视":{"docs":{},"角":{"docs":{},"看":{"docs":{},",":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"也":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"而":{"docs":{},"能":{"docs":{},"否":{"docs":{},"保":{"docs":{},"证":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"既":{"docs":{},"然":{"docs":{},"当":{"docs":{},"前":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"就":{"docs":{},"要":{"docs":{},"从":{"docs":{},"头":{"docs":{},"开":{"docs":{},"始":{"docs":{},"构":{"docs":{},"建":{"docs":{},"这":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"新":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"回":{"docs":{},"调":{"docs":{},"出":{"docs":{},"去":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{},"就":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"操":{"docs":{},"作":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"请":{"docs":{},"求":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"回":{"docs":{},"来":{"docs":{},"后":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"t":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"即":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"是":{"docs":{},"在":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"只":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"已":{"docs":{},"经":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"质":{"docs":{},"还":{"docs":{},"是":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"和":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"合":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"述":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"都":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"得":{"docs":{},"出":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"看":{"docs":{},"出":{"docs":{},"整":{"docs":{},"体":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"表":{"docs":{},"外":{"docs":{},"层":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"数":{"docs":{},"组":{"docs":{},"里":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"精":{"docs":{},"简":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"方":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"给":{"docs":{},"出":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"俩":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"看":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"而":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"图":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"注":{"docs":{},"册":{"docs":{},"前":{"docs":{},"后":{"docs":{},"f":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"没":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"低":{"docs":{},"姿":{"docs":{},"态":{"docs":{},"”":{"docs":{},"侵":{"docs":{},"入":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"又":{"docs":{},"走":{"docs":{},"到":{"docs":{},"了":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"去":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"根":{"docs":{},"据":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"获":{"docs":{},"取":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"别":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{},"面":{"docs":{},"拿":{"docs":{},",":{"docs":{},"将":{"docs":{},"线":{"docs":{},"程":{"docs":{},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"从":{"docs":{},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{},"获":{"docs":{},"取":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"中":{"docs":{},"醒":{"docs":{},"来":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"指":{"docs":{},"针":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"个":{"docs":{},"向":{"docs":{},"前":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"时":{"docs":{},"压":{"docs":{},"入":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"为":{"docs":{},"止":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"事":{"docs":{},"务":{"docs":{},"性":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"行":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"写":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"已":{"docs":{},"经":{"docs":{},"内":{"docs":{},"建":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"支":{"docs":{},"持":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"来":{"docs":{},"看":{"docs":{},"就":{"docs":{},"是":{"docs":{},"对":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"封":{"docs":{},"装":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"注":{"docs":{},"释":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}},"名":{"docs":{},"字":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"从":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"提":{"docs":{},"供":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"读":{"docs":{},"取":{"docs":{},"之":{"docs":{},"后":{"docs":{},"提":{"docs":{},"供":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"是":{"docs":{},"从":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{},"梳":{"docs":{},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"定":{"docs":{},"义":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"知":{"docs":{},":":{"docs":{},"当":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"整":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"则":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"a":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"a":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"左":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"结":{"docs":{},"点":{"docs":{},"b":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"b":{"docs":{},";":{"docs":{},"继":{"docs":{},"续":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"a":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},"是":{"docs":{},"在":{"docs":{},"原":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"上":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"移":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"(":{"docs":{},"称":{"docs":{},"“":{"docs":{},"就":{"docs":{},"地":{"docs":{},"排":{"docs":{},"序":{"docs":{},"”":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"需":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"的":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"空":{"docs":{},"间":{"docs":{},"跟":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"规":{"docs":{},"模":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"空":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"为":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"即":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"算":{"docs":{},"法":{"docs":{},"在":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"要":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"索":{"docs":{},"引":{"docs":{},"j":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"排":{"docs":{},"序":{"docs":{},"结":{"docs":{},"束":{"docs":{},"了":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"这":{"docs":{},"个":{"docs":{},"算":{"docs":{},"法":{"docs":{},"已":{"docs":{},"经":{"docs":{},"满":{"docs":{},"足":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"也":{"docs":{},"已":{"docs":{},"经":{"docs":{},"加":{"docs":{},"上":{"docs":{},"了":{"docs":{},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"我":{"docs":{},"想":{"docs":{},"大":{"docs":{},"家":{"docs":{},"应":{"docs":{},"该":{"docs":{},"都":{"docs":{},"能":{"docs":{},"看":{"docs":{},"懂":{"docs":{},"。":{"docs":{},"只":{"docs":{},"要":{"docs":{},"记":{"docs":{},"住":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"点":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"在":{"docs":{},"重":{"docs":{},"复":{"docs":{},"说":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"查":{"docs":{},"询":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"购":{"docs":{},"买":{"docs":{},"的":{"docs":{},"产":{"docs":{},"品":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"有":{"docs":{},"两":{"docs":{},"处":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"数":{"docs":{},"据":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"显":{"docs":{},"著":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"从":{"docs":{},"点":{"docs":{},"击":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"大":{"docs":{},"概":{"docs":{},"节":{"docs":{},"省":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"今":{"docs":{},"年":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"角":{"docs":{},"度":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"配":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"向":{"docs":{},"前":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"中":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"后":{"docs":{},",":{"docs":{},"并":{"docs":{},"继":{"docs":{},"续":{"docs":{},"调":{"docs":{},"用":{"docs":{},"返":{"docs":{},"回":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"不":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"或":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"视":{"docs":{},"图":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"了":{"docs":{},"解":{"docs":{},"到":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"后":{"docs":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"下":{"docs":{},"的":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"更":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"(":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"会":{"docs":{},"强":{"docs":{},"行":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},"串":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"结":{"docs":{},"果":{"docs":{},"?":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"啥":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"阅":{"docs":{},"读":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"因":{"docs":{},"素":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"速":{"docs":{},"度":{"docs":{},"造":{"docs":{},"成":{"docs":{},"影":{"docs":{},"响":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"无":{"docs":{},"权":{"docs":{},"限":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"及":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"他":{"docs":{},"的":{"docs":{},"子":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"们":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"剖":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"并":{"docs":{},"更":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"为":{"docs":{},"例":{"docs":{},"。":{"docs":{},"当":{"docs":{},"其":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"查":{"docs":{},"找":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"。":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"派":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"对":{"docs":{},"该":{"docs":{},"题":{"docs":{},"简":{"docs":{},"单":{"docs":{},"回":{"docs":{},"答":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"以":{"docs":{},"及":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"和":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"均":{"docs":{},"无":{"docs":{},"法":{"docs":{},"挽":{"docs":{},"救":{"docs":{},"就":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"并":{"docs":{},"报":{"docs":{},"错":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"三":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"是":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"非":{"docs":{},"常":{"docs":{},"影":{"docs":{},"响":{"docs":{},"它":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"体":{"docs":{},"验":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"型":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"三":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},"两":{"docs":{},"点":{"docs":{},"思":{"docs":{},"路":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{},".":{"docs":{},"x":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"docs":{}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"在":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"会":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"事":{"docs":{},"件":{"docs":{},"丢":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"给":{"docs":{},"查":{"docs":{},"号":{"docs":{},"台":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}},"其":{"docs":{},"使":{"docs":{},"用":{"docs":{},"成":{"docs":{},"本":{"docs":{},"成":{"docs":{},"为":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"用":{"docs":{},"户":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},"却":{"docs":{},"一":{"docs":{},"直":{"docs":{},"成":{"docs":{},"为":{"docs":{},"他":{"docs":{},"人":{"docs":{},"的":{"docs":{},"诟":{"docs":{},"病":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"代":{"docs":{},"码":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"明":{"docs":{},"文":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"写":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"很":{"docs":{},"危":{"docs":{},"险":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"长":{"docs":{},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"抖":{"docs":{},"音":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"感":{"docs":{},"受":{"docs":{},"到":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"倒":{"docs":{},"序":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"如":{"docs":{},"此":{"docs":{},"反":{"docs":{},"复":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"接":{"docs":{},"受":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"有":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"就":{"docs":{},"是":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"常":{"docs":{},"量":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"身":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"在":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},";":{"docs":{},"而":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"等":{"docs":{},"待":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"再":{"docs":{},"也":{"docs":{},"等":{"docs":{},"待":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"两":{"docs":{},"个":{"docs":{},"宏":{"docs":{},"定":{"docs":{},"义":{"docs":{},"去":{"docs":{},"取":{"docs":{},"得":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"—":{"docs":{},"—":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"密":{"docs":{},"是":{"docs":{},"大":{"docs":{},"头":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"浅":{"docs":{},"色":{"docs":{},"结":{"docs":{},"点":{"docs":{},"表":{"docs":{},"示":{"docs":{},"结":{"docs":{},"点":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"图":{"3":{"docs":{},".":{"8":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"9":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},",":{"docs":{},"∧":{"docs":{},"表":{"docs":{},"示":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"此":{"docs":{},"位":{"docs":{},"置":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"空":{"docs":{},"间":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},":":{"docs":{},"[":{"docs":{},"c":{"docs":{},"p":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"平":{"docs":{},"台":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{},"的":{"docs":{},"重":{"docs":{},"点":{"docs":{},"主":{"docs":{},"要":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"、":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"层":{"docs":{},"次":{"docs":{},"依":{"docs":{},"次":{"docs":{},"为":{"docs":{},":":{"docs":{},"图":{"docs":{},"层":{"docs":{},"树":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"还":{"docs":{},"是":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"值":{"docs":{},"、":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"替":{"docs":{},"换":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"库":{"docs":{},"链":{"docs":{},"接":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},":":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"实":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"对":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"删":{"docs":{},"除":{"docs":{},"后":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"的":{"docs":{},"添":{"docs":{},"加":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"i":{"docs":{},"f":{"docs":{},"条":{"docs":{},"件":{"docs":{},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"是":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"事":{"docs":{},"件":{"docs":{},"还":{"docs":{},"是":{"docs":{},"小":{"docs":{},"概":{"docs":{},"率":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"让":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"上":{"docs":{},",":{"docs":{},"自":{"docs":{},"己":{"docs":{},"都":{"docs":{},"随":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"能":{"docs":{},"保":{"docs":{},"住":{"docs":{},"别":{"docs":{},"人":{"docs":{},"的":{"docs":{},"命":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"我":{"docs":{},"门":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"局":{"docs":{},"部":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"也":{"docs":{},"叫":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"里":{"docs":{},"面":{"docs":{},"还":{"docs":{},"有":{"docs":{},"局":{"docs":{},"部":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"看":{"docs":{},"看":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"几":{"docs":{},"种":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"做":{"docs":{},"了":{"docs":{},"如":{"docs":{},"何":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"有":{"docs":{},"关":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"真":{"docs":{},"正":{"docs":{},"开":{"docs":{},"始":{"docs":{},"读":{"docs":{},"取":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"也":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"、":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"除":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"多":{"docs":{},"次":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"从":{"docs":{},"功":{"docs":{},"能":{"docs":{},"角":{"docs":{},"度":{"docs":{},",":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"取":{"docs":{},"代":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"性":{"docs":{},"体":{"docs":{},"现":{"docs":{},"在":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}},"本":{"docs":{},"质":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},",":{"docs":{},"外":{"docs":{},"层":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"数":{"docs":{},"组":{"docs":{},"里":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"头":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},",":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"容":{"docs":{},"器":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"要":{"docs":{},"解":{"docs":{},"密":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"设":{"docs":{},"置":{"docs":{},"成":{"docs":{},"符":{"docs":{},"号":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"它":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"优":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"质":{"docs":{},"量":{"docs":{},"和":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"难":{"docs":{},"以":{"docs":{},"保":{"docs":{},"障":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"我":{"docs":{},"们":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"从":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"子":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"因":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},",":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"理":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"分":{"docs":{},"析":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"引":{"docs":{},"用":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"地":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}},"文":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"链":{"docs":{},"接":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}},"后":{"docs":{},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},",":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"首":{"docs":{},"先":{"docs":{},"将":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"本":{"docs":{},"类":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"和":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"否":{"docs":{},"相":{"docs":{},"等":{"docs":{},"?":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"绘":{"docs":{},"图":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"复":{"docs":{},"制":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"和":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"为":{"docs":{},"自":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"时":{"docs":{},"的":{"docs":{},"添":{"docs":{},"加":{"docs":{},"方":{"docs":{},"式":{"docs":{},"又":{"docs":{},"是":{"docs":{},"插":{"docs":{},"入":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"即":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"参":{"docs":{},"与":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"果":{"docs":{},"仍":{"docs":{},"旧":{"docs":{},"命":{"docs":{},"中":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"续":{"docs":{},"更":{"docs":{},"新":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"篇":{"docs":{},"章":{"docs":{},"攻":{"docs":{},"防":{"docs":{},"会":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"和":{"docs":{},"演":{"docs":{},"示":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"逆":{"docs":{},"向":{"docs":{},"文":{"docs":{},"章":{"docs":{},"会":{"docs":{},"带":{"docs":{},"着":{"docs":{},"大":{"docs":{},"家":{"docs":{},"自":{"docs":{},"己":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"插":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"越":{"docs":{},"狱":{"docs":{},"篇":{"docs":{},"里":{"docs":{},"会":{"docs":{},"实":{"docs":{},"际":{"docs":{},"操":{"docs":{},"作":{"docs":{},"演":{"docs":{},"练":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"通":{"docs":{},"讯":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"用":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}},"端":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},":":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"中":{"docs":{},"最":{"docs":{},"后":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"按":{"docs":{},"照":{"docs":{},"上":{"docs":{},"述":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"后":{"docs":{},"分":{"docs":{},"成":{"docs":{},"两":{"docs":{},"棵":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"继":{"docs":{},"续":{"docs":{},"找":{"docs":{},"到":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"确":{"docs":{},"定":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"形":{"docs":{},"态":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"当":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"向":{"docs":{},"左":{"docs":{},"在":{"docs":{},"向":{"docs":{},"右":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"对":{"docs":{},"象":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"将":{"docs":{},"依":{"docs":{},"次":{"docs":{},"获":{"docs":{},"得":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"机":{"docs":{},"会":{"docs":{},"。":{"docs":{},"当":{"docs":{},"发":{"docs":{},"生":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"首":{"docs":{},"先":{"docs":{},"将":{"docs":{},"被":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"基":{"docs":{},"本":{"docs":{},"是":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"。":{"docs":{},"事":{"docs":{},"件":{"docs":{},"将":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"被":{"docs":{},"接":{"docs":{},"受":{"docs":{},"并":{"docs":{},"作":{"docs":{},"出":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},":":{"docs":{},"由":{"docs":{},"最":{"docs":{},"基":{"docs":{},"础":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"向":{"docs":{},"系":{"docs":{},"统":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"停":{"docs":{},"止":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"过":{"docs":{},"程":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"系":{"docs":{},"统":{"docs":{},"开":{"docs":{},"的":{"docs":{},"口":{"docs":{},"子":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"便":{"docs":{},"被":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},"。":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"也":{"docs":{},"被":{"docs":{},"完":{"docs":{},"全":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},",":{"docs":{},"来":{"docs":{},"自":{"docs":{},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"核":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"或":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"主":{"docs":{},"动":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"里":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"不":{"docs":{},"主":{"docs":{},"动":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"大":{"docs":{},"家":{"docs":{},"就":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"相":{"docs":{},"互":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"就":{"docs":{},"好":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"通":{"docs":{},"信":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"、":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"示":{"docs":{},"大":{"docs":{},"致":{"docs":{},"理":{"docs":{},"解":{"docs":{},"即":{"docs":{},"可":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"(":{"docs":{},"a":{"docs":{},"线":{"docs":{},"程":{"docs":{},"通":{"docs":{},"过":{"docs":{},"端":{"docs":{},"口":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"到":{"docs":{},"b":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"的":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"(":{"docs":{},"底":{"docs":{},"层":{"docs":{},"是":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},",":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"消":{"docs":{},"息":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"等":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"都":{"docs":{},"是":{"docs":{},"流":{"docs":{},"式":{"docs":{},"的":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"自":{"docs":{},"己":{"docs":{},"设":{"docs":{},"计":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"即":{"docs":{},"消":{"docs":{},"息":{"docs":{},"帧":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"某":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"采":{"docs":{},"取":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"找":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{},"n":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"多":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"大":{"docs":{},"概":{"docs":{},"花":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"反":{"docs":{},"射":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"封":{"docs":{},"装":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"封":{"docs":{},"装":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"广":{"docs":{},"播":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"思":{"docs":{},"路":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"向":{"docs":{},"协":{"docs":{},"议":{"docs":{},"思":{"docs":{},"想":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"础":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"技":{"docs":{},"术":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"如":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"上":{"docs":{},"图":{"docs":{},",":{"docs":{},"最":{"docs":{},"底":{"docs":{},"层":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"关":{"docs":{},"系":{"docs":{},"也":{"docs":{},"如":{"docs":{},"旧":{"docs":{},"版":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"被":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"变":{"docs":{},"量":{"docs":{},"分":{"docs":{},"别":{"docs":{},"在":{"docs":{},"两":{"docs":{},"次":{"docs":{},"并":{"docs":{},"发":{"docs":{},"异":{"docs":{},"步":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"1":{"0":{"0":{"0":{"0":{"docs":{},"次":{"docs":{},"后":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"并":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"2":{"0":{"0":{"0":{"0":{"docs":{},"。":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}},"果":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"在":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"就":{"docs":{},"拿":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"获":{"docs":{},"取":{"docs":{},"、":{"docs":{},"释":{"docs":{},"放":{"docs":{},"、":{"docs":{},"查":{"docs":{},"看":{"docs":{},")":{"docs":{},"对":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"分":{"docs":{},"别":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"具":{"docs":{},"体":{"docs":{},"如":{"docs":{},"何":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"看":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"讲":{"docs":{},"的":{"docs":{},",":{"docs":{},"你":{"docs":{},"都":{"docs":{},"懂":{"docs":{},",":{"docs":{},"都":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"面":{"docs":{},"试":{"docs":{},"中":{"docs":{},"说":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"足":{"docs":{},"够":{"docs":{},"的":{"docs":{},"了":{"docs":{},"。":{"docs":{},"我":{"docs":{},"当":{"docs":{},"时":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"么":{"docs":{},"回":{"docs":{},"答":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"做":{"docs":{},"了":{"docs":{},"几":{"docs":{},"年":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"相":{"docs":{},"比":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"道":{"docs":{},"题":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"很":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"过":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"当":{"docs":{},"视":{"docs":{},"图":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"或":{"docs":{},"者":{"docs":{},"修":{"docs":{},"改":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"计":{"docs":{},"算":{"docs":{},"图":{"docs":{},"层":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"就":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"6":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{},"机":{"docs":{},"制":{"docs":{},"尤":{"docs":{},"为":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"它":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"比":{"docs":{},"老":{"docs":{},"版":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"整":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"加":{"docs":{},"强":{"docs":{},"了":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"对":{"docs":{},"技":{"docs":{},"术":{"docs":{},"充":{"docs":{},"满":{"docs":{},"热":{"docs":{},"情":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"加":{"docs":{},"入":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"基":{"docs":{},"础":{"docs":{},"技":{"docs":{},"术":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"共":{"docs":{},"建":{"docs":{},"亿":{"docs":{},"级":{"docs":{},"全":{"docs":{},"球":{"docs":{},"化":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"为":{"docs":{},"未":{"docs":{},"解":{"docs":{},"码":{"docs":{},"的":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"j":{"docs":{},"p":{"docs":{},"g":{"docs":{},",":{"docs":{},"解":{"docs":{},"码":{"docs":{},"为":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"树":{"docs":{},"太":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"影":{"docs":{},"响":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"类":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"和":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"视":{"docs":{},"图":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"或":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"或":{"docs":{},"者":{"docs":{},"想":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"更":{"docs":{},"多":{"docs":{},"软":{"docs":{},"件":{"docs":{},"工":{"docs":{},"程":{"docs":{},"上":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"计":{"docs":{},"决":{"docs":{},"策":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"博":{"docs":{},"客":{"docs":{},"下":{"docs":{},"面":{"docs":{},"留":{"docs":{},"言":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"会":{"docs":{},"及":{"docs":{},"时":{"docs":{},"回":{"docs":{},"复":{"docs":{},"本":{"docs":{},"文":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"并":{"docs":{},"选":{"docs":{},"择":{"docs":{},"其":{"docs":{},"中":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"作":{"docs":{},"为":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"超":{"docs":{},"出":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"2":{"0":{"4":{"8":{"docs":{},"x":{"2":{"0":{"4":{"8":{"docs":{},"或":{"docs":{},"者":{"4":{"0":{"9":{"6":{"docs":{},"x":{"4":{"0":{"9":{"6":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"是":{"6":{"4":{"docs":{},"位":{"docs":{},"环":{"docs":{},"境":{"docs":{},"并":{"docs":{},"且":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"视":{"docs":{},"图":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"其":{"docs":{},"兄":{"docs":{},"弟":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"其":{"docs":{},"兄":{"docs":{},"弟":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"其":{"docs":{},"都":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"时":{"docs":{},"传":{"docs":{},"入":{"docs":{},"值":{"docs":{},"为":{"1":{"docs":{},"又":{"docs":{},"会":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"docs":{}}}}}}}}}}}},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"已":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"就":{"docs":{},"采":{"docs":{},"用":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"没":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"采":{"docs":{},"用":{"docs":{},"一":{"docs":{},"般":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"或":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"直":{"docs":{},"接":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"生":{"docs":{},"命":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"话":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"执":{"docs":{},"行":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"后":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"向":{"docs":{},"后":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"查":{"docs":{},"找":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"有":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"由":{"docs":{},"手":{"docs":{},"势":{"docs":{},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}},"类":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"启":{"docs":{},"用":{"docs":{},"了":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"并":{"docs":{},"插":{"docs":{},"入":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"存":{"docs":{},"在":{"docs":{},"就":{"docs":{},"将":{"docs":{},"指":{"docs":{},"向":{"docs":{},"被":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"过":{"docs":{},"函":{"docs":{},"数":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"引":{"docs":{},"用":{"docs":{},"数":{"docs":{},"组":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"没":{"docs":{},"有":{"docs":{},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"则":{"docs":{},"根":{"docs":{},"据":{"docs":{},"条":{"docs":{},"件":{"docs":{},"调":{"docs":{},"整":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},".":{"docs":{},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"写":{"docs":{},"了":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"想":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"它":{"docs":{},"只":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"增":{"docs":{},"加":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"类":{"docs":{},"别":{"docs":{},"中":{"docs":{},"增":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"就":{"docs":{},"不":{"docs":{},"适":{"docs":{},"用":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"级":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"每":{"docs":{},"级":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"实":{"docs":{},"现":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"事":{"docs":{},"件":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"从":{"docs":{},"堆":{"docs":{},"上":{"docs":{},"移":{"docs":{},"除":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"是":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"上":{"docs":{},",":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"产":{"docs":{},"生":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"/":{"docs":{},"访":{"docs":{},"问":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"/":{"docs":{},"访":{"docs":{},"问":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"很":{"docs":{},"多":{"docs":{},"次":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"每":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"多":{"docs":{},"次":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"能":{"docs":{},"够":{"docs":{},"快":{"docs":{},"速":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"设":{"docs":{},"计":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"新":{"docs":{},"增":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"完":{"docs":{},"成":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"篡":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"会":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"那":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"与":{"docs":{},"之":{"docs":{},"相":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"获":{"docs":{},"取":{"docs":{},"其":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"想":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"不":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"回":{"docs":{},"调":{"docs":{},"对":{"docs":{},"象":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"者":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"性":{"docs":{},"能":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"必":{"docs":{},"须":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"长":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"出":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"视":{"docs":{},"图":{"docs":{},"有":{"docs":{},"附":{"docs":{},"加":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"优":{"docs":{},"先":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"视":{"docs":{},"图":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"视":{"docs":{},"图":{"docs":{},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"后":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"b":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"说":{"docs":{},"明":{"docs":{},"为":{"docs":{},"空":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},"说":{"docs":{},"明":{"docs":{},"满":{"docs":{},"了":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"降":{"docs":{},"低":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"被":{"docs":{},"交":{"docs":{},"互":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"更":{"docs":{},"好":{"docs":{},";":{"docs":{},"底":{"docs":{},"层":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},"之":{"docs":{},"间":{"docs":{},"不":{"docs":{},"太":{"docs":{},"互":{"docs":{},"相":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"而":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"高":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"则":{"docs":{},"更":{"docs":{},"有":{"docs":{},"优":{"docs":{},"势":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"重":{"docs":{},"写":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"控":{"docs":{},"制":{"docs":{},"变":{"docs":{},"更":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"退":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"自":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"状":{"docs":{},"态":{"docs":{},"等":{"docs":{},"等":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"成":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"=":{"docs":{},"i":{"docs":{},"是":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"中":{"docs":{},"有":{"docs":{},"发":{"docs":{},"现":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"将":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"1":{"docs":{},"且":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"找":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"当":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"写":{"docs":{},"者":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"写":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"⽴":{"docs":{},"刻":{"docs":{},"获":{"docs":{},"得":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"它":{"docs":{},"必":{"docs":{},"须":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"在":{"docs":{},"那":{"docs":{},"⾥":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"写":{"docs":{},"者":{"docs":{},"或":{"docs":{},"读":{"docs":{},"者":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"没":{"docs":{},"有":{"docs":{},"写":{"docs":{},"者":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"⽴":{"docs":{},"即":{"docs":{},"获":{"docs":{},"得":{"docs":{},"该":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"读":{"docs":{},"者":{"docs":{},"必":{"docs":{},"须":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"在":{"docs":{},"那":{"docs":{},"⾥":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"写":{"docs":{},"者":{"docs":{},"释":{"docs":{},"放":{"docs":{},"该":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},"分":{"docs":{},"别":{"docs":{},"会":{"docs":{},"走":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"源":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"解":{"docs":{},"决":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"支":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"或":{"docs":{},"用":{"docs":{},"户":{"docs":{},"接":{"docs":{},"受":{"docs":{},"了":{"docs":{},"不":{"docs":{},"受":{"docs":{},"信":{"docs":{},"任":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"用":{"docs":{},"户":{"docs":{},"后":{"docs":{},"买":{"docs":{},"成":{"docs":{},"功":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"就":{"docs":{},"不":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"交":{"docs":{},"易":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"得":{"docs":{},"到":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"就":{"docs":{},"把":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"要":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"屏":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"至":{"docs":{},"少":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"块":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"一":{"docs":{},"样":{"docs":{},"大":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"并":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"以":{"docs":{},"外":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"我":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"想":{"docs":{},"是":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"者":{"docs":{},"中":{"docs":{},"有":{"docs":{},"图":{"docs":{},"形":{"docs":{},"学":{"docs":{},"专":{"docs":{},"家":{"docs":{},"希":{"docs":{},"望":{"docs":{},"能":{"docs":{},"指":{"docs":{},"正":{"docs":{},")":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"请":{"docs":{},"让":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"知":{"docs":{},"道":{"docs":{},"你":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"下":{"docs":{},"一":{"docs":{},"级":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"其":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"台":{"docs":{},"没":{"docs":{},"有":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"则":{"docs":{},"表":{"docs":{},"明":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"的":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"交":{"docs":{},"给":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"后":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"这":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"后":{"docs":{},"其":{"docs":{},"会":{"docs":{},"成":{"docs":{},"为":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"外":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"事":{"docs":{},"件":{"docs":{},"并":{"docs":{},"成":{"docs":{},"为":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"其":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"掉":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"图":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"何":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"从":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"里":{"docs":{},"找":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"呢":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"散":{"docs":{},"列":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"指":{"docs":{},"向":{"docs":{},"堆":{"docs":{},",":{"docs":{},"并":{"docs":{},"建":{"docs":{},"立":{"docs":{},"联":{"docs":{},"系":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"各":{"docs":{},"端":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"向":{"docs":{},"后":{"docs":{},"端":{"docs":{},"接":{"docs":{},"口":{"docs":{},"发":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"想":{"docs":{},"到":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},",":{"docs":{},"将":{"docs":{},"这":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"间":{"docs":{},"多":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"同":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"多":{"docs":{},"次":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"其":{"docs":{},"真":{"docs":{},"实":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"地":{"docs":{},"址":{"docs":{},"呢":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"调":{"docs":{},"试":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"统":{"docs":{},"计":{"docs":{},"到":{"docs":{},"的":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"报":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"减":{"docs":{},"少":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"还":{"docs":{},"是":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"少":{"docs":{},"做":{"docs":{},"事":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"入":{"docs":{},"更":{"docs":{},"少":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},";":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},"引":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"少":{"docs":{},"定":{"docs":{},"义":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},"执":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"为":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"但":{"docs":{},"因":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"而":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"再":{"docs":{},"重":{"docs":{},"传":{"docs":{},"一":{"docs":{},"次":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"后":{"docs":{},"来":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"共":{"docs":{},"发":{"docs":{},"出":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"到":{"docs":{},"达":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"网":{"docs":{},"络":{"docs":{},"结":{"docs":{},"点":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"滞":{"docs":{},"留":{"docs":{},"了":{"docs":{},",":{"docs":{},"延":{"docs":{},"误":{"docs":{},"到":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"以":{"docs":{},"后":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"才":{"docs":{},"到":{"docs":{},"达":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"误":{"docs":{},"认":{"docs":{},"为":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"又":{"docs":{},"发":{"docs":{},"出":{"docs":{},"一":{"docs":{},"次":{"docs":{},"新":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"就":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},",":{"docs":{},"同":{"docs":{},"意":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"不":{"docs":{},"采":{"docs":{},"用":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"就":{"docs":{},"建":{"docs":{},"立":{"docs":{},"新":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"来":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"则":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"一":{"docs":{},"致":{"docs":{},"等":{"docs":{},"待":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"3":{"docs":{},".":{"1":{"4":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"应":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"后":{"docs":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"预":{"docs":{},"热":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"象":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"响":{"docs":{},"应":{"docs":{},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"到":{"docs":{},"程":{"docs":{},"序":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"和":{"docs":{},"接":{"docs":{},"受":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},",":{"docs":{},"并":{"docs":{},"放":{"docs":{},"入":{"docs":{},"当":{"docs":{},"前":{"docs":{},"活":{"docs":{},"动":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"去":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"开":{"docs":{},"始":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"往":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"主":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"按":{"docs":{},"照":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"层":{"docs":{},"级":{"docs":{},"结":{"docs":{},"构":{"docs":{},"一":{"docs":{},"层":{"docs":{},"层":{"docs":{},"往":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"发":{"docs":{},"生":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"查":{"docs":{},"找":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"两":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"且":{"docs":{},"其":{"docs":{},"中":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"改":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"其":{"docs":{},"实":{"docs":{},"没":{"docs":{},"有":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"会":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"所":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"调":{"docs":{},"整":{"docs":{},"、":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"去":{"docs":{},"做":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"区":{"docs":{},"域":{"docs":{},"中":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"以":{"docs":{},"及":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"寻":{"docs":{},"址":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"回":{"docs":{},"收":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"类":{"docs":{},"型":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"指":{"docs":{},"针":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"与":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},"信":{"docs":{},"息":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},":":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"过":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"给":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"内":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"对":{"docs":{},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"内":{"docs":{},"部":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"也":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"令":{"docs":{},"其":{"docs":{},"为":{"docs":{},"单":{"docs":{},"例":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"都":{"docs":{},"服":{"docs":{},"从":{"docs":{},"这":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"与":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"查":{"docs":{},"询":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"决":{"docs":{},"定":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"无":{"docs":{},"任":{"docs":{},"何":{"docs":{},"二":{"docs":{},"义":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"选":{"docs":{},"择":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"式":{"docs":{},"处":{"docs":{},"理":{"docs":{},"它":{"docs":{},"们":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"是":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"—":{"docs":{},"—":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"用":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"确":{"docs":{},"保":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"不":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"启":{"docs":{},"动":{"docs":{},"就":{"docs":{},"默":{"docs":{},"认":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"了":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"丢":{"docs":{},"包":{"docs":{},",":{"docs":{},"误":{"docs":{},"码":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"是":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"段":{"docs":{},"编":{"docs":{},"号":{"docs":{},"以":{"docs":{},"及":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"。":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"报":{"docs":{},"文":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"就":{"docs":{},"给":{"docs":{},"每":{"docs":{},"个":{"docs":{},"包":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"号":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"序":{"docs":{},"号":{"docs":{},"也":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"传":{"docs":{},"送":{"docs":{},"到":{"docs":{},"接":{"docs":{},"收":{"docs":{},"端":{"docs":{},"实":{"docs":{},"体":{"docs":{},"的":{"docs":{},"包":{"docs":{},"的":{"docs":{},"按":{"docs":{},"序":{"docs":{},"接":{"docs":{},"收":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"接":{"docs":{},"收":{"docs":{},"端":{"docs":{},"实":{"docs":{},"体":{"docs":{},"对":{"docs":{},"已":{"docs":{},"成":{"docs":{},"功":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"发":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"送":{"docs":{},"端":{"docs":{},"实":{"docs":{},"体":{"docs":{},"在":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"往":{"docs":{},"返":{"docs":{},"时":{"docs":{},"延":{"docs":{},"(":{"docs":{},"r":{"docs":{},"t":{"docs":{},"t":{"docs":{},")":{"docs":{},"内":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"假":{"docs":{},"设":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"了":{"docs":{},")":{"docs":{},"将":{"docs":{},"会":{"docs":{},"被":{"docs":{},"重":{"docs":{},"传":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"有":{"docs":{},"一":{"docs":{},"类":{"docs":{},"典":{"docs":{},"型":{"docs":{},"题":{"docs":{},"型":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"图":{"docs":{},"二":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"节":{"docs":{},"点":{"9":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"2":{"docs":{},",":{"docs":{},"而":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"0":{"docs":{},"。":{"docs":{},"他":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"差":{"docs":{},"值":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"了":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}},"片":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"统":{"docs":{},"一":{"docs":{},"采":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"模":{"docs":{},"糊":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"不":{"docs":{},"采":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"形":{"docs":{},"状":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"类":{"docs":{},"似":{"docs":{},"这":{"docs":{},"种":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"实":{"docs":{},"时":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"非":{"docs":{},"常":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"四":{"docs":{},"个":{"docs":{},"白":{"docs":{},"色":{"docs":{},"弧":{"docs":{},"形":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"想":{"docs":{},"看":{"docs":{},"我":{"docs":{},"啰":{"docs":{},"里":{"docs":{},"八":{"docs":{},"嗦":{"docs":{},"讲":{"docs":{},"一":{"docs":{},"大":{"docs":{},"堆":{"docs":{},"原":{"docs":{},"理":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"本":{"docs":{},"文":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"章":{"docs":{},"节":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"功":{"docs":{},"能":{"docs":{},"也":{"docs":{},"能":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"全":{"docs":{},"照":{"docs":{},"抄":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"生":{"docs":{},"产":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"难":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{},"骨":{"docs":{},"干":{"docs":{},"网":{"docs":{},"等":{"docs":{},"高":{"docs":{},"速":{"docs":{},"网":{"docs":{},"络":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"使":{"docs":{},"它":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"变":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"找":{"docs":{},"到":{"docs":{},"分":{"docs":{},"类":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"主":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"永":{"docs":{},"远":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"到":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"转":{"docs":{},"变":{"docs":{},"成":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"区":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"后":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"都":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}},"个":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"做":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"又":{"docs":{},"一":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"断":{"docs":{},"言":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"同":{"docs":{},"步":{"docs":{},"锁":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"太":{"docs":{},"臃":{"docs":{},"肿":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"原":{"docs":{},"子":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"不":{"docs":{},"负":{"docs":{},"责":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"而":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"再":{"docs":{},"取":{"docs":{},"出":{"docs":{},"时":{"docs":{},"类":{"docs":{},"型":{"docs":{},"却":{"docs":{},"变":{"docs":{},"成":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"所":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"值":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"是":{"docs":{},":":{"docs":{},"当":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"并":{"docs":{},"发":{"docs":{},"回":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"该":{"docs":{},"连":{"docs":{},"接":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"停":{"docs":{},"留":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"为":{"2":{"docs":{},"倍":{"docs":{},"的":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"让":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"再":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"以":{"docs":{},"防":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"(":{"docs":{},"另":{"docs":{},"一":{"docs":{},"端":{"docs":{},"超":{"docs":{},"时":{"docs":{},"并":{"docs":{},"重":{"docs":{},"发":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}},"这":{"docs":{},"类":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"替":{"docs":{},"换":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"强":{"docs":{},"制":{"docs":{},"解":{"docs":{},"码":{"docs":{},"并":{"docs":{},"将":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}},"三":{"docs":{},"方":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},"的":{"docs":{},"页":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"签":{"docs":{},"名":{"docs":{},"验":{"docs":{},"证":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}},"比":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"和":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},"进":{"docs":{},"行":{"docs":{},"打":{"docs":{},"包":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},".":{"docs":{},"a":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"环":{"docs":{},"境":{"docs":{},"进":{"docs":{},"行":{"docs":{},"压":{"docs":{},"栈":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"环":{"docs":{},"境":{"docs":{},"进":{"docs":{},"行":{"docs":{},"出":{"docs":{},"栈":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"中":{"docs":{},"心":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"和":{"docs":{},"改":{"docs":{},"动":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"对":{"docs":{},"于":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"见":{"docs":{},"的":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"进":{"docs":{},"行":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"部":{"docs":{},"分":{"docs":{},"公":{"docs":{},"司":{"docs":{},"确":{"docs":{},"实":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"来":{"docs":{},"维":{"docs":{},"持":{"docs":{},"现":{"docs":{},"状":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"从":{"docs":{},"上":{"docs":{},"向":{"docs":{},"下":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}},"像":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"加":{"docs":{},"载":{"docs":{},"这":{"docs":{},"个":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"均":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"计":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"这":{"docs":{},"样":{"docs":{},"几":{"docs":{},"个":{"docs":{},"术":{"docs":{},"语":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"首":{"docs":{},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"。":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"直":{"docs":{},"接":{"docs":{},"影":{"docs":{},"响":{"docs":{},"着":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"辟":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"启":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"了":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"占":{"docs":{},"用":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"都":{"docs":{},"占":{"5":{"1":{"2":{"docs":{},"k":{"docs":{},"b":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"大":{"docs":{},"约":{"docs":{},"需":{"docs":{},"要":{"9":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"关":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"片":{"docs":{},"区":{"docs":{},"域":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"黄":{"docs":{},"色":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},")":{"docs":{},",":{"docs":{},"关":{"docs":{},"注":{"docs":{},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"及":{"docs":{},"时":{"docs":{},"获":{"docs":{},"取":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{},"必":{"docs":{},"备":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"是":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"的":{"docs":{},"常":{"docs":{},"用":{"docs":{},"语":{"docs":{},"言":{"docs":{},"是":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"可":{"docs":{},"需":{"docs":{},"要":{"docs":{},"持":{"docs":{},"续":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"到":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"了":{"docs":{},"与":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"头":{"docs":{},"的":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"叫":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"源":{"docs":{},"库":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"美":{"docs":{},"团":{"docs":{},"都":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"类":{"docs":{},"似":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"放":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"当":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"知":{"docs":{},"道":{"docs":{},"有":{"docs":{},"谁":{"docs":{},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"由":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"来":{"docs":{},"对":{"docs":{},"事":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"从":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"开":{"docs":{},"始":{"docs":{},"向":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"其":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"还":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"其":{"docs":{},"派":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"再":{"docs":{},"向":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"派":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"点":{"docs":{},"击":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},"候":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"要":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"打":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"将":{"docs":{},"要":{"docs":{},"结":{"docs":{},"束":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"当":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"型":{"docs":{},"时":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"提":{"docs":{},"交":{"docs":{},"代":{"docs":{},"码":{"docs":{},"还":{"docs":{},"是":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"实":{"docs":{},"验":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"其":{"docs":{},"实":{"docs":{},"都":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"所":{"docs":{},"有":{"docs":{},"人":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"库":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"如":{"docs":{},"果":{"docs":{},"某":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"实":{"docs":{},"验":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"库":{"docs":{},"也":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"大":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"测":{"docs":{},"试":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},",":{"docs":{},"键":{"docs":{},"入":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"想":{"docs":{},"探":{"docs":{},"究":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"部":{"docs":{},"分":{"docs":{},"来":{"docs":{},"探":{"docs":{},"究":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"操":{"docs":{},"作":{"docs":{},"u":{"docs":{},"i":{"docs":{},"时":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"改":{"docs":{},"变":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"还":{"docs":{},"未":{"docs":{},"分":{"docs":{},"配":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"谈":{"docs":{},"论":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"触":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"指":{"docs":{},"尖":{"docs":{},"触":{"docs":{},"碰":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"那":{"docs":{},"一":{"docs":{},"刻":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"。":{"docs":{},"经":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"最":{"docs":{},"终":{"docs":{},"被":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"了":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"历":{"docs":{},"经":{"docs":{},"峰":{"docs":{},"回":{"docs":{},"路":{"docs":{},"转":{"docs":{},"的":{"docs":{},"奇":{"docs":{},"幻":{"docs":{},"之":{"docs":{},"旅":{"docs":{},"后":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"大":{"docs":{},"致":{"docs":{},"经":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"某":{"docs":{},"些":{"docs":{},"u":{"docs":{},"i":{"docs":{},"图":{"docs":{},"层":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"docs":{},"被":{"docs":{},"未":{"docs":{},"预":{"docs":{},"合":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"为":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"在":{"docs":{},"栈":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"对":{"docs":{},"外":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"栈":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"时":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"被":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"(":{"docs":{},"从":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"时":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"时":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"被":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"2":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"3":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"4":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"5":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"6":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"7":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"8":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"9":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"前":{"docs":{},"更":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"前":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"应":{"docs":{},"用":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"对":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"先":{"docs":{},"循":{"docs":{},"环":{"docs":{},"调":{"docs":{},"用":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"或":{"docs":{},"者":{"docs":{},"父":{"docs":{},"类":{"docs":{},"含":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"已":{"docs":{},"满":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"提":{"docs":{},"交":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"他":{"docs":{},"们":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"开":{"docs":{},"发":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"树":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}},"在":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"对":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"与":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"层":{"docs":{},"次":{"docs":{},"调":{"docs":{},"整":{"docs":{},"时":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"硬":{"docs":{},"件":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"/":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"/":{"docs":{},"摇":{"docs":{},"晃":{"docs":{},"等":{"docs":{},")":{"docs":{},"发":{"docs":{},"生":{"docs":{},"后":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"能":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},",":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{},"而":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"该":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"得":{"docs":{},"不":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"为":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"而":{"docs":{},"发":{"docs":{},"送":{"docs":{},"它":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"为":{"docs":{},"连":{"docs":{},"接":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"始":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"随":{"docs":{},"时":{"docs":{},"间":{"docs":{},"而":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"每":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"都":{"docs":{},"将":{"docs":{},"具":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"。":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"作":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"3":{"2":{"docs":{},"比":{"docs":{},"特":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"每":{"4":{"docs":{},"m":{"docs":{},"s":{"docs":{},"加":{"1":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"docs":{}}}}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"现":{"docs":{},"在":{"docs":{},"再":{"docs":{},"去":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"去":{"docs":{},"替":{"docs":{},"代":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"操":{"docs":{},"作":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"超":{"docs":{},"过":{"1":{"6":{"docs":{},".":{"6":{"7":{"docs":{},"m":{"docs":{},"s":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},",":{"docs":{},"丢":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"给":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"在":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"在":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"辟":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"了":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"核":{"docs":{},"心":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"某":{"docs":{},"些":{"docs":{},"并":{"docs":{},"行":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"也":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"图":{"docs":{},"层":{"docs":{},"被":{"docs":{},"成":{"docs":{},"功":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"要":{"docs":{},"做":{"docs":{},"如":{"docs":{},"下":{"docs":{},"工":{"docs":{},"作":{"docs":{},":":{"docs":{},"为":{"docs":{},"了":{"docs":{},"显":{"docs":{},"示":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"不":{"docs":{},"止":{"docs":{},"做":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"编":{"docs":{},"码":{"docs":{},"器":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"等":{"docs":{},"多":{"docs":{},"种":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"还":{"docs":{},"写":{"docs":{},"了":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"对":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"会":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"前":{"docs":{},"文":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{},"变":{"docs":{},"量":{"docs":{},"同":{"docs":{},"样":{"docs":{},"会":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"被":{"docs":{},"转":{"docs":{},"化":{"docs":{},"成":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"选":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"类":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"增":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"么":{"docs":{},"说":{"docs":{},"并":{"docs":{},"不":{"docs":{},"严":{"docs":{},"谨":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"加":{"docs":{},"放":{"docs":{},"心":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"建":{"docs":{},"立":{"docs":{},"起":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"就":{"docs":{},"会":{"docs":{},"放":{"docs":{},"在":{"docs":{},"全":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"队":{"docs":{},"列":{"docs":{},"满":{"docs":{},"了":{"docs":{},"就":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"丢":{"docs":{},"包":{"docs":{},"现":{"docs":{},"象":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"会":{"docs":{},"比":{"docs":{},"这":{"docs":{},"个":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"有":{"docs":{},"些":{"docs":{},"页":{"docs":{},"面":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"多":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"对":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"收":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"次":{"docs":{},"操":{"docs":{},"作":{"docs":{},"封":{"docs":{},"装":{"docs":{},"为":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"减":{"docs":{},"为":{"0":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"多":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"内":{"docs":{},"存":{"docs":{},"或":{"docs":{},"者":{"docs":{},"多":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"每":{"docs":{},"次":{"docs":{},"只":{"docs":{},"取":{"docs":{},"其":{"docs":{},"一":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{},"联":{"docs":{},"合":{"docs":{},"体":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"存":{"docs":{},"储":{"docs":{},"不":{"docs":{},"同":{"docs":{},"型":{"docs":{},"别":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"节":{"docs":{},"省":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"己":{"docs":{},"持":{"docs":{},"有":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"外":{"docs":{},"界":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"类":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"象":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"动":{"docs":{},"态":{"docs":{},"地":{"docs":{},"创":{"docs":{},"建":{"docs":{},"该":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},"中":{"docs":{},"重":{"docs":{},"写":{"docs":{},"基":{"docs":{},"类":{"docs":{},"中":{"docs":{},"任":{"docs":{},"何":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"定":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"存":{"docs":{},"储":{"docs":{},"器":{"docs":{},"中":{"docs":{},"所":{"docs":{},"能":{"docs":{},"够":{"docs":{},"使":{"docs":{},"用":{"docs":{},"与":{"docs":{},"控":{"docs":{},"制":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"随":{"docs":{},"机":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"配":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"超":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"与":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"之":{"docs":{},"和":{"docs":{},"时":{"docs":{},",":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"后":{"docs":{},"面":{"docs":{},"加":{"docs":{},"上":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"主":{"docs":{},"动":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"没":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"失":{"docs":{},"败":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"未":{"docs":{},"命":{"docs":{},"中":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"满":{"docs":{},"足":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"出":{"docs":{},"现":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"能":{"docs":{},"够":{"docs":{},"减":{"docs":{},"小":{"docs":{},"向":{"docs":{},"网":{"docs":{},"络":{"docs":{},"注":{"docs":{},"入":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"速":{"docs":{},"率":{"docs":{},"和":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"缓":{"docs":{},"解":{"docs":{},"拥":{"docs":{},"塞":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"将":{"docs":{},"该":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"机":{"docs":{},"构":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"加":{"docs":{},"密":{"docs":{},"密":{"docs":{},"文":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"获":{"docs":{},"得":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{},"(":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},")":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"得":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{},",":{"docs":{},"比":{"docs":{},"对":{"docs":{},"两":{"docs":{},"个":{"docs":{},"散":{"docs":{},"列":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"两":{"docs":{},"者":{"docs":{},"相":{"docs":{},"等":{"docs":{},"则":{"docs":{},"说":{"docs":{},"明":{"docs":{},"证":{"docs":{},"书":{"docs":{},"没":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"达":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"h":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"已":{"docs":{},"经":{"docs":{},"是":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"在":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"向":{"docs":{},"d":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"d":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"访":{"docs":{},"问":{"docs":{},"至":{"docs":{},"i":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"i":{"docs":{},",":{"docs":{},"则":{"docs":{},"输":{"docs":{},"出":{"docs":{},"i":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"验":{"docs":{},"证":{"docs":{},"交":{"docs":{},"易":{"docs":{},"成":{"docs":{},"功":{"docs":{},"以":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"去":{"docs":{},"取":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"它":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"活":{"docs":{},"动":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"编":{"docs":{},"译":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"将":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"法":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"时":{"docs":{},"最":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"的":{"docs":{},"点":{"docs":{},"就":{"docs":{},"是":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"几":{"docs":{},"十":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"传":{"docs":{},"字":{"docs":{},"典":{"docs":{},"或":{"docs":{},"传":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"和":{"docs":{},"手":{"docs":{},"势":{"docs":{},"同":{"docs":{},"时":{"docs":{},"出":{"docs":{},"现":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"既":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"又":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"时":{"docs":{},"会":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"高":{"docs":{},"于":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"指":{"docs":{},"触":{"docs":{},"碰":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"感":{"docs":{},"应":{"docs":{},"到":{"docs":{},"触":{"docs":{},"碰":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"由":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}},"触":{"docs":{},"发":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"文":{"docs":{},"参":{"docs":{},"考":{"2":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"知":{"docs":{},"这":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"会":{"docs":{},"清":{"docs":{},"理":{"docs":{},"掉":{"docs":{},"一":{"docs":{},"次":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"完":{"docs":{},"全":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0061162079510703364}}}}}},"照":{"docs":{},"编":{"docs":{},"译":{"docs":{},"先":{"docs":{},"后":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"先":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"对":{"docs":{},"a":{"docs":{},"的":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"进":{"docs":{},"行":{"docs":{},"划":{"docs":{},"分":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"得":{"docs":{},"出":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"形":{"docs":{},"态":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"5":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"输":{"docs":{},"出":{"docs":{},"c":{"docs":{},"、":{"docs":{},"f":{"docs":{},"、":{"docs":{},"g":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"j":{"docs":{},"、":{"docs":{},"e":{"docs":{},"、":{"docs":{},"a":{"docs":{},"、":{"docs":{},"f":{"docs":{},"、":{"docs":{},"c":{"docs":{},"、":{"docs":{},"g":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"b":{"docs":{},"、":{"docs":{},"f":{"docs":{},"、":{"docs":{},"g":{"docs":{},"、":{"docs":{},"c":{"docs":{},",":{"docs":{},"a":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0032336297493936943}}}}}}},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"沿":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"树":{"docs":{},"从":{"docs":{},"底":{"docs":{},"向":{"docs":{},"上":{"docs":{},"(":{"docs":{},"从":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{},"从":{"docs":{},"后":{"docs":{},"向":{"docs":{},"前":{"docs":{},"(":{"docs":{},"从":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"上":{"docs":{},"更":{"docs":{},"靠":{"docs":{},"近":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"适":{"docs":{},"合":{"docs":{},"响":{"docs":{},"应":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.006122448979591836},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"代":{"docs":{},"表":{"docs":{},"向":{"docs":{},"系":{"docs":{},"统":{"docs":{},"表":{"docs":{},"示":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"。":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},"在":{"docs":{},"被":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"未":{"docs":{},"找":{"docs":{},"着":{"docs":{},",":{"docs":{},"则":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"中":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"实":{"docs":{},"现":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}},",":{"docs":{},"取":{"docs":{},"出":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"移":{"docs":{},"除":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"将":{"docs":{},"自":{"docs":{},"身":{"docs":{},"注":{"docs":{},"册":{"docs":{},"给":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"会":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"执":{"docs":{},"行":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"返":{"docs":{},"回":{"docs":{},"前":{"docs":{},"不":{"docs":{},"会":{"docs":{},"真":{"docs":{},"正":{"docs":{},"更":{"docs":{},"新":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"视":{"docs":{},"图":{"docs":{},"会":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"将":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"并":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"或":{"docs":{},"者":{"docs":{},"显":{"docs":{},"示":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"机":{"docs":{},"制":{"docs":{},"类":{"docs":{},"似":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"马":{"docs":{},"发":{"docs":{},"送":{"docs":{},"对":{"docs":{},"应":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"会":{"docs":{},"查":{"docs":{},"询":{"docs":{},"到":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"取":{"docs":{},"消":{"docs":{},"掉":{"docs":{},"这":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"注":{"docs":{},"释":{"docs":{},"为":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"栈":{"docs":{},"。":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"到":{"docs":{},"视":{"docs":{},"图":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},"当":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"一":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"何":{"docs":{},"东":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"在":{"6":{"4":{"docs":{},"位":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"默":{"docs":{},"认":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{},"与":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"会":{"docs":{},"随":{"docs":{},"着":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"而":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"掉":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"结":{"docs":{},"果":{"docs":{},"从":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"无":{"docs":{},"需":{"docs":{},"导":{"docs":{},"入":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"在":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"使":{"docs":{},"原":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}},"一":{"docs":{},"直":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}},"就":{"docs":{},"算":{"docs":{},"它":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"体":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"际":{"docs":{},"没":{"docs":{},"有":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"也":{"docs":{},"会":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"同":{"docs":{},"理":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"查":{"docs":{},"询":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"多":{"docs":{},"次":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{},")":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}},"是":{"docs":{},"最":{"docs":{},"理":{"docs":{},"想":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"基":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"不":{"docs":{},"走":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"类":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"父":{"docs":{},"类":{"docs":{},")":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"含":{"docs":{},"有":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"通":{"docs":{},"过":{"docs":{},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"计":{"docs":{},"算":{"docs":{},"下":{"docs":{},"标":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}},"知":{"docs":{},"购":{"docs":{},"买":{"docs":{},"进":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"后":{"docs":{},"的":{"docs":{},"类":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}},"来":{"docs":{},"将":{"docs":{},"类":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"分":{"docs":{},"类":{"docs":{},")":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"自":{"docs":{},"增":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"字":{"docs":{},"典":{"docs":{},"里":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"相":{"docs":{},"对":{"docs":{},"用":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"与":{"docs":{},"之":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"存":{"docs":{},"入":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"。":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"会":{"docs":{},"被":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"将":{"docs":{},"对":{"docs":{},"象":{"docs":{},"添":{"docs":{},"加":{"docs":{},"至":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"前":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"在":{"docs":{},"此":{"docs":{},"处":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"断":{"docs":{},"点":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"么":{"docs":{},"?":{"docs":{},"比":{"docs":{},"如":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"名":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"称":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"好":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"答":{"docs":{},"案":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}},"一":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"两":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"二":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"刷":{"docs":{},"新":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"后":{"docs":{},"台":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"购":{"docs":{},"买":{"docs":{},"产":{"docs":{},"品":{"docs":{},",":{"docs":{},"购":{"docs":{},"买":{"docs":{},"成":{"docs":{},"功":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"列":{"docs":{},"表":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"找":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{},"m":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"、":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},";":{"docs":{},"反":{"docs":{},"之":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"+":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},";":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"签":{"docs":{},"名":{"docs":{},"测":{"docs":{},"试":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"引":{"docs":{},"起":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"影":{"docs":{},"响":{"docs":{},"都":{"docs":{},"微":{"docs":{},"乎":{"docs":{},"其":{"docs":{},"微":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"主":{"docs":{},"要":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"附":{"docs":{},"带":{"docs":{},"参":{"docs":{},"数":{"docs":{},"数":{"docs":{},"量":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"更":{"docs":{},"适":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"非":{"docs":{},"常":{"docs":{},"期":{"docs":{},"望":{"docs":{},"保":{"docs":{},"留":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"当":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"结":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.007429420505200594},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"一":{"docs":{},"个":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"系":{"docs":{},"统":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"分":{"docs":{},"发":{"docs":{},"系":{"docs":{},"统":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"其":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}},"模":{"docs":{},"板":{"docs":{},"类":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},")":{"docs":{},".":{"docs":{},"至":{"docs":{},"于":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{},"而":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"高":{"docs":{},"级":{"docs":{},"的":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"指":{"docs":{},"定":{"docs":{},"更":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"检":{"docs":{},"查":{"docs":{},"和":{"docs":{},"一":{"docs":{},"些":{"docs":{},"高":{"docs":{},"级":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"新":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{},"它":{"docs":{},"即":{"docs":{},"将":{"docs":{},"成":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"门":{"docs":{},"动":{"docs":{},"态":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"不":{"docs":{},"能":{"docs":{},"知":{"docs":{},"道":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"面":{"docs":{},"对":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{},"(":{"docs":{},"不":{"docs":{},"重":{"docs":{},"写":{"docs":{},"特":{"docs":{},"定":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},")":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"等":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},"关":{"docs":{},"于":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"单":{"docs":{},"层":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},")":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"和":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"是":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"会":{"docs":{},"让":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"否":{"docs":{},"知":{"docs":{},"道":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"?":{"docs":{},"如":{"docs":{},"何":{"docs":{},"进":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"放":{"docs":{},"至":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"让":{"docs":{},"系":{"docs":{},"统":{"docs":{},"认":{"docs":{},"为":{"docs":{},"存":{"docs":{},"在":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},":":{"docs":{},"a":{"docs":{},".":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"靠":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"有":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"被":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"需":{"docs":{},"要":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{},"还":{"docs":{},"是":{"docs":{},"从":{"docs":{},"那":{"docs":{},"张":{"docs":{},"图":{"docs":{},"上":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"讲":{"docs":{},"到":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"你":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"代":{"docs":{},"码":{"docs":{},"后":{"docs":{},"控":{"docs":{},"制":{"docs":{},"流":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},":":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"二":{"docs":{},"维":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"对":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"类":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"漏":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"从":{"docs":{},"注":{"docs":{},"释":{"docs":{},"中":{"docs":{},"写":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"而":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"研":{"docs":{},"究":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"指":{"docs":{},"由":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"内":{"docs":{},"购":{"docs":{},"购":{"docs":{},"买":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"性":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}},"类":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"只":{"docs":{},"会":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"一":{"docs":{},"次":{"docs":{},"(":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"多":{"docs":{},"次":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"放":{"docs":{},"我":{"docs":{},"们":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"管":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"释":{"docs":{},"放":{"docs":{},"【":{"docs":{},"m":{"docs":{},"r":{"docs":{},"c":{"docs":{},"下":{"docs":{},"】":{"docs":{},",":{"docs":{},"c":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"去":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"将":{"docs":{},"函":{"docs":{},"数":{"docs":{},"及":{"docs":{},"其":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"自":{"docs":{},"己":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"自":{"docs":{},"动":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"之":{"docs":{},"外":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{},"无":{"docs":{},"事":{"docs":{},"可":{"docs":{},"做":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"技":{"docs":{},"术":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"。":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"些":{"docs":{},"的":{"docs":{},"那":{"docs":{},"些":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"图":{"docs":{},"示":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"连":{"docs":{},"接":{"docs":{},"起":{"docs":{},"来":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}},"“":{"docs":{},"引":{"docs":{},"用":{"docs":{},"”":{"docs":{},"方":{"docs":{},"式":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"不":{"docs":{},"对":{"docs":{},"实":{"docs":{},"参":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"拷":{"docs":{},"贝":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"公":{"docs":{},"司":{"docs":{},"为":{"docs":{},"多":{"docs":{},"核":{"docs":{},"的":{"docs":{},"并":{"docs":{},"行":{"docs":{},"运":{"docs":{},"算":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"最":{"docs":{},"差":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"因":{"docs":{},"为":{"docs":{},"其":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"极":{"docs":{},"为":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"常":{"docs":{},"规":{"docs":{},"的":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"以":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"寻":{"docs":{},"址":{"docs":{},",":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"获":{"docs":{},"取":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"少":{"docs":{},"数":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"整":{"docs":{},"个":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"都":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"组":{"docs":{},"装":{"docs":{},"、":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"和":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"从":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"两":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"辅":{"docs":{},"助":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"必":{"docs":{},"须":{"docs":{},"执":{"docs":{},"行":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"就":{"docs":{},"不":{"docs":{},"知":{"docs":{},"道":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"了":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"~":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"改":{"docs":{},"所":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"被":{"docs":{},"压":{"docs":{},"入":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"紧":{"docs":{},"跟":{"docs":{},"在":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},"最":{"docs":{},"先":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"前":{"docs":{},"端":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"猜":{"docs":{},"出":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"和":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"最":{"docs":{},"多":{"docs":{},"各":{"docs":{},"移":{"docs":{},"动":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"对":{"docs":{},"于":{"docs":{},"任":{"docs":{},"意":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"相":{"docs":{},"互":{"docs":{},"扶":{"docs":{},"持":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"如":{"docs":{},"何":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"遵":{"docs":{},"循":{"docs":{},"这":{"docs":{},"些":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"设":{"docs":{},"计":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"这":{"docs":{},"样":{"docs":{},"子":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"变":{"docs":{},"量":{"docs":{},"寻":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"个":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"由":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"最":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"这":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"顶":{"docs":{},"层":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"今":{"docs":{},"天":{"docs":{},"就":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{},"『":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"了":{"docs":{},"效":{"docs":{},"率":{"docs":{},"而":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"健":{"docs":{},"全":{"docs":{},"性":{"docs":{},"检":{"docs":{},"验":{"docs":{},"上":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"限":{"docs":{},"制":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"也":{"docs":{},"有":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"改":{"docs":{},"进":{"docs":{},"它":{"docs":{},"以":{"docs":{},"适":{"docs":{},"应":{"docs":{},"今":{"docs":{},"天":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"独":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}},"确":{"docs":{},"定":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"对":{"docs":{},"象":{"docs":{},"上":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"检":{"docs":{},"测":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"到":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"定":{"docs":{},"位":{"docs":{},"或":{"docs":{},"更":{"docs":{},"改":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{},"重":{"docs":{},"载":{"docs":{},"它":{"docs":{},"。":{"docs":{},"然":{"docs":{},"而":{"docs":{},"你":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"显":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"有":{"docs":{},"许":{"docs":{},"多":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"向":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"能":{"docs":{},"及":{"docs":{},"时":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"影":{"docs":{},"响":{"docs":{},"后":{"docs":{},"续":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"过":{"docs":{},"多":{"docs":{},"组":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"或":{"docs":{},"者":{"docs":{},"组":{"docs":{},"件":{"docs":{},"元":{"docs":{},"素":{"docs":{},"过":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"时":{"docs":{},",":{"docs":{},"必":{"docs":{},"然":{"docs":{},"会":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"看":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"顺":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},".":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"当":{"docs":{},"端":{"docs":{},"口":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"待":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"睡":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"配":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"检":{"docs":{},"测":{"docs":{},"对":{"docs":{},"象":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"、":{"docs":{},"快":{"docs":{},"速":{"docs":{},"做":{"docs":{},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"这":{"docs":{},"能":{"docs":{},"够":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"强":{"docs":{},"交":{"docs":{},"互":{"docs":{},"、":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"应":{"docs":{},"用":{"docs":{},"以":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"时":{"docs":{},"提":{"docs":{},"供":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"官":{"docs":{},"方":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"通":{"docs":{},"知":{"docs":{},"自":{"docs":{},"己":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"栏":{"docs":{},"输":{"docs":{},"入":{"docs":{},"一":{"docs":{},"连":{"docs":{},"串":{"docs":{},"字":{"docs":{},"符":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"自":{"docs":{},"动":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"次":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"正":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"有":{"docs":{},"了":{"docs":{},"个":{"docs":{},"延":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"在":{"docs":{},"自":{"docs":{},"动":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"发":{"docs":{},"生":{"docs":{},"前":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"打":{"docs":{},"出":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"释":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"创":{"docs":{},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"即":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"对":{"docs":{},"应":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"其":{"docs":{},"计":{"docs":{},"算":{"docs":{},"公":{"docs":{},"式":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"并":{"docs":{},"发":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},"这":{"docs":{},"样":{"docs":{},"只":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"并":{"docs":{},"发":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"。":{"docs":{},"而":{"docs":{},"使":{"docs":{},"用":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"就":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"明":{"docs":{},"确":{"docs":{},"的":{"docs":{},"知":{"docs":{},"道":{"docs":{},"自":{"docs":{},"己":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"一":{"docs":{},"切":{"docs":{},"皆":{"docs":{},"在":{"docs":{},"掌":{"docs":{},"控":{"docs":{},"之":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"编":{"docs":{},"译":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"了":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"决":{"docs":{},"定":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"加":{"docs":{},"载":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"管":{"docs":{},"理":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"被":{"docs":{},"编":{"docs":{},"译":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"你":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"源":{"docs":{},":":{"docs":{},"掘":{"docs":{},"金":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"组":{"docs":{},"装":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},"处":{"docs":{},"理":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"采":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"没":{"docs":{},"有":{"docs":{},"理":{"docs":{},"由":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"好":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"给":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"对":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"类":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"画":{"docs":{},"出":{"docs":{},"最":{"docs":{},"终":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"另":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"来":{"docs":{},"储":{"docs":{},"存":{"docs":{},"中":{"docs":{},"间":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"原":{"docs":{},"理":{"docs":{},"并":{"docs":{},"不":{"docs":{},"神":{"docs":{},"秘":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"自":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"规":{"docs":{},"避":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"分":{"docs":{},"配":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"将":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"相":{"docs":{},"比":{"docs":{},"项":{"docs":{},"目":{"docs":{},"协":{"docs":{},"作":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"里":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"创":{"docs":{},"建":{"docs":{},"完":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"模":{"docs":{},"块":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},"和":{"docs":{},"不":{"docs":{},"同":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},"也":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"的":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"这":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"之":{"docs":{},"外":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"效":{"docs":{},"率":{"docs":{},"更":{"docs":{},"高":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{},"而":{"docs":{},"步":{"docs":{},"入":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"说":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"构":{"docs":{},"成":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"事":{"docs":{},"件":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"递":{"docs":{},"链":{"docs":{},",":{"docs":{},"传":{"docs":{},"递":{"docs":{},"下":{"docs":{},"去":{"docs":{},"。":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"上":{"docs":{},"层":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"一":{"docs":{},"层":{"docs":{},"一":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"面":{"docs":{},"参":{"docs":{},"数":{"docs":{},"尾":{"docs":{},"部":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"建":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"这":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"里":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"点":{"docs":{},";":{"docs":{},"最":{"docs":{},"后":{"docs":{},"大":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"讲":{"docs":{},"解":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"到":{"docs":{},"手":{"docs":{},"指":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"效":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"程":{"docs":{},"序":{"docs":{},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"进":{"docs":{},"程":{"docs":{},"是":{"docs":{},"否":{"docs":{},"受":{"docs":{},"限":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"查":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"每":{"docs":{},"线":{"docs":{},"程":{"docs":{},"单":{"docs":{},"项":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"启":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"缓":{"docs":{},"存":{"docs":{},"原":{"docs":{},"始":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"索":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"谁":{"docs":{},"处":{"docs":{},"理":{"docs":{},"此":{"docs":{},"次":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"正":{"docs":{},"在":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"上":{"docs":{},"翻":{"docs":{},"页":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"正":{"docs":{},"在":{"docs":{},"刷":{"docs":{},"微":{"docs":{},"博":{"docs":{},"。":{"docs":{},"若":{"docs":{},"是":{"docs":{},"前":{"docs":{},"者":{"docs":{},"(":{"docs":{},"即":{"docs":{},"前":{"docs":{},"台":{"docs":{},"无":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"运":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"触":{"docs":{},"发":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"本":{"docs":{},"身":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"由":{"docs":{},"桌":{"docs":{},"面":{"docs":{},"系":{"docs":{},"统":{"docs":{},"去":{"docs":{},"消":{"docs":{},"耗":{"docs":{},";":{"docs":{},"若":{"docs":{},"是":{"docs":{},"后":{"docs":{},"者":{"docs":{},"(":{"docs":{},"即":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"正":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"前":{"docs":{},"台":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"便":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"对":{"docs":{},"于":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"1":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"docs":{}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"就":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"—":{"docs":{},"—":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"就":{"docs":{},"能":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},"—":{"docs":{},"—":{"docs":{},"等":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"前":{"docs":{},"追":{"docs":{},"加":{"docs":{},"到":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"后":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"追":{"docs":{},"加":{"docs":{},"到":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"。":{"docs":{},"简":{"docs":{},"而":{"docs":{},"言":{"docs":{},"之":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"后":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"图":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"进":{"docs":{},"入":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"给":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"由":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"一":{"docs":{},"块":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"看":{"docs":{},"到":{"docs":{},"写":{"docs":{},"入":{"docs":{},"路":{"docs":{},"径":{"docs":{},"正":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"熟":{"docs":{},"知":{"docs":{},"的":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"导":{"docs":{},"出":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}},"的":{"docs":{},"p":{"docs":{},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"对":{"docs":{},"应":{"docs":{},"到":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"断":{"docs":{},"点":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"底":{"docs":{},"层":{"docs":{},"库":{"docs":{},"调":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"被":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},",":{"docs":{},"树":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"调":{"docs":{},"以":{"docs":{},"下":{"docs":{},"两":{"docs":{},"点":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"视":{"docs":{},"图":{"docs":{},"时":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"视":{"docs":{},"图":{"docs":{},"具":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"特":{"docs":{},"征":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"在":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"如":{"2":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"6":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"3":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"能":{"docs":{},"表":{"docs":{},"示":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"值":{"docs":{},"是":{"7":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"7":{"docs":{},"系":{"docs":{},"统":{"docs":{},"用":{"docs":{},"来":{"docs":{},"预":{"docs":{},"留":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"记":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"能":{"docs":{},"支":{"docs":{},"持":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"类":{"docs":{},"支":{"docs":{},"持":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"屏":{"docs":{},"幕":{"docs":{},"点":{"docs":{},"击":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"docs":{}},"docs":{}}}},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},";":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{},"且":{"docs":{},"一":{"docs":{},"方":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"对":{"docs":{},"方":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"我":{"docs":{},"们":{"docs":{},"加":{"docs":{},"上":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"宏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"中":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},",":{"docs":{},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"或":{"docs":{},"者":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"版":{"docs":{},"本":{"docs":{},"弃":{"docs":{},"用":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"常":{"docs":{},"见":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"更":{"docs":{},"简":{"docs":{},"单":{"docs":{},"实":{"docs":{},"用":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"对":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"支":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"较":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"比":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},"目":{"docs":{},"前":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"注":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"意":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"是":{"docs":{},"倆":{"docs":{},"概":{"docs":{},"念":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}},"点":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"事":{"docs":{},"项":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"这":{"docs":{},"里":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"判":{"docs":{},"断":{"docs":{},":":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"内":{"docs":{},"核":{"docs":{},"态":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}},"这":{"docs":{},"种":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"起":{"docs":{},"到":{"docs":{},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"为":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"每":{"docs":{},"次":{"docs":{},"重":{"docs":{},"传":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"是":{"docs":{},"指":{"docs":{},"数":{"docs":{},"增":{"docs":{},"长":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"时":{"docs":{},"间":{"docs":{},"为":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}},":":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"不":{"docs":{},"是":{"docs":{},"报":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"册":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"之":{"docs":{},"前":{"docs":{},":":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"后":{"docs":{},":":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}},"完":{"docs":{},"毕":{"docs":{},"继":{"docs":{},"续":{"docs":{},"回":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"不":{"docs":{},"要":{"docs":{},"将":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"操":{"docs":{},"作":{"docs":{},"代":{"docs":{},"码":{"docs":{},"放":{"docs":{},"到":{"docs":{},"锁":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"就":{"docs":{},"一":{"docs":{},"直":{"docs":{},"在":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"发":{"docs":{},"挥":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"知":{"docs":{},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},",":{"docs":{},"但":{"docs":{},"反":{"docs":{},"过":{"docs":{},"来":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"成":{"docs":{},"立":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"研":{"docs":{},"究":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"探":{"docs":{},"索":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},"学":{"docs":{},"习":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"(":{"docs":{},"一":{"docs":{},")":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"了":{"docs":{},"解":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":3.3356535189481824}}}}},"拷":{"docs":{},"贝":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.02040816326530612}}}},"夜":{"docs":{},"暗":{"docs":{},"坑":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":5}}}}}},"点":{"docs":{},"击":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"事":{"docs":{},"件":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"到":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.014563106796116505},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.013285024154589372},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.04},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.019316493313521546},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.011917659804983749},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.012896825396825396}},"事":{"docs":{},"件":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},"机":{"docs":{},"制":{"docs":{},"?":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"情":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"强":{"docs":{},"收":{"docs":{},"过":{"docs":{},"路":{"docs":{},"费":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"类":{"docs":{},",":{"docs":{},"当":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"非":{"docs":{},"常":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"一":{"docs":{},"次":{"docs":{},"所":{"docs":{},"需":{"docs":{},"时":{"docs":{},"间":{"docs":{},"较":{"docs":{},"长":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"这":{"docs":{},"个":{"docs":{},"开":{"docs":{},"关":{"docs":{},",":{"docs":{},"把":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"释":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"析":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"优":{"docs":{},"化":{"docs":{},"后":{"docs":{},":":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"将":{"docs":{},"不":{"docs":{},"再":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"思":{"docs":{},"路":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"点":{"docs":{},"是":{"docs":{},"输":{"docs":{},"出":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"载":{"docs":{},"入":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"容":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"成":{"docs":{},"圆":{"docs":{},"角":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"能":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"区":{"docs":{},"域":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"就":{"docs":{},"是":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}},"别":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"与":{"docs":{},"选":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"卡":{"docs":{},"顿":{"docs":{},"和":{"docs":{},"掉":{"docs":{},"帧":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"测":{"docs":{},"试":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"仅":{"docs":{},"凭":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"来":{"docs":{},"做":{"docs":{},"决":{"docs":{},"定":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"管":{"docs":{},"理":{"docs":{},"及":{"docs":{},"回":{"docs":{},"退":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"体":{"docs":{},"现":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"还":{"docs":{},"是":{"docs":{},"将":{"docs":{},"各":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"迁":{"docs":{},"回":{"docs":{},"了":{"docs":{},"主":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"很":{"docs":{},"开":{"docs":{},"销":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"会":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"继":{"docs":{},"而":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"和":{"docs":{},"退":{"docs":{},"出":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"更":{"docs":{},"新":{"docs":{},"并":{"docs":{},"提":{"docs":{},"交":{"docs":{},"进":{"docs":{},"行":{"docs":{},"实":{"docs":{},"际":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"等":{"docs":{},")":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"在":{"docs":{},"一":{"docs":{},"张":{"docs":{},"画":{"docs":{},"布":{"docs":{},"上":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"倒":{"docs":{},"出":{"docs":{},"图":{"docs":{},"片":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"层":{"docs":{},"树":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"都":{"docs":{},"是":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"部":{"docs":{},"分":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"尾":{"docs":{},"部":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"正":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"弃":{"docs":{},"用":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"在":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}}}}}}}}},"档":{"docs":{},"略":{"docs":{},"有":{"docs":{},"提":{"docs":{},"到":{"docs":{},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"整":{"docs":{},")":{"docs":{},"。":{"docs":{},"当":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"所":{"docs":{},"以":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"使":{"docs":{},"用":{"docs":{},"套":{"docs":{},"路":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"中":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"也":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"为":{"docs":{},"止":{"docs":{},"。":{"docs":{},"找":{"docs":{},"到":{"docs":{},"后":{"docs":{},"以":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"整":{"docs":{},"个":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"还":{"docs":{},"是":{"docs":{},"和":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"发":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"通":{"docs":{},"知":{"docs":{},"外":{"docs":{},"部":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"但":{"docs":{},"后":{"docs":{},"续":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"体":{"docs":{},"验":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"有":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"下":{"docs":{},"沉":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},",":{"docs":{},"把":{"docs":{},"要":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"复":{"docs":{},"制":{"docs":{},"一":{"docs":{},"份":{"docs":{},"放":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{},"修":{"docs":{},"改":{"docs":{},"类":{"docs":{},"名":{"docs":{},"前":{"docs":{},"缀":{"docs":{},"加":{"docs":{},"以":{"docs":{},"区":{"docs":{},"分":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"打":{"docs":{},"包":{"docs":{},"时":{"docs":{},"的":{"docs":{},"链":{"docs":{},"接":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"叫":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"比":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"该":{"docs":{},"记":{"docs":{},"录":{"docs":{},"从":{"docs":{},"表":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"把":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"传":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"整":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"提":{"docs":{},"到":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"代":{"docs":{},"码":{"docs":{},"无":{"docs":{},"法":{"docs":{},"运":{"docs":{},"行":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"工":{"docs":{},"具":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"解":{"docs":{},"密":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"放":{"docs":{},"了":{"docs":{},"一":{"docs":{},"张":{"docs":{},"很":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"图":{"docs":{},"上":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"键":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"机":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"某":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{},"至":{"docs":{},"于":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"就":{"docs":{},"能":{"docs":{},"够":{"docs":{},"保":{"docs":{},"证":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"为":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"末":{"docs":{},"尾":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},".":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"资":{"docs":{},"源":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"要":{"docs":{},"小":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"速":{"docs":{},"度":{"docs":{},"展":{"docs":{},"示":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"每":{"docs":{},"个":{"docs":{},"更":{"docs":{},"新":{"docs":{},"周":{"docs":{},"期":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"修":{"docs":{},"改":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"总":{"docs":{},"有":{"docs":{},"些":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"必":{"docs":{},"需":{"docs":{},"放":{"docs":{},"入":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"当":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"系":{"docs":{},"如":{"docs":{},"图":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"动":{"docs":{},"画":{"docs":{},"与":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},",":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"会":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"整":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"好":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"你":{"docs":{},"能":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"所":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},",":{"docs":{},"将":{"docs":{},"异":{"docs":{},"步":{"docs":{},"加":{"docs":{},"载":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"放":{"docs":{},"到":{"docs":{},"并":{"docs":{},"行":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"优":{"docs":{},"化":{"docs":{},"不":{"docs":{},"失":{"docs":{},"为":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"共":{"docs":{},"享":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"去":{"docs":{},"一":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"开":{"docs":{},"销":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"机":{"docs":{},"制":{"docs":{},":":{"docs":{},"所":{"docs":{},"有":{"docs":{},"针":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"要":{"docs":{},"远":{"docs":{},"大":{"docs":{},"于":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"对":{"docs":{},"此":{"docs":{},"你":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"减":{"docs":{},"少":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},"、":{"docs":{},"为":{"docs":{},"视":{"docs":{},"图":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},";":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"级":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"自":{"docs":{},"动":{"docs":{},"排":{"docs":{},"版":{"docs":{},",":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"进":{"docs":{},"行":{"docs":{},"具":{"docs":{},"体":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"都":{"docs":{},"罗":{"docs":{},"列":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"还":{"docs":{},"有":{"docs":{},"其":{"docs":{},"他":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"…":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"地":{"docs":{},"址":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"方":{"docs":{},"如":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"入":{"docs":{},",":{"docs":{},"能":{"docs":{},"让":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"⽤":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"快":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"下":{"docs":{},"标":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"值":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"是":{"docs":{},"等":{"docs":{},"于":{"docs":{},"零":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"总":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"及":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"加":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"别":{"docs":{},"名":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"二":{"docs":{},"维":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"用":{"docs":{},"下":{"docs":{},"标":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.009569377990430622}}},"过":{"docs":{},"程":{"docs":{},"详":{"docs":{},"解":{"docs":{},",":{"docs":{},"鉴":{"docs":{},"于":{"docs":{},"支":{"docs":{},"付":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"性":{"docs":{},",":{"docs":{},"文":{"docs":{},"章":{"docs":{},"会":{"docs":{},"很":{"docs":{},"长":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"支":{"docs":{},"付":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"也":{"docs":{},"关":{"docs":{},"系":{"docs":{},"重":{"docs":{},"大":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{},"主":{"docs":{},"题":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"三":{"docs":{},"篇":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"不":{"docs":{},"难":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"其":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"黑":{"docs":{},"魔":{"docs":{},"法":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"量":{"docs":{},"也":{"docs":{},"不":{"docs":{},"多":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"成":{"docs":{},"本":{"docs":{},"很":{"docs":{},"低":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"更":{"docs":{},"多":{"docs":{},"精":{"docs":{},"力":{"docs":{},"花":{"docs":{},"在":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"与":{"docs":{},"之":{"docs":{},"配":{"docs":{},"合":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"结":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"团":{"docs":{},"队":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"取":{"docs":{},"舍":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"者":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"际":{"docs":{},"模":{"docs":{},"块":{"docs":{},"数":{"docs":{},"量":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"践":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"成":{"docs":{},"员":{"docs":{},"和":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"对":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"从":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"调":{"docs":{},"用":{"docs":{},"上":{"docs":{},"看":{"docs":{},",":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"?":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"体":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"只":{"docs":{},"含":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}},"点":{"docs":{},"为":{"docs":{},"其":{"docs":{},"双":{"docs":{},"亲":{"docs":{},"结":{"docs":{},"点":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}},"类":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"给":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"次":{"docs":{},"全":{"docs":{},"面":{"docs":{},"重":{"docs":{},"写":{"docs":{},"。":{"docs":{},"它":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"了":{"docs":{},"解":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":3.3356535189481824}}}}},"最":{"docs":{},"核":{"docs":{},"心":{"docs":{},"两":{"docs":{},"条":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"的":{"docs":{},"人":{"docs":{},"很":{"docs":{},"头":{"docs":{},"疼":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"核":{"docs":{},"心":{"docs":{},"规":{"docs":{},"则":{"docs":{},"还":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},"各":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"和":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"写":{"docs":{},"起":{"docs":{},"来":{"docs":{},"还":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"压":{"docs":{},"力":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"截":{"docs":{},"图":{"docs":{},",":{"docs":{},"参":{"docs":{},"考":{"docs":{},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}},"析":{"docs":{},"构":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"析":{"docs":{},"构":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"析":{"docs":{},"构":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"快":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}},"类":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}},"型":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}},"名":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"/":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"已":{"docs":{},"经":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"进":{"docs":{},"行":{"docs":{},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"和":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"将":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"时":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"地":{"docs":{},"向":{"docs":{},"类":{"docs":{},"或":{"docs":{},"者":{"docs":{},"实":{"docs":{},"例":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"方":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"法":{"docs":{},"等":{"docs":{},"同":{"docs":{},"与":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"避":{"docs":{},"免":{"docs":{},"d":{"docs":{},"o":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"签":{"docs":{},"名":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"长":{"docs":{},"度":{"docs":{},"等":{"docs":{},"。":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"从":{"docs":{},"而":{"docs":{},"信":{"docs":{},"任":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"想":{"docs":{},"调":{"docs":{},"用":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{},"?":{"docs":{},"没":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"确":{"docs":{},"保":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"那":{"docs":{},"一":{"docs":{},"组":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"#":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},")":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"长":{"docs":{},"度":{"docs":{},"一":{"docs":{},"致":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"是":{"docs":{},"希":{"docs":{},"望":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"使":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"事":{"docs":{},"情":{"docs":{},"可":{"docs":{},"做":{"docs":{},"时":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}},"栈":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"中":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"整":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"整":{"docs":{},"权":{"docs":{},"重":{"docs":{},")":{"docs":{},"。":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"并":{"docs":{},"发":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"皆":{"docs":{},"已":{"docs":{},"被":{"docs":{},"弃":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"头":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"找":{"docs":{},"链":{"docs":{},"表":{"docs":{},"中":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"后":{"docs":{},"续":{"docs":{},"做":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"中":{"docs":{},",":{"docs":{},"见":{"docs":{},"到":{"docs":{},"过":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"景":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"正":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"极":{"docs":{},"力":{"docs":{},"避":{"docs":{},"免":{"docs":{},"的":{"docs":{},"。":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"的":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"y":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"将":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"装":{"docs":{},"入":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"压":{"docs":{},"力":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"缩":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"嵌":{"docs":{},"套":{"docs":{},"用":{"docs":{},"法":{"docs":{},"猜":{"docs":{},"测":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"性":{"docs":{},"能":{"docs":{},"比":{"docs":{},"较":{"docs":{},"差":{"docs":{},",":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"要":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"冲":{"docs":{},"击":{"docs":{},"可":{"docs":{},"想":{"docs":{},"而":{"docs":{},"知":{"docs":{},"(":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"标":{"docs":{},"志":{"docs":{},"应":{"docs":{},"该":{"docs":{},"只":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"此":{"docs":{},"次":{"docs":{},"切":{"docs":{},"换":{"docs":{},"就":{"docs":{},"会":{"docs":{},"作":{"docs":{},"罢":{"docs":{},",":{"docs":{},"设":{"docs":{},"备":{"docs":{},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"此":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"引":{"docs":{},"起":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"上":{"docs":{},"信":{"docs":{},"息":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"了":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"机":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"衍":{"docs":{},"生":{"docs":{},"类":{"docs":{},"就":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"充":{"docs":{},"分":{"docs":{},"利":{"docs":{},"用":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"图":{"docs":{},"像":{"docs":{},"处":{"docs":{},"理":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"有":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"重":{"docs":{},"复":{"docs":{},"毫":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"也":{"docs":{},"不":{"docs":{},"再":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"作":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"倾":{"docs":{},"向":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"帮":{"docs":{},"助":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"直":{"docs":{},"接":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"优":{"docs":{},"化":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},",":{"docs":{},"并":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"现":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"则":{"docs":{},"报":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"价":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"前":{"docs":{},"缀":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"端":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"两":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}},"五":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"是":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"和":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"予":{"docs":{},"的":{"docs":{},"值":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"有":{"docs":{},"的":{"docs":{},"则":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"(":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"有":{"docs":{},"些":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"会":{"docs":{},"对":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"现":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},",":{"docs":{},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"就":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"但":{"docs":{},"现":{"docs":{},"在":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"动":{"docs":{},"态":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"将":{"docs":{},"静":{"docs":{},"态":{"docs":{},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"链":{"docs":{},"接":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"给":{"docs":{},"延":{"docs":{},"后":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"具":{"docs":{},"体":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"库":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"整":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{},"前":{"docs":{},"端":{"docs":{},"(":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"三":{"docs":{},"个":{"docs":{},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{},",":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"交":{"docs":{},"互":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"和":{"docs":{},"消":{"docs":{},"息":{"docs":{},"认":{"docs":{},"证":{"docs":{},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"t":{"docs":{},"l":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"针":{"docs":{},"对":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"劣":{"docs":{},"势":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"是":{"docs":{},"公":{"docs":{},"共":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"的":{"docs":{},"同":{"docs":{},"一":{"docs":{},"份":{"docs":{},"协":{"docs":{},"议":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"操":{"docs":{},"作":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"是":{"docs":{},"高":{"docs":{},"度":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"化":{"docs":{},"的":{"docs":{},"。":{"docs":{},"本":{"docs":{},"来":{"docs":{},"所":{"docs":{},"有":{"docs":{},"计":{"docs":{},"算":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"在":{"docs":{},"有":{"docs":{},"条":{"docs":{},"不":{"docs":{},"紊":{"docs":{},"地":{"docs":{},"正":{"docs":{},"在":{"docs":{},"向":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"内":{"docs":{},"存":{"docs":{},"清":{"docs":{},"理":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"对":{"docs":{},"象":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"函":{"docs":{},"数":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"区":{"docs":{},"别":{"docs":{},"就":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"就":{"docs":{},"导":{"docs":{},"致":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"都":{"docs":{},"要":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"思":{"docs":{},"想":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},",":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"传":{"docs":{},"回":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"存":{"docs":{},"在":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"且":{"docs":{},"多":{"docs":{},"端":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"消":{"docs":{},"息":{"docs":{},"模":{"docs":{},"块":{"docs":{},"下":{"docs":{},"发":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"消":{"docs":{},"息":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"完":{"docs":{},"全":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"。":{"docs":{},"后":{"docs":{},"端":{"docs":{},"配":{"docs":{},"好":{"docs":{},"展":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},"以":{"docs":{},"及":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"需":{"docs":{},"求":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"具":{"docs":{},"体":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"协":{"docs":{},"议":{"docs":{},"执":{"docs":{},"行":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"动":{"docs":{},"作":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"docs":{},"在":{"docs":{},"于":{"docs":{},"降":{"docs":{},"低":{"docs":{},"性":{"docs":{},"能":{"docs":{},"损":{"docs":{},"失":{"docs":{},",":{"docs":{},"但":{"docs":{},"总":{"docs":{},"是":{"docs":{},"至":{"docs":{},"少":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},"称":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"实":{"docs":{},"现":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"调":{"docs":{},"用":{"docs":{},"底":{"docs":{},"层":{"docs":{},"走":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"从":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"影":{"docs":{},"子":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"构":{"docs":{},"造":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"建":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"两":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"来":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"了":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"实":{"docs":{},"地":{"docs":{},"址":{"docs":{},"写":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"上":{"docs":{},"面":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"能":{"docs":{},"按":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"称":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"启":{"docs":{},"动":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"时":{"docs":{},"长":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"速":{"docs":{},"度":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"有":{"docs":{},"着":{"docs":{},"重":{"docs":{},"大":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"带":{"docs":{},"来":{"docs":{},"明":{"docs":{},"显":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"有":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"得":{"docs":{},"到":{"docs":{},"明":{"docs":{},"显":{"docs":{},"提":{"docs":{},"升":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},",":{"docs":{},"而":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"闭":{"docs":{},"包":{"docs":{},"被":{"docs":{},"构":{"docs":{},"建":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"…":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"面":{"docs":{},"量":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"拷":{"docs":{},"贝":{"docs":{},"资":{"docs":{},"源":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"表":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"表":{"docs":{},"项":{"docs":{},"中":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"都":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"在":{"docs":{},"装":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"被":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"机":{"docs":{},"器":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"都":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"最":{"docs":{},"开":{"docs":{},"始":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},"就":{"docs":{},"是":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"里":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"只":{"docs":{},"读":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"可":{"docs":{},"读":{"docs":{},"写":{"docs":{},"的":{"docs":{},",":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"有":{"docs":{},"错":{"docs":{},"误":{"docs":{},"和":{"docs":{},"遗":{"docs":{},"漏":{"docs":{},",":{"docs":{},"仅":{"docs":{},"供":{"docs":{},"理":{"docs":{},"解":{"docs":{},"本":{"docs":{},"文":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},",":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"把":{"docs":{},"指":{"docs":{},"针":{"docs":{},"从":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{},"…":{"docs":{},")":{"docs":{},"解":{"docs":{},"析":{"docs":{},"非":{"docs":{},"常":{"docs":{},"*":{"docs":{},"*":{"docs":{},"慢":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"交":{"docs":{},"集":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"具":{"docs":{},"体":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"占":{"docs":{},"位":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"桩":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"组":{"docs":{},"成":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"合":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"可":{"docs":{},"能":{"docs":{},"带":{"docs":{},"有":{"docs":{},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"其":{"docs":{},"实":{"docs":{},"和":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"启":{"docs":{},"动":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"最":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"期":{"docs":{},"优":{"docs":{},"化":{"docs":{},"等":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"等":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"也":{"docs":{},"提":{"docs":{},"出":{"docs":{},"更":{"docs":{},"高":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"譬":{"docs":{},"如":{"docs":{},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"态":{"docs":{},"目":{"docs":{},"前":{"docs":{},"建":{"docs":{},"设":{"docs":{},"的":{"docs":{},"也":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}},"走":{"docs":{},"的":{"docs":{},"更":{"docs":{},"加":{"docs":{},"成":{"docs":{},"熟":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"设":{"docs":{},"置":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"化":{"docs":{},"级":{"docs":{},"别":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"以":{"docs":{},"下":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"优":{"docs":{},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"号":{"docs":{},",":{"docs":{},"则":{"docs":{},"对":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"号":{"docs":{},"为":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"耗":{"docs":{},"时":{"docs":{},"比":{"docs":{},"想":{"docs":{},"象":{"docs":{},"的":{"docs":{},"要":{"docs":{},"多":{"docs":{},":":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"(":{"docs":{},"只":{"docs":{},"截":{"docs":{},"取":{"docs":{},"关":{"docs":{},"键":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"下":{"docs":{},"文":{"docs":{},"同":{"docs":{},")":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"早":{"docs":{},"期":{"docs":{},"版":{"docs":{},"本":{"docs":{},"叫":{"docs":{},"做":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"拆":{"docs":{},"除":{"docs":{},"需":{"docs":{},"要":{"docs":{},"发":{"docs":{},"送":{"docs":{},"四":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"称":{"docs":{},"为":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"(":{"docs":{},"含":{"docs":{},"公":{"docs":{},"钥":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"它":{"docs":{},"所":{"docs":{},"签":{"docs":{},"发":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"还":{"docs":{},"算":{"docs":{},"平":{"docs":{},"衡":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"就":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"这":{"docs":{},"样":{"docs":{},"(":{"docs":{},"有":{"docs":{},"点":{"docs":{},"丑":{"docs":{},"哈":{"docs":{},"哈":{"docs":{},")":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"所":{"docs":{},"有":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"质":{"docs":{},"量":{"docs":{},"及":{"docs":{},"效":{"docs":{},"率":{"docs":{},"方":{"docs":{},"面":{"docs":{},"的":{"docs":{},"隐":{"docs":{},"患":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"趋":{"docs":{},"近":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"都":{"docs":{},"是":{"docs":{},"串":{"docs":{},"行":{"docs":{},"的":{"docs":{},"递":{"docs":{},"增":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"也":{"docs":{},"更":{"docs":{},"利":{"docs":{},"于":{"docs":{},"沟":{"docs":{},"通":{"docs":{},"和":{"docs":{},"交":{"docs":{},"流":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"都":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},"且":{"docs":{},"包":{"docs":{},"含":{"docs":{},"原":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"新":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"即":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"白":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"先":{"docs":{},"把":{"docs":{},"容":{"docs":{},"器":{"docs":{},"以":{"docs":{},"及":{"docs":{},"其":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"长":{"docs":{},"度":{"docs":{},"为":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}},"大":{"docs":{},"于":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"坑":{"docs":{},"和":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"待":{"docs":{},"验":{"docs":{},"证":{"docs":{},"交":{"docs":{},"易":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"没":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"远":{"docs":{},"在":{"docs":{},"美":{"docs":{},"国":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"去":{"docs":{},"查":{"docs":{},"询":{"docs":{},"延":{"docs":{},"时":{"docs":{},"相":{"docs":{},"当":{"docs":{},"严":{"docs":{},"重":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"其":{"docs":{},"二":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"候":{"docs":{},"选":{"docs":{},"人":{"docs":{},"都":{"docs":{},"没":{"docs":{},"法":{"docs":{},"非":{"docs":{},"常":{"docs":{},"确":{"docs":{},"定":{"docs":{},"地":{"docs":{},"说":{"docs":{},"出":{"docs":{},"答":{"docs":{},"案":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},",":{"docs":{},"把":{"docs":{},"控":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"性":{"docs":{},"能":{"docs":{},"是":{"docs":{},"最":{"docs":{},"关":{"docs":{},"键":{"docs":{},"、":{"docs":{},"最":{"docs":{},"独":{"docs":{},"到":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"要":{"docs":{},"点":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"了":{"docs":{},"解":{"docs":{},"表":{"docs":{},"面":{"docs":{},"知":{"docs":{},"识":{"docs":{},",":{"docs":{},"到":{"docs":{},"了":{"docs":{},"实":{"docs":{},"际":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"失":{"docs":{},"之":{"docs":{},"毫":{"docs":{},"厘":{"docs":{},"谬":{"docs":{},"以":{"docs":{},"千":{"docs":{},"里":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"得":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"像":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"组":{"docs":{},"合":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},"也":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"得":{"docs":{},"到":{"docs":{},"最":{"docs":{},"终":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"将":{"docs":{},"一":{"docs":{},"对":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"和":{"docs":{},"红":{"docs":{},"色":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"在":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"中":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"也":{"docs":{},"就":{"docs":{},"大":{"docs":{},"致":{"docs":{},"搞":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"了":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"修":{"docs":{},"改":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"大":{"docs":{},"概":{"docs":{},"画":{"docs":{},"了":{"docs":{},"图":{"docs":{},"例":{"docs":{},"来":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"强":{"docs":{},"项":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"了":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"两":{"docs":{},"块":{"docs":{},"内":{"docs":{},"容":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"不":{"docs":{},"经":{"docs":{},"由":{"docs":{},"容":{"docs":{},"器":{"docs":{},"来":{"docs":{},"做":{"docs":{},"剪":{"docs":{},"切":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"预":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"载":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},",":{"docs":{},"让":{"docs":{},"他":{"docs":{},"们":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"做":{"docs":{},"各":{"docs":{},"自":{"docs":{},"最":{"docs":{},"擅":{"docs":{},"长":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"查":{"docs":{},"看":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"是":{"docs":{},"否":{"docs":{},"符":{"docs":{},"合":{"docs":{},"预":{"docs":{},"期":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"存":{"docs":{},"在":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"切":{"docs":{},"换":{"docs":{},"就":{"docs":{},"会":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"发":{"docs":{},"生":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"源":{"docs":{},"码":{"docs":{},"里":{"docs":{},"试":{"docs":{},"图":{"docs":{},"还":{"docs":{},"原":{"docs":{},"真":{"docs":{},"实":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"要":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"特":{"docs":{},"点":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"试":{"docs":{},"题":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"补":{"docs":{},"充":{"docs":{},"~":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"只":{"docs":{},"列":{"docs":{},"举":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"门":{"docs":{},"槛":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"工":{"docs":{},"程":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"替":{"docs":{},"换":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"警":{"docs":{},"告":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"去":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"简":{"docs":{},"写":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"r":{"docs":{},"w":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"尺":{"docs":{},"寸":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"多":{"docs":{},"少":{"docs":{},"为":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"我":{"docs":{},"自":{"docs":{},"己":{"docs":{},"做":{"docs":{},"了":{"docs":{},"下":{"docs":{},"实":{"docs":{},"验":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"无":{"docs":{},"关":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"是":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"和":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"层":{"docs":{},"级":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"显":{"docs":{},"示":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"新":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"核":{"docs":{},"心":{"docs":{},"组":{"docs":{},"件":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"错":{"docs":{},"误":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"页":{"docs":{},"面":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"多":{"docs":{},"可":{"docs":{},"参":{"docs":{},"考":{"docs":{},"的":{"docs":{},"案":{"docs":{},"例":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"对":{"docs":{},"于":{"docs":{},"某":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"优":{"docs":{},"化":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"指":{"docs":{},"导":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{},"在":{"docs":{},"本":{"docs":{},"文":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"严":{"docs":{},"选":{"docs":{},"商":{"docs":{},"品":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"里":{"docs":{},"领":{"docs":{},"取":{"docs":{},"津":{"docs":{},"贴":{"docs":{},"是":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},",":{"docs":{},"常":{"docs":{},"规":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"慢":{"docs":{},"的":{"docs":{},",":{"docs":{},"经":{"docs":{},"过":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"决":{"docs":{},"定":{"docs":{},"对":{"docs":{},"津":{"docs":{},"贴":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"做":{"docs":{},"两":{"docs":{},"个":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"追":{"docs":{},"求":{"docs":{},"没":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{},"不":{"docs":{},"大":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"下":{"docs":{},"沉":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"将":{"docs":{},"来":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"的":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"模":{"docs":{},"块":{"docs":{},"单":{"docs":{},"独":{"docs":{},"打":{"docs":{},"包":{"docs":{},"等":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"月":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"对":{"docs":{},"已":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"(":{"docs":{},"边":{"docs":{},"做":{"docs":{},"业":{"docs":{},"务":{"docs":{},"边":{"docs":{},"改":{"docs":{},"造":{"docs":{},")":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"方":{"docs":{},"案":{"docs":{},"细":{"docs":{},"节":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"对":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"也":{"docs":{},"都":{"docs":{},"有":{"docs":{},"预":{"docs":{},"期":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"时":{"docs":{},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},"大":{"docs":{},"家":{"docs":{},"多":{"docs":{},"持":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"态":{"docs":{},"度":{"docs":{},",":{"docs":{},"成":{"docs":{},"本":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"声":{"docs":{},"明":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"开":{"docs":{},"发":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"者":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"选":{"docs":{},"择":{"docs":{},"将":{"docs":{},"『":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"』":{"docs":{},"作":{"docs":{},"为":{"docs":{},"度":{"docs":{},"量":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"还":{"docs":{},"在":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"官":{"docs":{},"网":{"docs":{},"上":{"docs":{},"以":{"docs":{},"此":{"docs":{},"进":{"docs":{},"行":{"docs":{},"宣":{"docs":{},"传":{"docs":{},"(":{"docs":{},"具":{"docs":{},"体":{"docs":{},"界":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"可":{"docs":{},"考":{"docs":{},"证":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"对":{"docs":{},"适":{"docs":{},"配":{"docs":{},"有":{"docs":{},"所":{"docs":{},"留":{"docs":{},"意":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"个":{"docs":{},"人":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"这":{"docs":{},"块":{"docs":{},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"具":{"docs":{},"体":{"docs":{},"测":{"docs":{},"一":{"docs":{},"下":{"docs":{},"会":{"docs":{},"慢":{"docs":{},"做":{"docs":{},"少":{"docs":{},"再":{"docs":{},"做":{"docs":{},"决":{"docs":{},"定":{"docs":{},"更":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"二":{"docs":{},"者":{"docs":{},"差":{"docs":{},"别":{"docs":{},"不":{"docs":{},"大":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"后":{"docs":{},"续":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"一":{"docs":{},"直":{"docs":{},"没":{"docs":{},"作":{"docs":{},"调":{"docs":{},"整":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0029154518950437317}}}},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"也":{"docs":{},"试":{"docs":{},"过":{"docs":{},"直":{"docs":{},"接":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"新":{"docs":{},"起":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"经":{"docs":{},"历":{"docs":{},"过":{"docs":{},"几":{"docs":{},"次":{"docs":{},"改":{"docs":{},"版":{"docs":{},",":{"docs":{},"踩":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"坑":{"docs":{},",":{"docs":{},"也":{"docs":{},"收":{"docs":{},"获":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"宝":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"量":{"docs":{},"比":{"docs":{},"开":{"docs":{},"发":{"docs":{},"同":{"docs":{},"学":{"docs":{},"数":{"docs":{},"量":{"docs":{},"多":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"同":{"docs":{},"学":{"docs":{},"都":{"docs":{},"同":{"docs":{},"时":{"docs":{},"维":{"docs":{},"护":{"docs":{},"着":{"docs":{},"多":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"。":{"docs":{},"有":{"docs":{},"时":{"docs":{},"一":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"人":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{},"经":{"docs":{},"过":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"后":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"把":{"docs":{},"资":{"docs":{},"源":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"类":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"出":{"docs":{},"现":{"docs":{},",":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"历":{"docs":{},"史":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"和":{"docs":{},"新":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"发":{"docs":{},"展":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"名":{"docs":{},"字":{"docs":{},"和":{"docs":{},"它":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"不":{"docs":{},"相":{"docs":{},"符":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"连":{"docs":{},"接":{"docs":{},"器":{"docs":{},"会":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"从":{"docs":{},"这":{"docs":{},"些":{"docs":{},"地":{"docs":{},"址":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"这":{"docs":{},"些":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"下":{"docs":{},"次":{"docs":{},"他":{"docs":{},"们":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"上":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"工":{"docs":{},"作":{"docs":{},"了":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"能":{"docs":{},"大":{"docs":{},"幅":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"在":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"都":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"在":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"和":{"docs":{},"其":{"docs":{},"他":{"docs":{},"方":{"docs":{},"面":{"docs":{},"都":{"docs":{},"有":{"docs":{},"隐":{"docs":{},"患":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"革":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"不":{"docs":{},"做":{"docs":{},"懒":{"docs":{},"惰":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"及":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"符":{"docs":{},"号":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"为":{"docs":{},"也":{"docs":{},"将":{"docs":{},"和":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"陷":{"docs":{},"阱":{"docs":{},";":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"未":{"docs":{},"来":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"用":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"那":{"docs":{},"三":{"docs":{},"种":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"则":{"docs":{},"改":{"docs":{},"视":{"docs":{},"图":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"离":{"docs":{},"开":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"c":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":5.021739130434782},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"内":{"docs":{},"存":{"docs":{},"上":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"有":{"docs":{},"多":{"docs":{},"通":{"docs":{},"道":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"管":{"docs":{},"线":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"把":{"docs":{},"多":{"docs":{},"通":{"docs":{},"道":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"会":{"docs":{},"有":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"就":{"docs":{},"有":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"层":{"docs":{},"面":{"docs":{},"上":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"使":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"触":{"docs":{},"发":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"多":{"docs":{},"通":{"docs":{},"道":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"管":{"docs":{},"线":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"层":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"指":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"外":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"哪":{"docs":{},"一":{"docs":{},"步":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"?":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},":":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"为":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"牵":{"docs":{},"涉":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"开":{"docs":{},"销":{"docs":{},"主":{"docs":{},"要":{"docs":{},"在":{"docs":{},"与":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"性":{"docs":{},"能":{"docs":{},"影":{"docs":{},"响":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"缓":{"docs":{},"存":{"docs":{},"有":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"限":{"docs":{},",":{"docs":{},"最":{"docs":{},"多":{"docs":{},"不":{"docs":{},"超":{"docs":{},"过":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"总":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"响":{"docs":{},"应":{"docs":{},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"根":{"docs":{},"据":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}},"通":{"docs":{},"过":{"3":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"处":{"docs":{},"理":{"docs":{},"也":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"完":{"docs":{},"成":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"调":{"docs":{},"用":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"它":{"docs":{},":":{"docs":{},"可":{"docs":{},"否":{"docs":{},"把":{"docs":{},"这":{"docs":{},"条":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"给":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"处":{"docs":{},"理":{"docs":{},"?":{"docs":{},"该":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"于":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"对":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"自":{"docs":{},"动":{"docs":{},"分":{"docs":{},"配":{"docs":{},"和":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"若":{"docs":{},"想":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"里":{"docs":{},"把":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"备":{"docs":{},"援":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"捕":{"docs":{},"捉":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"的":{"docs":{},"捕":{"docs":{},"捉":{"docs":{},",":{"docs":{},"先":{"docs":{},"触":{"docs":{},"发":{"docs":{},"是":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"底":{"docs":{},"层":{"docs":{},"内":{"docs":{},"核":{"docs":{},"指":{"docs":{},"令":{"docs":{},"或":{"docs":{},"者":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"5":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"docs":{}}}}}},"怎":{"docs":{},"么":{"docs":{},"移":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"内":{"docs":{},"核":{"docs":{},"会":{"docs":{},"开":{"docs":{},"启":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"以":{"docs":{},"下":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"为":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"做":{"docs":{},"好":{"docs":{},"准":{"docs":{},"备":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}},"将":{"docs":{},"控":{"docs":{},"制":{"docs":{},"权":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"桌":{"docs":{},"面":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"收":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},",":{"docs":{},"进":{"docs":{},"程":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"标":{"docs":{},"记":{"docs":{},"当":{"docs":{},"前":{"docs":{},"进":{"docs":{},"程":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"该":{"docs":{},"段":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"当":{"docs":{},"真":{"docs":{},"正":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"段":{"docs":{},"段":{"docs":{},"内":{"docs":{},"存":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"分":{"docs":{},"配":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"是":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"目":{"docs":{},"录":{"docs":{},"读":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"缩":{"docs":{},"小":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}},"短":{"docs":{},"超":{"docs":{},"时":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"要":{"docs":{},"么":{"docs":{},"至":{"docs":{},"死":{"docs":{},"也":{"docs":{},"没":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"能":{"docs":{},"够":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"之":{"docs":{},"差":{"docs":{},"不":{"docs":{},"大":{"docs":{},"于":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"获":{"docs":{},"取":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"低":{"docs":{},"。":{"docs":{},"当":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"求":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"进":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"?":{"docs":{},"出":{"docs":{},"处":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"由":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"做":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"和":{"docs":{},"图":{"docs":{},"层":{"docs":{},"个":{"docs":{},"数":{"docs":{},"成":{"docs":{},"正":{"docs":{},"比":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"层":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"移":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"文":{"docs":{},"件":{"docs":{},"通":{"docs":{},"过":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}},"点":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}}},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"统":{"docs":{},"一":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"特":{"docs":{},"别":{"docs":{},"提":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"多":{"docs":{},"两":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"再":{"docs":{},"造":{"docs":{},"个":{"docs":{},"轮":{"docs":{},"子":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{},"一":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"始":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"时":{"docs":{},",":{"docs":{},"业":{"docs":{},"界":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"关":{"docs":{},"框":{"docs":{},"架":{"docs":{},"开":{"docs":{},"源":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"二":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"和":{"docs":{},"业":{"docs":{},"界":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"库":{"docs":{},"不":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"符":{"docs":{},"。":{"docs":{},"m":{"docs":{},"g":{"docs":{},"j":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"细":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"回":{"docs":{},"顾":{"docs":{},"下":{"docs":{},"整":{"docs":{},"个":{"docs":{},"启":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"各":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"因":{"docs":{},"素":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"着":{"docs":{},"加":{"docs":{},"载":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"见":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}},"返":{"docs":{},"回":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}},"的":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}},"图":{"docs":{},"像":{"docs":{},"被":{"docs":{},"分":{"docs":{},"配":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"值":{"docs":{},"不":{"docs":{},"为":{"0":{"docs":{},"—":{"docs":{},"—":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"没":{"docs":{},"有":{"docs":{},"按":{"docs":{},"时":{"docs":{},"完":{"docs":{},"成":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"为":{"0":{"docs":{},"—":{"docs":{},"—":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"docs":{}},":":{"docs":{},"为":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"进":{"docs":{},"入":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"d":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"c":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"会":{"docs":{},"去":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"命":{"docs":{},"中":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}},"休":{"docs":{},"眠":{"docs":{},"前":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"方":{"docs":{},"法":{"docs":{},"决":{"docs":{},"议":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}},"程":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"各":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"、":{"docs":{},"线":{"docs":{},"程":{"docs":{},"与":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"大":{"docs":{},"、":{"docs":{},"效":{"docs":{},"率":{"docs":{},"高":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"设":{"docs":{},"计":{"docs":{},"到":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"要":{"docs":{},"好":{"docs":{},"于":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"求":{"docs":{},"同":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"并":{"docs":{},"且":{"docs":{},"又":{"docs":{},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"某":{"docs":{},"些":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"进":{"docs":{},"程":{"docs":{},"至":{"docs":{},"少":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"如":{"docs":{},"微":{"docs":{},"信":{"docs":{},"、":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"杀":{"docs":{},"了":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"重":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"这":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"就":{"docs":{},"是":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"进":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"还":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"很":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"上":{"docs":{},"又":{"docs":{},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"一":{"docs":{},"层":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"方":{"docs":{},"便":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"又":{"docs":{},"对":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"又":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"页":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{},"当":{"docs":{},"进":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"个":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"通":{"docs":{},"常":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"架":{"docs":{},"构":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"化":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"工":{"docs":{},"具":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"特":{"docs":{},"别":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"或":{"docs":{},"分":{"docs":{},"发":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"识":{"docs":{},"别":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"要":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"量":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},"性":{"docs":{},"能":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"位":{"docs":{},"运":{"docs":{},"算":{"docs":{},",":{"docs":{},"只":{"docs":{},"取":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"步":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"沉":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"很":{"docs":{},"早":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"而":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"换":{"docs":{},"。":{"docs":{},"开":{"docs":{},"始":{"docs":{},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"而":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"图":{"docs":{},"片":{"docs":{},"格":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},"时":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"弱":{"docs":{},"绑":{"docs":{},"定":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"。":{"docs":{},"如":{"docs":{},"此":{"docs":{},"循":{"docs":{},"环":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"的":{"docs":{},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"如":{"docs":{},"文":{"docs":{},"字":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"、":{"docs":{},"图":{"docs":{},"片":{"docs":{},"解":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"都":{"docs":{},"无":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"试":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"类":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"并":{"docs":{},"未":{"docs":{},"全":{"docs":{},"部":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"开":{"docs":{},"放":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"妨":{"docs":{},"通":{"docs":{},"过":{"docs":{},"阅":{"docs":{},"读":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}},"』":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"换":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"思":{"docs":{},"考":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"合":{"docs":{},"并":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"这":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},":":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"作":{"docs":{},"者":{"docs":{},"将":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"异":{"docs":{},"或":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"只":{"docs":{},"要":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"地":{"docs":{},"址":{"docs":{},"都":{"docs":{},"相":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},"映":{"docs":{},"射":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"不":{"docs":{},"去":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"来":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"递":{"docs":{},"归":{"docs":{},"执":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},",":{"docs":{},"先":{"docs":{},"将":{"docs":{},"父":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"加":{"docs":{},"进":{"docs":{},"去":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"问":{"docs":{},"题":{"docs":{},"—":{"docs":{},"—":{"docs":{},"前":{"docs":{},"后":{"docs":{},"代":{"docs":{},"码":{"docs":{},"相":{"docs":{},"互":{"docs":{},"等":{"docs":{},"待":{"docs":{},"便":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"重":{"docs":{},"入":{"docs":{},"锁":{"docs":{},",":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"锁":{"docs":{},"释":{"docs":{},"放":{"docs":{},"前":{"docs":{},"可":{"docs":{},"再":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"以":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"左":{"docs":{},"右":{"docs":{},"序":{"docs":{},"列":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"派":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}}}}},"而":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"不":{"docs":{},"会":{"docs":{},"等":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"操":{"docs":{},"作":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"对":{"docs":{},"象":{"docs":{},"即":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"出":{"docs":{},"于":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"性":{"docs":{},"能":{"docs":{},"考":{"docs":{},"虑":{"docs":{},",":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"存":{"docs":{},"放":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},",":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"等":{"docs":{},"。":{"docs":{},"其":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"表":{"docs":{},"达":{"docs":{},"方":{"docs":{},"式":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"中":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"并":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"加":{"docs":{},"递":{"docs":{},"归":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"且":{"docs":{},"此":{"docs":{},"时":{"docs":{},"切":{"docs":{},"换":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"原":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"所":{"docs":{},"以":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"选":{"docs":{},"择":{"docs":{},"持":{"docs":{},"有":{"docs":{},"它":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"访":{"docs":{},"问":{"docs":{},"这":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"就":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"寻":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"稍":{"docs":{},"微":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"真":{"docs":{},"机":{"docs":{},"调":{"docs":{},"试":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"少":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"的":{"docs":{},"话":{"docs":{},"其":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"一":{"docs":{},"点":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"作":{"docs":{},"者":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"便":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"是":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"当":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"自":{"docs":{},"增":{"docs":{},"越":{"docs":{},"界":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"变":{"docs":{},"为":{"docs":{},"负":{"docs":{},"数":{"docs":{},"最":{"docs":{},"大":{"docs":{},"值":{"docs":{},"(":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"是":{"docs":{},"用":{"docs":{},"正":{"docs":{},"整":{"docs":{},"数":{"docs":{},"的":{"docs":{},"反":{"docs":{},"码":{"docs":{},"加":{"docs":{},"一":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"其":{"docs":{},"负":{"docs":{},"数":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"交":{"docs":{},"由":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"令":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"难":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"固":{"docs":{},"定":{"docs":{},"地":{"docs":{},"址":{"docs":{},"获":{"docs":{},"取":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"者":{"docs":{},"内":{"docs":{},"存":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"攻":{"docs":{},"击":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"被":{"docs":{},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"人":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}},"请":{"docs":{},"你":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"返":{"docs":{},"回":{"docs":{},"删":{"docs":{},"除":{"docs":{},"后":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"新":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},".":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},".":{"1":{"6":{"3":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"以":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},";":{"docs":{},"而":{"docs":{},"来":{"docs":{},"自":{"docs":{},"不":{"docs":{},"同":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"警":{"docs":{},"告":{"docs":{},"必":{"docs":{},"须":{"docs":{},"解":{"docs":{},"决":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"=":{"docs":{"iOS/UIKit/UIResponder.html":{"ref":"iOS/UIKit/UIResponder.html","tf":0.0030581039755351682}}},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.014492753623188406},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.009478672985781991},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.04259259259259259}},"工":{"docs":{},"作":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"是":{"4":{"0":{"9":{"6":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"成":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"造":{"docs":{},"成":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"负":{"docs":{},"担":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},":":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"图":{"docs":{},"层":{"docs":{},"混":{"docs":{},"合":{"docs":{},",":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"加":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"职":{"docs":{},"能":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}},"用":{"docs":{},"来":{"docs":{},"采":{"docs":{},"集":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"文":{"docs":{},"理":{"docs":{},"和":{"docs":{},"混":{"docs":{},"合":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"把":{"docs":{},"它":{"docs":{},"们":{"docs":{},"输":{"docs":{},"送":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阶":{"docs":{},"段":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"除":{"docs":{},"此":{"docs":{},"以":{"docs":{},"外":{"docs":{},",":{"docs":{},"有":{"docs":{},"时":{"docs":{},"候":{"docs":{},"也":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.005555555555555556}},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"它":{"docs":{},"解":{"docs":{},"压":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"将":{"docs":{},"你":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"写":{"docs":{},"入":{"docs":{},"图":{"docs":{},"层":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}},"就":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"十":{"docs":{},"分":{"docs":{},"缓":{"docs":{},"慢":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"十":{"docs":{},"分":{"docs":{},"挑":{"docs":{},"剔":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"十":{"docs":{},"分":{"docs":{},"不":{"docs":{},"好":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},":":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}},"}":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"/":{"1":{"docs":{},"f":{"docs":{},"f":{"docs":{},"d":{"3":{"3":{"2":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}}}}},"9":{"6":{"9":{"2":{"0":{"docs":{},"d":{"1":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"8":{"docs":{},"f":{"7":{"docs":{},"b":{"5":{"docs":{},"b":{"1":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},"d":{"9":{"docs":{},"d":{"4":{"8":{"8":{"4":{"5":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"e":{"docs":{},"p":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},"e":{"docs":{},"n":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},"方":{"docs":{},"法":{"docs":{},"亦":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},":":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"b":{"docs":{},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}},"t":{"docs":{},"o":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"o":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},",":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"g":{"docs":{},"l":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"e":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"段":{"docs":{},"底":{"docs":{},"层":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"的":{"docs":{},"叙":{"docs":{},"述":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}},"是":{"docs":{},"这":{"docs":{},"么":{"docs":{},"描":{"docs":{},"述":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"y":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"c":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":5.004850444624091},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":5.021052631578947}},"仅":{"docs":{},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"同":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"整":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"接":{"docs":{},"近":{"docs":{},"底":{"docs":{},"层":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"在":{"docs":{},"追":{"docs":{},"求":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"操":{"docs":{},"作":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"是":{"docs":{},"速":{"docs":{},"度":{"docs":{},"最":{"docs":{},"快":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},"循":{"docs":{},"环":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"+":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"或":{"docs":{},"者":{"docs":{},"提":{"docs":{},"前":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"取":{"docs":{},"消":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"封":{"docs":{},"装":{"docs":{},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},"控":{"docs":{},"制":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"持":{"docs":{},"有":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"出":{"docs":{},"了":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"立":{"docs":{},"即":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"没":{"docs":{},"有":{"docs":{},"了":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"称":{"docs":{},"是":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"两":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"概":{"docs":{},"念":{"docs":{},"是":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"和":{"docs":{},"队":{"docs":{},"列":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}},"优":{"docs":{},"点":{"docs":{},":":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"主":{"docs":{},"要":{"docs":{},"与":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"结":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"构":{"docs":{},"成":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"及":{"docs":{},"相":{"docs":{},"关":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"在":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"是":{"docs":{},"由":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"构":{"docs":{},"成":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},";":{"docs":{},"而":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"选":{"docs":{},"择":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"分":{"docs":{},"派":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"多":{"docs":{},"读":{"docs":{},"单":{"docs":{},"写":{"docs":{},"情":{"docs":{},"景":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"方":{"docs":{},"便":{"docs":{},"任":{"docs":{},"务":{"docs":{},"状":{"docs":{},"态":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"移":{"docs":{},"除":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"多":{"docs":{},"用":{"docs":{},"于":{"docs":{},"常":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.009718172983479106},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.8131197559115177}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}},"/":{"docs":{},"/":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"、":{"docs":{},"s":{"docs":{},"v":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"l":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.036231884057971016},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.05},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"依":{"docs":{},"次":{"docs":{},"画":{"docs":{},"好":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"树":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},")":{"docs":{},"协":{"docs":{},"议":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"(":{"docs":{},"如":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"组":{"docs":{},"合":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"可":{"docs":{},"能":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"就":{"docs":{},"画":{"docs":{},"出":{"docs":{},"只":{"docs":{},"有":{"docs":{},"完":{"docs":{},"成":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"步":{"docs":{},"之":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"知":{"docs":{},"道":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"又":{"docs":{},"只":{"docs":{},"能":{"docs":{},"另":{"docs":{},"外":{"docs":{},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"把":{"docs":{},"本":{"docs":{},"体":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"先":{"docs":{},"画":{"docs":{},"好":{"docs":{},",":{"docs":{},"再":{"docs":{},"根":{"docs":{},"据":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"以":{"docs":{},"及":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"、":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"要":{"docs":{},"么":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"种":{"docs":{},"通":{"docs":{},"过":{"docs":{},"单":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"能":{"docs":{},"完":{"docs":{},"成":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"另":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"借":{"docs":{},"助":{"docs":{},"这":{"docs":{},"个":{"docs":{},"临":{"docs":{},"时":{"docs":{},"中":{"docs":{},"转":{"docs":{},"区":{"docs":{},"域":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"、":{"docs":{},"多":{"docs":{},"次":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.00816326530612245}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"开":{"docs":{},"始":{"docs":{},"之":{"docs":{},"前":{"docs":{},"传":{"docs":{},"播":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"布":{"docs":{},"局":{"docs":{},"和":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"发":{"docs":{},"生":{"docs":{},"并":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"之":{"docs":{},"前":{"docs":{},"完":{"docs":{},"成":{"docs":{},"(":{"docs":{},"除":{"docs":{},"非":{"docs":{},"有":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"等":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"且":{"docs":{},"两":{"docs":{},"次":{"docs":{},"之":{"docs":{},"间":{"docs":{},"没":{"docs":{},"有":{"docs":{},"更":{"docs":{},"新":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{},"同":{"docs":{},"样":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.026530612244897958},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}},"]":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"”":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"计":{"docs":{},"算":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},")":{"docs":{},",":{"docs":{},"源":{"docs":{},"头":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},",":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"z":{"docs":{},"i":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.0081799591002045}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"a":{"docs":{},"m":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"e":{"docs":{},"d":{"docs":{},"】":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"运":{"docs":{},"行":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"搜":{"docs":{},"索":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.007832898172323759}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.012}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"上":{"docs":{},"很":{"docs":{},"有":{"docs":{},"效":{"docs":{},"率":{"docs":{},"地":{"docs":{},"达":{"docs":{},"成":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"实":{"docs":{},"现":{"docs":{},"比":{"docs":{},"较":{"docs":{},"长":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"注":{"docs":{},"释":{"docs":{},"写":{"docs":{},"的":{"docs":{},"非":{"docs":{},"常":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"主":{"docs":{},"要":{"docs":{},"由":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"步":{"docs":{},"(":{"docs":{},"这":{"docs":{},"里":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"获":{"docs":{},"取":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.041428571428571426},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004045853000674309},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.014314928425357873},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.04198473282442748},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01337295690936107},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.015873015873015872}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"&":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"在":{"docs":{},"新":{"docs":{},"建":{"docs":{},"任":{"docs":{},"务":{"docs":{},"前":{"docs":{},",":{"docs":{},"如":{"docs":{},"有":{"docs":{},"取":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"分":{"docs":{},"类":{"2":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"3":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"4":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"docs":{}}}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"]":{"docs":{},",":{"docs":{},"父":{"docs":{},"类":{"docs":{},"就":{"docs":{},"会":{"docs":{},"收":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"啊":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"里":{"docs":{},"面":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"循":{"docs":{},"环":{"docs":{},"调":{"docs":{},"用":{"docs":{},"所":{"docs":{},"用":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"(":{"docs":{},"*":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"机":{"docs":{},"制":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},".":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}},"只":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},"吗":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"他":{"docs":{},"还":{"docs":{},"不":{"docs":{},"走":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"其":{"docs":{},"实":{"docs":{},"有":{"docs":{},"点":{"docs":{},"奇":{"docs":{},"怪":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"说":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"里":{"docs":{},"了":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"w":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},";":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"(":{"docs":{},"我":{"docs":{},"们":{"docs":{},"研":{"docs":{},"究":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"置":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}}}},"k":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":10.001908396946565},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},")":{"docs":{},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},".":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"表":{"docs":{},"示":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"能":{"docs":{},"多":{"docs":{},"次":{"docs":{},"进":{"docs":{},"入":{"docs":{},",":{"docs":{},"从":{"docs":{},"侧":{"docs":{},"面":{"docs":{},"表":{"docs":{},"现":{"docs":{},"出":{"docs":{},"了":{"docs":{},"递":{"docs":{},"归":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},",":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},",":{"docs":{},"其":{"docs":{},"加":{"docs":{},"减":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"是":{"docs":{},"在":{"docs":{},"加":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"任":{"docs":{},"何":{"docs":{},"内":{"docs":{},"容":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0121580547112462},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},")":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"g":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},";":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"/":{"docs":{},"不":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}},"、":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"两":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"数":{"docs":{},"量":{"docs":{},"跟":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"大":{"docs":{},"同":{"docs":{},"小":{"docs":{},"异":{"docs":{},",":{"docs":{},"到":{"docs":{},"底":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"原":{"docs":{},"因":{"docs":{},"导":{"docs":{},"致":{"docs":{},"两":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"上":{"docs":{},"会":{"docs":{},"有":{"docs":{},"截":{"docs":{},"然":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"?":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"又":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"?":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"2":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}},"3":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}},"docs":{}}}}}}},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"s":{"docs":{},"b":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"t":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"l":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"i":{"docs":{},"s":{"docs":{},"t":{"2":{"docs":{},"t":{"docs":{},"n":{"docs":{},"(":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.022727272727272728}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"之":{"docs":{},"外":{"docs":{},"其":{"docs":{},"他":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},".":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"e":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}},"(":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"l":{"docs":{},"o":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545}}}}}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"y":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"符":{"docs":{},"号":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"他":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"源":{"docs":{},"头":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"&":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},",":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"u":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.006864988558352402}},"x":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"/":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"e":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.03151862464183381}},"[":{"0":{"docs":{},":":{"4":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}},"]":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"1":{"6":{"docs":{},":":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}},"docs":{}},"2":{"docs":{},"]":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"8":{"docs":{},":":{"1":{"2":{"docs":{},"]":{"docs":{},"[":{"docs":{},":":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"s":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}}}}}},"o":{"docs":{},"n":{"1":{"0":{"docs":{},".":{"7":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"docs":{}}},"docs":{}},"docs":{}}},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"缩":{"docs":{},"写":{"docs":{},",":{"docs":{},"可":{"docs":{},"译":{"docs":{},"为":{"docs":{},"“":{"docs":{},"最":{"docs":{},"长":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"寿":{"docs":{},"命":{"docs":{},"”":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"任":{"docs":{},"何":{"docs":{},"报":{"docs":{},"文":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"上":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"最":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"报":{"docs":{},"文":{"docs":{},"将":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"任":{"docs":{},"何":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"前":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"内":{"docs":{},"的":{"docs":{},"最":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"以":{"docs":{},"i":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"内":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"报":{"docs":{},"则":{"docs":{},"有":{"docs":{},"限":{"docs":{},"制":{"docs":{},"其":{"docs":{},"生":{"docs":{},"存":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"t":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"]":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"s":{"docs":{},"\"":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"v":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"n":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"=":{"0":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"docs":{}}}}},"(":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"f":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"x":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"r":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{},"y":{"docs":{},"l":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"v":{"docs":{},"m":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0036231884057971015},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.036458333333333336},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}},"v":{"docs":{},"v":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"o":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.016908212560386472},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":5.040899795501023},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.014184397163120567},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.01488095238095238}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.012086513994910942}},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.02097902097902098},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},")":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"这":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"并":{"docs":{},"发":{"docs":{},"回":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"被":{"docs":{},"动":{"docs":{},"打":{"docs":{},"开":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"+":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.014608233731739707}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"[":{"docs":{},"]":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"s":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},",":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988}},"s":{"docs":{},":":{"0":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},")":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00597609561752988}}}}}},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}},"c":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.005555555555555556}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"=":{"0":{"docs":{},".":{"5":{"docs":{},",":{"docs":{},"并":{"docs":{},"复":{"docs":{},"制":{"docs":{},"一":{"docs":{},"份":{"docs":{},"在":{"docs":{},"旁":{"docs":{},"边":{"docs":{},"作":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{},"左":{"docs":{},"边":{"docs":{},"关":{"docs":{},"闭":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"行":{"docs":{},"为":{"docs":{},")":{"docs":{},"的":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"从":{"docs":{},"名":{"docs":{},"字":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"猜":{"docs":{},"到":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"右":{"docs":{},"边":{"docs":{},"保":{"docs":{},"持":{"docs":{},"默":{"docs":{},"认":{"docs":{},"(":{"docs":{},"从":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},",":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.015},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"监":{"docs":{},"听":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"视":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"没":{"docs":{},"有":{"docs":{},"事":{"docs":{},"件":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}},")":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"套":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"允":{"docs":{},"许":{"docs":{},"将":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},"通":{"docs":{},"知":{"docs":{},"给":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"1":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.02102803738317757},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.009589041095890411},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"{":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.011682242990654205},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"c":{"2":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}},".":{"0":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}},"docs":{}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.020802377414561663}}}}}}}}}}}}}}}},"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.008264462809917356},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.027777777777777776},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.01607717041800643},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.008915304606240713},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.009574468085106383},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.010401188707280832}},":":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"即":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"继":{"docs":{},"承":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"同":{"docs":{},"样":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"真":{"docs":{},"实":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"l":{"docs":{},"d":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}},"*":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"s":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"(":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"(":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634}}}}}}}}}}}}}}}},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"跑":{"docs":{},"到":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"_":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"5":{"2":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"6":{"0":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"5":{"2":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"6":{"0":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"2":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"3":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"2":{"6":{"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{}},"7":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"c":{"docs":{},"_":{"1":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"2":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"3":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"4":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"p":{"1":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"docs":{}}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275}}},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.012396694214876033},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.05555555555555555},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.00964630225080386},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.008915304606240713}},"的":{"docs":{},"真":{"docs":{},"实":{"docs":{},"定":{"docs":{},"义":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"m":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"储":{"docs":{},"位":{"docs":{},"置":{"docs":{},"也":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"实":{"docs":{},"现":{"docs":{},"对":{"docs":{},"象":{"docs":{},"与":{"docs":{},"类":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}},"y":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"6":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.01652892561983471},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.02912621359223301},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.00966183574879227},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.022494887525562373},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.022727272727272728},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.006224066390041493},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.511887072808321},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.027842227378190254},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.007936507936507936}},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.012618296529968454},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":10}},".":{"docs":{},"m":{"docs":{},"d":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},":":{"docs":{},":":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}}}}}}}},";":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}},":":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.01056338028169014}}}}}}},".":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"会":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},"移":{"docs":{},"动":{"docs":{},"到":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},",":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}},"传":{"docs":{},"入":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}},"c":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5013966480446927},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0035460992907801418}},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"特":{"docs":{},"有":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"从":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"讲":{"docs":{},",":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}},"对":{"docs":{},"象":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"成":{"docs":{},"为":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"属":{"docs":{},"于":{"docs":{},"动":{"docs":{},"态":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"决":{"docs":{},"定":{"docs":{},"真":{"docs":{},"正":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"(":{"docs":{},"事":{"docs":{},"实":{"docs":{},"证":{"docs":{},"明":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"o":{"docs":{},"c":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"任":{"docs":{},"何":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"并":{"docs":{},"未":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"声":{"docs":{},"明":{"docs":{},"过":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{},"而":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"就":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"u":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}},"e":{"docs":{},"_":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757}}},"=":{"0":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"docs":{}},":":{"docs":{},"最":{"docs":{},"低":{"docs":{},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},"。":{"docs":{},"当":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},")":{"docs":{},"的":{"docs":{},"线":{"docs":{},"性":{"docs":{},"表":{"docs":{},",":{"docs":{},"在":{"docs":{},"具":{"docs":{},"体":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"链":{"docs":{},"表":{"docs":{},"或":{"docs":{},"者":{"docs":{},"数":{"docs":{},"组":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"装":{"docs":{},"载":{"docs":{},"线":{"docs":{},"程":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"队":{"docs":{},"形":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"队":{"docs":{},"列":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"在":{"docs":{},"后":{"docs":{},"端":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"在":{"docs":{},"前":{"docs":{},"端":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"删":{"docs":{},"除":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"队":{"docs":{},"列":{"docs":{},"只":{"docs":{},"允":{"docs":{},"许":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"后":{"docs":{},"端":{"docs":{},"进":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"l":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.006382978723404255}},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},";":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}}}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"docs":{}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"l":{"docs":{},"y":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"c":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}},"o":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"s":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"i":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"&":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"(":{"docs":{},"&":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"是":{"docs":{},"原":{"docs":{},"子":{"docs":{},"自":{"docs":{},"增":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{},"在":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"若":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"整":{"docs":{},"形":{"docs":{},"数":{"docs":{},"值":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"不":{"docs":{},"再":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"用":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"替":{"docs":{},"代":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"'":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"n":{"docs":{},"m":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.002976190476190476}},"e":{"docs":{},"[":{"2":{"docs":{},"]":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}},"docs":{}}}}}}},":":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"v":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"e":{"docs":{},"r":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"类":{"docs":{},"的":{"docs":{},"继":{"docs":{},"承":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.007407407407407408}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"k":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"中":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"。":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"并":{"docs":{},"不":{"docs":{},"产":{"docs":{},"生":{"docs":{},"新":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"移":{"docs":{},"动":{"docs":{},"和":{"docs":{},"补":{"docs":{},"丁":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"符":{"docs":{},"号":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"o":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{}}}}},"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"相":{"docs":{},"当":{"docs":{},"好":{"docs":{},"了":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}},"不":{"docs":{},"过":{"docs":{},"却":{"docs":{},"不":{"docs":{},"是":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"要":{"docs":{},"求":{"docs":{},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"至":{"docs":{},"多":{"docs":{},"等":{"docs":{},"于":{"1":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"要":{"docs":{},"求":{"docs":{},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"太":{"docs":{},"严":{"docs":{},"了":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"每":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{},"/":{"docs":{},"删":{"docs":{},"除":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"都":{"docs":{},"会":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"的":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"进":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"左":{"docs":{},"旋":{"docs":{},"和":{"docs":{},"右":{"docs":{},"旋":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"使":{"docs":{},"之":{"docs":{},"再":{"docs":{},"次":{"docs":{},"成":{"docs":{},"为":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"符":{"docs":{},"合":{"docs":{},"要":{"docs":{},"求":{"docs":{},"的":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"这":{"docs":{},"里":{"docs":{},"就":{"docs":{},"不":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"了":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"讲":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}},"docs":{}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"想":{"docs":{},"而":{"docs":{},"知":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"不":{"docs":{},"能":{"docs":{},"让":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"发":{"docs":{},"生":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"引":{"docs":{},"申":{"docs":{},"出":{"docs":{},"了":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}},"o":{"docs":{},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"中":{"docs":{},"的":{"docs":{},"段":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"和":{"docs":{},"真":{"docs":{},"机":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"式":{"docs":{},"不":{"docs":{},"同":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"以":{"docs":{},"区":{"docs":{},"分":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"什":{"docs":{},"么":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"?":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"既":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"r":{"docs":{},"c":{"docs":{},"又":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"?":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"一":{"docs":{},"张":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"去":{"docs":{},"管":{"docs":{},"理":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"?":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"业":{"docs":{},"界":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"要":{"docs":{},"设":{"docs":{},"计":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"?":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"进":{"docs":{},"行":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"头":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"要":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"需":{"docs":{},"要":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"?":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"两":{"docs":{},"次":{"docs":{},"不":{"docs":{},"行":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"闭":{"docs":{},"包":{"docs":{},"能":{"docs":{},"提":{"docs":{},"高":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"才":{"docs":{},"能":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"想":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"人":{"docs":{},"要":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"他":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"中":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"么":{"docs":{},"设":{"docs":{},"计":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"y":{"docs":{},"’":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"值":{"docs":{},"是":{"docs":{},"整":{"docs":{},"数":{"docs":{},",":{"docs":{},"但":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"数":{"docs":{},"组":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"/":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"?":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{},"会":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"你":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}}}}}},"苹":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"入":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"二":{"docs":{},"方":{"docs":{},"库":{"docs":{},"在":{"docs":{},"出":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"要":{"docs":{},"选":{"docs":{},"择":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"何":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"制":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"独":{"docs":{},"一":{"docs":{},"无":{"docs":{},"二":{"docs":{},"的":{"docs":{},"标":{"docs":{},"识":{"docs":{},"符":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},"片":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"圆":{"docs":{},"角":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"当":{"docs":{},"前":{"docs":{},"定":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"并":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"运":{"docs":{},"算":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},"索":{"docs":{},"引":{"docs":{},"所":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"值":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"里":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"分":{"docs":{},"别":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"下":{"docs":{},"面":{"docs":{},"三":{"docs":{},"种":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"来":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"结":{"docs":{},"束":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"上":{"docs":{},"文":{"docs":{},"贴":{"docs":{},"出":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"核":{"docs":{},"心":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"约":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"额":{"docs":{},"外":{"docs":{},"付":{"docs":{},"出":{"docs":{},"两":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"能":{"docs":{},"够":{"docs":{},"到":{"docs":{},"达":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"处":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"就":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"它":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"上":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"其":{"docs":{},"身":{"docs":{},"份":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"一":{"docs":{},"些":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"的":{"docs":{},"误":{"docs":{},"伤":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"一":{"docs":{},"些":{"docs":{},"前":{"docs":{},"缀":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"是":{"docs":{},"仅":{"docs":{},"保":{"docs":{},"留":{"docs":{},"带":{"docs":{},"有":{"docs":{},"某":{"docs":{},"些":{"docs":{},"前":{"docs":{},"缀":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"有":{"docs":{},"依":{"docs":{},"据":{"docs":{},"的":{"docs":{},"推":{"docs":{},"断":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"和":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"以":{"docs":{},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"返":{"docs":{},"回":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"譬":{"docs":{},"如":{"docs":{},"某":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"为":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"提":{"docs":{},"供":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{},"具":{"docs":{},"体":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"假":{"docs":{},"设":{"docs":{},"为":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"例":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"下":{"docs":{},"构":{"docs":{},"建":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"维":{"docs":{},"度":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"后":{"docs":{},",":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"为":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"树":{"docs":{},",":{"docs":{},"明":{"docs":{},"显":{"docs":{},"右":{"docs":{},"边":{"docs":{},"太":{"docs":{},"重":{"docs":{},",":{"docs":{},"左":{"docs":{},"边":{"docs":{},"太":{"docs":{},"稀":{"docs":{},",":{"docs":{},"想":{"docs":{},"要":{"docs":{},"保":{"docs":{},"持":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"就":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"添":{"docs":{},"加":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"。":{"docs":{},"(":{"docs":{},"i":{"docs":{},"从":{"1":{"docs":{},"开":{"docs":{},"始":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}},"docs":{}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"解":{"docs":{},"法":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"。":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"被":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"啥":{"docs":{},"打":{"docs":{},"印":{"docs":{},"三":{"docs":{},"次":{"docs":{},"呢":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"体":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{},"若":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"止":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"进":{"docs":{},"入":{"docs":{},"第":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"组":{"docs":{},"接":{"docs":{},"口":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"量":{"docs":{},"减":{"docs":{},"少":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"频":{"docs":{},"率":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"对":{"docs":{},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"再":{"docs":{},"写":{"docs":{},"入":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"操":{"docs":{},"作":{"docs":{},"向":{"docs":{},"系":{"docs":{},"统":{"docs":{},"表":{"docs":{},"明":{"docs":{},"需":{"docs":{},"要":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"会":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"展":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"一":{"docs":{},"样":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"就":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"风":{"docs":{},"格":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"从":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"化":{"docs":{},"转":{"docs":{},"变":{"docs":{},"成":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"卡":{"docs":{},"片":{"docs":{},",":{"docs":{},"即":{"docs":{},"刻":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"风":{"docs":{},"格":{"docs":{},"也":{"docs":{},"随":{"docs":{},"之":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"加":{"docs":{},"入":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"与":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"上":{"docs":{},"稍":{"docs":{},"有":{"docs":{},"不":{"docs":{},"慎":{"docs":{},",":{"docs":{},"就":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"采":{"docs":{},"取":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"一":{"docs":{},"些":{"docs":{},"措":{"docs":{},"施":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"轮":{"docs":{},"到":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"进":{"docs":{},"入":{"docs":{},"重":{"docs":{},"点":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"开":{"docs":{},"始":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"会":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"最":{"docs":{},"深":{"docs":{},"层":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"其":{"docs":{},"置":{"docs":{},"为":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"会":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"常":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"裁":{"docs":{},"剪":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"前":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"不":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"下":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"引":{"docs":{},"入":{"docs":{},"到":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"以":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"很":{"docs":{},"难":{"docs":{},"调":{"docs":{},"试":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{},"而":{"docs":{},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"能":{"docs":{},"提":{"docs":{},"供":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"找":{"docs":{},"到":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"最":{"docs":{},"长":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"很":{"docs":{},"多":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"优":{"docs":{},"化":{"docs":{},"性":{"docs":{},"能":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"调":{"docs":{},"整":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"次":{"docs":{},"、":{"docs":{},"添":{"docs":{},"加":{"docs":{},"和":{"docs":{},"移":{"docs":{},"除":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"关":{"docs":{},"系":{"docs":{},"是":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"有":{"docs":{},"效":{"docs":{},"利":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"所":{"docs":{},"以":{"docs":{},"能":{"docs":{},"成":{"docs":{},"功":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"要":{"docs":{},"引":{"docs":{},"入":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"说":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"种":{"docs":{},"极":{"docs":{},"端":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"花":{"docs":{},"这":{"docs":{},"么":{"docs":{},"大":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"讲":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"何":{"docs":{},"优":{"docs":{},"化":{"docs":{},"都":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},"理":{"docs":{},"解":{"docs":{},"系":{"docs":{},"统":{"docs":{},"运":{"docs":{},"作":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"下":{"docs":{},"如":{"docs":{},"何":{"docs":{},"利":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"决":{"docs":{},"实":{"docs":{},"际":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"关":{"docs":{},"注":{"docs":{},"~":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"d":{"docs":{},"l":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"产":{"docs":{},"生":{"docs":{},"了":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"时":{"docs":{},"的":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"你":{"docs":{},"现":{"docs":{},"在":{"docs":{},"是":{"docs":{},"[":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"则":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"决":{"docs":{},"议":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"到":{"docs":{},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"个":{"docs":{},"东":{"docs":{},"西":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"两":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"有":{"docs":{},"共":{"docs":{},"通":{"docs":{},"的":{"docs":{},"非":{"docs":{},"执":{"docs":{},"行":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"达":{"docs":{},"到":{"docs":{},"单":{"docs":{},"一":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{},"之":{"docs":{},"多":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"外":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"字":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"有":{"docs":{},"些":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"不":{"docs":{},"会":{"docs":{},"使":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"+":{"1":{"docs":{},"也":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"人":{"docs":{},"难":{"docs":{},"免":{"docs":{},"有":{"docs":{},"遗":{"docs":{},"漏":{"docs":{},")":{"docs":{},"。":{"docs":{},"后":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"介":{"docs":{},"于":{"docs":{},"业":{"docs":{},"界":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"继":{"docs":{},"续":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"术":{"docs":{},"语":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"下":{"docs":{},"面":{"docs":{},"所":{"docs":{},"用":{"docs":{},"名":{"docs":{},"词":{"docs":{},",":{"docs":{},"“":{"docs":{},"模":{"docs":{},"块":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"和":{"docs":{},"代":{"docs":{},"码":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"真":{"docs":{},"的":{"docs":{},"没":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"当":{"docs":{},"然":{"docs":{},"不":{"docs":{},"是":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"当":{"docs":{},"前":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{},"过":{"docs":{},"早":{"docs":{},"的":{"docs":{},"调":{"docs":{},"整":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"成":{"docs":{},"本":{"docs":{},"却":{"docs":{},"没":{"docs":{},"有":{"docs":{},"价":{"docs":{},"值":{"docs":{},"产":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"并":{"docs":{},"不":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"是":{"docs":{},"跨":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},"又":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"件":{"docs":{},"事":{"docs":{},"。":{"docs":{},"某":{"docs":{},"个":{"docs":{},"新":{"docs":{},"来":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"存":{"docs":{},"在":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"的":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"何":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"先":{"docs":{},"把":{"docs":{},"父":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"父":{"docs":{},"列":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}},"+":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}},"看":{"docs":{},"编":{"docs":{},"译":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"判":{"docs":{},"断":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"工":{"docs":{},"作":{"docs":{},"队":{"docs":{},"列":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"满":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"将":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"开":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"不":{"docs":{},"用":{"docs":{},"管":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"从":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"找":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"满":{"docs":{},"足":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"比":{"docs":{},"他":{"docs":{},"小":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"比":{"docs":{},"他":{"docs":{},"大":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"趟":{"docs":{},"就":{"docs":{},"是":{"docs":{},"看":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"分":{"docs":{},"割":{"docs":{},"的":{"docs":{},"两":{"docs":{},"半":{"docs":{},",":{"docs":{},"再":{"docs":{},"同":{"docs":{},"样":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"元":{"docs":{},"素":{"docs":{},"满":{"docs":{},"足":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"都":{"docs":{},"比":{"docs":{},"他":{"docs":{},"小":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"比":{"docs":{},"他":{"docs":{},"大":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}},"(":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"是":{"docs":{},"把":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"片":{"docs":{},"元":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"具":{"docs":{},"有":{"docs":{},"将":{"docs":{},"图":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"栅":{"docs":{},"格":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"图":{"docs":{},"象":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"特":{"docs":{},"点":{"docs":{},"是":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"对":{"docs":{},"应":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"像":{"docs":{},"素":{"docs":{},"。":{"docs":{},"(":{"docs":{},"应":{"docs":{},"用":{"docs":{},":":{"docs":{},"较":{"docs":{},"为":{"docs":{},"广":{"docs":{},"泛":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"深":{"docs":{},"度":{"docs":{},"学":{"docs":{},"习":{"docs":{},"卷":{"docs":{},"积":{"docs":{},"神":{"docs":{},"经":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},")":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"动":{"docs":{},"画":{"docs":{},"以":{"docs":{},"及":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"这":{"docs":{},"里":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"下":{"docs":{},",":{"docs":{},"不":{"docs":{},"显":{"docs":{},"示":{"docs":{},"指":{"docs":{},"定":{"docs":{},"属":{"docs":{},"性":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},"时":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"砸":{"docs":{},"壳":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"请":{"docs":{},"看":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"深":{"docs":{},"入":{"docs":{},"研":{"docs":{},"究":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":5}}}}}},"解":{"docs":{},"释":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"其":{"docs":{},"相":{"docs":{},"关":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"在":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"开":{"docs":{},"源":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"关":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"真":{"docs":{},"理":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滨":{"docs":{},"野":{"docs":{},"纯":{"docs":{},"的":{"docs":{},"访":{"docs":{},"谈":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"键":{"docs":{},"字":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":2.5027932960893855}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"不":{"docs":{},"会":{"docs":{},"加":{"1":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"自":{"docs":{},"动":{"docs":{},"被":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"常":{"docs":{},"量":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"分":{"docs":{},"析":{"docs":{},")":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}},"词":{"docs":{},"是":{"docs":{},"从":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"当":{"docs":{},"中":{"docs":{},"找":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{},"都":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}},"(":{"docs":{},"二":{"docs":{},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"改":{"docs":{},"变":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"将":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"关":{"docs":{},"联":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"类":{"docs":{},"别":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"值":{"docs":{},"的":{"docs":{},"存":{"docs":{},"取":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"关":{"docs":{},"联":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"被":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"身":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"由":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"机":{"docs":{},"与":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},"机":{"docs":{},"并":{"docs":{},"不":{"docs":{},"总":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"实":{"docs":{},"验":{"docs":{},"中":{"docs":{},"用":{"docs":{},"关":{"docs":{},"联":{"docs":{},"策":{"docs":{},"略":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"本":{"docs":{},"质":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"属":{"docs":{},"性":{"docs":{},"声":{"docs":{},"明":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"查":{"docs":{},"阅":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"底":{"docs":{},"层":{"docs":{},"学":{"docs":{},"习":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"链":{"docs":{},"接":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{},"?":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"0":{"3":{"2":{"6":{"2":{"0":{"2":{"0":{"docs":{},"b":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"如":{"docs":{},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"过":{"docs":{},"程":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"把":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"查":{"docs":{},"看":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"来":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"如":{"docs":{},"下":{"docs":{},"(":{"docs":{},"实":{"docs":{},"现":{"docs":{},"为":{"docs":{},"升":{"docs":{},"序":{"docs":{},")":{"docs":{},":":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}},"备":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"内":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"容":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"和":{"docs":{},"裁":{"docs":{},"切":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"技":{"docs":{},"术":{"docs":{},"。":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"加":{"docs":{},"上":{"docs":{},"了":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"或":{"docs":{},"其":{"docs":{},"他":{"docs":{},"有":{"docs":{},"图":{"docs":{},"像":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"为":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"有":{"docs":{},"在":{"docs":{},"过":{"docs":{},"时":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"包":{"docs":{},"括":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"、":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"、":{"docs":{},"动":{"docs":{},"态":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}},"的":{"docs":{},"下":{"docs":{},"方":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"根":{"docs":{},"据":{"docs":{},"画":{"docs":{},"家":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"下":{"docs":{},"层":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},"本":{"docs":{},"体":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"两":{"docs":{},"次":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"部":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"基":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"交":{"docs":{},"结":{"docs":{},"果":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"了":{"docs":{},";":{"docs":{},"接":{"docs":{},"着":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"日":{"docs":{},"志":{"docs":{},"记":{"docs":{},"录":{"docs":{},"表":{"docs":{},"示":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"写":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"持":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"他":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"产":{"docs":{},"生":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}},"中":{"docs":{},"的":{"5":{"docs":{},"大":{"docs":{},"区":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":10}},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}},"docs":{}}},"浪":{"docs":{},"费":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"管":{"docs":{},"理":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},"之":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"原":{"docs":{},"理":{"docs":{},"探":{"docs":{},"究":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"剖":{"docs":{},"析":{"docs":{},"(":{"docs":{},"四":{"docs":{},")":{"docs":{},"—":{"docs":{},"—":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"原":{"docs":{},"理":{"docs":{},"分":{"docs":{},"析":{"docs":{},"经":{"docs":{},"历":{"docs":{},"过":{"docs":{},"m":{"docs":{},"r":{"docs":{},"c":{"docs":{},"时":{"docs":{},"代":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"都":{"docs":{},"用":{"docs":{},"过":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"缓":{"docs":{},"存":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"是":{"docs":{},"实":{"docs":{},"际":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"是":{"docs":{},"在":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"之":{"docs":{},"上":{"docs":{},"建":{"docs":{},"立":{"docs":{},"的":{"docs":{},"一":{"docs":{},"层":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"内":{"docs":{},"存":{"docs":{},"访":{"docs":{},"问":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"连":{"docs":{},"续":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"保":{"docs":{},"护":{"docs":{},"工":{"docs":{},"具":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}},"核":{"docs":{},"态":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"“":{"docs":{},"领":{"docs":{},"取":{"docs":{},"津":{"docs":{},"贴":{"docs":{},"”":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"思":{"docs":{},"考":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"间":{"docs":{},"耦":{"docs":{},"合":{"docs":{},"严":{"docs":{},"重":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"大":{"docs":{},"多":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"再":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"放":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"其":{"docs":{},"流":{"docs":{},"程":{"docs":{},"也":{"docs":{},"大":{"docs":{},"致":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"子":{"docs":{},"类":{"docs":{},"(":{"docs":{},"可":{"docs":{},"能":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}},"+":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"渲":{"docs":{},"染":{"docs":{},"框":{"docs":{},"架":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"确":{"docs":{},"保":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"切":{"docs":{},"换":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"继":{"docs":{},"续":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"者":{"docs":{},"网":{"docs":{},"络":{"docs":{},"环":{"docs":{},"境":{"docs":{},"时":{"docs":{},"好":{"docs":{},"时":{"docs":{},"坏":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}},"则":{"3":{"docs":{},".":{"1":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"输":{"docs":{},"出":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"输":{"docs":{},"出":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{},"通":{"docs":{},"过":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"对":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"随":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"抛":{"docs":{},"弃":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"图":{"3":{"docs":{},".":{"1":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"输":{"docs":{},"出":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},"6":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"可":{"docs":{},"以":{"docs":{},"采":{"docs":{},"用":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"2":{"docs":{},"表":{"docs":{},"示":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}},"docs":{}}},"docs":{}},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"由":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"有":{"docs":{},"一":{"docs":{},"堆":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"按":{"docs":{},"照":{"docs":{},"规":{"docs":{},"则":{"docs":{},"要":{"docs":{},"求":{"docs":{},"代":{"docs":{},"码":{"docs":{},"才":{"docs":{},"能":{"docs":{},"编":{"docs":{},"译":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"极":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"层":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"原":{"docs":{},"则":{"docs":{},",":{"docs":{},"设":{"docs":{},"计":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"负":{"docs":{},"责":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"当":{"docs":{},"前":{"docs":{},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"成":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"典":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"将":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"设":{"docs":{},"置":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"来":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"项":{"docs":{},"技":{"docs":{},"术":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"符":{"docs":{},"号":{"docs":{},"断":{"docs":{},"点":{"docs":{},",":{"docs":{},"来":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"查":{"docs":{},"看":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"只":{"docs":{},"用":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"和":{"docs":{},"传":{"docs":{},"递":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"当":{"docs":{},"前":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"则":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"其":{"docs":{},"他":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"写":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"这":{"docs":{},"个":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"做":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"或":{"docs":{},"n":{"docs":{},"o":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"命":{"docs":{},"令":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"让":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"跟":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"一":{"docs":{},"致":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"并":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"离":{"docs":{},"线":{"docs":{},"工":{"docs":{},"作":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"设":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"立":{"docs":{},"即":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"(":{"docs":{},"k":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"在":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"时":{"docs":{},"才":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{},"(":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"立":{"docs":{},"即":{"docs":{},"解":{"docs":{},"码":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"的":{"docs":{},"打":{"docs":{},"印":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"对":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"取":{"docs":{},"余":{"docs":{},"后":{"docs":{},",":{"docs":{},"所":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"值":{"docs":{},"根":{"docs":{},"据":{"docs":{},"机":{"docs":{},"器":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"0":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"分":{"docs":{},"类":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"来":{"docs":{},"到":{"docs":{},"了":{"docs":{},"下":{"docs":{},"一":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"印":{"docs":{},"代":{"docs":{},"码":{"docs":{},"里":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"外":{"docs":{},"面":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"当":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"成":{"docs":{},"了":{"docs":{},"当":{"docs":{},"时":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"传":{"docs":{},"进":{"docs":{},"来":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"1":{"0":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"来":{"docs":{},"值":{"docs":{},"就":{"docs":{},"是":{"1":{"0":{"docs":{},",":{"docs":{},"不":{"docs":{},"论":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"再":{"docs":{},"如":{"docs":{},"何":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"跟":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"互":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"出":{"docs":{},"来":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"深":{"docs":{},"层":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"而":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"比":{"docs":{},"较":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"最":{"docs":{},"终":{"docs":{},"提":{"docs":{},"供":{"docs":{},"数":{"docs":{},"据":{"docs":{},"还":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"是":{"docs":{},"将":{"docs":{},"源":{"docs":{},"视":{"docs":{},"频":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"了":{"docs":{},"自":{"docs":{},"己":{"docs":{},"定":{"docs":{},"义":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"其":{"docs":{},"实":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"正":{"docs":{},"常":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"是":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"地":{"docs":{},"为":{"docs":{},"已":{"docs":{},"有":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"还":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"另":{"docs":{},"外":{"docs":{},"两":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"分":{"docs":{},"开":{"docs":{},"在":{"docs":{},"几":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"面":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"显":{"docs":{},"而":{"docs":{},"易":{"docs":{},"见":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"看":{"docs":{},"作":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"过":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}},"知":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"获":{"docs":{},"得":{"docs":{},"以":{"docs":{},"下":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"多":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"配":{"docs":{},"置":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"取":{"docs":{},"消":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"前":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"标":{"docs":{},"明":{"docs":{},"此":{"docs":{},"任":{"docs":{},"务":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"队":{"docs":{},"列":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"取":{"docs":{},"消":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"“":{"docs":{},"安":{"docs":{},"排":{"docs":{},"好":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"不":{"docs":{},"管":{"docs":{},"了":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},":":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"表":{"docs":{},"示":{"docs":{},"此":{"docs":{},"操":{"docs":{},"作":{"docs":{},"与":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"其":{"docs":{},"他":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"它":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},":":{"docs":{},"例":{"docs":{},"如":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"其":{"docs":{},"他":{"docs":{},"文":{"docs":{},"件":{"docs":{},"之":{"docs":{},"前":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"下":{"docs":{},"载":{"docs":{},"“":{"docs":{},"清":{"docs":{},"单":{"docs":{},"文":{"docs":{},"件":{"docs":{},"”":{"docs":{},"。":{"docs":{},"而":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"下":{"docs":{},"载":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"都":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"先":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"清":{"docs":{},"单":{"docs":{},"文":{"docs":{},"件":{"docs":{},"这":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"对":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"锁":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"查":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"锁":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"而":{"docs":{},"不":{"docs":{},"加":{"docs":{},"锁":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"性":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"猜":{"docs":{},"测":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"大":{"docs":{},"于":{"docs":{},"或":{"docs":{},"等":{"docs":{},"于":{"docs":{},"q":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},",":{"docs":{},"让":{"docs":{},"这":{"docs":{},"些":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"低":{"docs":{},"于":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"框":{"docs":{},"架":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"和":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"从":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"使":{"docs":{},"某":{"docs":{},"些":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"事":{"docs":{},"先":{"docs":{},"获":{"docs":{},"知":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"定":{"docs":{},"位":{"docs":{},"文":{"docs":{},"件":{"docs":{},"位":{"docs":{},"置":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"适":{"docs":{},"当":{"docs":{},"给":{"docs":{},"与":{"docs":{},"帮":{"docs":{},"助":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"较":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"效":{"docs":{},"率":{"docs":{},"低":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"更":{"docs":{},"灵":{"docs":{},"活":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"啥":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"打":{"docs":{},"开":{"docs":{},"相":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"有":{"docs":{},"更":{"docs":{},"细":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}},"伸":{"docs":{},"缩":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"能":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"历":{"docs":{},"史":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"以":{"docs":{},"前":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"是":{"3":{"2":{"docs":{},"位":{"docs":{},"的":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"中":{"docs":{},"能":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"就":{"docs":{},"只":{"docs":{},"有":{"docs":{},"$":{"2":{"docs":{},"^":{"7":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"$":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{},"下":{"docs":{},",":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"中":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"会":{"docs":{},"想":{"docs":{},"到":{"docs":{},"用":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"有":{"docs":{},"同":{"docs":{},"学":{"docs":{},"想":{"docs":{},"问":{"docs":{},",":{"docs":{},"我":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"写":{"docs":{},"代":{"docs":{},"码":{"docs":{},"也":{"docs":{},"没":{"docs":{},"问":{"docs":{},"题":{"docs":{},"啊":{"docs":{},"?":{"docs":{},"这":{"docs":{},"点":{"docs":{},"我":{"docs":{},"是":{"docs":{},"不":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"充":{"docs":{},"分":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"会":{"docs":{},"对":{"docs":{},"你":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"大":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"以":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"来":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"如":{"docs":{},"何":{"docs":{},"合":{"docs":{},"理":{"docs":{},"利":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"人":{"docs":{},"会":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"惑":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"一":{"docs":{},"直":{"docs":{},"处":{"docs":{},"于":{"docs":{},"忙":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"画":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"各":{"docs":{},"个":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"又":{"docs":{},"被":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"所":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"变":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"中":{"docs":{},"会":{"docs":{},"预":{"docs":{},"留":{"docs":{},"出":{"docs":{},"一":{"docs":{},"段":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"支":{"docs":{},"持":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"是":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"流":{"docs":{},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{},"和":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}},"性":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"说":{"docs":{},"也":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"专":{"docs":{},"业":{"docs":{},"的":{"docs":{},"云":{"docs":{},"服":{"docs":{},"务":{"docs":{},"商":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"都":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"能":{"docs":{},"够":{"docs":{},"保":{"docs":{},"证":{"docs":{},"我":{"docs":{},"们":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"数":{"docs":{},"据":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"和":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"作":{"docs":{},"为":{"docs":{},"普":{"docs":{},"通":{"docs":{},"用":{"docs":{},"户":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"更":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"保":{"docs":{},"护":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"损":{"docs":{},"坏":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"保":{"docs":{},"护":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"或":{"docs":{},"者":{"docs":{},"打":{"docs":{},"开":{"docs":{},"文":{"docs":{},"件":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"文":{"docs":{},"件":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"窘":{"docs":{},"境":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"够":{"docs":{},"及":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"数":{"docs":{},"据":{"docs":{},"因":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"故":{"docs":{},"障":{"docs":{},"而":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"或":{"docs":{},"者":{"docs":{},"损":{"docs":{},"坏":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}},"同":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}},"为":{"docs":{},"了":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"不":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"还":{"docs":{},"使":{"docs":{},"用":{"docs":{},"加":{"docs":{},"盐":{"docs":{},"操":{"docs":{},"作":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"还":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"理":{"docs":{},"解":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"平":{"docs":{},"时":{"docs":{},"定":{"docs":{},"期":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"工":{"docs":{},"具":{"docs":{},"检":{"docs":{},"测":{"docs":{},"无":{"docs":{},"用":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"重":{"docs":{},"复":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"及":{"docs":{},"时":{"docs":{},"优":{"docs":{},"化":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"具":{"docs":{},"有":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"危":{"docs":{},"险":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"些":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"着":{"docs":{},"足":{"docs":{},"够":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},"操":{"docs":{},"作":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"出":{"docs":{},"现":{"docs":{},"操":{"docs":{},"作":{"docs":{},"上":{"docs":{},"的":{"docs":{},"失":{"docs":{},"误":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"将":{"docs":{},"面":{"docs":{},"临":{"docs":{},"这":{"docs":{},"一":{"docs":{},"失":{"docs":{},"误":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"会":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{},"底":{"docs":{},"层":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},",":{"docs":{},"者":{"docs":{},"也":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"我":{"docs":{},"们":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"对":{"docs":{},"于":{"docs":{},"局":{"docs":{},"部":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"其":{"docs":{},"采":{"docs":{},"取":{"docs":{},"“":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"”":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"定":{"docs":{},"在":{"docs":{},"与":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"跨":{"docs":{},"函":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"将":{"docs":{},"其":{"docs":{},"值":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"对":{"docs":{},"其":{"docs":{},"地":{"docs":{},"址":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"的":{"docs":{},"b":{"docs":{},"t":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"插":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"来":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"样":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"其":{"docs":{},"他":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"能":{"docs":{},"在":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"关":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"传":{"docs":{},"入":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"两":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"因":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"一":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"只":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"工":{"docs":{},"作":{"docs":{},"(":{"docs":{},"执":{"docs":{},"行":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"中":{"docs":{},"同":{"docs":{},"时":{"docs":{},"为":{"docs":{},"多":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"提":{"docs":{},"供":{"docs":{},"最":{"docs":{},"理":{"docs":{},"想":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}},"任":{"docs":{},"务":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"/":{"docs":{},"异":{"docs":{},"步":{"docs":{},"和":{"docs":{},"串":{"docs":{},"行":{"docs":{},"/":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},":":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"开":{"docs":{},"启":{"docs":{},"新":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"异":{"docs":{},"步":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},":":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"给":{"docs":{},"查":{"docs":{},"号":{"docs":{},"台":{"docs":{},",":{"docs":{},"问":{"docs":{},"某":{"docs":{},"个":{"docs":{},"地":{"docs":{},"方":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},"码":{"docs":{},",":{"docs":{},"接":{"docs":{},"线":{"docs":{},"员":{"docs":{},"会":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"你":{"docs":{},"稍":{"docs":{},"等":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"为":{"docs":{},"你":{"docs":{},"查":{"docs":{},"号":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"你":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"没":{"docs":{},"有":{"docs":{},"挂":{"docs":{},"断":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"打":{"docs":{},"进":{"docs":{},"来":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"接":{"docs":{},"线":{"docs":{},"员":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"你":{"docs":{},"要":{"docs":{},"找":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"你":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"将":{"docs":{},"电":{"docs":{},"话":{"docs":{},"挂":{"docs":{},"断":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{},"若":{"docs":{},"是":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"从":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"属":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}},"图":{"3":{"docs":{},".":{"1":{"0":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"中":{"docs":{},"采":{"docs":{},"用":{"docs":{},"一":{"docs":{},"种":{"docs":{},"链":{"docs":{},"表":{"docs":{},"结":{"docs":{},"构":{"docs":{},"存":{"docs":{},"储":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"链":{"docs":{},"表":{"docs":{},"称":{"docs":{},"为":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"链":{"docs":{},"表":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"序":{"docs":{},"访":{"docs":{},"问":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"后":{"docs":{},"序":{"docs":{},"访":{"docs":{},"问":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"4":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"5":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"docs":{}},"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"3":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"5":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"6":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"采":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"7":{"docs":{},"表":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"7":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"8":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"9":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}},"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"层":{"docs":{},"蒙":{"docs":{},"版":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"内":{"docs":{},"容":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"(":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"者":{"docs":{},"间":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"像":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"程":{"docs":{},"粗":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"地":{"docs":{},"大":{"docs":{},"概":{"docs":{},"分":{"docs":{},"为":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"片":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"格":{"docs":{},"式":{"docs":{},"转":{"docs":{},"换":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"步":{"docs":{},":":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"解":{"docs":{},"码":{"docs":{},"、":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"与":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":5.016129032258065}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"加":{"docs":{},"载":{"docs":{},"奇":{"docs":{},"淫":{"docs":{},"巧":{"docs":{},"技":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"/":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"读":{"docs":{},"写":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"/":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}},"给":{"docs":{},"你":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"切":{"docs":{},"一":{"docs":{},"倍":{"docs":{},"图":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"要":{"docs":{},"和":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"应":{"docs":{},"才":{"docs":{},"能":{"docs":{},"达":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"不":{"docs":{},"同":{"docs":{},"设":{"docs":{},"备":{"docs":{},"显":{"docs":{},"示":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"大":{"docs":{},"小":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"参":{"docs":{},"考":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"文":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"秒":{"docs":{},"开":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"圆":{"docs":{},"角":{"docs":{},"+":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"s":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}},"(":{"docs":{},"当":{"docs":{},"和":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"多":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"层":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"加":{"docs":{},"一":{"docs":{},"层":{"docs":{},"判":{"docs":{},"断":{"docs":{},"—":{"docs":{},"—":{"docs":{},"判":{"docs":{},"断":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"显":{"docs":{},"然":{"docs":{},"为":{"docs":{},"了":{"docs":{},"满":{"docs":{},"足":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"而":{"docs":{},"去":{"docs":{},"增":{"docs":{},"加":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"取":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"并":{"docs":{},"发":{"docs":{},"(":{"docs":{},"同":{"docs":{},"时":{"docs":{},")":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"执":{"docs":{},"行":{"docs":{},"快":{"docs":{},"速":{"docs":{},"地":{"docs":{},"在":{"docs":{},"多":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"调":{"docs":{},"度":{"docs":{},"(":{"docs":{},"切":{"docs":{},"换":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"是":{"docs":{},":":{"docs":{},"新":{"docs":{},"建":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"中":{"docs":{},"队":{"docs":{},"列":{"docs":{},"分":{"docs":{},"为":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}},"之":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"锁":{"docs":{},"中":{"docs":{},"性":{"docs":{},"能":{"docs":{},"最":{"docs":{},"差":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"却":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"锁":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"单":{"docs":{},"写":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"次":{"docs":{},"锁":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"会":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"后":{"docs":{},"果":{"docs":{},"吗":{"docs":{},"—":{"docs":{},"—":{"docs":{},"会":{"docs":{},"从":{"docs":{},"高":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"会":{"docs":{},"锁":{"docs":{},"一":{"docs":{},"次":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"协":{"docs":{},"作":{"docs":{},"紧":{"docs":{},"密":{"docs":{},"的":{"docs":{},"整":{"docs":{},"体":{"docs":{},",":{"docs":{},"发":{"docs":{},"版":{"docs":{},"节":{"docs":{},"奏":{"docs":{},"基":{"docs":{},"本":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"控":{"docs":{},"件":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}},"以":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"整":{"docs":{},"个":{"docs":{},"提":{"docs":{},"交":{"docs":{},"链":{"docs":{},"条":{"docs":{},"上":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"和":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"也":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"抵":{"docs":{},"御":{"docs":{},"了":{"docs":{},"来":{"docs":{},"自":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"篡":{"docs":{},"改":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"被":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"。":{"docs":{},"向":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"提":{"docs":{},"交":{"docs":{},"图":{"docs":{},"层":{"docs":{},"树":{"docs":{},"。":{"docs":{},"当":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},",":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"合":{"docs":{},"并":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"触":{"docs":{},"发":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"去":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"强":{"docs":{},"制":{"docs":{},"把":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"是":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"我":{"docs":{},"们":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"是":{"docs":{},"有":{"docs":{},"值":{"docs":{},"的":{"docs":{},",":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"就":{"docs":{},"到":{"docs":{},"了":{"docs":{},"c":{"docs":{},"l":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"堆":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"身":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"堆":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"全":{"docs":{},"局":{"docs":{},"区":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"组":{"docs":{},".":{"docs":{},"o":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}},"用":{"docs":{},"来":{"docs":{},"构":{"docs":{},"造":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"指":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"调":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"这":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"接":{"docs":{},"受":{"docs":{},"者":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"插":{"docs":{},"桩":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"一":{"docs":{},"组":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"这":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"休":{"docs":{},"眠":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},",":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"度":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"化":{"docs":{},"的":{"docs":{},"经":{"docs":{},"典":{"docs":{},"框":{"docs":{},"架":{"docs":{},"之":{"docs":{},"一":{"docs":{},"。":{"docs":{},"它":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{},"即":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"提":{"docs":{},"供":{"docs":{},"自":{"docs":{},"己":{"docs":{},"对":{"docs":{},"外":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"此":{"docs":{},"声":{"docs":{},"明":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},"。":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"能":{"docs":{},"从":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},"看":{"docs":{},"到":{"docs":{},"存":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"例":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"的":{"docs":{},"库":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"回":{"docs":{},"顾":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"推":{"docs":{},"导":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"事":{"docs":{},"实":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"布":{"docs":{},"局":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"添":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"就":{"docs":{},"会":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"类":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"编":{"docs":{},"译":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"灾":{"docs":{},"难":{"docs":{},"性":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"为":{"docs":{},"类":{"docs":{},"动":{"docs":{},"态":{"docs":{},"增":{"docs":{},"加":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"经":{"docs":{},"验":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"一":{"docs":{},"般":{"docs":{},"用":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"添":{"docs":{},"加":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绪":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},":":{"docs":{},"向":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"被":{"docs":{},"加":{"docs":{},"入":{"docs":{},"可":{"docs":{},"调":{"docs":{},"度":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"等":{"docs":{},"待":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"调":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"做":{"docs":{},"加":{"docs":{},"载":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"确":{"docs":{},"定":{"docs":{},"。":{"docs":{},"当":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"这":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"来":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"各":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"里":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"文":{"docs":{},"件":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"识":{"docs":{},"别":{"docs":{},"出":{"docs":{},"这":{"docs":{},"些":{"docs":{},"页":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"放":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"与":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"属":{"docs":{},"于":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"类":{"docs":{},"没":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"了":{"docs":{},"这":{"docs":{},"种":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"。":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"迁":{"docs":{},"到":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"卸":{"docs":{},"载":{"docs":{},";":{"docs":{},"或":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"而":{"docs":{},"子":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"过":{"docs":{},"后":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"释":{"docs":{},"放":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"购":{"docs":{},"买":{"docs":{},"过":{"docs":{},"该":{"docs":{},"商":{"docs":{},"品":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"无":{"docs":{},"法":{"docs":{},"向":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"以":{"docs":{},"及":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"构":{"docs":{},"成":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"要":{"docs":{},"素":{"docs":{},"。":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"满":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"或":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"者":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203},"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"等":{"docs":{},"大":{"docs":{},"的":{"docs":{},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{},"当":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"译":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"直":{"docs":{},"对":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"是":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"多":{"docs":{},"或":{"docs":{},"少":{"docs":{},",":{"docs":{},"你":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"或":{"docs":{},"者":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"探":{"docs":{},"索":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"寻":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{},"(":{"6":{"docs":{},")":{"docs":{},"—":{"docs":{},"—":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"本":{"docs":{},"质":{"docs":{},"(":{"docs":{},"二":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"一":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"去":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"供":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"一":{"docs":{},"套":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"将":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"更":{"docs":{},"强":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"单":{"docs":{},"播":{"docs":{},",":{"docs":{},"多":{"docs":{},"播":{"docs":{},",":{"docs":{},"广":{"docs":{},"播":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"过":{"docs":{},"程":{"docs":{},"当":{"docs":{},"中":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"事":{"docs":{},"务":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"把":{"docs":{},"一":{"docs":{},"组":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"拥":{"docs":{},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"示":{"docs":{},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"高":{"docs":{},"项":{"docs":{},"目":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}}}},"升":{"docs":{},"了":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"被":{"docs":{},"完":{"docs":{},"全":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},",":{"docs":{},"取":{"docs":{},"而":{"docs":{},"代":{"docs":{},"之":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"将":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"放":{"docs":{},"到":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}},"一":{"docs":{},"题":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"将":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"画":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"交":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"采":{"docs":{},"集":{"docs":{},"图":{"docs":{},"片":{"docs":{},"和":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"和":{"docs":{},"混":{"docs":{},"合":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"会":{"docs":{},"对":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"交":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"后":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"没":{"docs":{},"有":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"奉":{"docs":{},"上":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"爸":{"docs":{},"爸":{"docs":{},"关":{"docs":{},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"段":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"的":{"docs":{},"回":{"docs":{},"答":{"docs":{},"就":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"会":{"docs":{},"再":{"docs":{},"交":{"docs":{},"由":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"沉":{"docs":{},"淀":{"docs":{},"出":{"docs":{},"了":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"我":{"docs":{},"们":{"docs":{},"决":{"docs":{},"定":{"docs":{},"节":{"docs":{},"省":{"docs":{},"每":{"docs":{},"一":{"docs":{},"份":{"docs":{},"精":{"docs":{},"力":{"docs":{},",":{"docs":{},"效":{"docs":{},"率":{"docs":{},"最":{"docs":{},"大":{"docs":{},"化":{"docs":{},"。":{"docs":{},"将":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"摒":{"docs":{},"弃":{"docs":{},"系":{"docs":{},"统":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}},"高":{"docs":{},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"大":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"位":{"docs":{},"后":{"docs":{},"面":{"docs":{},"一":{"docs":{},"位":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"须":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"移":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"其":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"繁":{"docs":{},"忙":{"docs":{},"的":{"docs":{},"时":{"docs":{},"段":{"docs":{},",":{"docs":{},"达":{"docs":{},"到":{"docs":{},"平":{"docs":{},"滑":{"docs":{},"性":{"docs":{},"能":{"docs":{},"波":{"docs":{},"动":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"讲":{"docs":{},"解":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"仅":{"docs":{},"支":{"docs":{},"持":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}},"式":{"docs":{},"下":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},",":{"docs":{},"不":{"docs":{},"生":{"docs":{},"成":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"关":{"docs":{},"闭":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"借":{"docs":{},"助":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"将":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"选":{"docs":{},"项":{"docs":{},"在":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"高":{"docs":{},"层":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"使":{"docs":{},"得":{"docs":{},"这":{"docs":{},"一":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"引":{"docs":{},"入":{"docs":{},"外":{"docs":{},"观":{"docs":{},"角":{"docs":{},"色":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"直":{"docs":{},"接":{"docs":{},"与":{"docs":{},"外":{"docs":{},"观":{"docs":{},"角":{"docs":{},"色":{"docs":{},"交":{"docs":{},"互":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"与":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"关":{"docs":{},"系":{"docs":{},"由":{"docs":{},"外":{"docs":{},"观":{"docs":{},"角":{"docs":{},"色":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"耦":{"docs":{},"合":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"造":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"以":{"docs":{},"下":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"块":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"显":{"docs":{},"卡":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"所":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"资":{"docs":{},"产":{"docs":{},"模":{"docs":{},"块":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"。":{"docs":{},"但":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"这":{"docs":{},"个":{"docs":{},"口":{"docs":{},"子":{"docs":{},"放":{"docs":{},"开":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"有":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"放":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"中":{"docs":{},"写":{"docs":{},"代":{"docs":{},"码":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"名":{"docs":{},"有":{"docs":{},"所":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"使":{"docs":{},"用":{"docs":{},"外":{"docs":{},"观":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},"模":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"构":{"docs":{},"。":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"内":{"docs":{},"设":{"docs":{},"计":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"外":{"docs":{},"观":{"docs":{},"层":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"化":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"是":{"docs":{},"把":{"docs":{},"通":{"docs":{},"知":{"docs":{},"方":{"docs":{},"案":{"docs":{},"作":{"docs":{},"为":{"docs":{},"以":{"docs":{},"上":{"docs":{},"几":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"的":{"docs":{},"补":{"docs":{},"充":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"对":{"docs":{},"上":{"docs":{},"层":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"反":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"引":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"模":{"docs":{},"块":{"docs":{},"被":{"docs":{},"迫":{"docs":{},"中":{"docs":{},"断":{"docs":{},"手":{"docs":{},"头":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"先":{"docs":{},"去":{"docs":{},"解":{"docs":{},"决":{"docs":{},"编":{"docs":{},"译":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"采":{"docs":{},"用":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"很":{"docs":{},"薄":{"docs":{},"的":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"共":{"docs":{},"同":{"docs":{},"修":{"docs":{},"改":{"docs":{},"维":{"docs":{},"护":{"docs":{},"这":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"受":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"目":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"将":{"docs":{},"其":{"docs":{},"拆":{"docs":{},"开":{"docs":{},"。":{"docs":{},"将":{"docs":{},"来":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"做":{"docs":{},"分":{"docs":{},"拆":{"docs":{},"改":{"docs":{},"造":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"改":{"docs":{},"造":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},"很":{"docs":{},"小":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"明":{"docs":{},"确":{"docs":{},"业":{"docs":{},"务":{"docs":{},"组":{"docs":{},"归":{"docs":{},"属":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"小":{"docs":{},"组":{"docs":{},"都":{"docs":{},"能":{"docs":{},"编":{"docs":{},"辑":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"打":{"docs":{},"开":{"docs":{},"会":{"docs":{},"员":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"部":{"docs":{},"信":{"docs":{},"息":{"docs":{},"才":{"docs":{},"能":{"docs":{},"完":{"docs":{},"成":{"docs":{},"反":{"docs":{},"射":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"产":{"docs":{},"出":{"docs":{},"以":{"docs":{},"及":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"间":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"基":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"通":{"docs":{},"信":{"docs":{},"方":{"docs":{},"式":{"docs":{},"设":{"docs":{},"计":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"存":{"docs":{},"在":{"docs":{},")":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{},"内":{"docs":{},"部":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"如":{"docs":{},"我":{"docs":{},"上":{"docs":{},"周":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"你":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"库":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"一":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"以":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"字":{"docs":{},"段":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"仅":{"docs":{},"跟":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"产":{"docs":{},"品":{"docs":{},"页":{"docs":{},"面":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"忙":{"docs":{},"于":{"docs":{},"执":{"docs":{},"行":{"docs":{},"某":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"它":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"也":{"docs":{},"能":{"docs":{},"在":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"统":{"docs":{},"一":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"直":{"docs":{},"接":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},",":{"docs":{},"我":{"docs":{},"从":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"新":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"需":{"docs":{},"更":{"docs":{},"改":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"的":{"docs":{},"常":{"docs":{},"量":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"符":{"docs":{},"号":{"docs":{},"声":{"docs":{},"明":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"程":{"docs":{},";":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"同":{"docs":{},"时":{"docs":{},"不":{"docs":{},"够":{"docs":{},"轻":{"docs":{},"量":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"多":{"docs":{},"安":{"docs":{},"全":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"显":{"docs":{},"得":{"docs":{},"比":{"docs":{},"较":{"docs":{},"随":{"docs":{},"意":{"docs":{},"、":{"docs":{},"宽":{"docs":{},"松":{"docs":{},",":{"docs":{},"而":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}},"啥":{"docs":{},"结":{"docs":{},"果":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"大":{"docs":{},"毛":{"docs":{},"病":{"docs":{},",":{"docs":{},"对":{"docs":{},"吧":{"docs":{},"?":{"docs":{},"现":{"docs":{},"在":{"docs":{},"来":{"docs":{},"详":{"docs":{},"细":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"未":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"下":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"要":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"价":{"docs":{},"值":{"docs":{},"的":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"?":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"添":{"docs":{},"加":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"圆":{"docs":{},"角":{"docs":{},"和":{"docs":{},"裁":{"docs":{},"切":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"更":{"docs":{},"新":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"表":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"类":{"docs":{},"的":{"docs":{},"只":{"docs":{},"读":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"按":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"—":{"docs":{},"—":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"至":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"间":{"docs":{},"接":{"docs":{},"实":{"docs":{},"现":{"docs":{},"分":{"docs":{},"类":{"docs":{},"有":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"结":{"docs":{},"果":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},")":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"此":{"docs":{},"时":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"情":{"docs":{},"况":{"docs":{},"导":{"docs":{},"致":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"无":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"入":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"经":{"docs":{},"过":{"docs":{},"了":{"docs":{},"离":{"docs":{},"屏":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"纹":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"首":{"docs":{},"先":{"docs":{},"将":{"docs":{},"图":{"docs":{},"层":{"docs":{},"数":{"docs":{},"据":{"docs":{},"交":{"docs":{},"给":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"后":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},",":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},";":{"docs":{},"当":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"四":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"里":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"不":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"就":{"docs":{},"是":{"docs":{},"俗":{"docs":{},"称":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"并":{"docs":{},"非":{"docs":{},"真":{"docs":{},"正":{"docs":{},"意":{"docs":{},"义":{"docs":{},"上":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"证":{"docs":{},"据":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"调":{"docs":{},"优":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"始":{"docs":{},"终":{"docs":{},"是":{"docs":{},"在":{"docs":{},"做":{"docs":{},"一":{"docs":{},"件":{"docs":{},"事":{"docs":{},":":{"docs":{},"平":{"docs":{},"衡":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"率":{"docs":{},"不":{"docs":{},"高":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"较":{"docs":{},"为":{"docs":{},"通":{"docs":{},"用":{"docs":{},"灵":{"docs":{},"活":{"docs":{},";":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"虽":{"docs":{},"然":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"速":{"docs":{},"度":{"docs":{},"不":{"docs":{},"够":{"docs":{},"快":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"只":{"docs":{},"适":{"docs":{},"合":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"字":{"docs":{},"、":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"想":{"docs":{},"象":{"docs":{},"一":{"docs":{},"下":{"docs":{},"没":{"docs":{},"有":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},"的":{"docs":{},"视":{"docs":{},"频":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"惨":{"docs":{},"不":{"docs":{},"忍":{"docs":{},"睹":{"docs":{},")":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"线":{"docs":{},"程":{"docs":{},"完":{"docs":{},"成":{"docs":{},"(":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},")":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"o":{"docs":{},")":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"父":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"类":{"docs":{},"和":{"docs":{},"本":{"docs":{},"类":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"用":{"docs":{},"写":{"docs":{},"明":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"就":{"docs":{},"够":{"docs":{},"了":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"他":{"docs":{},"和":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"视":{"docs":{},"图":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"则":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"机":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"上":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"正":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"是":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"而":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"暂":{"docs":{},"存":{"docs":{},"到":{"docs":{},"另":{"docs":{},"外":{"docs":{},"的":{"docs":{},"区":{"docs":{},"域":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{},"得":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"来":{"docs":{},"到":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"对":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"进":{"docs":{},"行":{"docs":{},"&":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"信":{"docs":{},"息":{"docs":{},"则":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"到":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{},"内":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"且":{"docs":{},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"从":{"docs":{},"未":{"docs":{},"被":{"docs":{},"我":{"docs":{},"们":{"docs":{},"利":{"docs":{},"用":{"docs":{},"过":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"执":{"docs":{},"行":{"docs":{},"中":{"docs":{},"只":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"起":{"docs":{},"来":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"内":{"docs":{},"存":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"越":{"docs":{},"小":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"越":{"docs":{},"少":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"局":{"docs":{},"部":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"语":{"docs":{},"法":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"所":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"使":{"docs":{},"其":{"docs":{},"在":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"主":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},",":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"点":{"docs":{},"击":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"却":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"缺":{"docs":{},"页":{"docs":{},"中":{"docs":{},"断":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"当":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"高":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"一":{"docs":{},"直":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"占":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"时":{"docs":{},"间":{"docs":{},"片":{"docs":{},";":{"docs":{},"而":{"docs":{},"低":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"任":{"docs":{},"务":{"docs":{},"无":{"docs":{},"法":{"docs":{},"抢":{"docs":{},"占":{"docs":{},"时":{"docs":{},"间":{"docs":{},"片":{"docs":{},",":{"docs":{},"变":{"docs":{},"成":{"docs":{},"迟":{"docs":{},"迟":{"docs":{},"完":{"docs":{},"不":{"docs":{},"成":{"docs":{},",":{"docs":{},"不":{"docs":{},"释":{"docs":{},"放":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"生":{"docs":{},"效":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"这":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"都":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"网":{"docs":{},"络":{"docs":{},"返":{"docs":{},"回":{"docs":{},"真":{"docs":{},"实":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"等":{"docs":{},"待":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"言":{"docs":{},",":{"docs":{},"预":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"针":{"docs":{},"对":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"不":{"docs":{},"是":{"docs":{},"透":{"docs":{},"明":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}},"后":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"哲":{"docs":{},"学":{"docs":{},"为":{"docs":{},"它":{"docs":{},"带":{"docs":{},"来":{"docs":{},"了":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"与":{"docs":{},"众":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"今":{"docs":{},"天":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"少":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"块":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"一":{"docs":{},"样":{"docs":{},"大":{"docs":{},"的":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}},"于":{"docs":{},"该":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"作":{"docs":{},"用":{"docs":{},"后":{"docs":{},"文":{"docs":{},"会":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"此":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"还":{"docs":{},"在":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"与":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"共":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"块":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"而":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"机":{"docs":{},"会":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"还":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"跟":{"docs":{},"它":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"共":{"docs":{},"同":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"由":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"基":{"docs":{},"于":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"选":{"docs":{},"择":{"docs":{},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"困":{"docs":{},"惑":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"选":{"docs":{},"择":{"docs":{},"支":{"docs":{},"持":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"都":{"docs":{},"是":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"工":{"docs":{},"具":{"docs":{},"之":{"docs":{},"间":{"docs":{},"命":{"docs":{},"令":{"docs":{},"的":{"docs":{},"对":{"docs":{},"照":{"docs":{},"表":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"给":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"加":{"docs":{},"上":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"后":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"进":{"docs":{},"行":{"docs":{},"签":{"docs":{},"名":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"次":{"docs":{},"翻":{"docs":{},"身":{"docs":{},"的":{"docs":{},"机":{"docs":{},"会":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"进":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"便":{"docs":{},"加":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"就":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"新":{"docs":{},"增":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"标":{"docs":{},"准":{"docs":{},"化":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"需":{"docs":{},"要":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"查":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"无":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"查":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"没":{"docs":{},"命":{"docs":{},"中":{"docs":{},",":{"docs":{},"再":{"docs":{},"顺":{"docs":{},"次":{"docs":{},"查":{"docs":{},"找":{"docs":{},"各":{"docs":{},"个":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"就":{"docs":{},"转":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"计":{"docs":{},"数":{"docs":{},"类":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"来":{"docs":{},"保":{"docs":{},"持":{"docs":{},"当":{"docs":{},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"值":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{},"若":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"出":{"docs":{},"了":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{},"元":{"docs":{},"类":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"种":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"在":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"等":{"docs":{},"待":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"这":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"插":{"docs":{},"口":{"docs":{},"(":{"docs":{},"客":{"docs":{},"户":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"端":{"docs":{},"口":{"docs":{},"号":{"docs":{},")":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"情":{"docs":{},"况":{"docs":{},"就":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"也":{"docs":{},"是":{"docs":{},"满":{"docs":{},"足":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"已":{"docs":{},"经":{"docs":{},"近":{"docs":{},"似":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"条":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"顿":{"docs":{},"时":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"就":{"docs":{},"十":{"docs":{},"分":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"自":{"docs":{},"己":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"意":{"docs":{},"创":{"docs":{},"建":{"docs":{},"多":{"docs":{},"个":{"docs":{},"它":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"前":{"docs":{},"面":{"docs":{},"加":{"docs":{},"上":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"且":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"最":{"docs":{},"后":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"查":{"docs":{},"看":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"也":{"docs":{},"包":{"docs":{},"括":{"docs":{},"调":{"docs":{},"用":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"都":{"docs":{},"有":{"docs":{},"效":{"docs":{},"。":{"docs":{},"实":{"docs":{},"现":{"docs":{},"起":{"docs":{},"来":{"docs":{},"也":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"在":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"写":{"docs":{},"反":{"docs":{},"射":{"docs":{},"代":{"docs":{},"码":{"docs":{},"了":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"的":{"docs":{},"只":{"docs":{},"有":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"符":{"docs":{},"合":{"docs":{},"团":{"docs":{},"队":{"docs":{},"协":{"docs":{},"作":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"比":{"docs":{},"较":{"docs":{},"粗":{"docs":{},"暴":{"docs":{},",":{"docs":{},"但":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"两":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"应":{"docs":{},"该":{"docs":{},"不":{"docs":{},"会":{"docs":{},"很":{"docs":{},"多":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"太":{"docs":{},"多":{"docs":{},"则":{"docs":{},"应":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"是":{"docs":{},"否":{"docs":{},"划":{"docs":{},"分":{"docs":{},"合":{"docs":{},"适":{"docs":{},")":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"粘":{"docs":{},"贴":{"docs":{},"操":{"docs":{},"作":{"docs":{},"起":{"docs":{},"来":{"docs":{},"成":{"docs":{},"本":{"docs":{},"可":{"docs":{},"控":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"受":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"也":{"docs":{},"能":{"docs":{},"达":{"docs":{},"到":{"docs":{},"预":{"docs":{},"期":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"但":{"docs":{},"两":{"docs":{},"边":{"docs":{},"模":{"docs":{},"型":{"docs":{},"定":{"docs":{},"义":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"个":{"docs":{},"检":{"docs":{},"查":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"命":{"docs":{},"名":{"docs":{},"规":{"docs":{},"则":{"docs":{},"查":{"docs":{},"找":{"docs":{},"这":{"docs":{},"类":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"都":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"效":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"全":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"开":{"docs":{},"来":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"里":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"并":{"docs":{},"剪":{"docs":{},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}}}}},"推":{"docs":{},"荐":{"docs":{},"大":{"docs":{},"家":{"docs":{},"去":{"docs":{},"看":{"docs":{},"《":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"传":{"docs":{},"递":{"docs":{},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"里":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"务":{"docs":{},"包":{"docs":{},"含":{"docs":{},"之":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"图":{"docs":{},"示":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"假":{"docs":{},"想":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"父":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"都":{"docs":{},"注":{"docs":{},"册":{"docs":{},"对":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"观":{"docs":{},"察":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"仅":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"已":{"docs":{},"经":{"docs":{},"区":{"docs":{},"分":{"docs":{},"不":{"docs":{},"了":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"了":{"docs":{},",":{"docs":{},"现":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"解":{"docs":{},"决":{"docs":{},"办":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"析":{"docs":{},"下":{"docs":{},"第":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"要":{"docs":{},"强":{"docs":{},"调":{"docs":{},",":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"控":{"docs":{},"制":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"公":{"docs":{},"司":{"docs":{},"中":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"着":{"docs":{},"一":{"docs":{},"席":{"docs":{},"之":{"docs":{},"地":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"来":{"docs":{},"分":{"docs":{},"别":{"docs":{},"限":{"docs":{},"制":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},"并":{"docs":{},"不":{"docs":{},"可":{"docs":{},"行":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"是":{"docs":{},"最":{"docs":{},"后":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"做":{"docs":{},"的":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"是":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"些":{"docs":{},"比":{"docs":{},"较":{"docs":{},"开":{"docs":{},"放":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"和":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"需":{"docs":{},"要":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"—":{"docs":{},"—":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},":":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"全":{"docs":{},"称":{"docs":{},"为":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},"便":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"查":{"docs":{},"找":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"补":{"docs":{},"充":{"docs":{},"一":{"docs":{},"点":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"展":{"docs":{},"示":{"docs":{},"过":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"在":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"没":{"docs":{},"有":{"docs":{},"展":{"docs":{},"示":{"docs":{},"之":{"docs":{},"前":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"而":{"docs":{},"是":{"docs":{},"展":{"docs":{},"示":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"者":{"docs":{},"不":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"利":{"docs":{},"用":{"docs":{},"前":{"docs":{},"面":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{},"[":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"几":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"说":{"docs":{},"明":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"就":{"docs":{},"不":{"docs":{},"贴":{"docs":{},"了":{"docs":{},".":{"docs":{},"*":{"docs":{},"/":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"陷":{"docs":{},"阱":{"docs":{},"—":{"docs":{},"—":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"经":{"docs":{},"过":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"试":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"里":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"主":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"程":{"docs":{},"前":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"在":{"docs":{},"自":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"动":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"视":{"docs":{},"图":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"会":{"docs":{},"注":{"docs":{},"册":{"3":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"并":{"docs":{},"给":{"docs":{},"出":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}},"docs":{}}}},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"正":{"docs":{},"式":{"docs":{},"入":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"面":{"docs":{},"都":{"docs":{},"主":{"docs":{},"要":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"我":{"docs":{},"给":{"docs":{},"他":{"docs":{},"起":{"docs":{},"名":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"和":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"表":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"和":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"并":{"docs":{},"更":{"docs":{},"新":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"主":{"docs":{},"要":{"docs":{},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"到":{"docs":{},"底":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"去":{"docs":{},"做":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"就":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"首":{"docs":{},"先":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"支":{"docs":{},"是":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"确":{"docs":{},"切":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"标":{"docs":{},"记":{"docs":{},"只":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"遍":{"docs":{},"历":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"于":{"docs":{},"参":{"docs":{},"考":{"docs":{},"资":{"docs":{},"料":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"框":{"docs":{},"架":{"docs":{},"和":{"docs":{},"业":{"docs":{},"务":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"设":{"docs":{},"计":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"个":{"docs":{},"人":{"docs":{},"认":{"docs":{},"为":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"冗":{"docs":{},"余":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"如":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"与":{"docs":{},"业":{"docs":{},"务":{"docs":{},"交":{"docs":{},"互":{"docs":{},"而":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"中":{"docs":{},"间":{"docs":{},"类":{"docs":{},"可":{"docs":{},"能":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"更":{"docs":{},"舒":{"docs":{},"服":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"去":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"参":{"docs":{},"数":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"空":{"docs":{},"间":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"意":{"docs":{},"思":{"docs":{},"呢":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"处":{"docs":{},"于":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},"区":{"docs":{},"域":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"各":{"docs":{},"个":{"docs":{},"段":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"和":{"docs":{},"节":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"在":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"区":{"docs":{},"域":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"克":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"内":{"docs":{},"容":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{},"前":{"docs":{},"面":{"docs":{},"是":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"编":{"docs":{},"号":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"是":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"编":{"docs":{},"号":{"docs":{},"在":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"映":{"docs":{},"射":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"以":{"docs":{},"下":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"包":{"docs":{},"括":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"思":{"docs":{},"路":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"能":{"docs":{},"够":{"docs":{},"减":{"docs":{},"少":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"冗":{"docs":{},"余":{"docs":{},",":{"docs":{},"减":{"docs":{},"小":{"docs":{},"包":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"包":{"docs":{},"括":{"docs":{},"动":{"docs":{},"态":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"需":{"docs":{},"要":{"docs":{},"删":{"docs":{},"除":{"docs":{},"的":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"些":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"会":{"docs":{},"告":{"docs":{},"知":{"docs":{},"系":{"docs":{},"统":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"根":{"docs":{},"本":{"docs":{},"原":{"docs":{},"因":{"docs":{},"还":{"docs":{},"是":{"docs":{},"存":{"docs":{},"在":{"docs":{},"效":{"docs":{},"率":{"docs":{},"损":{"docs":{},"失":{"docs":{},",":{"docs":{},"\"":{"docs":{},"不":{"docs":{},"方":{"docs":{},"便":{"docs":{},"\"":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"导":{"docs":{},"致":{"docs":{},"了":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},":":{"docs":{},"给":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"一":{"docs":{},"个":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"让":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"被":{"docs":{},"弃":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"应":{"docs":{},"当":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"在":{"docs":{},"背":{"docs":{},"后":{"docs":{},"悄":{"docs":{},"悄":{"docs":{},"地":{"docs":{},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"本":{"docs":{},"地":{"docs":{},"发":{"docs":{},"生":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"获":{"docs":{},"取":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"覆":{"docs":{},"盖":{"docs":{},"了":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"加":{"docs":{},"入":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"确":{"docs":{},"认":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"就":{"docs":{},"能":{"docs":{},"得":{"docs":{},"出":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"、":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"发":{"docs":{},"送":{"docs":{},"、":{"docs":{},"接":{"docs":{},"收":{"docs":{},"能":{"docs":{},"力":{"docs":{},"也":{"docs":{},"正":{"docs":{},"常":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"要":{"docs":{},"求":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"道":{"docs":{},"题":{"docs":{},"看":{"docs":{},"着":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"是":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"解":{"docs":{},"题":{"docs":{},"的":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"思":{"docs":{},"路":{"docs":{},"确":{"docs":{},"是":{"docs":{},"在":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"上":{"docs":{},",":{"docs":{},"更":{"docs":{},"准":{"docs":{},"确":{"docs":{},"的":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"看":{"docs":{},"对":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"程":{"docs":{},"度":{"docs":{},"。":{"docs":{},"关":{"docs":{},"键":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},"是":{"docs":{},":":{"docs":{},"对":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"有":{"docs":{},"序":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"考":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"一":{"docs":{},"步":{"docs":{},"与":{"docs":{},"上":{"docs":{},"一":{"docs":{},"步":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"看":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"归":{"docs":{},"纳":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"分":{"5":{"docs":{},"条":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"docs":{}}}}}}}}}}}}}}}}}},"层":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"从":{"docs":{},"用":{"docs":{},"户":{"docs":{},"感":{"docs":{},"知":{"docs":{},"维":{"docs":{},"度":{"docs":{},"定":{"docs":{},"义":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"代":{"docs":{},"码":{"docs":{},"上":{"docs":{},"如":{"docs":{},"何":{"docs":{},"定":{"docs":{},"义":{"docs":{},"启":{"docs":{},"动":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"对":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"、":{"docs":{},"类":{"docs":{},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"类":{"docs":{},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"作":{"docs":{},"为":{"docs":{},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"但":{"docs":{},"能":{"docs":{},"防":{"docs":{},"止":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"所":{"docs":{},"在":{"docs":{},":":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"了":{"docs":{},"就":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},"递":{"docs":{},"归":{"docs":{},"从":{"docs":{},"而":{"docs":{},"防":{"docs":{},"止":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"取":{"docs":{},"消":{"docs":{},"掉":{"docs":{},"同":{"docs":{},"名":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{},"就":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"就":{"docs":{},"会":{"docs":{},"记":{"docs":{},"录":{"docs":{},"在":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"么":{"docs":{},"做":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"四":{"docs":{},"个":{"docs":{},"是":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"三":{"docs":{},"个":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"有":{"docs":{},"非":{"docs":{},"常":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"述":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"时":{"docs":{},"又":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"了":{"docs":{},"平":{"docs":{},"衡":{"docs":{},",":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"树":{"docs":{},"又":{"docs":{},"不":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"了":{"docs":{},",":{"docs":{},"以":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"次":{"docs":{},"为":{"docs":{},"大":{"docs":{},"家":{"docs":{},"带":{"docs":{},"来":{"docs":{},"我":{"docs":{},"司":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"句":{"docs":{},"话":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{},"很":{"docs":{},"多":{"docs":{},"通":{"docs":{},"用":{"docs":{},"方":{"docs":{},"案":{"docs":{},"只":{"docs":{},"是":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"的":{"docs":{},"冰":{"docs":{},"山":{"docs":{},"一":{"docs":{},"角":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"落":{"docs":{},"地":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"还":{"docs":{},"有":{"docs":{},"相":{"docs":{},"当":{"docs":{},"多":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"量":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"并":{"docs":{},"不":{"docs":{},"准":{"docs":{},"备":{"docs":{},"对":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"方":{"docs":{},"案":{"docs":{},"给":{"docs":{},"出":{"docs":{},"一":{"docs":{},"份":{"docs":{},"标":{"docs":{},"准":{"docs":{},"答":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"实":{"docs":{},"践":{"docs":{},"经":{"docs":{},"验":{"docs":{},"和":{"docs":{},"思":{"docs":{},"考":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"种":{"docs":{},"思":{"docs":{},"路":{"docs":{},",":{"docs":{},"对":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"类":{"docs":{},"似":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"启":{"docs":{},"发":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"资":{"docs":{},"源":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"图":{"docs":{},"片":{"docs":{},"、":{"docs":{},"音":{"docs":{},"视":{"docs":{},"频":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},";":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}}}},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"在":{"docs":{},"了":{"docs":{},"解":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"视":{"docs":{},"图":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"程":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"第":{"docs":{},"二":{"docs":{},"题":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{},"未":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"大":{"docs":{},"量":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"保":{"docs":{},"证":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"利":{"docs":{},"用":{"docs":{},"编":{"docs":{},"译":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"所":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"*":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"才":{"docs":{},"能":{"docs":{},"在":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"里":{"docs":{},"面":{"docs":{},"还":{"docs":{},"能":{"docs":{},"继":{"docs":{},"续":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"到":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"看":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"的":{"docs":{},"工":{"docs":{},"程":{"docs":{},"想":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"何":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"这":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"?":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"核":{"docs":{},"心":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"少":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"找":{"docs":{},"到":{"docs":{},"代":{"docs":{},"码":{"docs":{},"里":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"线":{"docs":{},"上":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"还":{"docs":{},"是":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"会":{"docs":{},"这":{"docs":{},"么":{"docs":{},"设":{"docs":{},"计":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"办":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"些":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"步":{"docs":{},"骤":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"和":{"docs":{},"可":{"docs":{},"测":{"docs":{},"试":{"docs":{},"性":{"docs":{},"上":{"docs":{},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"被":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"提":{"docs":{},"出":{"docs":{},"了":{"docs":{},"这":{"docs":{},"样":{"docs":{},"两":{"docs":{},"点":{"docs":{},"思":{"docs":{},"路":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"条":{"docs":{},"到":{"docs":{},"底":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"图":{"3":{"docs":{},".":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"右":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}},"当":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"不":{"docs":{},"为":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"时":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"形":{"docs":{},"式":{"docs":{},"如":{"docs":{},"何":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"(":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},")":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"(":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},")":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"专":{"docs":{},"门":{"docs":{},"理":{"docs":{},"解":{"docs":{},"并":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"种":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"影":{"docs":{},"响":{"docs":{},"很":{"docs":{},"大":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"做":{"docs":{},"到":{"docs":{},"以":{"docs":{},"上":{"docs":{},"这":{"docs":{},"些":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"就":{"docs":{},"代":{"docs":{},"表":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"有":{"docs":{},"值":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"接":{"docs":{},"着":{"docs":{},"看":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"排":{"docs":{},"序":{"docs":{},"树":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"用":{"docs":{},"它":{"docs":{},"来":{"docs":{},"构":{"docs":{},"造":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{},"到":{"docs":{},"这":{"docs":{},"插":{"docs":{},"一":{"docs":{},"句":{"docs":{},"题":{"docs":{},"外":{"docs":{},"话":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"些":{"docs":{},"你":{"docs":{},"想":{"docs":{},"到":{"docs":{},"和":{"docs":{},"想":{"docs":{},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"阴":{"docs":{},"影":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}},"、":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"、":{"docs":{},"蒙":{"docs":{},"版":{"docs":{},"、":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"随":{"docs":{},"后":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"即":{"docs":{},"开":{"docs":{},"展":{"docs":{},"了":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"更":{"docs":{},"换":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"说":{"docs":{},"配":{"docs":{},"置":{"docs":{},"后":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"呈":{"docs":{},"现":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}}}},"首":{"docs":{},"先":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"将":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"一":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"由":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"准":{"docs":{},"备":{"docs":{},"视":{"docs":{},"图":{"docs":{},"和":{"docs":{},"图":{"docs":{},"层":{"docs":{},"的":{"docs":{},"层":{"docs":{},"级":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"查":{"docs":{},"询":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"重":{"docs":{},"写":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"或":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"讲":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{},"它":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"白":{"docs":{},",":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"、":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"和":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"造":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"排":{"docs":{},"除":{"docs":{},"了":{"docs":{},"无":{"docs":{},"脑":{"docs":{},"放":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"怀":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},"误":{"docs":{},"、":{"docs":{},"编":{"docs":{},"译":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"等":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"些":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"确":{"docs":{},"几":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"从":{"docs":{},"它":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"从":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"该":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"已":{"docs":{},"经":{"docs":{},"取":{"docs":{},"消":{"docs":{},"或":{"docs":{},"者":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"则":{"docs":{},"根":{"docs":{},"据":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"记":{"docs":{},"录":{"docs":{},"该":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"到":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"该":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"下":{"docs":{},"载":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"去":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"下":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"就":{"docs":{},"判":{"docs":{},"断":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"如":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"有":{"docs":{},"值":{"docs":{},"就":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"就":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"之":{"docs":{},"前":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"就":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"就":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"下":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"就":{"docs":{},"处":{"docs":{},"理":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"后":{"docs":{},"得":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"读":{"docs":{},"取":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"些":{"docs":{},"下":{"docs":{},"载":{"docs":{},"器":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"下":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"docs":{},"刚":{"docs":{},"才":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"从":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"返":{"docs":{},"回":{"docs":{},"出":{"docs":{},"去":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"去":{"docs":{},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"题":{"docs":{},"干":{"docs":{},"中":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"体":{"docs":{},"现":{"docs":{},"在":{"docs":{},"无":{"docs":{},"连":{"docs":{},"接":{"docs":{},"上":{"docs":{},",":{"docs":{},"通":{"docs":{},"信":{"docs":{},"都":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"想":{"docs":{},"发":{"docs":{},"就":{"docs":{},"发":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"栈":{"docs":{},"中":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"避":{"docs":{},"免":{"docs":{},"反":{"docs":{},"射":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"梳":{"docs":{},"理":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"帧":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"部":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"位":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"x":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"不":{"docs":{},"能":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"但":{"docs":{},"要":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"掉":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"开":{"docs":{},"销":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"小":{"docs":{},",":{"docs":{},"仅":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"docs":{}}}}}},"最":{"docs":{},"小":{"2":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"6":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}},"黄":{"docs":{},"色":{"docs":{"iOS/UIKit/UIOffScreenRendering.html":{"ref":"iOS/UIKit/UIOffScreenRendering.html","tf":0.007246376811594203}}}},"_":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"z":{"docs":{},"n":{"2":{"docs":{},"c":{"docs":{},"a":{"1":{"1":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"1":{"7":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"p":{"1":{"9":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"p":{"docs":{},"v":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"所":{"docs":{},"有":{"docs":{},"待":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}}},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"做":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}},"c":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"_":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"吊":{"docs":{},"起":{"docs":{},"的":{"docs":{},"。":{"docs":{},"从":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"属":{"docs":{},"于":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"1":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"docs":{}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"(":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.004}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"_":{"docs":{},"(":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}},",":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},":":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"将":{"docs":{},"“":{"docs":{},"分":{"docs":{},"支":{"docs":{},"转":{"docs":{},"移":{"docs":{},"”":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"指":{"docs":{},"令":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"下":{"docs":{},"降":{"docs":{},"。":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}},"docs":{}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"成":{"docs":{},"了":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"原":{"docs":{},"始":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"并":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"给":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"—":{"docs":{},"—":{"docs":{},"因":{"docs":{},"此":{"docs":{},"是":{"docs":{},"指":{"docs":{},"针":{"docs":{},"拷":{"docs":{},"贝":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"2":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"docs":{},"_":{"docs":{},"n":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}},"l":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"段":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"取":{"docs":{},"差":{"docs":{},"集":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"符":{"docs":{},"号":{"docs":{},"化":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"得":{"docs":{},"到":{"docs":{},"未":{"docs":{},"被":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"s":{"docs":{},"段":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"引":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"存":{"docs":{},"在":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"自":{"docs":{},"己":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"docs":{}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}},"*":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"里":{"docs":{},"面":{"docs":{},"多":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"彩":{"docs":{},"蛋":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"docs":{}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"docs":{}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}}}}},"docs":{}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},")":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"*":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}},"直":{"docs":{},"接":{"docs":{},"般":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"里":{"docs":{},"面":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"u":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"t":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.025933609958506226},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.011461318051575931}},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},".":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"n":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"(":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.017634854771784232}},",":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"s":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"e":{"docs":{},"h":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"会":{"docs":{},"把":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"进":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.007042253521126761},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.006640106241699867},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.014354066985645933},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.006983240223463687}}}}}}},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"$":{"docs":{},"_":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}},";":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"i":{"docs":{},"d":{"2":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"docs":{}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"用":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"其":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"_":{"docs":{},"$":{"docs":{},"_":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{},"$":{"docs":{},"_":{"docs":{},"(":{"docs":{},".":{"docs":{},"+":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}},"'":{"docs":{},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"和":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"就":{"docs":{},"只":{"docs":{},"看":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.005714285714285714},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0030534351145038168}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},"是":{"docs":{},"取":{"docs":{},"消":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"稍":{"docs":{},"后":{"docs":{},"解":{"docs":{},"析":{"docs":{},"实":{"docs":{},"现":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"f":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"0":{"docs":{},"(":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"_":{"0":{"docs":{},"和":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"先":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},".":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}}}}}}}},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"&":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"y":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"e":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"为":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}},"v":{"docs":{},"o":{"docs":{},"a":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"在":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"p":{"docs":{},"_":{"2":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"docs":{}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"和":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"y":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},")":{"docs":{},"&":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"做":{"docs":{},"出":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"形":{"docs":{},"成":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"或":{"docs":{},"者":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},")":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"/":{"docs":{},"/":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"o":{"2":{"docs":{},"=":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"x":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.012269938650306749}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.003816793893129771}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514}},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"y":{"docs":{},"z":{"docs":{},"g":{"docs":{},"_":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0137429264349232},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"和":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463}},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}},"s":{"docs":{},"[":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"r":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"docs":{}}}}}},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},",":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"低":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"交":{"docs":{},"互":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"q":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"“":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}},"空":{"docs":{},"间":{"docs":{},"换":{"docs":{},"时":{"docs":{},"间":{"docs":{},"”":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"切":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"剪":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"、":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"仅":{"docs":{},"止":{"docs":{},"于":{"docs":{},"此":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"再":{"docs":{},"问":{"docs":{},"得":{"docs":{},"深":{"docs":{},"入":{"docs":{},"哪":{"docs":{},"怕":{"docs":{},"一":{"docs":{},"点":{"docs":{},"点":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"开":{"docs":{},"一":{"docs":{},"块":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"画":{"docs":{},"家":{"docs":{},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"算":{"docs":{},"法":{"docs":{},"”":{"docs":{},",":{"docs":{},"按":{"docs":{},"次":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"知":{"docs":{},"道":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"文":{"docs":{},"章":{"docs":{},"和":{"docs":{},"视":{"docs":{},"频":{"docs":{},"也":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"离":{"docs":{},"屏":{"docs":{},"”":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"通":{"docs":{},"常":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"是":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"像":{"docs":{},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"存":{"docs":{},"入":{"docs":{},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"”":{"docs":{},",":{"docs":{},"而":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},",":{"docs":{},"把":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"依":{"docs":{},"次":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"画":{"docs":{},"布":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"覆":{"docs":{},"盖":{"docs":{},"”":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},",":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"是":{"docs":{},"存":{"docs":{},"在":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},";":{"docs":{},"”":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"危":{"docs":{},"险":{"docs":{},"代":{"docs":{},"码":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"同":{"docs":{},"名":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"保":{"docs":{},"证":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"和":{"docs":{},"效":{"docs":{},"率":{"docs":{},"的":{"docs":{},"前":{"docs":{},"提":{"docs":{},"下":{"docs":{},"做":{"docs":{},"到":{"docs":{},"无":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"模":{"docs":{},"块":{"docs":{},"通":{"docs":{},"信":{"docs":{},"”":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"业":{"docs":{},"界":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"案":{"docs":{},"大":{"docs":{},"致":{"docs":{},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"最":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"”":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}},"转":{"docs":{},"发":{"docs":{},"层":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"面":{"docs":{},"向":{"docs":{},"协":{"docs":{},"议":{"docs":{},"编":{"docs":{},"程":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"懒":{"docs":{},"惰":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"”":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"完":{"docs":{},"善":{"docs":{},"”":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"无":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"任":{"docs":{},"何":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"”":{"docs":{},",":{"docs":{},"此":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"时":{"docs":{},"机":{"docs":{},"为":{"docs":{},"首":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"实":{"docs":{},"验":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"砸":{"docs":{},"壳":{"docs":{},"”":{"docs":{},",":{"docs":{},"砸":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"▐":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}},"上":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"滚":{"docs":{},"动":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"更":{"docs":{},"改":{"docs":{},"。":{"docs":{},"用":{"docs":{},"户":{"docs":{},"交":{"docs":{},"互":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"更":{"docs":{},"新":{"docs":{},"间":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"用":{"docs":{},"户":{"docs":{},"察":{"docs":{},"觉":{"docs":{},"到":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"一":{"docs":{},"起":{"docs":{},"发":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},",":{"docs":{},"合":{"docs":{},"并":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"务":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"演":{"docs":{},"讲":{"docs":{},"就":{"docs":{},"此":{"docs":{},"嘲":{"docs":{},"讽":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"方":{"docs":{},"案":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"而":{"docs":{},"相":{"docs":{},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"格":{"docs":{},"式":{"docs":{},"有":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{},",":{"docs":{},"但":{"docs":{},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{},"无":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"机":{"docs":{},"型":{"docs":{},"、":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"地":{"docs":{},"查":{"docs":{},"看":{"docs":{},"了":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"总":{"docs":{},"结":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"取":{"docs":{},"固":{"docs":{},"定":{"docs":{},"段":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"计":{"docs":{},"算":{"docs":{},"其":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"或":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"o":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"其":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"参":{"docs":{},"考":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"述":{"docs":{},"图":{"docs":{},"像":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"第":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"(":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"都":{"docs":{},"是":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"来":{"docs":{},"到":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"数":{"docs":{},"组":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"分":{"docs":{},"三":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"选":{"docs":{},"择":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"外":{"docs":{},"层":{"docs":{},"加":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"循":{"docs":{},"环":{"docs":{},",":{"docs":{},"问":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"果":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"三":{"docs":{},"件":{"docs":{},"事":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"类":{"docs":{},"的":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"在":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"和":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"注":{"docs":{},"释":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"团":{"docs":{},"队":{"docs":{},"规":{"docs":{},"模":{"docs":{},"扩":{"docs":{},"大":{"docs":{},",":{"docs":{},"新":{"docs":{},"同":{"docs":{},"学":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},"格":{"docs":{},"外":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"答":{"docs":{},"疑":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"。":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"有":{"docs":{},"一":{"docs":{},"次":{"docs":{},"业":{"docs":{},"务":{"docs":{},"项":{"docs":{},"目":{"docs":{},"时":{"docs":{},"间":{"docs":{},"特":{"docs":{},"别":{"docs":{},"紧":{"docs":{},"张":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"私":{"docs":{},"下":{"docs":{},"更":{"docs":{},"改":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"点":{"docs":{},"中":{"docs":{},"的":{"docs":{},"后":{"docs":{},"两":{"docs":{},"点":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"理":{"docs":{},"解":{"docs":{},"的":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"疑":{"docs":{},"惑":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"日":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"频":{"docs":{},"率":{"docs":{},"不":{"docs":{},"高":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"如":{"docs":{},"此":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"人":{"docs":{},"拒":{"docs":{},"绝":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"(":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"免":{"docs":{},"费":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"说":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"不":{"docs":{},"可":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"依":{"docs":{},"次":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"打":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"脏":{"docs":{},"标":{"docs":{},"记":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"在":{"1":{"2":{"docs":{},"之":{"docs":{},"前":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"docs":{}},"docs":{}}}}}}},"流":{"docs":{},"程":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"中":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"2":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"是":{"docs":{},"同":{"docs":{},"级":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"给":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"加":{"docs":{},"上":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"1":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{},"后":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}},"讨":{"docs":{},"论":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"于":{"docs":{},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"在":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{},"对":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"情":{"docs":{},"况":{"docs":{},"又":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"一":{"docs":{},"运":{"docs":{},"行":{"docs":{},"就":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"瞬":{"docs":{},"间":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"但":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"中":{"docs":{},"存":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"变":{"docs":{},"成":{"docs":{},"了":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"无":{"docs":{},"效":{"docs":{},"化":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"提":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"合":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"了":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"为":{"docs":{},"空":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"讲":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"坑":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"类":{"docs":{},"相":{"docs":{},"互":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"的":{"docs":{},"图":{"docs":{},"来":{"docs":{},"描":{"docs":{},"绘":{"docs":{},".":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"第":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"中":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},"为":{"docs":{},",":{"docs":{},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"无":{"docs":{},"可":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"预":{"docs":{},"热":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"很":{"docs":{},"高":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"较":{"docs":{},"高":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"文":{"docs":{},"提":{"docs":{},"到":{"docs":{},"了":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"s":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"下":{"docs":{},"载":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"半":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},";":{"docs":{},"下":{"docs":{},"半":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"并":{"docs":{},"行":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"介":{"docs":{},"绍":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"曾":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"必":{"docs":{},"须":{"docs":{},"具":{"docs":{},"有":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"系":{"docs":{},"统":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},",":{"docs":{},"人":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"适":{"docs":{},"配":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"由":{"docs":{},"于":{"docs":{},"有":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"仅":{"docs":{},"生":{"docs":{},"成":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"替":{"docs":{},"换":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"不":{"docs":{},"管":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"如":{"docs":{},"何":{"docs":{},",":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"始":{"docs":{},"终":{"docs":{},"为":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"生":{"docs":{},"成":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"及":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"分":{"docs":{},"别":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"两":{"docs":{},"张":{"docs":{},"图":{"docs":{},"进":{"docs":{},"行":{"docs":{},"替":{"docs":{},"换":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"替":{"docs":{},"换":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"与":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"一":{"docs":{},"致":{"docs":{},"时":{"docs":{},"才":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"即":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"只":{"docs":{},"替":{"docs":{},"换":{"docs":{},"竖":{"docs":{},"屏":{"docs":{},"、":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"只":{"docs":{},"替":{"docs":{},"换":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"跟":{"docs":{},"随":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"但":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"也":{"docs":{},"有":{"docs":{},"复":{"docs":{},"现":{"docs":{},")":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"删":{"docs":{},"除":{"docs":{},"该":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"同":{"docs":{},"样":{"docs":{},"无":{"docs":{},"权":{"docs":{},"限":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}},"宣":{"docs":{},"布":{"docs":{},"自":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"是":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"其":{"docs":{},"他":{"docs":{},"工":{"docs":{},"作":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"条":{"docs":{},"件":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"无":{"docs":{},"法":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"链":{"docs":{},"接":{"docs":{},"有":{"docs":{},"关":{"docs":{},"*":{"docs":{},"/":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}},"会":{"docs":{},"做":{"docs":{},"两":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"几":{"docs":{},"种":{"docs":{},"任":{"docs":{},"务":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},",":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"docs":{}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"证":{"docs":{},"书":{"docs":{},"发":{"docs":{},"布":{"docs":{},"机":{"docs":{},"构":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"有":{"docs":{},"效":{"docs":{},"期":{"docs":{},",":{"docs":{},"公":{"docs":{},"钥":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"所":{"docs":{},"有":{"docs":{},"者":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"指":{"docs":{},"纹":{"docs":{},"以":{"docs":{},"及":{"docs":{},"指":{"docs":{},"纹":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"持":{"docs":{},"有":{"docs":{},"者":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"报":{"docs":{},"文":{"docs":{},"无":{"docs":{},"差":{"docs":{},"错":{"docs":{},",":{"docs":{},"不":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"不":{"docs":{},"重":{"docs":{},"复":{"docs":{},",":{"docs":{},"按":{"docs":{},"序":{"docs":{},"到":{"docs":{},"达":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"_":{"0":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"&":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"单":{"docs":{},"独":{"docs":{},"考":{"docs":{},"虑":{"docs":{},",":{"docs":{},"组":{"docs":{},"合":{"docs":{},"结":{"docs":{},"果":{"docs":{},"以":{"docs":{},"总":{"docs":{},"结":{"docs":{},"表":{"docs":{},"格":{"docs":{},"为":{"docs":{},"准":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"经":{"docs":{},"过":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"串":{"docs":{},"行":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"跟":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"(":{"docs":{},"’":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"’":{"docs":{},"和":{"docs":{},"’":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"’":{"docs":{},"相":{"docs":{},"互":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"卡":{"docs":{},"住":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"已":{"docs":{},"经":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}}}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"会":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"更":{"docs":{},"新":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"标":{"docs":{},"记":{"docs":{},"“":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"(":{"docs":{},"重":{"docs":{},"点":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{},")":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"自":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"系":{"docs":{},"统":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"全":{"docs":{},"局":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"随":{"docs":{},"着":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"而":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"来":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"向":{"docs":{},"线":{"docs":{},"程":{"docs":{},"同":{"docs":{},"步":{"docs":{},"分":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"里":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"立":{"docs":{},"即":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"让":{"docs":{},"视":{"docs":{},"图":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"周":{"docs":{},"期":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"任":{"docs":{},"务":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"启":{"docs":{},"动":{"docs":{},"流":{"docs":{},"程":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"将":{"docs":{},"传":{"docs":{},"入":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"加":{"docs":{},"以":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"其":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},"访":{"docs":{},"问":{"docs":{},"全":{"docs":{},"局":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"操":{"docs":{},"作":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"产":{"docs":{},"生":{"docs":{},"悬":{"docs":{},"垂":{"docs":{},"指":{"docs":{},"针":{"docs":{},":":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"指":{"docs":{},"向":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"后":{"docs":{},"还":{"docs":{},"调":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"就":{"docs":{},"会":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"起":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"开":{"docs":{},"启":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"利":{"docs":{},"用":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"内":{"docs":{},"核":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"双":{"docs":{},"核":{"docs":{},"、":{"docs":{},"四":{"docs":{},"核":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"(":{"docs":{},"创":{"docs":{},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"、":{"docs":{},"调":{"docs":{},"度":{"docs":{},"任":{"docs":{},"务":{"docs":{},"、":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"成":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"触":{"docs":{},"发":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"方":{"docs":{},"法":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"走":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"占":{"docs":{},"去":{"docs":{},"启":{"docs":{},"动":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"很":{"docs":{},"大":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"单":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"对":{"docs":{},"上":{"docs":{},"传":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"成":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"要":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"被":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},",":{"docs":{},"去":{"docs":{},"掉":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"创":{"docs":{},"建":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},",":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"是":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"然":{"docs":{},"不":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"都":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"重":{"docs":{},"启":{"docs":{},"手":{"docs":{},"机":{"docs":{},"或":{"docs":{},"者":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}},"负":{"docs":{},"责":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"优":{"docs":{},"化":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"在":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"话":{"docs":{},"秘":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992}}}},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"称":{"docs":{},"秘":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"传":{"docs":{},"输":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},")":{"docs":{},"内":{"docs":{},"容":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}},"消":{"docs":{},"耗":{"docs":{},"其":{"docs":{},"相":{"docs":{},"当":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"计":{"docs":{},"算":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"不":{"docs":{},"愿":{"docs":{},"意":{"docs":{},"因":{"docs":{},"此":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"docs":{},"循":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"默":{"docs":{},"认":{"docs":{},"打":{"docs":{},"开":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"是":{"docs":{},"否":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"对":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"它":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"实":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},";":{"docs":{},"在":{"docs":{},"向":{"docs":{},"下":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"它":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"都":{"docs":{},"叫":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"破":{"docs":{},"坏":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"实":{"docs":{},"现":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"任":{"docs":{},"何":{"docs":{},"它":{"docs":{},"不":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},"引":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"子":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"或":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"终":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"实":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"首":{"docs":{},"帧":{"docs":{},"已":{"docs":{},"经":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"小":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"了":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"自":{"docs":{},"己":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"统":{"docs":{},"跳":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"达":{"docs":{},"到":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"文":{"docs":{},"字":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"操":{"docs":{},"作":{"docs":{},"交":{"docs":{},"由":{"docs":{},"框":{"docs":{},"架":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"这":{"docs":{},"方":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"我":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"前":{"docs":{},"端":{"docs":{},",":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"后":{"docs":{},"端":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"严":{"docs":{},"选":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"载":{"docs":{},"体":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"以":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"标":{"docs":{},"志":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"离":{"docs":{},"线":{"docs":{},"工":{"docs":{},"作":{"docs":{},"和":{"docs":{},"本":{"docs":{},"地":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"能":{"docs":{},"够":{"docs":{},"避":{"docs":{},"免":{"docs":{},"直":{"docs":{},"接":{"docs":{},"提":{"docs":{},"交":{"docs":{},"大":{"docs":{},"量":{"docs":{},"代":{"docs":{},"码":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"限":{"docs":{},"制":{"docs":{},"对":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"授":{"docs":{},"权":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"由":{"docs":{},"于":{"docs":{},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"方":{"docs":{},"面":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"全":{"docs":{},"局":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"和":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"无":{"docs":{},"法":{"docs":{},"体":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"局":{"docs":{},"限":{"docs":{},"性":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"上":{"docs":{},"才":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"。":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}},"域":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"者":{"docs":{},":":{"docs":{},"猿":{"docs":{},"人":{"docs":{},"谷":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},"人":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},"、":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"代":{"docs":{},"替":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"生":{"docs":{},"成":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"传":{"docs":{},"递":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},",":{"docs":{},"更":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"更":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"图":{"docs":{},"层":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"单":{"docs":{},"独":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"合":{"docs":{},"理":{"docs":{},"利":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"计":{"docs":{},"算":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"层":{"docs":{},"次":{"docs":{},",":{"docs":{},"解":{"docs":{},"压":{"docs":{},"等":{"docs":{},",":{"docs":{},"再":{"docs":{},"合":{"docs":{},"理":{"docs":{},"调":{"docs":{},"度":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"担":{"docs":{},"常":{"docs":{},"常":{"docs":{},"要":{"docs":{},"比":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"大":{"docs":{},",":{"docs":{},"合":{"docs":{},"理":{"docs":{},"调":{"docs":{},"度":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"进":{"docs":{},"行":{"docs":{},"计":{"docs":{},"算":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"轻":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"负":{"docs":{},"担":{"docs":{},",":{"docs":{},"使":{"docs":{},"应":{"docs":{},"用":{"docs":{},"更":{"docs":{},"加":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"定":{"docs":{},"并":{"docs":{},"启":{"docs":{},"用":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"续":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"下":{"docs":{},"载":{"docs":{},"操":{"docs":{},"作":{"docs":{},"回":{"docs":{},"调":{"docs":{},"后":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"已":{"docs":{},"经":{"docs":{},"重":{"docs":{},"用":{"docs":{},"或":{"docs":{},"者":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"设":{"docs":{},"置":{"docs":{},"图":{"docs":{},"片":{"docs":{},"避":{"docs":{},"免":{"docs":{},"混":{"docs":{},"乱":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"靠":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"是":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"场":{"docs":{},"景":{"docs":{},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"出":{"docs":{},"现":{"docs":{},"对":{"docs":{},"象":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"强":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},"而":{"docs":{},"造":{"docs":{},"成":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"正":{"docs":{},"常":{"docs":{},"释":{"docs":{},"放":{"docs":{},"最":{"docs":{},"终":{"docs":{},"导":{"docs":{},"致":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"露":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"哪":{"docs":{},"些":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"各":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"1":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}},"更":{"docs":{},"加":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}}}}}},"评":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"难":{"docs":{},"度":{"docs":{},"大":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"时":{"docs":{},"由":{"docs":{},"于":{"docs":{},"对":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"造":{"docs":{},"成":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"致":{"docs":{},"使":{"docs":{},"系":{"docs":{},"统":{"docs":{},"其":{"docs":{},"他":{"docs":{},"调":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"也":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"(":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"你":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"队":{"docs":{},"列":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"不":{"docs":{},"到":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"异":{"docs":{},"步":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"块":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"块":{"docs":{},"内":{"docs":{},"部":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},",":{"docs":{},"问":{"docs":{},"打":{"docs":{},"印":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"慢":{"docs":{},"双":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"在":{"docs":{},"满":{"docs":{},"之":{"docs":{},"后":{"docs":{},"后":{"docs":{},"面":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"数":{"docs":{},"组":{"docs":{},"是":{"docs":{},"有":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"向":{"docs":{},"后":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"时":{"docs":{},",":{"docs":{},"若":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"下":{"docs":{},"标":{"docs":{},"与":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"值":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"前":{"docs":{},"移":{"docs":{},"到":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"知":{"docs":{},"道":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"完":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"原":{"docs":{},"理":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"数":{"docs":{},"向":{"docs":{},"前":{"docs":{},"提":{"docs":{},"前":{"docs":{},",":{"docs":{},"不":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"数":{"docs":{},"组":{"docs":{},"空":{"docs":{},"间":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"替":{"docs":{},"换":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"多":{"docs":{},"个":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"竞":{"docs":{},"争":{"docs":{},",":{"docs":{},"其":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"其":{"docs":{},"他":{"docs":{},"。":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"子":{"docs":{},"自":{"docs":{},"增":{"docs":{},"函":{"docs":{},"数":{"docs":{},"o":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{},"对":{"docs":{},"局":{"docs":{},"部":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"增":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"取":{"docs":{},"模":{"docs":{},"运":{"docs":{},"算":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"返":{"docs":{},"回":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"效":{"docs":{},"解":{"docs":{},"决":{"docs":{},"传":{"docs":{},"统":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"、":{"docs":{},"访":{"docs":{},"问":{"docs":{},"时":{"docs":{},"间":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"身":{"docs":{},"份":{"docs":{},"信":{"docs":{},"息":{"docs":{},"生":{"docs":{},"成":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}},"起":{"docs":{},"来":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"时":{"docs":{},"出":{"docs":{},"错":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"方":{"docs":{},"式":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"相":{"docs":{},"比":{"docs":{},"于":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"引":{"docs":{},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"共":{"docs":{},"用":{"docs":{},",":{"docs":{},"节":{"docs":{},"约":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},";":{"docs":{},"各":{"docs":{},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"的":{"docs":{},"更":{"docs":{},"新":{"docs":{},"变":{"docs":{},"得":{"docs":{},"比":{"docs":{},"较":{"docs":{},"容":{"docs":{},"易":{"docs":{},",":{"docs":{},"易":{"docs":{},"于":{"docs":{},"库":{"docs":{},"的":{"docs":{},"维":{"docs":{},"护":{"docs":{},";":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"去":{"docs":{},",":{"docs":{},"能":{"docs":{},"大":{"docs":{},"大":{"docs":{},"缩":{"docs":{},"减":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"确":{"docs":{},"认":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"当":{"docs":{},"前":{"docs":{},"文":{"docs":{},"件":{"docs":{},"用":{"docs":{},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"上":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"理":{"docs":{},"解":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"。":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"途":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"篡":{"docs":{},"改":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},",":{"docs":{},"通":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"算":{"docs":{},"法":{"docs":{},"如":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"1":{"docs":{},",":{"docs":{},"m":{"docs":{},"d":{"5":{"docs":{},"将":{"docs":{},"传":{"docs":{},"输":{"docs":{},"内":{"docs":{},"容":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"一":{"docs":{},"次":{"docs":{},"获":{"docs":{},"得":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"即":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"对":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"和":{"docs":{},"信":{"docs":{},"息":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"传":{"docs":{},"输":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"获":{"docs":{},"得":{"docs":{},"原":{"docs":{},"始":{"docs":{},"内":{"docs":{},"容":{"docs":{},"和":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"值":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"算":{"docs":{},"法":{"docs":{},"对":{"docs":{},"原":{"docs":{},"始":{"docs":{},"内":{"docs":{},"容":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"与":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"值":{"docs":{},"比":{"docs":{},"对":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"号":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"由":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"发":{"docs":{},"出":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"量":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"修":{"docs":{},"改":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"修":{"docs":{},"改":{"docs":{},"权":{"docs":{},"限":{"docs":{},"才":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"后":{"docs":{},"续":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"建":{"docs":{},"设":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"会":{"docs":{},"有":{"docs":{},"更":{"docs":{},"多":{"docs":{},"相":{"docs":{},"关":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"名":{"docs":{},",":{"docs":{},"前":{"docs":{},"几":{"docs":{},"次":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"偶":{"docs":{},"现":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}},"饰":{"docs":{},"基":{"docs":{},"本":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"对":{"docs":{},"数":{"docs":{},"组":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"获":{"docs":{},"取":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"数":{"docs":{},"组":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"添":{"docs":{},"加":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"移":{"docs":{},"除":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{},"是":{"docs":{},"不":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},".":{"docs":{},"而":{"docs":{},"且":{"docs":{},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},"是":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"!":{"docs":{},"!":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"全":{"docs":{},"权":{"docs":{},"负":{"docs":{},"责":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"局":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"区":{"docs":{},"(":{"docs":{},"静":{"docs":{},"态":{"docs":{},"区":{"docs":{},")":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},":":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"块":{"docs":{},"的":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"一":{"docs":{},"块":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"、":{"docs":{},"共":{"docs":{},"享":{"docs":{},"内":{"docs":{},"存":{"docs":{},"块":{"docs":{},"和":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"和":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"任":{"docs":{},"务":{"docs":{},"系":{"docs":{},"统":{"docs":{},"决":{"docs":{},"定":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{},"个":{"docs":{},"数":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"&":{"docs":{},"同":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"2":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"3":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},":":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"声":{"docs":{},"明":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"方":{"docs":{},"位":{"docs":{},"解":{"docs":{},"读":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"名":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"减":{"docs":{},"少":{"docs":{},"重":{"docs":{},"复":{"docs":{},"计":{"docs":{},"算":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"修":{"docs":{},"改":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"等":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"层":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"创":{"docs":{},"建":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"好":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"以":{"docs":{},"线":{"docs":{},"程":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"。":{"docs":{},"其":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"己":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"时":{"docs":{},"传":{"docs":{},"入":{"docs":{},"值":{"docs":{},"为":{"1":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"两":{"docs":{},"次":{"docs":{},"才":{"docs":{},"堵":{"docs":{},"塞":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"docs":{}}}}}}}}},"源":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"多":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"缓":{"docs":{},"存":{"docs":{},"等":{"docs":{},",":{"docs":{},"最":{"docs":{},"差":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"即":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"分":{"docs":{},"页":{"docs":{},",":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"读":{"docs":{},"取":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"这":{"docs":{},"些":{"docs":{},"分":{"docs":{},"页":{"docs":{},"中":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"会":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"动":{"docs":{},"画":{"docs":{},"需":{"docs":{},"要":{"docs":{},"这":{"docs":{},"个":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"同":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"和":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"态":{"docs":{},"将":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"、":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"解":{"docs":{},"析":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{},"决":{"docs":{},"议":{"docs":{},"—":{"docs":{},"—":{"docs":{},"实":{"docs":{},"现":{"docs":{},"消":{"docs":{},"息":{"docs":{},"动":{"docs":{},"态":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"观":{"docs":{},"察":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"观":{"docs":{},"察":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"思":{"docs":{},"想":{"docs":{},",":{"docs":{},"当":{"docs":{},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"从":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}},"库":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"树":{"docs":{},"状":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"树":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"一":{"docs":{},"层":{"docs":{},"层":{"docs":{},"向":{"docs":{},"上":{"docs":{},",":{"docs":{},"最":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"出":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"器":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"作":{"docs":{},"执":{"docs":{},"行":{"docs":{},"及":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"向":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"传":{"docs":{},"递":{"docs":{},"商":{"docs":{},"品":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"价":{"docs":{},"格":{"docs":{},"计":{"docs":{},"算":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"卡":{"docs":{},"顿":{"docs":{},",":{"docs":{},"列":{"docs":{},"表":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"、":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"或":{"docs":{},"拆":{"docs":{},"包":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"现":{"docs":{},"列":{"docs":{},"出":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"几":{"docs":{},"点":{"docs":{},",":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"会":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"⼏":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"的":{"docs":{},"一":{"docs":{},"端":{"docs":{},"将":{"docs":{},"执":{"docs":{},"行":{"docs":{},"主":{"docs":{},"动":{"docs":{},"打":{"docs":{},"开":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"的":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"交":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"在":{"docs":{},"添":{"docs":{},"加":{"docs":{},"首":{"docs":{},"部":{"docs":{},"后":{"docs":{},"就":{"docs":{},"向":{"docs":{},"下":{"docs":{},"交":{"docs":{},"付":{"docs":{},"i":{"docs":{},"p":{"docs":{},"层":{"docs":{},"。":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"交":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},",":{"docs":{},"既":{"docs":{},"不":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"拆":{"docs":{},"分":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"保":{"docs":{},"留":{"docs":{},"这":{"docs":{},"些":{"docs":{},"报":{"docs":{},"文":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"选":{"docs":{},"择":{"docs":{},"合":{"docs":{},"适":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"(":{"docs":{},"但":{"docs":{},"是":{"docs":{},"完":{"docs":{},"成":{"docs":{},"加":{"docs":{},"载":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"只":{"docs":{},"少":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}},"布":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"至":{"docs":{},"今":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"对":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"和":{"docs":{},"升":{"docs":{},"级":{"docs":{},",":{"docs":{},"即":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"出":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"支":{"docs":{},"付":{"docs":{},"交":{"docs":{},"易":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"件":{"docs":{},"事":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"去":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"上":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"订":{"docs":{},"单":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"组":{"docs":{},"装":{"docs":{},"好":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},"交":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"组":{"docs":{},"装":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"做":{"docs":{},"法":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"就":{"docs":{},"是":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"我":{"docs":{},"们":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"来":{"docs":{},"组":{"docs":{},"装":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"加":{"docs":{},"密":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"保":{"docs":{},"存":{"docs":{},"签":{"docs":{},"名":{"docs":{},"信":{"docs":{},"息":{"docs":{},";":{"docs":{},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"商":{"docs":{},"品":{"docs":{},"信":{"docs":{},"息":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"应":{"docs":{},"该":{"docs":{},"被":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"绝":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"显":{"docs":{},"式":{"docs":{},"地":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"你":{"docs":{},"只":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"按":{"docs":{},"键":{"docs":{},"(":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"/":{"docs":{},"静":{"docs":{},"音":{"docs":{},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"触":{"docs":{},"摸":{"docs":{},",":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"接":{"docs":{},"近":{"docs":{},"传":{"docs":{},"感":{"docs":{},"器":{"docs":{},"等":{"docs":{},"几":{"docs":{},"种":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}},"能":{"docs":{},"以":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"寄":{"docs":{},"生":{"docs":{},"于":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"m":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"有":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"在":{"docs":{},"真":{"docs":{},"正":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"创":{"docs":{},"建":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"取":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"对":{"docs":{},"图":{"docs":{},"片":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"是":{"docs":{},"同":{"docs":{},"步":{"docs":{},"方":{"docs":{},"式":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"还":{"docs":{},"是":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"次":{"docs":{},"或":{"docs":{},"重":{"docs":{},"复":{"docs":{},"多":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}},"般":{"docs":{},"没":{"docs":{},"人":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"保":{"docs":{},"留":{"docs":{},"字":{"docs":{},"段":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"收":{"docs":{},"敛":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"整":{"docs":{},"体":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"冰":{"docs":{},"山":{"docs":{},"一":{"docs":{},"角":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"读":{"docs":{},"者":{"docs":{},"所":{"docs":{},"在":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"时":{"docs":{},"间":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"给":{"docs":{},"数":{"docs":{},"据":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}},"去":{"docs":{},"除":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"次":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"剩":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"用":{"docs":{},"做":{"docs":{},"参":{"docs":{},"考":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"不":{"docs":{},"过":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"子":{"docs":{},"类":{"docs":{},"以":{"docs":{},"及":{"docs":{},"u":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"类":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"断":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"中":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"负":{"docs":{},"责":{"docs":{},"给":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"具":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"并":{"docs":{},"不":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"堆":{"docs":{},"中":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"起":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},",":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"组":{"docs":{},"成":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"种":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"用":{"docs":{},"于":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"目":{"docs":{},"标":{"docs":{},"代":{"docs":{},"码":{"docs":{},"、":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"基":{"docs":{},"础":{"docs":{},"架":{"docs":{},"构":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"将":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0026560424966799467},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"要":{"docs":{},"结":{"docs":{},"束":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"文":{"docs":{},"件":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"中":{"docs":{},"迁":{"docs":{},"移":{"docs":{},"至":{"docs":{},"工":{"docs":{},"程":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"出":{"docs":{},"现":{"docs":{},"空":{"docs":{},"白":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"概":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"会":{"docs":{},"偶":{"docs":{},"现":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"盘":{"docs":{},"数":{"docs":{},"据":{"docs":{},"直":{"docs":{},"接":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"来":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"内":{"docs":{},"核":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"相":{"docs":{},"互":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},",":{"docs":{},"效":{"docs":{},"率":{"docs":{},"更":{"docs":{},"高":{"docs":{},"。":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"系":{"docs":{},"统":{"docs":{},"才":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"缺":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"加":{"docs":{},"载":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"块":{"docs":{},"到":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"之":{"docs":{},"前":{"docs":{},"不":{"docs":{},"会":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"用":{"docs":{},"户":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"中":{"docs":{},"记":{"docs":{},"录":{"docs":{},"为":{"docs":{},"空":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"被":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"_":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"文":{"docs":{},"件":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"重":{"docs":{},"写":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"源":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"给":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"部":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"间":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"上":{"docs":{},"述":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"改":{"docs":{},"写":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}},"案":{"docs":{},"例":{"docs":{},"二":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"改":{"docs":{},"成":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"未":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"目":{"docs":{},"加":{"docs":{},"减":{"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"优":{"docs":{},"先":{"docs":{},"满":{"docs":{},"足":{"docs":{},",":{"docs":{},"而":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"掉":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"并":{"docs":{},"进":{"docs":{},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"函":{"docs":{},"数":{"docs":{},"所":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}},"其":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},"a":{"docs":{},"[":{"docs":{},"j":{"docs":{},"]":{"docs":{},"到":{"docs":{},"a":{"docs":{},"[":{"docs":{},"i":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}},"原":{"docs":{},"序":{"docs":{},"列":{"docs":{},"分":{"docs":{},"成":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"和":{"docs":{},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"。":{"docs":{},"a":{"docs":{},"[":{"0":{"docs":{},"…":{"docs":{},"i":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"复":{"docs":{},"杂":{"docs":{},"参":{"docs":{},"数":{"docs":{},"放":{"docs":{},"到":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"全":{"docs":{},"面":{"docs":{},"取":{"docs":{},"代":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"新":{"docs":{},"建":{"docs":{},"的":{"docs":{},"空":{"docs":{},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"仍":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"猜":{"docs":{},"测":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"中":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"由":{"docs":{},"设":{"docs":{},"备":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"好":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"用":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"父":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"默":{"docs":{},"认":{"docs":{},"声":{"docs":{},"明":{"docs":{},"是":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"映":{"docs":{},"射":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},")":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},"几":{"docs":{},"何":{"docs":{},"形":{"docs":{},"状":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"当":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"被":{"docs":{},"独":{"docs":{},"立":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"布":{"docs":{},"局":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"重":{"docs":{},"写":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"约":{"docs":{},"束":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"计":{"docs":{},"算":{"docs":{},"完":{"docs":{},"成":{"docs":{},"交":{"docs":{},"由":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},")":{"docs":{},"。":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"特":{"docs":{},"别":{"docs":{},"挑":{"docs":{},"剔":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"对":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"并":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"且":{"docs":{},"实":{"docs":{},"现":{"docs":{},"/":{"docs":{},"遵":{"docs":{},"从":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"通":{"docs":{},"过":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717}}}},"收":{"docs":{},"到":{"docs":{},"什":{"docs":{},"么":{"docs":{},"数":{"docs":{},"据":{"docs":{},"就":{"docs":{},"传":{"docs":{},"递":{"docs":{},"什":{"docs":{},"么":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"备":{"docs":{},"份":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"关":{"docs":{},"心":{"docs":{},"对":{"docs":{},"方":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"正":{"docs":{},"确":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"没":{"docs":{},"有":{"docs":{},"发":{"docs":{},"生":{"docs":{},"当":{"docs":{},"前":{"docs":{},"视":{"docs":{},"图":{"docs":{},"立":{"docs":{},"即":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"打":{"docs":{},"上":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"脏":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"是":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"时":{"docs":{},"机":{"docs":{},"完":{"docs":{},"成":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"链":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"处":{"docs":{},"理":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"或":{"docs":{},"者":{"docs":{},"手":{"docs":{},"势":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"实":{"docs":{},"时":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"docs":{},"误":{"docs":{},"差":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}},"分":{"docs":{},"别":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"到":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"何":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"也":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"能":{"docs":{},"变":{"docs":{},"成":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}},"擅":{"docs":{},"长":{"docs":{},"做":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"先":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"认":{"docs":{},"为":{"docs":{},"这":{"docs":{},"属":{"docs":{},"于":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"在":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"使":{"docs":{},"用":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"发":{"docs":{},"&":{"docs":{},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},":":{"docs":{},"线":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"一":{"docs":{},"起":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"就":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}},"有":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"错":{"docs":{},"误":{"docs":{},".":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"没":{"docs":{},"有":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"队":{"docs":{},"列":{"docs":{},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"多":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"重":{"docs":{},"用":{"docs":{},",":{"docs":{},"无":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"定":{"docs":{},"并":{"docs":{},"发":{"docs":{},",":{"docs":{},"并":{"docs":{},"发":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"并":{"docs":{},"行":{"docs":{},"。":{"docs":{},"在":{"docs":{},"单":{"docs":{},"核":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"通":{"docs":{},"过":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"速":{"docs":{},"度":{"docs":{},"足":{"docs":{},"够":{"docs":{},"快":{"docs":{},"以":{"docs":{},"至":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"它":{"docs":{},"是":{"docs":{},"‘":{"docs":{},"并":{"docs":{},"行":{"docs":{},"’":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"能":{"docs":{},"说":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"并":{"docs":{},"发":{"docs":{},"而":{"docs":{},"非":{"docs":{},"并":{"docs":{},"行":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"你":{"docs":{},"和":{"docs":{},"两":{"docs":{},"个":{"docs":{},"人":{"docs":{},"一":{"docs":{},"起":{"docs":{},"百":{"docs":{},"米":{"docs":{},"赛":{"docs":{},"跑":{"docs":{},",":{"docs":{},"你":{"docs":{},"一":{"docs":{},"直":{"docs":{},"在":{"docs":{},"不":{"docs":{},"停":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"跑":{"docs":{},"道":{"docs":{},",":{"docs":{},"而":{"docs":{},"其":{"docs":{},"他":{"docs":{},"两":{"docs":{},"人":{"docs":{},"就":{"docs":{},"在":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"跑":{"docs":{},"道":{"docs":{},"上":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},",":{"docs":{},"你":{"docs":{},"们":{"docs":{},"三":{"docs":{},"人":{"docs":{},"同":{"docs":{},"时":{"docs":{},"到":{"docs":{},"达":{"docs":{},"了":{"docs":{},"终":{"docs":{},"点":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"跑":{"docs":{},"道":{"docs":{},"看":{"docs":{},"做":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"两":{"docs":{},"人":{"docs":{},"就":{"docs":{},"是":{"docs":{},"并":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"你":{"docs":{},"只":{"docs":{},"能":{"docs":{},"的":{"docs":{},"说":{"docs":{},"是":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"返":{"docs":{},"回":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"非":{"docs":{},"一":{"docs":{},"定":{"docs":{},"是":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"未":{"docs":{},"消":{"docs":{},"除":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"般":{"docs":{},"以":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"态":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"传":{"docs":{},"来":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"会":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"并":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"根":{"docs":{},"视":{"docs":{},"图":{"docs":{},"按":{"docs":{},"照":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"断":{"docs":{},"判":{"docs":{},"断":{"docs":{},"视":{"docs":{},"图":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"并":{"docs":{},"最":{"docs":{},"终":{"docs":{},"找":{"docs":{},"到":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"。":{"docs":{},"当":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"到":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{},"其":{"docs":{},"成":{"docs":{},"为":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{},":":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"当":{"docs":{},"锁":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"多":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"请":{"docs":{},"求":{"docs":{},"之":{"docs":{},"后":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"网":{"docs":{},"络":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"提":{"docs":{},"前":{"docs":{},"算":{"docs":{},"出":{"docs":{},"各":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"表":{"docs":{},"单":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"性":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"签":{"docs":{},"名":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"重":{"docs":{},"签":{"docs":{},"名":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"基":{"docs":{},"于":{"docs":{},"长":{"docs":{},"度":{"docs":{},"或":{"docs":{},"者":{"docs":{},"基":{"docs":{},"于":{"docs":{},"终":{"docs":{},"结":{"docs":{},"符":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"多":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"粘":{"docs":{},"连":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"义":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"导":{"docs":{},"致":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"无":{"docs":{},"法":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"数":{"docs":{},"据":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"抱":{"docs":{},"有":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"意":{"docs":{},"图":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"该":{"docs":{},"与":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"属":{"docs":{},"于":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"还":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}},"去":{"docs":{},"获":{"docs":{},"取":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"中":{"docs":{},"的":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"一":{"docs":{},"段":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"属":{"docs":{},"于":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"答":{"docs":{},"确":{"docs":{},"认":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"底":{"docs":{},"层":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"原":{"docs":{},"理":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"特":{"docs":{},"性":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"如":{"docs":{},"上":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"完":{"docs":{},"事":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"把":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"会":{"docs":{},"被":{"docs":{},"放":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"1":{"docs":{},"队":{"docs":{},"列":{"docs":{},"尾":{"docs":{},"等":{"docs":{},"待":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"至":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"是":{"docs":{},"被":{"docs":{},"并":{"docs":{},"行":{"docs":{},"还":{"docs":{},"是":{"docs":{},"串":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"只":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"中":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"1":{"docs":{},"有":{"docs":{},"关":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"会":{"docs":{},"马":{"docs":{},"上":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"同":{"docs":{},"样":{"docs":{},"也":{"docs":{},"是":{"docs":{},"把":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"放":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"2":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"会":{"docs":{},"等":{"docs":{},"待":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"才":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"这":{"docs":{},"期":{"docs":{},"间":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"当":{"docs":{},"前":{"docs":{},"运":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"或":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"直":{"docs":{},"到":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"是":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"代":{"docs":{},"名":{"docs":{},"词":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"具":{"docs":{},"备":{"docs":{},"开":{"docs":{},"启":{"docs":{},"新":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"并":{"docs":{},"发":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},":":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"给":{"docs":{},"查":{"docs":{},"号":{"docs":{},"台":{"docs":{},",":{"docs":{},"问":{"docs":{},"某":{"docs":{},"个":{"docs":{},"地":{"docs":{},"方":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},"码":{"docs":{},",":{"docs":{},"接":{"docs":{},"线":{"docs":{},"员":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"你":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"挂":{"docs":{},"断":{"docs":{},"电":{"docs":{},"话":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"进":{"docs":{},"来":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"开":{"docs":{},"始":{"docs":{},"为":{"docs":{},"你":{"docs":{},"查":{"docs":{},"号":{"docs":{},"。":{"docs":{},"等":{"docs":{},"到":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"你":{"docs":{},"要":{"docs":{},"找":{"docs":{},"的":{"docs":{},"电":{"docs":{},"话":{"docs":{},"号":{"docs":{},",":{"docs":{},"会":{"docs":{},"再":{"docs":{},"打":{"docs":{},"电":{"docs":{},"话":{"docs":{},"通":{"docs":{},"知":{"docs":{},"你":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"起":{"docs":{},"截":{"docs":{},"图":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"由":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"知":{"docs":{},"道":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},",":{"docs":{},"在":{"docs":{},"类":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"位":{"docs":{},"于":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"任":{"docs":{},"何":{"docs":{},"的":{"docs":{},"o":{"docs":{},"c":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"都":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{},"最":{"docs":{},"终":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"是":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"对":{"docs":{},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"源":{"docs":{},"码":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"有":{"docs":{},"三":{"docs":{},"处":{"docs":{},"变":{"docs":{},"化":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"有":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"修":{"docs":{},"改":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"和":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"运":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"部":{"docs":{},"分":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"查":{"docs":{},"找":{"docs":{},"上":{"docs":{},"述":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"在":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"触":{"docs":{},"摸":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},",":{"docs":{},"先":{"docs":{},"摸":{"docs":{},"到":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"(":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"表":{"docs":{},"面":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"被":{"docs":{},"i":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"先":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"传":{"docs":{},"给":{"docs":{},"正":{"docs":{},"在":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"看":{"docs":{},"看":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}},"到":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"首":{"docs":{},"先":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"系":{"docs":{},"统":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"小":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"(":{"docs":{},"实":{"docs":{},"际":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"维":{"docs":{},"基":{"docs":{},"百":{"docs":{},"科":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}},"不":{"docs":{},"去":{"docs":{},"想":{"docs":{},"那":{"docs":{},"么":{"docs":{},"多":{"docs":{},",":{"docs":{},"先":{"docs":{},"把":{"docs":{},"支":{"docs":{},"付":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"跑":{"docs":{},"通":{"docs":{},"再":{"docs":{},"说":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}},"放":{"docs":{},"一":{"docs":{},"放":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"就":{"docs":{},"一":{"docs":{},"起":{"docs":{},"来":{"docs":{},"着":{"docs":{},"手":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"看":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"里":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"视":{"docs":{},"频":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"s":{"docs":{},"/":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},"看":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"俗":{"docs":{},"称":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"加":{"docs":{},"壳":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"就":{"docs":{},"看":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"所":{"docs":{},"熟":{"docs":{},"知":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"来":{"docs":{},"到":{"docs":{},"测":{"docs":{},"试":{"docs":{},"工":{"docs":{},"程":{"docs":{},"里":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"断":{"docs":{},"点":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"看":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"看":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"稍":{"docs":{},"微":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"跟":{"docs":{},"进":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"非":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"环":{"docs":{},"境":{"docs":{},"重":{"docs":{},"签":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"砸":{"docs":{},"过":{"docs":{},"壳":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"才":{"docs":{},"能":{"docs":{},"调":{"docs":{},"试":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"打":{"docs":{},"开":{"docs":{},"源":{"docs":{},"码":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"打":{"docs":{},"包":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"在":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"每":{"docs":{},"次":{"docs":{},"编":{"docs":{},"译":{"docs":{},"过":{"docs":{},"后":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"必":{"docs":{},"须":{"docs":{},"满":{"docs":{},"足":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"以":{"docs":{},"及":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"途":{"docs":{},"径":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"看":{"docs":{},"到":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"能":{"docs":{},"有":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"知":{"docs":{},"道":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"做":{"docs":{},"几":{"docs":{},"个":{"docs":{},"实":{"docs":{},"验":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},"用":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"表":{"docs":{},"示":{"docs":{},"整":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"所":{"docs":{},"有":{"docs":{},"进":{"docs":{},"入":{"docs":{},"业":{"docs":{},"务":{"docs":{},"领":{"docs":{},"域":{"docs":{},"划":{"docs":{},"分":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"期":{"docs":{},"(":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"基":{"docs":{},"本":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"较":{"docs":{},"大":{"docs":{},"变":{"docs":{},"动":{"docs":{},")":{"docs":{},"的":{"docs":{},"团":{"docs":{},"队":{"docs":{},"采":{"docs":{},"用":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{},"即":{"docs":{},"使":{"docs":{},"模":{"docs":{},"块":{"docs":{},"划":{"docs":{},"分":{"docs":{},"还":{"docs":{},"没":{"docs":{},"完":{"docs":{},"全":{"docs":{},"明":{"docs":{},"确":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"对":{"docs":{},"部":{"docs":{},"分":{"docs":{},"明":{"docs":{},"确":{"docs":{},"了":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"迟":{"docs":{},"早":{"docs":{},"要":{"docs":{},"用":{"docs":{},",":{"docs":{},"晚":{"docs":{},"用":{"docs":{},"不":{"docs":{},"如":{"docs":{},"早":{"docs":{},"用":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"基":{"docs":{},"于":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"对":{"docs":{},"于":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"又":{"docs":{},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"简":{"docs":{},"单":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},"正":{"docs":{},"文":{"docs":{},"中":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"观":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"设":{"docs":{},"备":{"docs":{},"方":{"docs":{},"向":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"好":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"基":{"docs":{},"础":{"docs":{},"能":{"docs":{},"力":{"docs":{},"研":{"docs":{},"发":{"docs":{},"和":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},"探":{"docs":{},"索":{"docs":{},"的":{"docs":{},"团":{"docs":{},"队":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"工":{"docs":{},"程":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{},"了":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"他":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"大":{"docs":{},"致":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"了":{"docs":{},"较":{"docs":{},"为":{"docs":{},"流":{"docs":{},"行":{"docs":{},"的":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"、":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"、":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"大":{"docs":{},"致":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"里":{"docs":{},",":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"某":{"docs":{},"个":{"docs":{},"订":{"docs":{},"单":{"docs":{},"有":{"docs":{},"商":{"docs":{},"家":{"docs":{},"已":{"docs":{},"发":{"docs":{},"货":{"docs":{},"未":{"docs":{},"收":{"docs":{},"货":{"docs":{},"时":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"行":{"docs":{},"为":{"docs":{},"统":{"docs":{},"计":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"会":{"docs":{},"打":{"docs":{},"开":{"docs":{},"第":{"docs":{},"一":{"docs":{},"条":{"docs":{},"已":{"docs":{},"发":{"docs":{},"货":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"去":{"docs":{},"查":{"docs":{},"看":{"docs":{},"当":{"docs":{},"前":{"docs":{},"物":{"docs":{},"流":{"docs":{},"(":{"docs":{},"物":{"docs":{},"流":{"docs":{},"数":{"docs":{},"据":{"docs":{},"来":{"docs":{},"自":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"速":{"docs":{},"度":{"docs":{},"没":{"docs":{},"有":{"docs":{},"保":{"docs":{},"证":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"进":{"docs":{},"入":{"docs":{},"我":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"预":{"docs":{},"先":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"查":{"docs":{},"看":{"docs":{},"最":{"docs":{},"新":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},"订":{"docs":{},"单":{"docs":{},"的":{"docs":{},"物":{"docs":{},"流":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},"传":{"docs":{},"给":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"公":{"docs":{},"开":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"信":{"docs":{},"息":{"docs":{},"写":{"docs":{},"入":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"掘":{"docs":{},"金":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"控":{"docs":{},"制":{"docs":{},"并":{"docs":{},"发":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"能":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"下":{"docs":{},"载":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"器":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"则":{"docs":{},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"中":{"docs":{},"发":{"docs":{},"现":{"docs":{},"了":{"docs":{},"关":{"docs":{},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"以":{"docs":{},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},"基":{"docs":{},"于":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"3":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},"表":{"docs":{},"现":{"docs":{},"存":{"docs":{},"在":{"docs":{},"差":{"docs":{},"异":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"揭":{"docs":{},"秘":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"新":{"docs":{},"增":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"添":{"docs":{},"加":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"旧":{"docs":{},"散":{"docs":{},"列":{"docs":{},"创":{"docs":{},"建":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"建":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"工":{"docs":{},"厂":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"会":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"重":{"docs":{},"写":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"。":{"docs":{},"正":{"docs":{},"是":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"上":{"docs":{},"系":{"docs":{},"统":{"docs":{},"开":{"docs":{},"始":{"docs":{},"更":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"显":{"docs":{},"示":{"docs":{},"和":{"docs":{},"设":{"docs":{},"置":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"请":{"docs":{},"求":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"调":{"docs":{},"整":{"docs":{},"了":{"docs":{},"u":{"docs":{},"i":{"docs":{},"层":{"docs":{},"级":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"或":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},":":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"调":{"docs":{},"整":{"docs":{},"操":{"docs":{},"作":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"增":{"docs":{},"加":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"指":{"docs":{},"针":{"docs":{},"纬":{"docs":{},"度":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"借":{"docs":{},"⽤":{"docs":{},"该":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"储":{"docs":{},"进":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"如":{"docs":{},"图":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"中":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"写":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"同":{"docs":{},"红":{"docs":{},"框":{"docs":{},"中":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"先":{"docs":{},"根":{"docs":{},"据":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"即":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"来":{"docs":{},"看":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"做":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"至":{"docs":{},"少":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"在":{"docs":{},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"之":{"docs":{},"后":{"docs":{},"也":{"docs":{},"至":{"docs":{},"少":{"docs":{},"剩":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"解":{"docs":{},"析":{"docs":{},"得":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"内":{"docs":{},"存":{"docs":{},"里":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"获":{"docs":{},"得":{"docs":{},"速":{"docs":{},"度":{"docs":{},"提":{"docs":{},"升":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"是":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"紊":{"docs":{},"乱":{"docs":{},"导":{"docs":{},"致":{"docs":{},"一":{"docs":{},"些":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"电":{"docs":{},"商":{"docs":{},"行":{"docs":{},"业":{"docs":{},"里":{"docs":{},"很":{"docs":{},"看":{"docs":{},"重":{"docs":{},"的":{"docs":{},"曝":{"docs":{},"光":{"docs":{},"统":{"docs":{},"计":{"docs":{},"数":{"docs":{},"据":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"候":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"第":{"docs":{},"进":{"docs":{},"入":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"优":{"docs":{},"先":{"docs":{},"读":{"docs":{},"取":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}},"更":{"docs":{},"新":{"docs":{},"当":{"docs":{},"前":{"docs":{},"模":{"docs":{},"式":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"保":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"解":{"docs":{},"码":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}},")":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"思":{"docs":{},"考":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"方":{"docs":{},"式":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"账":{"docs":{},"号":{"docs":{},"模":{"docs":{},"块":{"docs":{},"发":{"docs":{},"出":{"docs":{},"广":{"docs":{},"播":{"docs":{},",":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"比":{"docs":{},"较":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"满":{"docs":{},"足":{"docs":{},"自":{"docs":{},"己":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"这":{"docs":{},"些":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}},"期":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"缺":{"docs":{},"失":{"docs":{},"符":{"docs":{},"号":{"docs":{},"造":{"docs":{},"成":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}}}}}}}},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"帧":{"docs":{},"率":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"逻":{"docs":{},"辑":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"挂":{"docs":{},"上":{"docs":{},"断":{"docs":{},"点":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}},",":{"docs":{},"过":{"docs":{},"去":{"docs":{},"四":{"docs":{},"年":{"docs":{},"新":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"中":{"docs":{},"有":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"那":{"docs":{},"种":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"很":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"着":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"使":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"大":{"docs":{},"打":{"docs":{},"折":{"docs":{},"扣":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"有":{"docs":{},"了":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},",":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"具":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"文":{"docs":{},"可":{"docs":{},"为":{"docs":{},"以":{"docs":{},"下":{"docs":{},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{},"提":{"docs":{},"供":{"docs":{},"参":{"docs":{},"考":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"大":{"docs":{},"量":{"docs":{},"借":{"docs":{},"助":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"文":{"docs":{},"章":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"感":{"docs":{},"谢":{"docs":{},"各":{"docs":{},"位":{"docs":{},"作":{"docs":{},"者":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"对":{"docs":{},"本":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"起":{"docs":{},"了":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{},"也":{"docs":{},"希":{"docs":{},"望":{"docs":{},"各":{"docs":{},"位":{"docs":{},"能":{"docs":{},"去":{"docs":{},"原":{"docs":{},"文":{"docs":{},"发":{"docs":{},"表":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"看":{"docs":{},"法":{"docs":{},"。":{"docs":{},"谢":{"docs":{},"谢":{"docs":{},"~":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"将":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"种":{"docs":{},"静":{"docs":{},"态":{"docs":{},"分":{"docs":{},"析":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"查":{"docs":{},"找":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"基":{"docs":{},"础":{"docs":{},"知":{"docs":{},"识":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"先":{"docs":{},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"些":{"docs":{},"核":{"docs":{},"心":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"为":{"docs":{},"后":{"docs":{},"续":{"docs":{},"章":{"docs":{},"节":{"docs":{},"做":{"docs":{},"铺":{"docs":{},"垫":{"docs":{},";":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"顾":{"docs":{},"了":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"地":{"docs":{},"离":{"docs":{},"线":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"章":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}},"身":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"循":{"docs":{},"环":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"行":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}},"以":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"坑":{"docs":{},"。":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},",":{"docs":{},"从":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"块":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},"形":{"docs":{},"状":{"docs":{},"却":{"docs":{},"未":{"docs":{},"必":{"docs":{},"是":{"docs":{},"矩":{"docs":{},"形":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"与":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"跨":{"docs":{},"多":{"docs":{},"端":{"docs":{},"的":{"docs":{},"通":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"体":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"再":{"docs":{},"需":{"docs":{},"要":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"来":{"docs":{},"并":{"docs":{},"不":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"这":{"docs":{},"个":{"docs":{},"开":{"docs":{},"关":{"docs":{},"反":{"docs":{},"而":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"次":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"储":{"docs":{},"备":{"docs":{},"下":{"docs":{},"次":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"篇":{"docs":{},"相":{"docs":{},"关":{"docs":{},"文":{"docs":{},"档":{"docs":{},"和":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"方":{"docs":{},"案":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"解":{"docs":{},"决":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"无":{"docs":{},"法":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"、":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"等":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"用":{"docs":{},"户":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"说":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"首":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"展":{"docs":{},"示":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"但":{"docs":{},"下":{"docs":{},"次":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"时":{"docs":{},"即":{"docs":{},"可":{"docs":{},"展":{"docs":{},"示":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"了":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"画":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"位":{"docs":{},"标":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"准":{"docs":{},"转":{"docs":{},"换":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"库":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"志":{"docs":{},"位":{"docs":{},"标":{"docs":{},"识":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"每":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"有":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"块":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"结":{"docs":{},",":{"docs":{},"且":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"4":{"0":{"9":{"6":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"都":{"docs":{},"会":{"docs":{},"维":{"docs":{},"护":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"个":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"都":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"类":{"docs":{},"、":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},",":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"偷":{"docs":{},"偷":{"docs":{},"将":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"在":{"docs":{},"给":{"docs":{},"被":{"docs":{},"监":{"docs":{},"控":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"是":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"中":{"docs":{},"都":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"均":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"专":{"docs":{},"用":{"docs":{},"的":{"docs":{},"且":{"docs":{},"受":{"docs":{},"保":{"docs":{},"护":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"产":{"docs":{},"出":{"docs":{},"包":{"docs":{},"括":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"除":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"去":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"在":{"docs":{},"去":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},"直":{"docs":{},"到":{"docs":{},"找":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"将":{"docs":{},"方":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"里":{"docs":{},"面":{"docs":{},"找":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"已":{"docs":{},"经":{"docs":{},"编":{"docs":{},"排":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"自":{"docs":{},"动":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"排":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"太":{"docs":{},"过":{"docs":{},"于":{"docs":{},"延":{"docs":{},"迟":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"晚":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"也":{"docs":{},"只":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"而":{"docs":{},"非":{"docs":{},"连":{"docs":{},"续":{"docs":{},"多":{"docs":{},"次":{"docs":{},"。":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"排":{"docs":{},"下":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"都":{"docs":{},"会":{"docs":{},"把":{"docs":{},"最":{"docs":{},"近":{"docs":{},"一":{"docs":{},"次":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"之":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"进":{"docs":{},"去":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"全":{"docs":{},"部":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"掉":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"条":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"传":{"docs":{},"输":{"docs":{},"连":{"docs":{},"接":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"端":{"docs":{},"点":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"播":{"docs":{},"和":{"docs":{},"广":{"docs":{},"播":{"docs":{},"传":{"docs":{},"输":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"思":{"docs":{},"路":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}},"时":{"docs":{},"也":{"docs":{},"会":{"docs":{},"响":{"docs":{},"应":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"并":{"docs":{},"执":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}},"窗":{"docs":{},"口":{"docs":{},"流":{"docs":{},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{},"等":{"docs":{},"机":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"并":{"docs":{},"写":{"docs":{},"入":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"至":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},")":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}}}}},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"截":{"docs":{},"图":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"写":{"docs":{},"入":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"户":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},"我":{"docs":{},"好":{"docs":{},"评":{"docs":{},"率":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"还":{"docs":{},"会":{"docs":{},"打":{"docs":{},"开":{"docs":{},"用":{"docs":{},"户":{"docs":{},"晒":{"docs":{},"单":{"docs":{},"的":{"docs":{},"视":{"docs":{},"频":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"视":{"docs":{},"频":{"docs":{},"播":{"docs":{},"放":{"docs":{},"器":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"速":{"docs":{},"度":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"docs":{},"设":{"docs":{},"备":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"态":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"标":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"率":{"docs":{},"下":{"docs":{},"降":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"算":{"docs":{},"法":{"docs":{},"降":{"docs":{},"低":{"docs":{},"以":{"docs":{},"往":{"docs":{},"失":{"docs":{},"败":{"docs":{},"率":{"docs":{},"过":{"docs":{},"高":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"时":{"docs":{},"间":{"docs":{},"近":{"docs":{},"期":{"docs":{},"访":{"docs":{},"问":{"docs":{},"过":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"提":{"docs":{},"高":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"历":{"docs":{},"史":{"docs":{},"访":{"docs":{},"问":{"docs":{},"成":{"docs":{},"功":{"docs":{},"记":{"docs":{},"录":{"docs":{},"提":{"docs":{},"高":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"排":{"docs":{},"序":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"其":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"无":{"docs":{},"关":{"docs":{},"类":{"docs":{},"型":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"转":{"docs":{},"换":{"docs":{},"。":{"docs":{},"该":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"保":{"docs":{},"证":{"docs":{},"与":{"docs":{},"原":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"比":{"docs":{},"特":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"存":{"docs":{},"放":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"搭":{"docs":{},"建":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"保":{"docs":{},"证":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"后":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"指":{"docs":{},"针":{"docs":{},"和":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}},"判":{"docs":{},"断":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}},"存":{"docs":{},"储":{"docs":{},"与":{"docs":{},"类":{"docs":{},"有":{"docs":{},"关":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"类":{"docs":{},"名":{"docs":{},"、":{"docs":{},"类":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"、":{"docs":{},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"替":{"docs":{},"代":{"docs":{},"了":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"数":{"docs":{},"据":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"去":{"docs":{},"访":{"docs":{},"问":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"途":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"老":{"docs":{},"版":{"docs":{},"本":{"docs":{},"打":{"docs":{},"包":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"减":{"docs":{},"去":{"docs":{},"引":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"类":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"跟":{"docs":{},"踪":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"监":{"docs":{},"听":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}},"了":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"队":{"docs":{},"列":{"docs":{},"组":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"控":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"取":{"docs":{},"消":{"docs":{},";":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"秒":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{},"交":{"docs":{},"互":{"docs":{},"时":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"不":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"立":{"docs":{},"即":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"视":{"docs":{},"图":{"docs":{},"(":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"价":{"docs":{},"。":{"docs":{},"它":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"事":{"docs":{},"件":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"多":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"相":{"docs":{},"关":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"同":{"docs":{},"于":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"等":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}},",":{"docs":{},"前":{"docs":{},"面":{"docs":{},"不":{"docs":{},"是":{"docs":{},"刚":{"docs":{},"说":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"因":{"docs":{},"为":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"吗":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"源":{"docs":{},"码":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"还":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"点":{"docs":{},"进":{"docs":{},"去":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"用":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"替":{"docs":{},"代":{"docs":{},"了":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"1":{"0":{"docs":{},"之":{"docs":{},"后":{"docs":{},"替":{"docs":{},"换":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"记":{"docs":{},"得":{"docs":{},"只":{"docs":{},"开":{"docs":{},"启":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"原":{"docs":{},"理":{"docs":{},"也":{"docs":{},"都":{"docs":{},"是":{"docs":{},"类":{"docs":{},"似":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"无":{"docs":{},"法":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"待":{"docs":{},"。":{"docs":{},"。":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"内":{"docs":{},"核":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"验":{"docs":{},"证":{"docs":{},"结":{"docs":{},"果":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"都":{"docs":{},"有":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"实":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"库":{"docs":{},"每":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"都":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},")":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"合":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"加":{"docs":{},"载":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"单":{"docs":{},"独":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},".":{"docs":{},"o":{"docs":{},")":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"对":{"docs":{},"大":{"docs":{},"型":{"docs":{},"工":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"会":{"docs":{},"很":{"docs":{},"长":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"部":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"它":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"就":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"于":{"docs":{},"说":{"docs":{},"要":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"的":{"docs":{},"上":{"docs":{},"一":{"docs":{},"层":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"+":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"+":{"docs":{},"时":{"docs":{},"间":{"docs":{},"戳":{"docs":{},"等":{"docs":{},"方":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"生":{"docs":{},"成":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"标":{"docs":{},"志":{"docs":{},"位":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"新":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"来":{"docs":{},"提":{"docs":{},"供":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\\":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"无":{"docs":{},"法":{"docs":{},"从":{"docs":{},"全":{"docs":{},"局":{"docs":{},"层":{"docs":{},"面":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"后":{"docs":{},"来":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"类":{"docs":{},"和":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"特":{"docs":{},"殊":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"业":{"docs":{},"务":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"商":{"docs":{},"提":{"docs":{},"供":{"docs":{},"个":{"docs":{},"人":{"docs":{},"版":{"docs":{},"和":{"docs":{},"企":{"docs":{},"业":{"docs":{},"版":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},"基":{"docs":{},"础":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"链":{"docs":{},"接":{"docs":{},"期":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{},"符":{"docs":{},"号":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"掉":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"些":{"docs":{},"优":{"docs":{},"化":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}},"纹":{"docs":{},"理":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"避":{"docs":{},"免":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"元":{"docs":{},"\udbff":{"docs":{},"\udc08":{"docs":{},"值":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"用":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"图":{"docs":{},"层":{"docs":{},"每":{"docs":{},"次":{"docs":{},"显":{"docs":{},"示":{"docs":{},"之":{"docs":{},"前":{"docs":{},"对":{"docs":{},"图":{"docs":{},"片":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"也":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"会":{"docs":{},"把":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"设":{"docs":{},"置":{"docs":{},"视":{"docs":{},"图":{"docs":{},"“":{"docs":{},"内":{"docs":{},"部":{"docs":{},"更":{"docs":{},"新":{"docs":{},"标":{"docs":{},"记":{"docs":{},"”":{"docs":{},",":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"化":{"docs":{},"(":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},")":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":3.333333333333333}}}}}}}}}}}}}},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"图":{"docs":{},"片":{"docs":{},"库":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"库":{"docs":{},")":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},")":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"阅":{"docs":{},"读":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"构":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"体":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0029717682020802376}},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"规":{"docs":{},"则":{"docs":{},"计":{"docs":{},"算":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}},"2":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"规":{"docs":{},"则":{"docs":{},"计":{"docs":{},"算":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}},"3":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"规":{"docs":{},"则":{"docs":{},"计":{"docs":{},"算":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"成":{"docs":{},"员":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"⾥":{"docs":{},"有":{"docs":{},"某":{"docs":{},"些":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"则":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"成":{"docs":{},"员":{"docs":{},"要":{"docs":{},"从":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"元":{"docs":{},"素":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"地":{"docs":{},"址":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"写":{"docs":{},"到":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"内":{"docs":{},"的":{"docs":{},"a":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"a":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"docs":{}}}}}}}}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"其":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"就":{"docs":{},"是":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"记":{"docs":{},"录":{"docs":{},"数":{"docs":{},"目":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"此":{"docs":{},"结":{"docs":{},"构":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}},"图":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},"下":{"docs":{},"图":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"调":{"docs":{},"整":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"论":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"了":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"也":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"少":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"没":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"好":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"队":{"docs":{},"列":{"docs":{},"内":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"果":{"docs":{},"是":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"的":{"docs":{},"a":{"docs":{},"是":{"1":{"0":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"外":{"docs":{},"部":{"docs":{},"对":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"结":{"docs":{},"果":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"打":{"docs":{},"印":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},":":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"束":{"docs":{},"下":{"docs":{},"载":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}},"点":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"数":{"docs":{},"目":{"docs":{},"称":{"docs":{},"为":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"度":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"的":{"docs":{},"度":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"本":{"docs":{},"身":{"docs":{},"又":{"docs":{},"是":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"渲":{"docs":{},"染":{"docs":{},"机":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"过":{"docs":{},"于":{"docs":{},"频":{"docs":{},"繁":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"视":{"docs":{},"图":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"和":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"也":{"docs":{},"有":{"docs":{},"触":{"docs":{},"发":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"被":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"到":{"docs":{},"一":{"docs":{},"块":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"复":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"次":{"docs":{},"都":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"整":{"docs":{},"个":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"(":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"你":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"用":{"docs":{},"来":{"docs":{},"通":{"docs":{},"知":{"docs":{},"系":{"docs":{},"统":{"docs":{},"某":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"有":{"docs":{},"序":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}},"卸":{"docs":{},"载":{"docs":{},"了":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"要":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"那":{"docs":{},"些":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"上":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"(":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"成":{"docs":{},"透":{"docs":{},"明":{"docs":{},")":{"docs":{},"。":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"全":{"docs":{},"部":{"docs":{},"是":{"docs":{},"由":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"添":{"docs":{},"加":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"正":{"docs":{},"常":{"docs":{},"显":{"docs":{},"示":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},",":{"docs":{},"但":{"docs":{},"图":{"docs":{},"片":{"docs":{},"内":{"docs":{},"容":{"docs":{},"未":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"故":{"docs":{},"排":{"docs":{},"除":{"docs":{},"了":{"docs":{},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"越":{"docs":{},"慢":{"docs":{},"用":{"docs":{},"户":{"docs":{},"流":{"docs":{},"失":{"docs":{},"的":{"docs":{},"概":{"docs":{},"率":{"docs":{},"就":{"docs":{},"越":{"docs":{},"高":{"docs":{},",":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"不":{"docs":{},"可":{"docs":{},"缺":{"docs":{},"少":{"docs":{},"的":{"docs":{},"一":{"docs":{},"环":{"docs":{},"。":{"docs":{},"启":{"docs":{},"动":{"docs":{},"优":{"docs":{},"化":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"面":{"docs":{},"也":{"docs":{},"很":{"docs":{},"广":{"docs":{},",":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"难":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"全":{"docs":{},"部":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"成":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"实":{"docs":{},"战":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"触":{"docs":{},"发":{"docs":{},"器":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"即":{"docs":{},"为":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"s":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"通":{"docs":{},"过":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"方":{"docs":{},"式":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"给":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"它":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"内":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"栈":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}},"管":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}},"化":{"docs":{},"下":{"docs":{},"载":{"docs":{},"生":{"docs":{},"成":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"改":{"docs":{},"造":{"docs":{},"成":{"docs":{},"本":{"docs":{},"非":{"docs":{},"常":{"docs":{},"小":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}},"旋":{"docs":{},"锁":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"是":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"则":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"处":{"docs":{},"于":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"不":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"—":{"docs":{},"—":{"docs":{},"因":{"docs":{},"此":{"docs":{},"效":{"docs":{},"率":{"docs":{},"高":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"线":{"docs":{},"程":{"docs":{},"反":{"docs":{},"复":{"docs":{},"检":{"docs":{},"查":{"docs":{},"锁":{"docs":{},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"⽤":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"这":{"docs":{},"⼀":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"保":{"docs":{},"持":{"docs":{},"执":{"docs":{},"⾏":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"创":{"docs":{},"建":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"从":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"。":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"由":{"docs":{},"于":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"处":{"docs":{},"于":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"反":{"docs":{},"转":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"机":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"认":{"docs":{},"为":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"身":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"他":{"docs":{},"自":{"docs":{},"己":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"己":{"docs":{},"在":{"docs":{},"早":{"docs":{},"期":{"docs":{},"推":{"docs":{},"广":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"带":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"功":{"docs":{},"能":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"找":{"docs":{},"出":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"漏":{"docs":{},"洞":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"打":{"docs":{},"印":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.005244755244755245}}},"章":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"视":{"docs":{},"频":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"将":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"了":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"低":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"和":{"docs":{},"省":{"docs":{},"电":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"个":{"docs":{},"人":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"深":{"docs":{},"入":{"docs":{},"研":{"docs":{},"究":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"落":{"docs":{},"影":{"docs":{},"前":{"docs":{},"辈":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"放":{"docs":{},"在":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"地":{"docs":{},"方":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"用":{"docs":{},"来":{"docs":{},"接":{"docs":{},"受":{"docs":{},"系":{"docs":{},"统":{"docs":{},"发":{"docs":{},"出":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"当":{"docs":{},"手":{"docs":{},"机":{"docs":{},"发":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"触":{"docs":{},"摸":{"docs":{},",":{"docs":{},"摇":{"docs":{},"晃":{"docs":{},"或":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"等":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},"(":{"docs":{},"进":{"docs":{},"程":{"docs":{},"通":{"docs":{},"信":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"叫":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"传":{"docs":{},"递":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"1":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"司":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"程":{"docs":{},"序":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"适":{"docs":{},"用":{"docs":{},"多":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"曾":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"视":{"docs":{},"图":{"docs":{},"混":{"docs":{},"合":{"docs":{},"。":{"docs":{},"减":{"docs":{},"少":{"docs":{},"视":{"docs":{},"图":{"docs":{},"层":{"docs":{},"级":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"性":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"透":{"docs":{},"明":{"docs":{},"视":{"docs":{},"图":{"docs":{},";":{"docs":{},"不":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"渲":{"docs":{},"染":{"docs":{},"与":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}},"优":{"docs":{},"化":{"docs":{},"&":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"优":{"docs":{},"化":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}},"的":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"小":{"docs":{},"于":{"docs":{},"等":{"docs":{},"于":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"等":{"docs":{},"于":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"为":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}},"频":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"方":{"docs":{},"案":{"docs":{},"使":{"docs":{},"用":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"该":{"docs":{},"方":{"docs":{},"案":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"模":{"docs":{},"板":{"docs":{},"类":{"docs":{},",":{"docs":{},"是":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"性":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"法":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"压":{"docs":{},"图":{"docs":{},"片":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"码":{"docs":{},"图":{"docs":{},"片":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"算":{"docs":{},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},";":{"docs":{},"并":{"docs":{},"且":{"docs":{},"解":{"docs":{},"码":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"体":{"docs":{},"积":{"docs":{},"与":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"而":{"docs":{},"与":{"docs":{},"图":{"docs":{},"片":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"体":{"docs":{},"积":{"docs":{},"无":{"docs":{},"关":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"1":{"docs":{},"等":{"docs":{},"待":{"docs":{},"解":{"docs":{},"锁":{"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}}}}}},"2":{"docs":{},"等":{"docs":{},"待":{"docs":{},"解":{"docs":{},"锁":{"1":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}}}}}},"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"密":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}},"读":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"析":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"从":{"docs":{},"根":{"docs":{},"本":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"智":{"docs":{},"能":{"docs":{},"算":{"docs":{},"法":{"docs":{},"排":{"docs":{},"序":{"docs":{},"后":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"快":{"docs":{},"节":{"docs":{},"点":{"docs":{},"进":{"docs":{},"行":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}},"器":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"。":{"docs":{},"而":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"又":{"docs":{},"比":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"释":{"docs":{},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"函":{"docs":{},"数":{"docs":{},"应":{"docs":{},"该":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.004081632653061225}},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"恰":{"docs":{},"巧":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"磁":{"docs":{},"盘":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"、":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.00816326530612245},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.005213764337851929},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"直":{"docs":{},"接":{"docs":{},"触":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}},"的":{"docs":{},"最":{"docs":{},"省":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"上":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"触":{"docs":{},"发":{"docs":{},"机":{"docs":{},"制":{"docs":{},"比":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"之":{"docs":{},"前":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"也":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"看":{"docs":{},"到":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"个":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"让":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"本":{"docs":{},"质":{"docs":{},"还":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"是":{"docs":{},"去":{"docs":{},"父":{"docs":{},"类":{"docs":{},"找":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"从":{"docs":{},"该":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"当":{"docs":{},"中":{"docs":{},"找":{"docs":{},"对":{"docs":{},"应":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"就":{"docs":{},"从":{"docs":{},"父":{"docs":{},"类":{"docs":{},"当":{"docs":{},"中":{"docs":{},"找":{"docs":{},";":{"docs":{},"而":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"刻":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"是":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"加":{"docs":{},"载":{"docs":{},"类":{"docs":{},"、":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"向":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"中":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"为":{"docs":{},"该":{"docs":{},"类":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"譬":{"docs":{},"如":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},":":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"入":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"头":{"docs":{},"部":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"运":{"docs":{},"行":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"具":{"docs":{},"体":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"了":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"上":{"docs":{},"层":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"底":{"docs":{},"层":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"成":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"度":{"docs":{},"组":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"搭":{"docs":{},"配":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"进":{"docs":{},"组":{"docs":{},"再":{"docs":{},"出":{"docs":{},"组":{"docs":{},",":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"不":{"docs":{},"可":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"赋":{"docs":{},"值":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"给":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}},"≠":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"予":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"带":{"docs":{},"来":{"docs":{},"性":{"docs":{},"能":{"docs":{},"上":{"docs":{},"的":{"docs":{},"较":{"docs":{},"大":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"辛":{"docs":{},"苦":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"来":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"是":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"都":{"docs":{},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"直":{"docs":{},"译":{"docs":{},"式":{"docs":{},"语":{"docs":{},"言":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},"将":{"docs":{},"代":{"docs":{},"码":{"docs":{},"解":{"docs":{},"释":{"docs":{},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"编":{"docs":{},"译":{"docs":{},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"外":{"docs":{},"面":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"强":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"说":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"性":{"docs":{},"能":{"docs":{},"低":{"docs":{},"—":{"docs":{},"—":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"增":{"docs":{},"删":{"docs":{},"改":{"docs":{},"查":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"性":{"docs":{},"能":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"当":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}}}}}}}}}},"能":{"docs":{},"正":{"docs":{},"确":{"docs":{},"处":{"docs":{},"理":{"docs":{},"资":{"docs":{},"源":{"docs":{},"释":{"docs":{},"放":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"做":{"docs":{},"到":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"。":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"而":{"docs":{},"解":{"docs":{},"耦":{"docs":{},",":{"docs":{},"提":{"docs":{},"升":{"docs":{},"质":{"docs":{},"量":{"docs":{},"与":{"docs":{},"效":{"docs":{},"率":{"docs":{},"才":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{},"直":{"docs":{},"接":{"docs":{},"基":{"docs":{},"于":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"应":{"docs":{},"该":{"docs":{},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"效":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}},"重":{"docs":{},"画":{"docs":{},"间":{"docs":{},"存":{"docs":{},"在":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"认":{"docs":{},"识":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}},"尝":{"docs":{},"试":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"绘":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"由":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},"半":{"docs":{},"透":{"docs":{},"明":{"docs":{},"图":{"docs":{},"层":{"docs":{},"引":{"docs":{},"起":{"docs":{},"。":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"填":{"docs":{},"充":{"docs":{},"比":{"docs":{},"率":{"docs":{},"(":{"docs":{},"用":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"填":{"docs":{},"充":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"比":{"docs":{},"率":{"docs":{},")":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"要":{"docs":{},"避":{"docs":{},"免":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"写":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}},"监":{"docs":{},"听":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"子":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"类":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"重":{"docs":{},"写":{"docs":{},",":{"docs":{},"则":{"docs":{},"子":{"docs":{},"类":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"给":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"置":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"头":{"docs":{},"戏":{"docs":{},"来":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"绑":{"docs":{},"定":{"docs":{},"符":{"docs":{},"号":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"启":{"docs":{},"手":{"docs":{},"机":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"更":{"docs":{},"新":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}},"排":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}},"传":{"docs":{},"次":{"docs":{},"数":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"复":{"docs":{},"步":{"docs":{},"骤":{"2":{"docs":{},"~":{"3":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"无":{"docs":{},"序":{"docs":{},"区":{"docs":{},"元":{"docs":{},"素":{"docs":{},"为":{"0":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}},"资":{"docs":{},"源":{"docs":{},"处":{"docs":{},"理":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"主":{"docs":{},"要":{"docs":{},"都":{"docs":{},"由":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}},"顶":{"docs":{},"点":{"docs":{},"着":{"docs":{},"色":{"docs":{},",":{"docs":{},"图":{"docs":{},"元":{"docs":{},"装":{"docs":{},"配":{"docs":{},",":{"docs":{},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{},",":{"docs":{},"片":{"docs":{},"段":{"docs":{},"着":{"docs":{},"色":{"docs":{},",":{"docs":{},"片":{"docs":{},"段":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"提":{"docs":{},"交":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"预":{"docs":{},"排":{"docs":{},"班":{"docs":{},"。":{"docs":{},"布":{"docs":{},"局":{"docs":{},"计":{"docs":{},"算":{"docs":{},"、":{"docs":{},"文":{"docs":{},"本":{"docs":{},"计":{"docs":{},"算":{"docs":{},"等":{"docs":{},"事":{"docs":{},"先":{"docs":{},"放":{"docs":{},"到":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"去":{"docs":{},"做":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"文":{"docs":{},"本":{"docs":{},"等":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRender.html":{"ref":"iOS/UIKit/UIViewRender.html","tf":0.0020408163265306124}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"阶":{"docs":{},"段":{"docs":{},":":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}},"主":{"docs":{},"秘":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"与":{"docs":{},"智":{"docs":{},"能":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"常":{"docs":{},"规":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"手":{"docs":{},"段":{"docs":{},",":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"都":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"会":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"网":{"docs":{},"易":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"简":{"docs":{},"约":{"docs":{},"邮":{"docs":{},"里":{"docs":{},",":{"docs":{},"收":{"docs":{},"件":{"docs":{},"箱":{"docs":{},"列":{"docs":{},"表":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"数":{"docs":{},"据":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"首":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"后":{"docs":{},"一":{"docs":{},"页":{"docs":{},"的":{"docs":{},"分":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"继":{"docs":{},"续":{"docs":{},"翻":{"docs":{},"页":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"极":{"docs":{},"大":{"docs":{},"提":{"docs":{},"升":{"docs":{},"响":{"docs":{},"应":{"docs":{},"速":{"docs":{},"度":{"docs":{},";":{"docs":{},"在":{"docs":{},"微":{"docs":{},"信":{"docs":{},"公":{"docs":{},"众":{"docs":{},"号":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"还":{"docs":{},"加":{"docs":{},"载":{"docs":{},"了":{"docs":{},"某":{"docs":{},"个":{"docs":{},"公":{"docs":{},"众":{"docs":{},"文":{"docs":{},"章":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"走":{"docs":{},"到":{"docs":{},"了":{"docs":{},"没":{"docs":{},"有":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"电":{"docs":{},"梯":{"docs":{},"里":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"点":{"docs":{},"击":{"docs":{},"某":{"docs":{},"个":{"docs":{},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"文":{"docs":{},"字":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"是":{"docs":{},"空":{"docs":{},"白":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"案":{"docs":{},"浅":{"docs":{},"谈":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":5.001083423618635}}}}}}}},"计":{"docs":{},"还":{"docs":{},"得":{"docs":{},"等":{"docs":{},"待":{"docs":{},"一":{"docs":{},"些":{"docs":{},"时":{"docs":{},"日":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.002544529262086514},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.016183412002697236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.010224948875255624},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"或":{"docs":{},"者":{"docs":{},"把":{"docs":{},"它":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{},"和":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"来":{"docs":{},"转":{"docs":{},"发":{"docs":{},"它":{"docs":{},"没":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"负":{"docs":{},"责":{"docs":{},"把":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"正":{"docs":{},"是":{"docs":{},"代":{"docs":{},"理":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"关":{"docs":{},"联":{"docs":{},"策":{"docs":{},"略":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"x":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"1":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.009776536312849162}}}},"1":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"3":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"6":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.004189944134078212}}}},"7":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"制":{"docs":{},"定":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"还":{"docs":{},"有":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"7":{"docs":{},"等":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},",":{"docs":{},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"x":{"docs":{},"x":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},";":{"docs":{},"那":{"docs":{},"么":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}},"x":{"docs":{},";":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.03125},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.003703703703703704},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.016597510373443983},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"配":{"docs":{},"置":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"能":{"docs":{},"够":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"看":{"docs":{},"到":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"端":{"docs":{},"输":{"docs":{},"入":{"docs":{},"以":{"docs":{},"下":{"docs":{},"指":{"docs":{},"令":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"p":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},",":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"i":{"docs":{},"b":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.007583965330444204}},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"等":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"到":{"docs":{},"结":{"docs":{},"果":{"docs":{},"目":{"docs":{},"录":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724}}}}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}},"—":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},"专":{"docs":{},"题":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"储":{"docs":{},"存":{"docs":{},"小":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}},"也":{"docs":{},"在":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}},"了":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"转":{"docs":{},"成":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"说":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"是":{"docs":{},"给":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"进":{"docs":{},"行":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"会":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},"受":{"docs":{},"到":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"已":{"docs":{},"经":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"差":{"docs":{},"别":{"docs":{},"不":{"docs":{},"会":{"docs":{},"太":{"docs":{},"大":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"弱":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"一":{"docs":{},"定":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"递":{"docs":{},"归":{"docs":{},"进":{"docs":{},"行":{"docs":{},"符":{"docs":{},"号":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"明":{"docs":{},"了":{"docs":{},"了":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"是":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"发":{"docs":{},"到":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"生":{"docs":{},"效":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"会":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"速":{"docs":{},"度":{"docs":{},"会":{"docs":{},"变":{"docs":{},"快":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"不":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"编":{"docs":{},"译":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"连":{"docs":{},"改":{"docs":{},"名":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"都":{"docs":{},"省":{"docs":{},"去":{"docs":{},"了":{"docs":{},"。":{"docs":{},"以":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"型":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"为":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"卸":{"docs":{},"载":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"就":{"docs":{},"没":{"docs":{},"法":{"docs":{},"通":{"docs":{},"知":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"将":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"优":{"docs":{},"化":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"方":{"docs":{},"案":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"着":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"器":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},":":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"做":{"docs":{},"些":{"docs":{},"事":{"docs":{},",":{"docs":{},"一":{"docs":{},"起":{"docs":{},"加":{"docs":{},"起":{"docs":{},"来":{"docs":{},"就":{"docs":{},"构":{"docs":{},"成":{"docs":{},"了":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"直":{"docs":{},"接":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},"(":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"希":{"docs":{},"尔":{"docs":{},"排":{"docs":{},"序":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"后":{"docs":{},"完":{"docs":{},"整":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}},"了":{"docs":{},"加":{"docs":{},"密":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"启":{"docs":{},"动":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"有":{"docs":{},"影":{"docs":{},"响":{"docs":{},")":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"先":{"docs":{},"级":{"docs":{},"从":{"docs":{},"高":{"docs":{},"到":{"docs":{},"低":{"docs":{},"依":{"docs":{},"次":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"势":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"适":{"docs":{},"合":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"持":{"docs":{},"界":{"docs":{},"面":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"的":{"docs":{},"技":{"docs":{},"巧":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"原":{"docs":{},"状":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"从":{"docs":{},"下":{"docs":{},"标":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}},"存":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"它":{"docs":{},"不":{"docs":{},"能":{"docs":{},"跟":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"关":{"docs":{},"联":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"证":{"docs":{},"原":{"docs":{},"子":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"能":{"docs":{},"够":{"docs":{},"到":{"docs":{},"达":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}},"活":{"docs":{},"原":{"docs":{},"理":{"docs":{},"来":{"docs":{},"说":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"留":{"docs":{},"字":{"docs":{},"段":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"准":{"docs":{},"备":{"docs":{},"提":{"docs":{},"交":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"(":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}},"工":{"docs":{},"作":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"判":{"docs":{},"断":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"是":{"docs":{},"同":{"docs":{},"步":{"docs":{},"查":{"docs":{},"询":{"docs":{},"还":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"查":{"docs":{},"询":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"是":{"docs":{},"否":{"docs":{},"终":{"docs":{},"结":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"复":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{},"到":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"定":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"采":{"docs":{},"用":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"前":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"&":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0034965034965034965}}}}}}}}}}}}}},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"适":{"docs":{},"当":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"与":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"讲":{"docs":{},"到":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"提":{"docs":{},"到":{"docs":{},"过":{"docs":{},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"替":{"docs":{},"换":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"保":{"docs":{},"持":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"不":{"docs":{},"变":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"里":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"以":{"docs":{},"这":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"入":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"文":{"docs":{},"已":{"docs":{},"经":{"docs":{},"提":{"docs":{},"过":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"队":{"docs":{},"列":{"docs":{},"会":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"而":{"docs":{},"任":{"docs":{},"务":{"docs":{},"也":{"docs":{},"会":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"务":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"和":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"导":{"docs":{},"致":{"docs":{},"各":{"docs":{},"个":{"docs":{},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"3":{"docs":{},"明":{"docs":{},"明":{"docs":{},"是":{"docs":{},"先":{"docs":{},"于":{"docs":{},"任":{"docs":{},"务":{"4":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"晚":{"docs":{},"于":{"docs":{},"任":{"docs":{},"务":{"4":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"负":{"docs":{},"责":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"词":{"docs":{},"法":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},":":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"语":{"docs":{},"义":{"docs":{},"分":{"docs":{},"析":{"docs":{},"和":{"docs":{},"生":{"docs":{},"成":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"发":{"docs":{},"现":{"docs":{},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"或":{"docs":{},"需":{"docs":{},"要":{"docs":{},"警":{"docs":{},"告":{"docs":{},"的":{"docs":{},"会":{"docs":{},"标":{"docs":{},"注":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"通":{"docs":{},"俗":{"docs":{},"的":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"当":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"结":{"docs":{},"点":{"docs":{},"时":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"向":{"docs":{},"左":{"docs":{},"在":{"docs":{},"向":{"docs":{},"右":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"中":{"docs":{},",":{"docs":{},"后":{"docs":{},"只":{"docs":{},"是":{"docs":{},"指":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"前":{"docs":{},"序":{"docs":{},"就":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"言":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"即":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"退":{"docs":{},"出":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"关":{"docs":{},"注":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"时":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"使":{"docs":{},"用":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"效":{"docs":{},"果":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"修":{"docs":{},"饰":{"docs":{},";":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"不":{"docs":{},"懂":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"从":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"猜":{"docs":{},"测":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"机":{"docs":{},"制":{"docs":{},"会":{"docs":{},"先":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"去":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"针":{"docs":{},"对":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"这":{"docs":{},"些":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"再":{"docs":{},"决":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},"i":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"i":{"docs":{},"d":{"docs":{},"指":{"docs":{},"针":{"docs":{},"所":{"docs":{},"指":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"才":{"docs":{},"能":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"像":{"docs":{},"内":{"docs":{},"置":{"docs":{},"的":{"docs":{},"明":{"docs":{},"确":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"能":{"docs":{},"被":{"docs":{},"识":{"docs":{},"别":{"docs":{},"出":{"docs":{},"来":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"若":{"docs":{},"程":{"docs":{},"序":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"出":{"docs":{},"警":{"docs":{},"告":{"docs":{},"。":{"docs":{},"而":{"docs":{},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"要":{"docs":{},"等":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"(":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"是":{"docs":{},"从":{"docs":{},"父":{"docs":{},"类":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"存":{"docs":{},"在":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"里":{"docs":{},"。":{"docs":{},"而":{"docs":{},"当":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"父":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"去":{"docs":{},"调":{"docs":{},"用":{"docs":{},"那":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"在":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"里":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"一":{"docs":{},"份":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"内":{"docs":{},"操":{"docs":{},"作":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"外":{"docs":{},"的":{"docs":{},"非":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"都":{"docs":{},"可":{"docs":{},"读":{"docs":{},"取":{"docs":{},"运":{"docs":{},"行":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"可":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"重":{"docs":{},"排":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}},"我":{"docs":{},"们":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}},"发":{"docs":{},"出":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"u":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"停":{"docs":{},"止":{"docs":{},"再":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"主":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"1":{"docs":{},"(":{"docs":{},"终":{"docs":{},"止":{"docs":{},"等":{"docs":{},"待":{"1":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},",":{"docs":{},"对":{"docs":{},"此":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"u":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"w":{"docs":{},"+":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"进":{"docs":{},"入":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"未":{"docs":{},"释":{"docs":{},"放":{"docs":{},"掉":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},"待":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"才":{"docs":{},"进":{"docs":{},"入":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},"即":{"docs":{},"发":{"docs":{},"出":{"docs":{},"确":{"docs":{},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"u":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},")":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"进":{"docs":{},"入":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"处":{"docs":{},"于":{"docs":{},"半":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"后":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"2":{"docs":{},"(":{"docs":{},"终":{"docs":{},"止":{"docs":{},"等":{"docs":{},"待":{"2":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"要":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"出":{"docs":{},"连":{"docs":{},"接":{"docs":{},"释":{"docs":{},"放":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"w":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"u":{"docs":{},"+":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"进":{"docs":{},"入":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"最":{"docs":{},"后":{"docs":{},"确":{"docs":{},"认":{"docs":{},")":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"刻":{"docs":{},"大":{"docs":{},"量":{"docs":{},"应":{"docs":{},"用":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"、":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"等":{"docs":{},"效":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"用":{"docs":{},"户":{"docs":{},"安":{"docs":{},"装":{"docs":{},"应":{"docs":{},"用":{"docs":{},"后":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"至":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"用":{"docs":{},"户":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"将":{"docs":{},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},"全":{"docs":{},"部":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"压":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},"被":{"docs":{},"解":{"docs":{},"码":{"docs":{},"成":{"docs":{},"其":{"docs":{},"未":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"位":{"docs":{},"图":{"docs":{},"形":{"docs":{},"式":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"显":{"docs":{},"示":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"此":{"docs":{},"处":{"docs":{},"有":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"判":{"docs":{},"断":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"加":{"docs":{},"载":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"回":{"docs":{},"调":{"docs":{},"给":{"docs":{},"了":{"docs":{},"上":{"docs":{},"一":{"docs":{},"级":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"。":{"docs":{},"从":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"就":{"docs":{},"是":{"docs":{},"标":{"docs":{},"识":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"放":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"检":{"docs":{},"测":{"docs":{},"是":{"docs":{},"否":{"docs":{},"兼":{"docs":{},"容":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"寻":{"docs":{},"找":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"参":{"docs":{},"考":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"资":{"docs":{},"料":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},":":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"静":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"的":{"docs":{},"警":{"docs":{},"告":{"docs":{},",":{"docs":{},"修":{"docs":{},"复":{"docs":{},"所":{"docs":{},"有":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"判":{"docs":{},"断":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"量":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"数":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"名":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"等":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"支":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"并":{"docs":{},"且":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"它":{"docs":{},"能":{"docs":{},"在":{"docs":{},"几":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"以":{"docs":{},"内":{"docs":{},"将":{"docs":{},"两":{"docs":{},"个":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"分":{"docs":{},"支":{"docs":{},"进":{"docs":{},"行":{"docs":{},"比":{"docs":{},"较":{"docs":{},"和":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"较":{"docs":{},"长":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"器":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"外":{"docs":{},"观":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"加":{"docs":{},"载":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{},"性":{"docs":{},"判":{"docs":{},"断":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"检":{"docs":{},"查":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"利":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"适":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"及":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"后":{"docs":{},"(":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"后":{"docs":{},")":{"docs":{},"会":{"docs":{},"依":{"docs":{},"次":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"具":{"docs":{},"有":{"docs":{},"局":{"docs":{},"部":{"docs":{},"性":{"docs":{},"特":{"docs":{},"征":{"docs":{},",":{"docs":{},"即":{"docs":{},"只":{"docs":{},"有":{"docs":{},"少":{"docs":{},"部":{"docs":{},"分":{"docs":{},"函":{"docs":{},"数":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"用":{"docs":{},"到":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"是":{"docs":{},"零":{"docs":{},"散":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"才":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"通":{"docs":{},"知":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"未":{"docs":{},"验":{"docs":{},"证":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"周":{"docs":{},"期":{"docs":{},"根":{"docs":{},"本":{"docs":{},"没":{"docs":{},"法":{"docs":{},"想":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"一":{"docs":{},"个":{"docs":{},"月":{"docs":{},"不":{"docs":{},"重":{"docs":{},"启":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"类":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"路":{"docs":{},"径":{"docs":{},"上":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"很":{"docs":{},"多":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"速":{"docs":{},"度":{"docs":{},"提":{"docs":{},"升":{"docs":{},"超":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"断":{"docs":{},"崖":{"docs":{},"式":{"docs":{},"下":{"docs":{},"降":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"之":{"docs":{},"一":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"(":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"重":{"docs":{},"排":{"docs":{},")":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"必":{"docs":{},"须":{"docs":{},"进":{"docs":{},"行":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"损":{"docs":{},"耗":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"也":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"—":{"docs":{},"—":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"影":{"docs":{},"响":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},":":{"docs":{},"本":{"docs":{},"次":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"过":{"docs":{},"去":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"和":{"docs":{},"未":{"docs":{},"来":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":5}}}}}}}}}}}},"矫":{"docs":{},"正":{"docs":{},"这":{"docs":{},"些":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"但":{"docs":{},"矫":{"docs":{},"正":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"静":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"各":{"docs":{},"种":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"分":{"docs":{},"布":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"做":{"docs":{},"的":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"做":{"docs":{},"完":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},",":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"内":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"闭":{"docs":{},"包":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"图":{"docs":{},"未":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"表":{"docs":{},"现":{"docs":{},"为":{"docs":{},"每":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"均":{"docs":{},"为":{"docs":{},"白":{"docs":{},"屏":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"线":{"docs":{},"上":{"docs":{},"也":{"docs":{},"有":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"问":{"docs":{},"题":{"docs":{},"(":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"知":{"docs":{},"名":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"仍":{"docs":{},"展":{"docs":{},"示":{"docs":{},"旧":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"相":{"docs":{},"信":{"docs":{},"有":{"docs":{},"不":{"docs":{},"少":{"docs":{},"同":{"docs":{},"学":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"非":{"docs":{},"常":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"中":{"docs":{},"不":{"docs":{},"免":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"更":{"docs":{},"换":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"本":{"docs":{},"以":{"docs":{},"为":{"docs":{},"这":{"docs":{},"是":{"docs":{},"件":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"操":{"docs":{},"作":{"docs":{},"时":{"docs":{},"却":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"了":{"docs":{},"各":{"docs":{},"种":{"docs":{},"毫":{"docs":{},"无":{"docs":{},"头":{"docs":{},"绪":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"未":{"docs":{},"成":{"docs":{},"功":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"等":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"《":{"docs":{},"原":{"docs":{},"理":{"docs":{},"篇":{"docs":{},"》":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":3.333333333333333}}}}}}}}},"是":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"告":{"docs":{},"诉":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.008741258741258742}},"链":{"docs":{},"接":{"docs":{},"器":{"docs":{},"如":{"docs":{},"何":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}},"处":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"理":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"小":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"完":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"并":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"0":{"docs":{},"事":{"docs":{},"件":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"1":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},"docs":{}}}}}}},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"叫":{"docs":{},"非":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"你":{"docs":{},"这":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"不":{"docs":{},"是":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"或":{"docs":{},"者":{"docs":{},"内":{"docs":{},"核":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"你":{"docs":{},"的":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"方":{"docs":{},"法":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"非":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"的":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"交":{"docs":{},"给":{"docs":{},"代":{"docs":{},"理":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"(":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"的":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},",":{"docs":{},"如":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"打":{"docs":{},"包":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"某":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"打":{"docs":{},"开":{"docs":{},"会":{"docs":{},"员":{"docs":{},"选":{"docs":{},"择":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"会":{"docs":{},"员":{"docs":{},",":{"docs":{},"搜":{"docs":{},"到":{"docs":{},"之":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"回":{"docs":{},"传":{"docs":{},"会":{"docs":{},"员":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},",":{"docs":{},"经":{"docs":{},"过":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},"计":{"docs":{},"算":{"docs":{},"得":{"docs":{},"出":{"docs":{},"索":{"docs":{},"引":{"2":{"docs":{},",":{"docs":{},"起":{"docs":{},"初":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"够":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"从":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"几":{"docs":{},"何":{"docs":{},"结":{"docs":{},"构":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"限":{"docs":{},"制":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"图":{"docs":{},"层":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"之":{"docs":{},"前":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"(":{"docs":{},"图":{"docs":{},"层":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"由":{"docs":{},"很":{"docs":{},"多":{"docs":{},"小":{"docs":{},"物":{"docs":{},"体":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"特":{"docs":{},"别":{"docs":{},"重":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{},",":{"docs":{},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},"就":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}},"寄":{"docs":{},"宿":{"docs":{},"图":{"docs":{},":":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"器":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"就":{"docs":{},"是":{"docs":{},"不":{"docs":{},"断":{"docs":{},"修":{"docs":{},"改":{"docs":{},"和":{"docs":{},"读":{"docs":{},"取":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"设":{"docs":{},"置":{"docs":{},"成":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"流":{"docs":{},"程":{"docs":{},"交":{"docs":{},"给":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"p":{"docs":{},"c":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"封":{"docs":{},"装":{"docs":{},"并":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"到":{"docs":{},"里":{"docs":{},"面":{"docs":{},"。":{"docs":{},"上":{"docs":{},"层":{"docs":{},"业":{"docs":{},"务":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"接":{"docs":{},"口":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"图":{"docs":{},"层":{"docs":{},"遮":{"docs":{},"罩":{"docs":{},",":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"图":{"docs":{},"层":{"docs":{},"光":{"docs":{},"栅":{"docs":{},"化":{"docs":{},"都":{"docs":{},"会":{"docs":{},"强":{"docs":{},"制":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"就":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"树":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"自":{"docs":{},"上":{"docs":{},"而":{"docs":{},"下":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{},"针":{"docs":{},"对":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"3":{"docs":{},"所":{"docs":{},"示":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"层":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"结":{"docs":{},"果":{"docs":{},"为":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"按":{"docs":{},"层":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"法":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"首":{"docs":{},"先":{"docs":{},"限":{"docs":{},"制":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"级":{"docs":{},",":{"docs":{},"认":{"docs":{},"清":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"做":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"是":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"保":{"docs":{},"留":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"和":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"因":{"docs":{},"为":{"docs":{},"没":{"docs":{},"有":{"docs":{},"明":{"docs":{},"确":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"组":{"docs":{},"来":{"docs":{},"负":{"docs":{},"责":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"轻":{"docs":{},"薄":{"docs":{},"。":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"之":{"docs":{},"间":{"docs":{},"互":{"docs":{},"不":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"但":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"是":{"docs":{},"相":{"docs":{},"悖":{"docs":{},"的":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"因":{"docs":{},"为":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"于":{"docs":{},"维":{"docs":{},"护":{"docs":{},"和":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"但":{"docs":{},"随":{"docs":{},"着":{"docs":{},"业":{"docs":{},"务":{"docs":{},"的":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"变":{"docs":{},"得":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"只":{"docs":{},"做":{"docs":{},"分":{"docs":{},"层":{"docs":{},"就":{"docs":{},"不":{"docs":{},"够":{"docs":{},"了":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"己":{"docs":{},"保":{"docs":{},"留":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"像":{"docs":{},"素":{"docs":{},"受":{"docs":{},"到":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"接":{"docs":{},"收":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"为":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"指":{"docs":{},"定":{"docs":{},"存":{"docs":{},"储":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"把":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{},"传":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"在":{"docs":{},"此":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"句":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"语":{"docs":{},"句":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"将":{"docs":{},"要":{"docs":{},"被":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"是":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"先":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"里":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"做":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"少":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"里":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"得":{"docs":{},"到":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"(":{"docs":{},"有":{"docs":{},"值":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"到":{"docs":{},"后":{"docs":{},"台":{"docs":{},"线":{"docs":{},"程":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"时":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"过":{"docs":{},"快":{"docs":{},"时":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"成":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},"了":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"时":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"继":{"docs":{},"续":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"快":{"docs":{},"速":{"docs":{},"转":{"docs":{},"发":{"docs":{},",":{"docs":{},"由":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"慢":{"docs":{},"速":{"docs":{},"流":{"docs":{},"程":{"docs":{},"都":{"docs":{},"没":{"docs":{},"找":{"docs":{},"到":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"就":{"docs":{},"会":{"docs":{},"来":{"docs":{},"到":{"docs":{},"这":{"docs":{},"步":{"docs":{},"—":{"docs":{},"—":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},"进":{"docs":{},"行":{"docs":{},"链":{"docs":{},"式":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"为":{"docs":{},":":{"docs":{},"定":{"docs":{},"义":{"docs":{},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"与":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"配":{"docs":{},"合":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"线":{"docs":{},"程":{"docs":{},"局":{"docs":{},"部":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"快":{"docs":{},"速":{"docs":{},"取":{"docs":{},"得":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"和":{"docs":{},"`":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":10.007575757575758}},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},"思":{"docs":{},"想":{"docs":{},"是":{"docs":{},"分":{"docs":{},"而":{"docs":{},"治":{"docs":{},"之":{"docs":{},",":{"docs":{},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"的":{"docs":{},"待":{"docs":{},"排":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"分":{"docs":{},"成":{"docs":{},"两":{"docs":{},"个":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"采":{"docs":{},"用":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"将":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},"也":{"docs":{},"分":{"docs":{},"成":{"docs":{},"更":{"docs":{},"小":{"docs":{},"的":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"得":{"docs":{},"到":{"docs":{},"排":{"docs":{},"序":{"docs":{},"好":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"。":{"docs":{},"算":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"成":{"docs":{},"三":{"docs":{},"步":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"英":{"docs":{},"语":{"docs":{},":":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"又":{"docs":{},"称":{"docs":{},"划":{"docs":{},"分":{"docs":{},"交":{"docs":{},"换":{"docs":{},"排":{"docs":{},"序":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"并":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"印":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}},"散":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"预":{"docs":{},"热":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"基":{"docs":{},"础":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"外":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"和":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"第":{"docs":{},"三":{"docs":{},"题":{"docs":{},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"表":{"docs":{},"内":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"上":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"解":{"docs":{},"决":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}},"就":{"docs":{},"通":{"docs":{},"过":{"docs":{},"源":{"docs":{},"码":{"docs":{},"探":{"docs":{},"索":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"注":{"docs":{},"意":{"docs":{},"事":{"docs":{},"项":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"我":{"docs":{},"们":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"设":{"docs":{},"置":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"度":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"不":{"docs":{},"做":{"docs":{},"详":{"docs":{},"细":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"着":{"docs":{},"重":{"docs":{},"看":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"收":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"情":{"docs":{},"况":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"这":{"docs":{},"里":{"docs":{},"。":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"钟":{"docs":{},"信":{"docs":{},"号":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"随":{"docs":{},"后":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"和":{"docs":{},"顶":{"docs":{},"点":{"docs":{},"描":{"docs":{},"述":{"docs":{},"(":{"docs":{},"三":{"docs":{},"角":{"docs":{},"形":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"源":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"若":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"从":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"深":{"docs":{},"度":{"docs":{},"剖":{"docs":{},"析":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}},"受":{"docs":{},"系":{"docs":{},"统":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"又":{"docs":{},"做":{"docs":{},"了":{"docs":{},"多":{"docs":{},"次":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"得":{"docs":{},"出":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"结":{"docs":{},"论":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"往":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},"写":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"也":{"docs":{},"无":{"docs":{},"写":{"docs":{},"入":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"到":{"docs":{},"当":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"信":{"docs":{},"息":{"docs":{},"输":{"docs":{},"出":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"果":{"docs":{},"然":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"应":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"观":{"docs":{},"察":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"当":{"docs":{},"对":{"docs":{},"象":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"口":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}},"起":{"docs":{},"源":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"推":{"docs":{},"荐":{"docs":{},"两":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"文":{"docs":{},"章":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"阅":{"docs":{},"读":{"docs":{},":":{"docs":{},"《":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"》":{"docs":{},"对":{"docs":{},"于":{"docs":{},"图":{"docs":{},"像":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"书":{"docs":{},"中":{"docs":{},"最":{"docs":{},"后":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"料":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}},"加":{"docs":{},"上":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}},"销":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"操":{"docs":{},"作":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"会":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"上":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"是":{"docs":{},"得":{"docs":{},"益":{"docs":{},"于":{"docs":{},"人":{"docs":{},"们":{"docs":{},"在":{"docs":{},"后":{"docs":{},"来":{"docs":{},"适":{"docs":{},"配":{"docs":{},"了":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"程":{"docs":{},"序":{"docs":{},";":{"docs":{},"而":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"某":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"之":{"docs":{},"前":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"取":{"docs":{},"消":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"当":{"docs":{},"前":{"docs":{},"实":{"docs":{},"例":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"是":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"等":{"docs":{},"到":{"docs":{},"完":{"docs":{},"成":{"docs":{},"以":{"docs":{},"后":{"docs":{},"再":{"docs":{},"次":{"docs":{},"清":{"docs":{},"空":{"docs":{},",":{"docs":{},"再":{"docs":{},"回":{"docs":{},"到":{"docs":{},"向":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"改":{"docs":{},"造":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"是":{"docs":{},"形":{"docs":{},"成":{"docs":{},"了":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"本":{"docs":{},"来":{"docs":{},"一":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"或":{"docs":{},"者":{"docs":{},"某":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}},"体":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"片":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"数":{"docs":{},"据":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"读":{"docs":{},"入":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"中":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"声":{"docs":{},"明":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"对":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"库":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"进":{"docs":{},"行":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"也":{"docs":{},"包":{"docs":{},"括":{"docs":{},"多":{"docs":{},"个":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}},"关":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"信":{"docs":{},"息":{"docs":{},"来":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"结":{"docs":{},"构":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}},"d":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"里":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"包":{"docs":{},"含":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"调":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},",":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"些":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}},"使":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"由":{"docs":{},"地":{"docs":{},"址":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"后":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"找":{"docs":{},"到":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"库":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"找":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"库":{"docs":{},",":{"docs":{},"形":{"docs":{},"成":{"docs":{},"一":{"docs":{},"张":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"图":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},"对":{"docs":{},"这":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"签":{"docs":{},"名":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"保":{"docs":{},"证":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"不":{"docs":{},"多":{"docs":{},"不":{"docs":{},"少":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"篡":{"docs":{},"改":{"docs":{},"过":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"把":{"docs":{},"包":{"docs":{},"上":{"docs":{},"传":{"docs":{},"到":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"会":{"docs":{},"选":{"docs":{},"择":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"格":{"docs":{},"式":{"docs":{},"探":{"docs":{},"索":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"的":{"docs":{},"缩":{"docs":{},"写":{"docs":{},",":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"并":{"docs":{},"对":{"docs":{},"其":{"docs":{},"签":{"docs":{},"名":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}},"寻":{"docs":{},"找":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"篡":{"docs":{},"改":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"产":{"docs":{},"生":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},")":{"docs":{},"。":{"docs":{},"将":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"结":{"docs":{},"构":{"docs":{},"对":{"docs":{},"应":{"docs":{},"表":{"docs":{},"、":{"docs":{},"将":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"、":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"结":{"docs":{},"构":{"docs":{},"对":{"docs":{},"应":{"docs":{},"表":{"docs":{},"写":{"docs":{},"成":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"和":{"docs":{},"对":{"docs":{},"其":{"docs":{},"签":{"docs":{},"名":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"是":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"来":{"docs":{},"分":{"docs":{},"析":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"我":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"博":{"docs":{},"客":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}},"降":{"docs":{},"低":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"编":{"docs":{},"号":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"模":{"docs":{},"式":{"docs":{},"开":{"docs":{},"发":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"绘":{"docs":{},"制":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"被":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"到":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"无":{"docs":{},"误":{"docs":{},",":{"docs":{},"但":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"想":{"docs":{},"法":{"docs":{},"是":{"docs":{},"既":{"docs":{},"然":{"docs":{},"无":{"docs":{},"法":{"docs":{},"从":{"docs":{},"根":{"docs":{},"源":{"docs":{},"上":{"docs":{},"避":{"docs":{},"免":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"提":{"docs":{},"供":{"docs":{},"补":{"docs":{},"救":{"docs":{},"措":{"docs":{},"施":{"docs":{},",":{"docs":{},"让":{"docs":{},"其":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"下":{"docs":{},"次":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"就":{"docs":{},"显":{"docs":{},"示":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"后":{"docs":{},"后":{"docs":{},"续":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"都":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"来":{"docs":{},"说":{"docs":{},"也":{"docs":{},"可":{"docs":{},"接":{"docs":{},"受":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"简":{"docs":{},"答":{"docs":{},":":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}},"常":{"docs":{},"量":{"docs":{},"区":{"docs":{},":":{"docs":{},"常":{"docs":{},"量":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"就":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}},"章":{"docs":{},"中":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"文":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"档":{"docs":{},"和":{"docs":{},"工":{"docs":{},"具":{"docs":{},"链":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"说":{"docs":{},"十":{"docs":{},"分":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"初":{"docs":{},"学":{"docs":{},"者":{"docs":{},"快":{"docs":{},"速":{"docs":{},"上":{"docs":{},"手":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"解":{"docs":{},"决":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"困":{"docs":{},"惑":{"docs":{},"、":{"docs":{},"理":{"docs":{},"解":{"docs":{},"工":{"docs":{},"具":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"0":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"docs":{}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},":":{"docs":{},"不":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"包":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"间":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"找":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.006060606060606061}},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"不":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"沙":{"docs":{},"盒":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"步":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"询":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"次":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"值":{"docs":{},"取":{"docs":{},"决":{"docs":{},"设":{"docs":{},"备":{"docs":{},"硬":{"docs":{},"件":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"即":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}},"比":{"docs":{},"较":{"docs":{},"。":{"docs":{},"在":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"状":{"docs":{},"况":{"docs":{},"下":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"种":{"docs":{},"状":{"docs":{},"况":{"docs":{},"并":{"docs":{},"不":{"docs":{},"常":{"docs":{},"见":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{},"通":{"docs":{},"常":{"docs":{},"明":{"docs":{},"显":{"docs":{},"比":{"docs":{},"其":{"docs":{},"他":{"docs":{},"算":{"docs":{},"法":{"docs":{},"更":{"docs":{},"快":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"循":{"docs":{},"环":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"有":{"docs":{},"几":{"docs":{},"十":{"docs":{},"张":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"要":{"docs":{},"求":{"docs":{},"这":{"docs":{},"么":{"docs":{},"做":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"右":{"docs":{},",":{"docs":{},"统":{"docs":{},"计":{"docs":{},"表":{"docs":{},"格":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"和":{"docs":{},"过":{"docs":{},"度":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"写":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"清":{"docs":{},"除":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"旧":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"理":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"减":{"docs":{},"一":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"还":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"从":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"其":{"docs":{},"它":{"docs":{},"相":{"docs":{},"应":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"空":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"迫":{"docs":{},"使":{"docs":{},"系":{"docs":{},"统":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"出":{"docs":{},"现":{"docs":{},"白":{"docs":{},"屏":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"方":{"docs":{},"案":{"docs":{},"无":{"docs":{},"效":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"放":{"docs":{},"入":{"docs":{},"随":{"docs":{},"意":{"docs":{},"命":{"docs":{},"名":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"验":{"docs":{},"证":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"下":{"docs":{},"次":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"或":{"docs":{},"应":{"docs":{},"用":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"应":{"docs":{},"用":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"方":{"docs":{},"向":{"docs":{},"及":{"docs":{},"设":{"docs":{},"备":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},";":{"docs":{},"b":{"docs":{},".":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"仍":{"docs":{},"旧":{"docs":{},"复":{"docs":{},"现":{"docs":{},",":{"docs":{},"故":{"docs":{},"排":{"docs":{},"除":{"docs":{},"编":{"docs":{},"译":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"问":{"docs":{},"题":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}},"片":{"docs":{},"分":{"docs":{},"配":{"docs":{},"额":{"docs":{},"外":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"切":{"docs":{},"换":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"会":{"docs":{},"降":{"docs":{},"低":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"特":{"docs":{},"定":{"docs":{},"图":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"乃":{"docs":{},"至":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"得":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"在":{"docs":{},"图":{"docs":{},"中":{"docs":{},"标":{"docs":{},"明":{"docs":{},"的":{"docs":{},"黄":{"docs":{},"色":{"docs":{},"框":{"docs":{},"框":{"docs":{},",":{"docs":{},"就":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},"了":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"最":{"docs":{},"终":{"docs":{},"访":{"docs":{},"问":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"这":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"被":{"docs":{},"赋":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"其":{"docs":{},"在":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"下":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"到":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"小":{"docs":{},"集":{"docs":{},"推":{"docs":{},"荐":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"乎":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"图":{"docs":{},"片":{"docs":{},"格":{"docs":{},"式":{"docs":{},"调":{"docs":{},"研":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"其":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"是":{"docs":{},"提":{"docs":{},"升":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"和":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"单":{"docs":{},"从":{"docs":{},"实":{"docs":{},"现":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"看":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"黑":{"docs":{},"魔":{"docs":{},"法":{"docs":{},"或":{"docs":{},"技":{"docs":{},"术":{"docs":{},"难":{"docs":{},"点":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"是":{"docs":{},"结":{"docs":{},"合":{"docs":{},"团":{"docs":{},"队":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"协":{"docs":{},"作":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"考":{"docs":{},"量":{"docs":{},"—":{"docs":{},"—":{"docs":{},"“":{"docs":{},"适":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"才":{"docs":{},"是":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"”":{"docs":{},"。":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"通":{"docs":{},"过":{"docs":{},"过":{"docs":{},"往":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"控":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"通":{"docs":{},"常":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"后":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"区":{"docs":{},":":{"docs":{},"存":{"docs":{},"放":{"docs":{},"函":{"docs":{},"数":{"docs":{},"体":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"由":{"docs":{},"系":{"docs":{},"统":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.14285714285714285}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"运":{"docs":{},"行":{"docs":{},"期":{"docs":{},"间":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"到":{"docs":{},"下":{"docs":{},"次":{"docs":{},"才":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"启":{"docs":{},"动":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"开":{"docs":{},"启":{"docs":{},"一":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"条":{"docs":{},"线":{"docs":{},"程":{"docs":{},"被":{"docs":{},"成":{"docs":{},"为":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"员":{"docs":{},"管":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"告":{"docs":{},"诉":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"设":{"docs":{},"计":{"docs":{},"更":{"docs":{},"加":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"、":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"共":{"docs":{},"享":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"执":{"docs":{},"行":{"docs":{},"从":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"开":{"docs":{},"始":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},"级":{"docs":{},"关":{"docs":{},"系":{"docs":{},"中":{"docs":{},"有":{"docs":{},"太":{"docs":{},"多":{"docs":{},"的":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"没":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"不":{"docs":{},"是":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"述":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"和":{"docs":{},"变":{"docs":{},"基":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"被":{"docs":{},"分":{"docs":{},"配":{"docs":{},"用":{"docs":{},"于":{"docs":{},"管":{"docs":{},"理":{"docs":{},"文":{"docs":{},"件":{"docs":{},"i":{"docs":{},"o":{"docs":{},"和":{"docs":{},"解":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"粘":{"docs":{},"连":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"位":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}},"从":{"docs":{},"而":{"docs":{},"提":{"docs":{},"高":{"docs":{},"访":{"docs":{},"问":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"解":{"docs":{},"析":{"docs":{},"被":{"docs":{},"错":{"docs":{},"误":{"docs":{},"递":{"docs":{},"归":{"docs":{},"(":{"docs":{},"跨":{"docs":{},"地":{"docs":{},"区":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"跨":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},")":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"导":{"docs":{},"致":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"去":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"一":{"docs":{},"种":{"docs":{},"可":{"docs":{},"以":{"docs":{},"绕":{"docs":{},"开":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"来":{"docs":{},"做":{"docs":{},"【":{"docs":{},"域":{"docs":{},"名":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"指":{"docs":{},"针":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"入":{"docs":{},"口":{"docs":{},"等":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"具":{"docs":{},"有":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"规":{"docs":{},"则":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"得":{"docs":{},"而":{"docs":{},"知":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"获":{"docs":{},"取":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"图":{"docs":{},"片":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}},"锁":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"和":{"docs":{},"申":{"docs":{},"请":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"能":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"类":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"源":{"docs":{},"事":{"docs":{},"件":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"下":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"a":{"docs":{},"c":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{},"存":{"docs":{},"入":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"次":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"程":{"docs":{},"序":{"docs":{},"架":{"docs":{},"构":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}},"得":{"docs":{},"锁":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"新":{"docs":{},"值":{"docs":{},"和":{"docs":{},"旧":{"docs":{},"值":{"docs":{},"的":{"docs":{},"锁":{"docs":{},"存":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"用":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"示":{"docs":{},")":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666}}}}}}}}}}}}}}}}}},"落":{"docs":{},"影":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"信":{"docs":{},"号":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"在":{"docs":{},"中":{"docs":{},"心":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"中":{"docs":{},"心":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"没":{"docs":{},"有":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"命":{"docs":{},"名":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"就":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"现":{"docs":{},"命":{"docs":{},"名":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"各":{"docs":{},"种":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"过":{"docs":{},"程":{"docs":{},"看":{"docs":{},"似":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"递":{"docs":{},"归":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"故":{"docs":{},"采":{"docs":{},"用":{"docs":{},"递":{"docs":{},"归":{"docs":{},"方":{"docs":{},"式":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"十":{"docs":{},"分":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"近":{"docs":{},"似":{"docs":{},"链":{"docs":{},"表":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"把":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"间":{"docs":{},"控":{"docs":{},"制":{"docs":{},"在":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"一":{"docs":{},"层":{"docs":{},"一":{"docs":{},"层":{"docs":{},"往":{"docs":{},"画":{"docs":{},"布":{"docs":{},"上":{"docs":{},"进":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"层":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"来":{"docs":{},"擦":{"docs":{},"除":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"警":{"docs":{},"告":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"够":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"带":{"docs":{},"来":{"docs":{},"各":{"docs":{},"种":{"docs":{},"各":{"docs":{},"样":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"说":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"就":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},",":{"docs":{},"正":{"docs":{},"相":{"docs":{},"反":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"严":{"docs":{},"格":{"docs":{},"控":{"docs":{},"制":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},",":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"却":{"docs":{},"能":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"企":{"docs":{},"业":{"docs":{},"或":{"docs":{},"者":{"docs":{},"项":{"docs":{},"目":{"docs":{},"在":{"docs":{},"做":{"docs":{},"决":{"docs":{},"策":{"docs":{},"时":{"docs":{},"认":{"docs":{},"为":{"docs":{},"『":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"非":{"docs":{},"常":{"docs":{},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"』":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"与":{"docs":{},"权":{"docs":{},"限":{"docs":{},"审":{"docs":{},"核":{"docs":{},"的":{"docs":{},"权":{"docs":{},"衡":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"是":{"docs":{},"等":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"操":{"docs":{},"作":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"者":{"docs":{},"多":{"docs":{},"个":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"多":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"同":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"各":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"更":{"docs":{},"像":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"叉":{"docs":{},"的":{"docs":{},"树":{"docs":{},"形":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"与":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"等":{"docs":{},"价":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"从":{"docs":{},"两":{"docs":{},"者":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"它":{"docs":{},"们":{"docs":{},"在":{"docs":{},"设":{"docs":{},"计":{"docs":{},"上":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"抉":{"docs":{},"择":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"v":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"唤":{"docs":{},"醒":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"好":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"完":{"docs":{},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"遮":{"docs":{},"罩":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{},"好":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"分":{"docs":{},"割":{"docs":{},"成":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"当":{"docs":{},"前":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"活":{"docs":{},"动":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"链":{"docs":{},"接":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"中":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"热":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"裁":{"docs":{},"切":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"剪":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"完":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"好":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"一":{"docs":{},"起":{"docs":{},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"西":{"docs":{},"之":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"巨":{"docs":{},"大":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"支":{"docs":{},"持":{"docs":{},"对":{"docs":{},"图":{"docs":{},"层":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"成":{"docs":{},"为":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},":":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"解":{"docs":{},"及":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"请":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}},"求":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}},"二":{"docs":{},"完":{"docs":{},"成":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"是":{"docs":{},"以":{"docs":{},"「":{"docs":{},"引":{"docs":{},"用":{"docs":{},"」":{"docs":{},"方":{"docs":{},"式":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"在":{"docs":{},"函":{"docs":{},"数":{"docs":{},"里":{"docs":{},"修":{"docs":{},"改":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"组":{"docs":{},"对":{"docs":{},"于":{"docs":{},"调":{"docs":{},"用":{"docs":{},"者":{"docs":{},"是":{"docs":{},"可":{"docs":{},"见":{"docs":{},"的":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"浪":{"docs":{},"费":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},"并":{"docs":{},"造":{"docs":{},"成":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"迟":{"docs":{},"迟":{"docs":{},"无":{"docs":{},"法":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"我":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"快":{"docs":{},"速":{"docs":{},"、":{"docs":{},"提":{"docs":{},"前":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},";":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"每":{"docs":{},"一":{"docs":{},"行":{"docs":{},"文":{"docs":{},"本":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拥":{"docs":{},"有":{"docs":{},":":{"docs":{},"同":{"docs":{},"一":{"docs":{},"进":{"docs":{},"程":{"docs":{},"内":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"共":{"docs":{},"享":{"docs":{},"本":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"如":{"docs":{},"内":{"docs":{},"存":{"docs":{},"、":{"docs":{},"i":{"docs":{},"/":{"docs":{},"o":{"docs":{},"、":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"等":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"场":{"docs":{},"景":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"界":{"docs":{},"面":{"docs":{},"快":{"docs":{},"速":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"复":{"docs":{},"用":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"非":{"docs":{},"常":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"文":{"docs":{},"件":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"调":{"docs":{},"度":{"docs":{},"问":{"docs":{},"题":{"docs":{},")":{"docs":{},"。":{"docs":{},"以":{"docs":{},"上":{"docs":{},"数":{"docs":{},"据":{"docs":{},"只":{"docs":{},"作":{"docs":{},"为":{"docs":{},"性":{"docs":{},"能":{"docs":{},"提":{"docs":{},"升":{"docs":{},"参":{"docs":{},"考":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"加":{"docs":{},"载":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"显":{"docs":{},"著":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}},"点":{"docs":{},":":{"docs":{},"进":{"docs":{},"程":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"来":{"docs":{},"也":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"源":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"转":{"docs":{},"发":{"docs":{},"给":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"随":{"docs":{},"后":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"那":{"docs":{},"个":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}},"换":{"docs":{},"成":{"docs":{},"纹":{"docs":{},"理":{"docs":{},"三":{"docs":{},"角":{"docs":{},"板":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"并":{"docs":{},"不":{"docs":{},"知":{"docs":{},"晓":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"化":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"码":{"docs":{},",":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"场":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"和":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"动":{"docs":{},"作":{"docs":{},"跳":{"docs":{},"转":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"自":{"docs":{},":":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"遮":{"docs":{},"罩":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},")":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}},"郭":{"docs":{},"曜":{"docs":{},"源":{"docs":{},"前":{"docs":{},"辈":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"还":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}},"对":{"docs":{},"应":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"地":{"docs":{},"方":{"docs":{},"读":{"docs":{},"取":{"docs":{},"这":{"docs":{},"些":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"输":{"docs":{},"入":{"docs":{},"密":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"交":{"docs":{},"易":{"docs":{},",":{"docs":{},"和":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"视":{"docs":{},"图":{"docs":{},"控":{"docs":{},"件":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"从":{"docs":{},"代":{"docs":{},"码":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"、":{"docs":{},"从":{"docs":{},"n":{"docs":{},"i":{"docs":{},"b":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"在":{"docs":{},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"对":{"docs":{},"象":{"docs":{},"即":{"docs":{},"可":{"docs":{},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"描":{"docs":{},"述":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"注":{"docs":{},"册":{"docs":{},"好":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"用":{"docs":{},"来":{"docs":{},"使":{"docs":{},"用":{"docs":{},"业":{"docs":{},"务":{"docs":{},"数":{"docs":{},"据":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"终":{"docs":{},"点":{"docs":{},"定":{"docs":{},"义":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"传":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"[":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"。":{"docs":{},"当":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"他":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"做":{"docs":{},"以":{"docs":{},"下":{"docs":{},"操":{"docs":{},"作":{"docs":{},";":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"实":{"docs":{},"现":{"docs":{},"为":{"docs":{},"报":{"docs":{},"表":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"你":{"docs":{},"测":{"docs":{},"试":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"性":{"docs":{},"能":{"docs":{},"加":{"docs":{},"载":{"docs":{},"提":{"docs":{},"升":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"还":{"docs":{},"要":{"docs":{},"多":{"docs":{},"少":{"docs":{},"操":{"docs":{},"作":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"发":{"docs":{},"现":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}},"长":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}},"除":{"docs":{},"以":{"docs":{},"前":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"并":{"docs":{},"释":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"基":{"docs":{},"于":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"实":{"docs":{},"现":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"在":{"docs":{},"不":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"追":{"docs":{},"求":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"发":{"docs":{},"现":{"docs":{},"代":{"docs":{},"码":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"并":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"我":{"docs":{},"们":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"其":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"重":{"docs":{},"复":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"等":{"docs":{},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"因":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"公":{"docs":{},"司":{"docs":{},"都":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"业":{"docs":{},"界":{"docs":{},"方":{"docs":{},"案":{"docs":{},"里":{"docs":{},"对":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"他":{"docs":{},"们":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"在":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"做":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"相":{"docs":{},"关":{"docs":{},"思":{"docs":{},"考":{"docs":{},"和":{"docs":{},"尝":{"docs":{},"试":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"环":{"docs":{},"节":{"docs":{},"进":{"docs":{},"行":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}},"隐":{"docs":{},"式":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483}}}}}},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{"iOS/UIKit/UIViewRenderProcess.html":{"ref":"iOS/UIKit/UIViewRenderProcess.html","tf":0.0017482517482517483},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"驱":{"docs":{},"动":{"docs":{},"技":{"docs":{},"术":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":3.334096692111959}},"合":{"docs":{},"集":{"docs":{},"(":{"docs":{},"初":{"docs":{},"中":{"docs":{},"级":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"考":{"docs":{},"察":{"docs":{},"有":{"docs":{},"关":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.024193548387096774}}}}},"报":{"docs":{},"文":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"(":{"docs":{},"既":{"docs":{},"不":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"拆":{"docs":{},"分":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}},"无":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.024193548387096774}},",":{"docs":{},"是":{"docs":{},"指":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"之":{"docs":{},"前":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"两":{"docs":{},"端":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"“":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"”":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"能":{"docs":{},"建":{"docs":{},"立":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"是":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},"打":{"docs":{},"下":{"docs":{},"了":{"docs":{},"基":{"docs":{},"础":{"docs":{},"。":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"步":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"面":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"旧":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},"呢":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}},"代":{"docs":{},"码":{"docs":{},"输":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"看":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"主":{"docs":{},"队":{"docs":{},"列":{"docs":{},"和":{"docs":{},"全":{"docs":{},"局":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"段":{"docs":{},"代":{"docs":{},"码":{"docs":{},"要":{"docs":{},"求":{"docs":{},"使":{"docs":{},"用":{"docs":{},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{},"来":{"docs":{},"按":{"docs":{},"序":{"docs":{},"输":{"docs":{},"出":{"docs":{},"(":{"docs":{},"当":{"docs":{},"然":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"满":{"docs":{},"足":{"docs":{},"要":{"docs":{},"求":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"回":{"docs":{},"调":{"docs":{},"里":{"docs":{},"面":{"docs":{},"做":{"docs":{},"了":{"docs":{},"些":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"找":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"也":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"列":{"docs":{},"出":{"docs":{},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"列":{"docs":{},"举":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}},"图":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"载":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"数":{"docs":{},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"回":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"直":{"docs":{},"接":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"逆":{"docs":{},"向":{"docs":{},"里":{"docs":{},"会":{"docs":{},"有":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},"叫":{"docs":{},"做":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"“":{"docs":{},"砸":{"docs":{},"壳":{"docs":{},"”":{"docs":{},",":{"docs":{},"砸":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"微":{"docs":{},"信":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"获":{"docs":{},"得":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"禁":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},")":{"docs":{},"。":{"docs":{},"下":{"docs":{},"图":{"docs":{},"中":{"docs":{},"部":{"docs":{},"分":{"docs":{},"页":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"给":{"docs":{},"定":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"。":{"docs":{},"它":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"由":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"显":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"在":{"docs":{},"析":{"docs":{},"构":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"时":{"docs":{},"自":{"docs":{},"动":{"docs":{},"置":{"docs":{},"空":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{},"调":{"docs":{},"试":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"走":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"分":{"docs":{},"支":{"docs":{},"—":{"docs":{},"—":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"是":{"docs":{},"新":{"docs":{},"的":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"区":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"伴":{"docs":{},"随":{"docs":{},"着":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"是":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"属":{"docs":{},"于":{"docs":{},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"在":{"docs":{},"将":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"对":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"执":{"docs":{},"行":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"m":{"docs":{},"y":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"堆":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"象":{"docs":{},"副":{"docs":{},"本":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},",":{"docs":{},"替":{"docs":{},"代":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"而":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"在":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"时":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"忙":{"docs":{},"等":{"docs":{},"状":{"docs":{},"态":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"在":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"已":{"docs":{},"经":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"要":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"保":{"docs":{},"障":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"所":{"docs":{},"处":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"环":{"docs":{},"境":{"docs":{},"远":{"docs":{},"远":{"docs":{},"比":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"要":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"是":{"docs":{},"与":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"上":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"确":{"docs":{},"实":{"docs":{},"付":{"docs":{},"款":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"实":{"docs":{},"产":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"就":{"docs":{},"变":{"docs":{},"得":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"多":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"回":{"docs":{},"调":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"交":{"docs":{},"易":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"得":{"docs":{},"到":{"docs":{},"了":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"保":{"docs":{},"证":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"是":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"可":{"docs":{},"知":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"此":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"不":{"docs":{},"管":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"建":{"docs":{},"下":{"docs":{},"载":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"d":{"docs":{},"返":{"docs":{},"回":{"docs":{},"至":{"docs":{},"b":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"b":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"b":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"返":{"docs":{},"回":{"docs":{},"至":{"docs":{},"d":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"到":{"docs":{},"达":{"docs":{},"d":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"定":{"docs":{},"义":{"docs":{},"以":{"docs":{},"及":{"docs":{},"图":{"docs":{},"示":{"docs":{},"分":{"docs":{},"析":{"docs":{},"得":{"docs":{},"出":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}},"图":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"右":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"十":{"docs":{},"分":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"般":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"7":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"为":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"时":{"docs":{},",":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"刚":{"docs":{},"好":{"docs":{},"填":{"docs":{},"满":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"以":{"docs":{},"上":{"docs":{},"分":{"docs":{},"析":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"系":{"docs":{},"统":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"时":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{},"当":{"docs":{},"前":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"猜":{"docs":{},"想":{"docs":{},"如":{"docs":{},"果":{"docs":{},"当":{"docs":{},"前":{"docs":{},"没":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"应":{"docs":{},"该":{"docs":{},"会":{"docs":{},"迫":{"docs":{},"使":{"docs":{},"系":{"docs":{},"统":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"清":{"docs":{},"空":{"docs":{},"了":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"果":{"docs":{},"然":{"docs":{},"验":{"docs":{},"证":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"猜":{"docs":{},"想":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"图":{"docs":{},"像":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"c":{"docs":{},"g":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"。":{"docs":{"iOS/UIKit/UIImageRender.html":{"ref":"iOS/UIKit/UIImageRender.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"率":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}},"%":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915}},"l":{"docs":{},"u":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}},"\"":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}},"@":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227}},"\"":{"docs":{},",":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.00889248181083266},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876}}}},"\\":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"l":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},".":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"\"":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},",":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"\\":{"0":{"docs":{},"\"":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"docs":{}},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.008595988538681949}}}},"d":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"b":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"c":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031}}}}}}}}}}}}}}}},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}},"、":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"等":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"那":{"docs":{},"b":{"docs":{},"应":{"docs":{},"该":{"docs":{},"从":{"8":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},")":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"了":{"docs":{},"解":{"docs":{},"系":{"docs":{},"统":{"docs":{},"对":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"再":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"文":{"docs":{},"章":{"docs":{},"一":{"docs":{},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"、":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"和":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"很":{"docs":{},"多":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"来":{"docs":{},",":{"docs":{},"会":{"docs":{},"首":{"docs":{},"先":{"docs":{},"对":{"docs":{},"这":{"docs":{},"些":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"吧":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"一":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}},",":{"docs":{},"未":{"docs":{},"来":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"占":{"1":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"1":{"2":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"1":{"2":{"docs":{},"是":{"1":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"8":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"8":{"docs":{},"是":{"1":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"docs":{}}}}}}},"2":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"1":{"3":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"此":{"docs":{},"时":{"1":{"3":{"docs":{},"不":{"docs":{},"是":{"2":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"需":{"docs":{},"要":{"docs":{},"往":{"docs":{},"后":{"docs":{},"继":{"docs":{},"续":{"docs":{},"寻":{"docs":{},"找":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"接":{"docs":{},"近":{"docs":{},"的":{"docs":{},"能":{"docs":{},"整":{"docs":{},"除":{"2":{"docs":{},"的":{"1":{"4":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}}}},"6":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"1":{"6":{"docs":{},"是":{"2":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"1":{"6":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}}}}}},"4":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"8":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"8":{"docs":{},"是":{"4":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"9":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"此":{"docs":{},"时":{"9":{"docs":{},"不":{"docs":{},"是":{"4":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"需":{"docs":{},"要":{"docs":{},"往":{"docs":{},"后":{"docs":{},"继":{"docs":{},"续":{"docs":{},"寻":{"docs":{},"找":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"接":{"docs":{},"近":{"docs":{},"的":{"docs":{},"能":{"docs":{},"整":{"docs":{},"除":{"4":{"docs":{},"的":{"1":{"2":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}},"8":{"docs":{},"个":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"从":{"0":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}}}}}}}},"docs":{}}}}}}},"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"很":{"docs":{},"小":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"低":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"平":{"docs":{},"时":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"a":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},":":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}}}}}}}},"b":{"docs":{},":":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}}},"c":{"docs":{},":":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.014925373134328358}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}},"d":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.022388059701492536}}}}}}}}},"e":{"docs":{},":":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"的":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"8":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"位":{"docs":{},"置":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"存":{"docs":{},"储":{"docs":{},"方":{"docs":{},"式":{"docs":{},"同":{"docs":{},"上":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"则":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"有":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"都":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"很":{"docs":{},"智":{"docs":{},"能":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"就":{"docs":{},"能":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"程":{"docs":{},"序":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"成":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"了":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"1":{"2":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}},"docs":{}}}}}},"相":{"docs":{},"地":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"操":{"docs":{},"作":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.09701492537313433},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"空":{"docs":{},"间":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},",":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"等":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"具":{"docs":{},"体":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"第":{"2":{"5":{"docs":{},"行":{"docs":{},"处":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"先":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"时":{"docs":{},"因":{"docs":{},"为":{"docs":{},"面":{"docs":{},"临":{"docs":{},"一":{"docs":{},"些":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"入":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"+":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}},"放":{"docs":{},"着":{"docs":{},"若":{"docs":{},"干":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"其":{"docs":{},"余":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"做":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"定":{"docs":{},"位":{"docs":{},"的":{"docs":{},",":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"在":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"储":{"docs":{},"存":{"docs":{},"着":{"docs":{},"各":{"docs":{},"种":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"r":{"docs":{},"c":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"表":{"docs":{},",":{"docs":{},"自":{"docs":{},"选":{"docs":{},"锁":{"docs":{},",":{"docs":{},"当":{"docs":{},"开":{"docs":{},"发":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"且":{"docs":{},"未":{"docs":{},"满":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},";":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}},"则":{"docs":{},"会":{"docs":{},"先":{"docs":{},"转":{"docs":{},"换":{"docs":{},"数":{"docs":{},"据":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"重":{"docs":{},"名":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"开":{"docs":{},"发":{"docs":{},"规":{"docs":{},"范":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"检":{"docs":{},"查":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"规":{"docs":{},"避":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"入":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}},"收":{"docs":{},"尾":{"docs":{},"⼯":{"docs":{},"作":{"docs":{},":":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"的":{"docs":{},"总":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"不":{"docs":{},"⾜":{"docs":{},"的":{"docs":{},"要":{"docs":{},"补":{"docs":{},"⻬":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"1":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"而":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"1":{"docs":{},"中":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"1":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},"不":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"向":{"docs":{},"上":{"docs":{},"补":{"docs":{},"齐":{"docs":{},",":{"docs":{},"补":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"2":{"4":{"docs":{},"字":{"docs":{},"节":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"2":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"1":{"6":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{},"中":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"1":{"6":{"docs":{},"字":{"docs":{},"节":{"docs":{},"刚":{"docs":{},"好":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"1":{"6":{"docs":{},"字":{"docs":{},"节":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"3":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"3":{"4":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"l":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"3":{"docs":{},"中":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"3":{"4":{"docs":{},"字":{"docs":{},"节":{"docs":{},"不":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"⼤":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"向":{"docs":{},"上":{"docs":{},"补":{"docs":{},"齐":{"docs":{},",":{"docs":{},"补":{"docs":{},"齐":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"4":{"0":{"docs":{},"字":{"docs":{},"节":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"只":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"动":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"主":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"并":{"docs":{},"进":{"docs":{},"入":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"通":{"docs":{},"常":{"docs":{},"执":{"docs":{},"行":{"docs":{},"被":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"益":{"docs":{},"还":{"docs":{},"是":{"docs":{},"可":{"docs":{},"观":{"docs":{},"的":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},"对":{"docs":{},"⻬":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{},"结":{"docs":{},"构":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},"(":{"docs":{},"或":{"docs":{},"联":{"docs":{},"合":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"第":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},"放":{"docs":{},"在":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"地":{"docs":{},"⽅":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"每":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"成":{"docs":{},"员":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},"要":{"docs":{},"从":{"docs":{},"该":{"docs":{},"成":{"docs":{},"员":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},"或":{"docs":{},"者":{"docs":{},"成":{"docs":{},"员":{"docs":{},"的":{"docs":{},"⼦":{"docs":{},"成":{"docs":{},"员":{"docs":{},"⼤":{"docs":{},"⼩":{"docs":{},"(":{"docs":{},"只":{"docs":{},"要":{"docs":{},"该":{"docs":{},"成":{"docs":{},"员":{"docs":{},"有":{"docs":{},"⼦":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"⽐":{"docs":{},"如":{"docs":{},"说":{"docs":{},"是":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"等":{"docs":{},")":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"开":{"docs":{},"始":{"docs":{},"(":{"docs":{},"⽐":{"docs":{},"如":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"为":{"docs":{},"4":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"则":{"docs":{},"要":{"docs":{},"从":{"docs":{},"4":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"倍":{"docs":{},"地":{"docs":{},"址":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"被":{"docs":{},"解":{"docs":{},"析":{"docs":{},"成":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"断":{"docs":{},"开":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},"(":{"docs":{},"形":{"docs":{},"式":{"docs":{},"上":{"docs":{},"一":{"docs":{},"般":{"docs":{},"为":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"组":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},"中":{"docs":{},",":{"docs":{},"成":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},")":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}},"量":{"docs":{},"的":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"保":{"docs":{},"证":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"来":{"docs":{},"自":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"上":{"docs":{},"由":{"docs":{},"持":{"docs":{},"有":{"docs":{},"人":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"其":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"保":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"为":{"docs":{},"真":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"权":{"docs":{},"威":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}},"签":{"docs":{},"名":{"docs":{},":":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"去":{"docs":{},"银":{"docs":{},"行":{"docs":{},"办":{"docs":{},"理":{"docs":{},"业":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"业":{"docs":{},"务":{"docs":{},"单":{"docs":{},"上":{"docs":{},"签":{"docs":{},"下":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"叫":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"信":{"docs":{},"中":{"docs":{},",":{"docs":{},"签":{"docs":{},"名":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"中":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"称":{"docs":{},"为":{"docs":{},"数":{"docs":{},"字":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"信":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"报":{"docs":{},"文":{"docs":{},"生":{"docs":{},"成":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"得":{"docs":{},"到":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"放":{"docs":{},"置":{"docs":{},"在":{"docs":{},"报":{"docs":{},"文":{"docs":{},"后":{"docs":{},"面":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"加":{"docs":{},"密":{"docs":{},"后":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"就":{"docs":{},"称":{"docs":{},"为":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"将":{"docs":{},"报":{"docs":{},"文":{"docs":{},"、":{"docs":{},"签":{"docs":{},"名":{"docs":{},"和":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"一":{"docs":{},"同":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"。":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"这":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"首":{"docs":{},"先":{"docs":{},"验":{"docs":{},"证":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"签":{"docs":{},"名":{"docs":{},"算":{"docs":{},"法":{"docs":{},"对":{"docs":{},"签":{"docs":{},"名":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"得":{"docs":{},"到":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"生":{"docs":{},"成":{"docs":{},"报":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"要":{"docs":{},"并":{"docs":{},"利":{"docs":{},"用":{"docs":{},"签":{"docs":{},"名":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"算":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"比":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"是":{"docs":{},"否":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"判":{"docs":{},"断":{"docs":{},"信":{"docs":{},"息":{"docs":{},"是":{"docs":{},"否":{"docs":{},"完":{"docs":{},"整":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"由":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"。":{"docs":{},"可":{"docs":{},"知":{"docs":{},"签":{"docs":{},"名":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},"确":{"docs":{},"认":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"方":{"docs":{},"可":{"docs":{},"靠":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"消":{"docs":{},"息":{"docs":{},"完":{"docs":{},"整":{"docs":{},"准":{"docs":{},"确":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"案":{"docs":{},"例":{"docs":{},"解":{"docs":{},"析":{"docs":{"iOS/Memory/StructMemoryAligned.html":{"ref":"iOS/Memory/StructMemoryAligned.html","tf":0.007462686567164179}}}},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}},"堆":{"docs":{},"区":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},":":{"docs":{},"一":{"docs":{},"般":{"docs":{},"由":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"分":{"docs":{},"配":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"时":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},"和":{"docs":{},"未":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"块":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}},"栈":{"docs":{},"区":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},":":{"docs":{},"由":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"自":{"docs":{},"动":{"docs":{},"分":{"docs":{},"配":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"堆":{"docs":{},"上":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}},"中":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"加":{"docs":{},"入":{"docs":{},"需":{"docs":{},"要":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"者":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"就":{"docs":{},"是":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"记":{"docs":{},"。":{"docs":{},"当":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"进":{"docs":{},"行":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"这":{"docs":{},"个":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},"后":{"docs":{},"进":{"docs":{},"栈":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"溢":{"docs":{},"出":{"docs":{},"保":{"docs":{},"护":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"若":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"不":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{},"o":{"docs":{},"s":{"docs":{},"回":{"docs":{},"收":{"docs":{"iOS/Memory/MemoryFiveMainSection.html":{"ref":"iOS/Memory/MemoryFiveMainSection.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}},"已":{"docs":{},"满":{"docs":{},"时":{"docs":{},",":{"docs":{},"且":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},">":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"将":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"满":{"docs":{},"就":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"进":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"大":{"docs":{},"于":{"docs":{},"等":{"docs":{},"于":{"docs":{},"核":{"docs":{},"心":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}},"小":{"docs":{},"于":{"docs":{},"核":{"docs":{},"心":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"命":{"docs":{},"中":{"docs":{},",":{"docs":{},"且":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"未":{"docs":{},"命":{"docs":{},"中":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"开":{"docs":{},"启":{"docs":{},"系":{"docs":{},"统":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"锁":{"docs":{},"定":{"docs":{},",":{"docs":{},"且":{"docs":{},"横":{"docs":{},"置":{"docs":{},"手":{"docs":{},"机":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"使":{"docs":{},"得":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"显":{"docs":{},"示":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"而":{"docs":{},"部":{"docs":{},"分":{"docs":{},"应":{"docs":{},"用":{"docs":{},"并":{"docs":{},"未":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"适":{"docs":{},"配":{"docs":{},"横":{"docs":{},"屏":{"docs":{},"场":{"docs":{},"景":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"可":{"docs":{},"能":{"docs":{},"导":{"docs":{},"致":{"docs":{},"该":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"或":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"等":{"docs":{},"显":{"docs":{},"示":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"=":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.014084507042253521},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.005089058524173028},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0033715441672285905},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"#":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}},"(":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"c":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"2":{"docs":{},"_":{"docs":{},"_":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"docs":{}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"分":{"docs":{},"支":{"docs":{},"表":{"docs":{},"示":{"docs":{},"支":{"docs":{},"持":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"且":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"将":{"docs":{},"该":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"数":{"docs":{},"据":{"docs":{},"写":{"docs":{},"入":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"+":{"1":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}},"/":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.007009345794392523},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.025714285714285714},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.01},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.005333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0074962518740629685},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.015625},"Network/Https.html":{"ref":"Network/Https.html","tf":0.023622047244094488},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.03488372093023256},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.035114503816793895},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.01337295690936107},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.019436345966958212},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.018306636155606407},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.014326647564469915},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.008928571428571428}},"=":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.015810276679841896},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.00425531914893617}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},".":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.004285714285714286},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.003887269193391642},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}}},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"获":{"docs":{},"得":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"后":{"docs":{},"从":{"docs":{},"而":{"docs":{},"进":{"docs":{},"行":{"docs":{},"间":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"o":{"docs":{},"c":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}},"+":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},")":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"@":{"2":{"docs":{},"x":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"和":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},"图":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"是":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"优":{"docs":{},"化":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"当":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"3":{"docs":{},"x":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}},"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.008293838862559242},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.008995502248875561},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0099601593625498},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0032502708559046588}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.009776536312849162},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.008995502248875561},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0061068702290076335},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0021668472372697724},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.001943634596695821},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.0069605568445475635}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":10.017808219178082},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},";":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"用":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"但":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"都":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"且":{"docs":{},"它":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"低":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"链":{"docs":{},"表":{"docs":{},"进":{"docs":{},"行":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"解":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},",":{"docs":{},"这":{"docs":{},"儿":{"docs":{},"比":{"docs":{},"你":{"docs":{},"想":{"docs":{},"知":{"docs":{},"道":{"docs":{},"的":{"docs":{},"还":{"docs":{},"要":{"docs":{},"多":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0022900763358778627}},"{":{"docs":{},"}":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"的":{"docs":{},"头":{"docs":{},"和":{"docs":{},"尾":{"docs":{},"分":{"docs":{},"别":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"1":{"2":{"3":{"1":{"2":{"3":{"1":{"2":{"3":{"docs":{},"\"":{"docs":{},";":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{},"\"":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"v":{"docs":{},"@":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},",":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0071090047393364926},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.01199400299850075},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.005089058524173028},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.010687022900763359},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.018156424581005588},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.004333694474539545},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.006802721088435374},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.009280742459396751}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"修":{"docs":{},"改":{"docs":{},"路":{"docs":{},"径":{"docs":{},"或":{"docs":{},"者":{"docs":{},"将":{"docs":{},"一":{"docs":{},"些":{"docs":{},"库":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"毁":{"docs":{},"坏":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"?":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"docs":{},"%":{"docs":{},"d":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"”":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496},"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.027085590465872156},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"|":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.004171011470281543},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.005312084993359893},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"=":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"假":{"docs":{},"设":{"docs":{},"这":{"docs":{},"个":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"和":{"docs":{},"b":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"中":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"b":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"了":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"a":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"到":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},"就":{"docs":{},"会":{"docs":{},"过":{"docs":{},"度":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"程":{"docs":{},"序":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"组":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"的":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"后":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"超":{"docs":{},"出":{"docs":{},"了":{"docs":{},"其":{"docs":{},"视":{"docs":{},"图":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"点":{"docs":{},"击":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"在":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"外":{"docs":{},"面":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"区":{"docs":{},"域":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"为":{"docs":{},"虚":{"docs":{},"线":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"让":{"docs":{},"子":{"docs":{},"视":{"docs":{},"图":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"而":{"docs":{},"是":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"个":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0019083969465648854}},",":{"docs":{},"用":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"指":{"docs":{},"令":{"docs":{},"l":{"docs":{},"d":{"docs":{},"x":{"docs":{},"r":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"原":{"docs":{},"子":{"docs":{},"性":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"冲":{"docs":{},"突":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"前":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}},"后":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"加":{"docs":{},"锁":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"我":{"docs":{},"们":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"载":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"开":{"docs":{},"始":{"docs":{},"链":{"docs":{},"接":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"里":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"对":{"docs":{},"每":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"里":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"后":{"docs":{},"续":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"交":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"插":{"docs":{},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"命":{"docs":{},"令":{"docs":{},"大":{"docs":{},"小":{"docs":{},"*":{"docs":{},"/":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"条":{"docs":{},"数":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"去":{"docs":{},"判":{"docs":{},"断":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"、":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},")":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"速":{"docs":{},"两":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},")":{"docs":{},"和":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"上":{"docs":{},"注":{"docs":{},"释":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"否":{"docs":{},"则":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"张":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"、":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"能":{"docs":{},"够":{"docs":{},"复":{"docs":{},"用":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"流":{"docs":{},"程":{"docs":{},"机":{"docs":{},"制":{"docs":{},";":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"状":{"docs":{},"况":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"或":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"该":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"存":{"docs":{},"入":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"重":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"编":{"docs":{},"号":{"docs":{},"为":{"2":{"docs":{},"i":{"docs":{},"+":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}}},"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}}}}},"实":{"docs":{},"现":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}},"了":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"对":{"docs":{},"象":{"docs":{},"有":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"多":{"docs":{},"继":{"docs":{},"承":{"docs":{},"。":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}},"协":{"docs":{},"议":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}},"内":{"docs":{},"存":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},"及":{"docs":{},"字":{"docs":{},"典":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"跳":{"docs":{},"转":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"例":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"变":{"docs":{},"量":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"是":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{},"类":{"docs":{},"而":{"docs":{},"言":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"指":{"docs":{},"对":{"docs":{},"类":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},";":{"docs":{},"由":{"docs":{},"此":{"docs":{},"推":{"docs":{},"理":{"docs":{},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"指":{"docs":{},"由":{"docs":{},"类":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"找":{"docs":{},"到":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"存":{"docs":{},"储":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"找":{"docs":{},"到":{"docs":{},"它":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{},",":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"合":{"docs":{},"并":{"docs":{},"到":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"体":{"docs":{},"现":{"docs":{},"为":{"docs":{},"两":{"docs":{},"个":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"都":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"的":{"docs":{},"体":{"docs":{},"现":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"集":{"docs":{},"合":{"docs":{},"中":{"docs":{},"。":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"存":{"docs":{},"在":{"docs":{},"两":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"网":{"docs":{},"络":{"docs":{},"在":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"与":{"docs":{},"之":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"对":{"docs":{},"两":{"docs":{},"种":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"在":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"化":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},",":{"docs":{},"即":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"。":{"docs":{},"但":{"docs":{},"在":{"docs":{},"预":{"docs":{},"热":{"docs":{},"好":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"装":{"docs":{},"满":{"docs":{},"了":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"际":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"即":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"你":{"docs":{},"用":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"地":{"docs":{},"址":{"docs":{},"来":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"明":{"docs":{},":":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"分":{"docs":{},"类":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}},"战":{"docs":{},"之":{"docs":{},"满":{"docs":{},"地":{"docs":{},"是":{"docs":{},"坑":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":3.333333333333333}},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"是":{"docs":{},"支":{"docs":{},"付":{"docs":{},"基":{"docs":{},"础":{"docs":{},"知":{"docs":{},"识":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"解":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"会":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"见":{"docs":{},"坑":{"docs":{},"填":{"docs":{},"坑":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"是":{"docs":{},"高":{"docs":{},"潮":{"docs":{},"性":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"针":{"docs":{},"对":{"docs":{},"第":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"中":{"docs":{},"分":{"docs":{},"析":{"docs":{},"出":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"单":{"docs":{},"绑":{"docs":{},"定":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"是":{"docs":{},"关":{"docs":{},"键":{"docs":{},"性":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"作":{"docs":{},"者":{"docs":{},"探":{"docs":{},"索":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"号":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"到":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"忙":{"docs":{},"不":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"计":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}},"器":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}},"存":{"docs":{},"在":{"docs":{},"什":{"docs":{},"么":{"docs":{},"地":{"docs":{},"方":{"docs":{},"?":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"存":{"docs":{},"储":{"docs":{},"策":{"docs":{},"略":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}},"获":{"docs":{},"取":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}},"和":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"那":{"docs":{},"张":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"中":{"docs":{},"标":{"docs":{},"识":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"引":{"docs":{},"用":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"了":{"docs":{},"外":{"docs":{},"部":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"类":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"入":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"持":{"docs":{},"续":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"完":{"docs":{},"全":{"docs":{},"取":{"docs":{},"代":{"docs":{},"了":{"docs":{},"预":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"系":{"docs":{},"统":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"被":{"docs":{},"合":{"docs":{},"入":{"docs":{},"到":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},"重":{"docs":{},"新":{"docs":{},"组":{"docs":{},"织":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"申":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"子":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"言":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"总":{"docs":{},"结":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474},"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514},"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988},"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"一":{"docs":{},"下":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"上":{"docs":{},"述":{"docs":{},"的":{"docs":{},"适":{"docs":{},"配":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"编":{"docs":{},"码":{"docs":{},"时":{"docs":{},"应":{"docs":{},"该":{"docs":{},"做":{"docs":{},"到":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"说":{"docs":{},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"利":{"docs":{},"用":{"docs":{},"了":{"docs":{},"并":{"docs":{},"行":{"docs":{},"这":{"docs":{},"一":{"docs":{},"传":{"docs":{},"统":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"会":{"docs":{},"占":{"docs":{},"据":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"找":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"到":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"存":{"docs":{},"储":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"+":{"1":{"docs":{},"/":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}},"docs":{}}}}}}}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"插":{"docs":{},"入":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"真":{"docs":{},"正":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},"机":{"docs":{},",":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"预":{"docs":{},"热":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"闲":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"页":{"docs":{},"面":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"入":{"docs":{},"口":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"比":{"docs":{},"较":{"docs":{},"的":{"docs":{},"对":{"docs":{},"手":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"手":{"docs":{},"我":{"docs":{},"们":{"docs":{},"才":{"docs":{},"能":{"docs":{},"更":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"docs":{},"案":{"docs":{},":":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"地":{"docs":{},"发":{"docs":{},"生":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"。":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"本":{"docs":{},"文":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},"同":{"docs":{},"时":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"对":{"docs":{},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"只":{"docs":{},"下":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"请":{"docs":{},"求":{"docs":{},"只":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"而":{"docs":{},"请":{"docs":{},"求":{"docs":{},"有":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"根":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"返":{"docs":{},"回":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"产":{"docs":{},"品":{"docs":{},"形":{"docs":{},"态":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"频":{"docs":{},"次":{"docs":{},"越":{"docs":{},"高":{"docs":{},",":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},"比":{"docs":{},"例":{"docs":{},"就":{"docs":{},"越":{"docs":{},"高":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},"现":{"docs":{},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}},"经":{"docs":{},"过":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"1":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"函":{"docs":{},"数":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"排":{"docs":{},"除":{"docs":{},"了":{"docs":{},"人":{"docs":{},"为":{"docs":{},"因":{"docs":{},"素":{"docs":{},"、":{"docs":{},"编":{"docs":{},"译":{"docs":{},"问":{"docs":{},"题":{"docs":{},"等":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"点":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"认":{"docs":{},"定":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"问":{"docs":{},"题":{"docs":{},"导":{"docs":{},"致":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"步":{"docs":{},"骤":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"优":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"这":{"docs":{},"些":{"docs":{},"目":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"讨":{"docs":{},"论":{"docs":{},",":{"docs":{},"当":{"docs":{},"时":{"docs":{},"选":{"docs":{},"择":{"docs":{},"参":{"docs":{},"考":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"封":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"设":{"docs":{},"计":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"外":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"度":{"docs":{},"调":{"docs":{},"研":{"docs":{},"及":{"docs":{},"不":{"docs":{},"断":{"docs":{},"地":{"docs":{},"分":{"docs":{},"析":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"终":{"docs":{},"于":{"docs":{},"得":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"行":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"替":{"docs":{},"换":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.011363636363636364}}}}},"历":{"docs":{},"了":{"docs":{},"初":{"docs":{},"期":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"快":{"docs":{},"速":{"docs":{},"迭":{"docs":{},"代":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"混":{"docs":{},"乱":{"docs":{},",":{"docs":{},"耦":{"docs":{},"合":{"docs":{},"严":{"docs":{},"重":{"docs":{},",":{"docs":{},"急":{"docs":{},"需":{"docs":{},"优":{"docs":{},"化":{"docs":{},"重":{"docs":{},"构":{"docs":{},"。":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"个":{"docs":{},"方":{"docs":{},"案":{"docs":{},"从":{"docs":{},"调":{"docs":{},"研":{"docs":{},"到":{"docs":{},"开":{"docs":{},"发":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"多":{"docs":{},"机":{"docs":{},"型":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"系":{"docs":{},"统":{"docs":{},"版":{"docs":{},"本":{"docs":{},"上":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"差":{"docs":{},"异":{"docs":{},"性":{"docs":{},"做":{"docs":{},"了":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"归":{"docs":{},"纳":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"因":{"docs":{},"为":{"docs":{},"单":{"docs":{},"例":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"以":{"docs":{},"及":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"补":{"docs":{},"充":{"docs":{},":":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}},"介":{"docs":{},"绍":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"释":{"docs":{},"放":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"指":{"docs":{},"令":{"docs":{},"c":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.003952569169960474}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"函":{"docs":{},"数":{"docs":{},"首":{"docs":{},"先":{"docs":{},"根":{"docs":{},"据":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},"获":{"docs":{},"取":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"这":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{},"把":{"docs":{},"其":{"docs":{},"中":{"docs":{},"指":{"docs":{},"向":{"docs":{},"空":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"把":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"从":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"清":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旧":{"docs":{},"的":{"docs":{},"池":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"池":{"docs":{},";":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"资":{"docs":{},"源":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"+":{"docs":{},"+":{"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{},"存":{"docs":{},"入":{"docs":{},"被":{"docs":{},"锁":{"docs":{},"次":{"docs":{},"数":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"次":{"docs":{},"数":{"docs":{},"变":{"docs":{},"为":{"0":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"锁":{"docs":{},"也":{"docs":{},"不":{"docs":{},"复":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"快":{"docs":{},"速":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"移":{"docs":{},"除":{"docs":{},"并":{"docs":{},"清":{"docs":{},"空":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/ReferenceCounting.html":{"ref":"iOS/Memory/ReferenceCounting.html","tf":0.007905138339920948}}}}},"公":{"docs":{},"平":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}},"锁":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"空":{"docs":{},"且":{"docs":{},"已":{"docs":{},"经":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"指":{"docs":{},"向":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"原":{"docs":{},"子":{"docs":{},"性":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"除":{"docs":{},"了":{"docs":{},"没":{"docs":{},"加":{"docs":{},"锁":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"与":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"一":{"docs":{},"般":{"docs":{},"无":{"docs":{},"二":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"锁":{"docs":{},":":{"docs":{},"不":{"docs":{},"可":{"docs":{},"重":{"docs":{},"入":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"等":{"docs":{},"锁":{"docs":{},"释":{"docs":{},"放":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"再":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},")":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}},"常":{"docs":{},"擅":{"docs":{},"长":{"docs":{},"大":{"docs":{},"规":{"docs":{},"模":{"docs":{},"并":{"docs":{},"行":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"想":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"切":{"docs":{},"换":{"docs":{},"显":{"docs":{},"然":{"docs":{},"不":{"docs":{},"在":{"docs":{},"其":{"docs":{},"设":{"docs":{},"计":{"docs":{},"考":{"docs":{},"量":{"docs":{},"之":{"docs":{},"中":{"docs":{},")":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"少":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"干":{"docs":{},"净":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"#":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424}},"x":{"docs":{},"f":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"3":{"docs":{},"]":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.002793296089385475}}}},"4":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"5":{"2":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"docs":{}},"6":{"0":{"docs":{},",":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"9":{"9":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}},"docs":{}},"docs":{}},"8":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}},"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.009708737864077669},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.005186721991701245},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.009153318077803204}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.01892744479495268},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.00410958904109589},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.007261410788381743},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.006309148264984227},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.00946372239747634},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.004672897196261682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}},"i":{"docs":{},"f":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.012618296529968454},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.004497751124437781},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.00897308075772682},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"s":{"docs":{},"a":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.0035545023696682463},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.007598784194528876},"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"m":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"a":{"docs":{},"r":{"docs":{},"m":{"6":{"4":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0057306590257879654}}}}}}}}}},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.006756756756756757},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085},"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.04132231404958678},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.015151515151515152},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0031282586027111575},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0031806615776081423},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.004739336492890996},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.005997001499250375},"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.02127659574468085},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.024275118004045852},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.006870229007633588},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.008379888268156424},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"非":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"行":{"docs":{},"数":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},":":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0026972353337828725}}},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}}}},"c":{"docs":{},"f":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.00946372239747634}},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"位":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},":":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"点":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"位":{"docs":{},"到":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}},"别":{"docs":{},"处":{"docs":{},":":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"能":{"docs":{},"表":{"docs":{},"示":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}},"容":{"docs":{},"了":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"支":{"docs":{},"持":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"按":{"docs":{},"照":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"排":{"docs":{},"列":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"。":{"docs":{},"获":{"docs":{},"取":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"候":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"的":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"看":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{},"基":{"docs":{},"于":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"重":{"docs":{},"排":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},",":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"和":{"docs":{},"多":{"docs":{},"对":{"docs":{},"多":{"docs":{},"交":{"docs":{},"互":{"docs":{},"通":{"docs":{},"信":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"预":{"docs":{},"热":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"付":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},"代":{"docs":{},"码":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"宝":{"docs":{},"的":{"docs":{},"支":{"docs":{},"付":{"docs":{},"流":{"docs":{},"程":{"docs":{},"讲":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"那":{"docs":{},"微":{"docs":{},"信":{"docs":{},"支":{"docs":{},"付":{"docs":{},"也":{"docs":{},"讲":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"流":{"docs":{},"程":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"源":{"docs":{},"码":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135},"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"中":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"和":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"析":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}},"解":{"docs":{},"析":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"剖":{"docs":{},"析":{"docs":{},":":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"事":{"docs":{},"件":{"docs":{},"设":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}},"文":{"docs":{},"件":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"(":{"docs":{},".":{"docs":{},"m":{"docs":{},"/":{"docs":{},".":{"docs":{},"c":{"docs":{},"/":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"值":{"docs":{},"是":{"7":{"docs":{},"表":{"docs":{},"示":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"位":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}},"docs":{}}}}}}},"标":{"docs":{},"记":{"docs":{},"位":{"docs":{},"标":{"docs":{},"记":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/Memory/TaggedPointer.html":{"ref":"iOS/Memory/TaggedPointer.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"数":{"docs":{},"量":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"数":{"docs":{},"量":{"docs":{},"相":{"docs":{},"同":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}}}}}}}}}}}}}},"轮":{"docs":{},"询":{"docs":{},"返":{"docs":{},"回":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"业":{"docs":{},"界":{"docs":{},"有":{"docs":{},"些":{"docs":{},"方":{"docs":{},"案":{"docs":{},"是":{"docs":{},"把":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"^":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}},"{":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.005982053838484547},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.012934518997574777},"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.01066350710900474},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0029985007496251873},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456},"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.02},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"s":{"docs":{},",":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"它":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"数":{"docs":{},"组":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}},"做":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},")":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},",":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}},":":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"量":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"作":{"docs":{},"为":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"识":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"设":{"docs":{},"置":{"docs":{},"时":{"docs":{},"候":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},")":{"docs":{},"并":{"docs":{},"用":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"用":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},",":{"docs":{},"解":{"docs":{},"密":{"docs":{},"后":{"docs":{},"就":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},"了":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"能":{"docs":{},"够":{"docs":{},"说":{"docs":{},"明":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"的":{"docs":{},"持":{"docs":{},"有":{"docs":{},"者":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"单":{"docs":{},"位":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"c":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":10.090909090909092}},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},"有":{"docs":{},"提":{"docs":{},"到":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},"不":{"docs":{},"同":{"docs":{},"调":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"统":{"docs":{},"一":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"就":{"docs":{},"有":{"docs":{},"一":{"docs":{},"段":{"docs":{},"关":{"docs":{},"于":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"词":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":10.005}},"使":{"docs":{},"用":{"docs":{},"三":{"docs":{},"部":{"docs":{},"曲":{"docs":{},":":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"及":{"docs":{},"注":{"docs":{},"意":{"docs":{},"点":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"初":{"docs":{},"探":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}},"原":{"docs":{},"理":{"docs":{},"—":{"docs":{},"—":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},"及":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"对":{"docs":{},"被":{"docs":{},"监":{"docs":{},"听":{"docs":{},"对":{"docs":{},"象":{"docs":{},"无":{"docs":{},"侵":{"docs":{},"入":{"docs":{},"性":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"代":{"docs":{},"码":{"docs":{},"即":{"docs":{},"可":{"docs":{},"实":{"docs":{},"现":{"docs":{},"监":{"docs":{},"听":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}},"基":{"docs":{},"于":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"机":{"docs":{},"制":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}},"的":{"docs":{},"这":{"docs":{},"套":{"docs":{},"实":{"docs":{},"现":{"docs":{},"机":{"docs":{},"制":{"docs":{},"中":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"还":{"docs":{},"偷":{"docs":{},"偷":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"误":{"docs":{},"认":{"docs":{},"为":{"docs":{},"还":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"达":{"docs":{},"到":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"派":{"docs":{},"生":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.002369668246445498}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},")":{"docs":{},";":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},",":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"n":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"实":{"docs":{},"现":{"docs":{},"比":{"docs":{},"较":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"单":{"docs":{},"纯":{"docs":{},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.0060790273556231}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.004559270516717325}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"p":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00911854103343465}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.00303951367781155}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":10.00303951367781}},"e":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"个":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"来":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"相":{"docs":{},"互":{"docs":{},"不":{"docs":{},"竞":{"docs":{},"争":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"成":{"docs":{},"功":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"位":{"docs":{},"图":{"docs":{},"回":{"docs":{},"到":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"且":{"docs":{},"从":{"docs":{},"左":{"docs":{},"至":{"docs":{},"右":{"docs":{},"进":{"docs":{},"行":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},",":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"为":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},",":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"也":{"docs":{},"为":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"要":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"左":{"docs":{},"右":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"可":{"docs":{},"以":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"不":{"docs":{},"计":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"前":{"docs":{},"文":{"docs":{},"提":{"docs":{},"到":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"本":{"docs":{},"来":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"册":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"母":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"大":{"docs":{},"量":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"预":{"docs":{},"计":{"docs":{},"在":{"docs":{},"未":{"docs":{},"来":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"将":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"替":{"docs":{},"代":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"结":{"docs":{},"合":{"docs":{},":":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"包":{"docs":{},"含":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"该":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},".":{"docs":{},"o":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}},"哪":{"docs":{},"些":{"docs":{},"接":{"docs":{},"口":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"括":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"、":{"docs":{},"[":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}},"裹":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"a":{"docs":{},"r":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}},"内":{"docs":{},"容":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"包":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"又":{"docs":{},"包":{"docs":{},"含":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"选":{"docs":{},"锁":{"docs":{},"、":{"docs":{},"一":{"docs":{},"张":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"表":{"docs":{},"、":{"docs":{},"一":{"docs":{},"张":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"划":{"docs":{},"分":{"docs":{},"成":{"docs":{},"很":{"docs":{},"多":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"哈":{"docs":{},"希":{"docs":{},"数":{"docs":{},"据":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}},"组":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}},"表":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"结":{"docs":{},"构":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"存":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"够":{"docs":{},"立":{"docs":{},"刻":{"docs":{},"感":{"docs":{},"知":{"docs":{},"到":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"和":{"docs":{},"变":{"docs":{},"更":{"docs":{},",":{"docs":{},"还":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"抵":{"docs":{},"御":{"docs":{},"来":{"docs":{},"自":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"对":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"篡":{"docs":{},"改":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"安":{"docs":{},"全":{"docs":{},"和":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"同":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"树":{"docs":{},"、":{"docs":{},"上":{"docs":{},"一":{"docs":{},"次":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"、":{"docs":{},"作":{"docs":{},"者":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},"人":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"及":{"docs":{},"当":{"docs":{},"前":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"信":{"docs":{},"息":{"docs":{},"有":{"docs":{},"所":{"docs":{},"变":{"docs":{},"动":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"校":{"docs":{},"验":{"docs":{},"时":{"docs":{},"发":{"docs":{},"现":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"的":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"检":{"docs":{},"测":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"、":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"和":{"docs":{},"丢":{"docs":{},"失":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"这":{"docs":{},"也":{"docs":{},"能":{"docs":{},"够":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"阻":{"docs":{},"挡":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"对":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"恶":{"docs":{},"意":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"即":{"docs":{},"使":{"docs":{},"对":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"修":{"docs":{},"改":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"也":{"docs":{},"很":{"docs":{},"难":{"docs":{},"保":{"docs":{},"证":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"的":{"docs":{},"不":{"docs":{},"变":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"在":{"docs":{},"研":{"docs":{},"究":{"docs":{},"中":{"docs":{},"表":{"docs":{},"明":{"docs":{},"这":{"docs":{},"种":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"是":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"实":{"docs":{},"践":{"docs":{},"中":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"这":{"docs":{},"种":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"几":{"docs":{},"率":{"docs":{},"还":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"e":{"3":{"2":{"8":{"0":{"2":{"9":{"2":{"5":{"5":{"docs":{},"d":{"8":{"docs":{},"f":{"0":{"2":{"9":{"0":{"9":{"docs":{},"e":{"docs":{},"c":{"0":{"docs":{},"c":{"docs":{},"b":{"docs":{},"c":{"1":{"6":{"docs":{},"c":{"docs":{},"c":{"7":{"4":{"docs":{},"e":{"docs":{},"f":{"4":{"docs":{},"b":{"7":{"9":{"docs":{},"e":{"1":{"docs":{},"d":{"0":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"就":{"docs":{},"表":{"docs":{},"示":{"docs":{},"了":{"docs":{},"当":{"docs":{},"前":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"由":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"共":{"docs":{},"同":{"docs":{},"计":{"docs":{},"算":{"docs":{},"而":{"docs":{},"来":{"docs":{},"的":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"忙":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"锁":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"(":{"docs":{},"区":{"docs":{},"别":{"docs":{},"于":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"等":{"docs":{},"待":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}}}}}}}}}},"才":{"docs":{},"获":{"docs":{},"得":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},"行":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},"执":{"docs":{},"行":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"过":{"docs":{},"程":{"docs":{},":":{"docs":{},"每":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"、":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"序":{"docs":{},"列":{"docs":{},"和":{"docs":{},"程":{"docs":{},"序":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"能":{"docs":{},"独":{"docs":{},"立":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"依":{"docs":{},"存":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"由":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"提":{"docs":{},"供":{"docs":{},"多":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"进":{"docs":{},"组":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}},"完":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}}},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}},"一":{"docs":{},"次":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"结":{"docs":{},"果":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"指":{"docs":{},"针":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0031914893617021275},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"在":{"docs":{},"题":{"docs":{},"干":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"里":{"docs":{},"面":{"docs":{},"最":{"docs":{},"终":{"docs":{},"是":{"docs":{},"谁":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"由":{"docs":{},"于":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},",":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"置":{"docs":{},"空":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{},"一":{"docs":{},"维":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"可":{"docs":{},"构":{"docs":{},"成":{"docs":{},"一":{"docs":{},"张":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"第":{"docs":{},"三":{"docs":{},"纬":{"docs":{},"度":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"多":{"docs":{},"张":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"表":{"docs":{},"数":{"docs":{},"量":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"对":{"docs":{},"应":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},",":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"解":{"docs":{},"除":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"从":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"知":{"docs":{},"道":{"docs":{},"其":{"docs":{},"功":{"docs":{},"能":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"而":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{},"于":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{},"与":{"docs":{},"元":{"docs":{},"类":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"是":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"标":{"docs":{},"记":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"开":{"docs":{},"启":{"docs":{},"指":{"docs":{},"针":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"0":{"docs":{},":":{"docs":{},"纯":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"1":{"docs":{},":":{"docs":{},"不":{"docs":{},"⽌":{"docs":{},"是":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}},"加":{"docs":{},"上":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"只":{"docs":{},"存":{"docs":{},"于":{"docs":{},"第":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.006430868167202572}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"逐":{"docs":{},"级":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"父":{"docs":{},"类":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}},"和":{"docs":{},"自":{"docs":{},"己":{"docs":{},"比":{"docs":{},"较":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"相":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}},"若":{"docs":{},"不":{"docs":{},"等":{"docs":{},"则":{"docs":{},"继":{"docs":{},"续":{"docs":{},"取":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}}}}}}},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}},"到":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"外":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"指":{"docs":{},"向":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.005943536404160475}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"它":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"本":{"docs":{},"身":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"的":{"docs":{},"也":{"docs":{},"是":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"子":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}},"自":{"docs":{},"身":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"基":{"docs":{},"本":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"指":{"docs":{},"向":{"docs":{},"其":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"即":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}},"向":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.013333333333333334}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"达":{"docs":{},"到":{"docs":{},"了":{"docs":{},"使":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"机":{"docs":{},"制":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.027777777777777776}}}}}}}},"的":{"docs":{},"只":{"docs":{},"读":{"docs":{},"区":{"docs":{},"域":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"是":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"地":{"docs":{},"址":{"docs":{},"加":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}},"外":{"docs":{},"部":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"_":{"0":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0019940179461615153}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"函":{"docs":{},"数":{"docs":{},"地":{"docs":{},"址":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}},"了":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"令":{"docs":{},"来":{"docs":{},"到":{"docs":{},"入":{"docs":{},"口":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"条":{"docs":{},"数":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"示":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"含":{"docs":{},"有":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"定":{"docs":{},"了":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"是":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"主":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"或":{"docs":{},"者":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"代":{"docs":{},"表":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"除":{"docs":{},"非":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"创":{"docs":{},"建":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"是":{"docs":{},"分":{"docs":{},"类":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"此":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786},"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}},"是":{"docs":{},"有":{"docs":{},"空":{"docs":{},"槽":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},"某":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"它":{"docs":{},"的":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}},"类":{"docs":{},"的":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"需":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"最":{"docs":{},"常":{"docs":{},"想":{"docs":{},"到":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"。":{"docs":{},"例":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"影":{"docs":{},"响":{"docs":{},"该":{"docs":{},"库":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"1":{"docs":{},"中":{"docs":{},"加":{"docs":{},"锁":{"1":{"docs":{},"、":{"docs":{},"同":{"docs":{},"时":{"docs":{},"线":{"docs":{},"程":{"2":{"docs":{},"中":{"docs":{},"加":{"docs":{},"锁":{"2":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}},"docs":{}}}}},"docs":{}}}}}}},"docs":{}}}}},"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"申":{"docs":{},"请":{"docs":{},"锁":{"docs":{},",":{"docs":{},"却":{"docs":{},"在":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}},"和":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"上":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"销":{"docs":{},"毁":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"进":{"docs":{},"程":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"是":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"单":{"docs":{},"位":{"docs":{},",":{"docs":{},"但":{"docs":{},"进":{"docs":{},"程":{"docs":{},"不":{"docs":{},"是":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"执":{"docs":{},"行":{"docs":{},"单":{"docs":{},"元":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"池":{"docs":{},"中":{"docs":{},"超":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"树":{"docs":{},"木":{"docs":{},"的":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"存":{"docs":{},"活":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"大":{"docs":{},"小":{"docs":{},"(":{"docs":{},"核":{"docs":{},"心":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"大":{"docs":{},"小":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"速":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"就":{"docs":{},"越":{"docs":{},"大":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.016168148746968473}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"过":{"docs":{},"于":{"docs":{},"频":{"docs":{},"繁":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"交":{"docs":{},"互":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"会":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"退":{"docs":{},"出":{"docs":{},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},":":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"休":{"docs":{},"眠":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"没":{"docs":{},"找":{"docs":{},"到":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"最":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"docs":{},"快":{"docs":{},"的":{"docs":{},"找":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"而":{"docs":{},"这":{"docs":{},"么":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}},"。":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"种":{"docs":{},"非":{"docs":{},"强":{"docs":{},"制":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"被":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"数":{"docs":{},"据":{"docs":{},"或":{"docs":{},"者":{"docs":{},"资":{"docs":{},"源":{"docs":{},"前":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"获":{"docs":{},"取":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"锁":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},"释":{"docs":{},"放":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"锁":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"锁":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"试":{"docs":{},"图":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"锁":{"docs":{},"重":{"docs":{},"新":{"docs":{},"可":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"h":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"c":{"docs":{},"的":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"1":{"docs":{},",":{"1":{"docs":{},",":{"1":{"docs":{},")":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"docs":{}}},"docs":{}}},"docs":{}}},"2":{"docs":{},")":{"docs":{},"如":{"docs":{},"果":{"docs":{},"情":{"docs":{},"况":{"1":{"docs":{},"不":{"docs":{},"成":{"docs":{},"立":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"h":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},",":{"docs":{},"则":{"docs":{},"把":{"docs":{},"c":{"docs":{},"的":{"docs":{},"右":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"压":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"3":{"docs":{},")":{"docs":{},"如":{"docs":{},"果":{"docs":{},"情":{"docs":{},"况":{"1":{"docs":{},"和":{"docs":{},"情":{"docs":{},"况":{"2":{"docs":{},"都":{"docs":{},"不":{"docs":{},"成":{"docs":{},"立":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"c":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"令":{"docs":{},"h":{"docs":{},"等":{"docs":{},"于":{"docs":{},"c":{"docs":{},"。":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}},"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"向":{"docs":{},"被":{"docs":{},"引":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},")":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Memory/SideTables.html":{"ref":"iOS/Memory/SideTables.html","tf":0.0033783783783783786}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},")":{"docs":{},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"以":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"为":{"docs":{},"例":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"线":{"docs":{},"程":{"docs":{},"锁":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"自":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"应":{"docs":{},"答":{"docs":{},"机":{"docs":{},"制":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"包":{"docs":{},"序":{"docs":{},"号":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}}}}},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},")":{"docs":{},":":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}},"i":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}}},"①":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"②":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"③":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}},"④":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"成":{"docs":{},"员":{"docs":{},"不":{"docs":{},"用":{"docs":{},"多":{"docs":{},"说":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"是":{"docs":{},"协":{"docs":{},"助":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},"存":{"docs":{},"在":{"docs":{},":":{"docs":{},"_":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"存":{"docs":{},"函":{"docs":{},"数":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},",":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"存":{"docs":{},"储":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"由":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"颗":{"docs":{},"星":{"docs":{},"星":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"者":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"么":{"docs":{},"理":{"docs":{},"解":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"大":{"docs":{},"模":{"docs":{},"块":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{},"前":{"docs":{},"者":{"docs":{},"负":{"docs":{},"责":{"docs":{},"与":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"设":{"docs":{},"置":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"宏":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"与":{"docs":{},"对":{"docs":{},"象":{"docs":{},"相":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"位":{"docs":{},"的":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"情":{"docs":{},"况":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}},"指":{"docs":{},"针":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"⽤":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"类":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"来":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"由":{"docs":{},"于":{"docs":{},"地":{"docs":{},"址":{"docs":{},"要":{"docs":{},"按":{"docs":{},"字":{"docs":{},"节":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"按":{"docs":{},"字":{"docs":{},"节":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"掩":{"docs":{},"码":{"docs":{},"的":{"docs":{},"后":{"docs":{},"三":{"docs":{},"位":{"docs":{},"都":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"后":{"docs":{},"三":{"docs":{},"位":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"关":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}}},"置":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"代":{"docs":{},"码":{"docs":{},"独":{"docs":{},"立":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"系":{"docs":{},"统":{"docs":{},"了":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"还":{"docs":{},"是":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"(":{"docs":{},"从":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"例":{"docs":{},"如":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},":":{"docs":{},"对":{"docs":{},"于":{"docs":{},"图":{"3":{"docs":{},".":{"8":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}},"docs":{}}},"docs":{}}}},"图":{"docs":{},"一":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"了":{"docs":{},",":{"docs":{},"而":{"docs":{},"图":{"docs":{},"二":{"docs":{},"则":{"docs":{},"不":{"docs":{},"是":{"docs":{},"(":{"docs":{},"节":{"docs":{},"点":{"docs":{},"右":{"docs":{},"边":{"docs":{},"标":{"docs":{},"的":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"的":{"docs":{},"、":{"docs":{},"空":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"没":{"docs":{},"有":{"docs":{},"画":{"docs":{},"出":{"docs":{},")":{"docs":{},"(":{"docs":{},"图":{"docs":{},"片":{"docs":{},"来":{"docs":{},"自":{"docs":{},"极":{"docs":{},"客":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"写":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"对":{"docs":{},"于":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{},"某":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}},"题":{"docs":{},":":{"docs":{},"若":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"为":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},",":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"为":{"docs":{},"c":{"docs":{},"b":{"docs":{},"a":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},",":{"docs":{},"请":{"docs":{},"画":{"docs":{},"出":{"docs":{},"这":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"了":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"将":{"docs":{},"声":{"docs":{},"明":{"docs":{},"方":{"docs":{},"式":{"docs":{},"做":{"docs":{},"出":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"调":{"docs":{},"整":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"工":{"docs":{},"作":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"适":{"docs":{},"合":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"哪":{"docs":{},"些":{"docs":{},"事":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}},"任":{"docs":{},"何":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"就":{"docs":{},"是":{"docs":{},"记":{"docs":{},"录":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"时":{"docs":{},"机":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"编":{"docs":{},"译":{"docs":{},"选":{"docs":{},"项":{"docs":{},"在":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},".":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"x":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"可":{"docs":{},"配":{"docs":{},"置":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"?":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"元":{"docs":{},"素":{"docs":{},"上":{"docs":{},"限":{"docs":{},"阀":{"docs":{},"值":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"相":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"插":{"docs":{},"入":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"类":{"docs":{},"是":{"docs":{},"必":{"docs":{},"不":{"docs":{},"可":{"docs":{},"少":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"存":{"docs":{},"储":{"docs":{},"了":{"docs":{},"类":{"docs":{},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"独":{"docs":{},"一":{"docs":{},"无":{"docs":{},"二":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"类":{"docs":{},"都":{"docs":{},"有":{"docs":{},"独":{"docs":{},"一":{"docs":{},"无":{"docs":{},"二":{"docs":{},"的":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"类":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},",":{"docs":{},"就":{"docs":{},"像":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"类":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"自":{"docs":{},"然":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"他":{"docs":{},"必":{"docs":{},"须":{"docs":{},"也":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"同":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"对":{"docs":{},"于":{"docs":{},"对":{"docs":{},"象":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"在":{"docs":{},"今":{"docs":{},"后":{"docs":{},"的":{"docs":{},"文":{"docs":{},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"主":{"docs":{},"要":{"docs":{},"看":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"条":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"要":{"docs":{},"验":{"docs":{},"证":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"够":{"docs":{},"信":{"docs":{},"任":{"docs":{},"整":{"docs":{},"条":{"docs":{},"链":{"docs":{},"路":{"docs":{},"上":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"本":{"docs":{},"地":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"损":{"docs":{},"坏":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"记":{"docs":{},"录":{"docs":{},"从":{"docs":{},"远":{"docs":{},"程":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"否":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"损":{"docs":{},"坏":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"时":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"到":{"docs":{},"主":{"docs":{},"存":{"docs":{},"中":{"docs":{},"才":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.004720161834120027},"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"把":{"docs":{},"心":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"进":{"docs":{},"行":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"与":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"进":{"docs":{},"行":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"最":{"docs":{},"后":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"首":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}},",":{"docs":{},"生":{"docs":{},"产":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"c":{"docs":{},"p":{"docs":{},"p":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"窥":{"docs":{},"探":{"docs":{},"其":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"(":{"docs":{},"编":{"docs":{},"译":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"!":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}},"它":{"docs":{},"做":{"docs":{},"的":{"docs":{},"是":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"优":{"docs":{},"先":{"docs":{},"放":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"选":{"docs":{},"择":{"docs":{},"器":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"看":{"docs":{},"上":{"docs":{},"去":{"docs":{},"就":{"docs":{},"像":{"docs":{},"被":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"_":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"0":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}},"获":{"docs":{},"取":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"有":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"。":{"docs":{},"它":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"地":{"docs":{},"址":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"之":{"docs":{},"后":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"这":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"里":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"就":{"docs":{},"是":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"将":{"docs":{},"其":{"docs":{},"管":{"docs":{},"理":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"更":{"docs":{},"新":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"布":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"步":{"docs":{},":":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}},"转":{"docs":{},"换":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"属":{"docs":{},"性":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"前":{"docs":{},"台":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"则":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"配":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"新":{"docs":{},"值":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"类":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"下":{"docs":{},"面":{"docs":{},"三":{"docs":{},"步":{"docs":{},":":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"信":{"docs":{},"息":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"要":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"中":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"关":{"docs":{},"联":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},"详":{"docs":{},"细":{"docs":{},"研":{"docs":{},"究":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"将":{"docs":{},"附":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"整":{"docs":{},"合":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"优":{"docs":{},"先":{"docs":{},"放":{"docs":{},"到":{"docs":{},"前":{"docs":{},"面":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"式":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"从":{"docs":{},"开":{"docs":{},"发":{"docs":{},"程":{"docs":{},"序":{"docs":{},"以":{"docs":{},"来":{"docs":{},"就":{"docs":{},"一":{"docs":{},"直":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"更":{"docs":{},"加":{"docs":{},"符":{"docs":{},"合":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"场":{"docs":{},"景":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}},"析":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842},"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}},"前":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"点":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"故":{"docs":{},"a":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"。":{"docs":{},"早":{"docs":{},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"中":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"处":{"docs":{},"于":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"结":{"docs":{},"点":{"docs":{},"中":{"docs":{},"间":{"docs":{},",":{"docs":{},"故":{"docs":{},"结":{"docs":{},"点":{"docs":{},"a":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"结":{"docs":{},"点":{"docs":{},"有":{"docs":{},"c":{"docs":{},"b":{"docs":{},",":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"结":{"docs":{},"点":{"docs":{},"有":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"三":{"docs":{},"种":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"钟":{"docs":{},"理":{"docs":{},"解":{"docs":{},"完":{"docs":{},"全":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"、":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"、":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}},"别":{"docs":{},"为":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"和":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"快":{"docs":{},"指":{"docs":{},"针":{"docs":{},"表":{"docs":{},"示":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"数":{"docs":{},"组":{"docs":{},"到":{"docs":{},"达":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"慢":{"docs":{},"指":{"docs":{},"针":{"docs":{},"表":{"docs":{},"示":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"元":{"docs":{},"素":{"docs":{},"要":{"docs":{},"填":{"docs":{},"入":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"时":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"都":{"docs":{},"指":{"docs":{},"向":{"docs":{},"下":{"docs":{},"标":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"担":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"整":{"docs":{},"体":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"解":{"docs":{},"体":{"docs":{},"积":{"docs":{},"庞":{"docs":{},"大":{"docs":{},"的":{"docs":{},"类":{"docs":{},"文":{"docs":{},"件":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}},"开":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"把":{"docs":{},"以":{"docs":{},"上":{"docs":{},"方":{"docs":{},"案":{"docs":{},"里":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"支":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.006038647342995169},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.00496031746031746}},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{},"保":{"docs":{},"证":{"docs":{},"所":{"docs":{},"有":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"地":{"docs":{},"址":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"已":{"docs":{},"经":{"docs":{},"成":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"会":{"docs":{},"先":{"docs":{},"向":{"docs":{},"这":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"来":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"进":{"docs":{},"入":{"docs":{},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"过":{"docs":{},"的":{"docs":{},"可":{"docs":{},"变":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}},",":{"docs":{},"在":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"保":{"docs":{},"证":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"非":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"核":{"docs":{},"心":{"docs":{},"规":{"docs":{},"则":{"docs":{},"展":{"docs":{},"开":{"docs":{},"而":{"docs":{},"来":{"docs":{},",":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}},"增":{"docs":{},"加":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"于":{"docs":{},"附":{"docs":{},"加":{"docs":{},"对":{"docs":{},"象":{"docs":{},"上":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"一":{"docs":{},"个":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"当":{"docs":{},"内":{"docs":{},"存":{"docs":{},"紧":{"docs":{},"张":{"docs":{},"时":{"docs":{},",":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"这":{"docs":{},"些":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"功":{"docs":{},"能":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"每":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"名":{"docs":{},"叫":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"程":{"docs":{},"序":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"器":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"了":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},":":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"+":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}},"私":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"可":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"即":{"docs":{},"使":{"docs":{},"工":{"docs":{},"程":{"docs":{},"中":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"同":{"docs":{},"名":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"致":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"入":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"位":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"表":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"为":{"docs":{},"最":{"docs":{},"低":{"docs":{},"有":{"docs":{},"效":{"docs":{},"位":{"docs":{},",":{"docs":{},"当":{"docs":{},"其":{"docs":{},"为":{"0":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"docs":{}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"其":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"针":{"docs":{},"对":{"docs":{},"于":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"为":{"docs":{},"多":{"docs":{},"行":{"docs":{},"静":{"docs":{},"态":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},",":{"docs":{},"从":{"docs":{},"字":{"docs":{},"面":{"docs":{},"意":{"docs":{},"思":{"docs":{},"上":{"docs":{},"看":{"docs":{},",":{"docs":{},"即":{"docs":{},"为":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"现":{"docs":{},"也":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}},"这":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"变":{"docs":{},"量":{"docs":{},":":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"指":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"是":{"docs":{},"基":{"docs":{},"础":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}},"长":{"docs":{},"指":{"docs":{},"北":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"功":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"将":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"圆":{"docs":{},"形":{"docs":{},",":{"docs":{},"再":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"画":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"熟":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"技":{"docs":{},"术":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"方":{"docs":{},"案":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},",":{"docs":{},"可":{"docs":{},"提":{"docs":{},"供":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"高":{"docs":{},"级":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"技":{"docs":{},"术":{"docs":{},"用":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"不":{"docs":{},"要":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"大":{"docs":{},"量":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"对":{"docs":{},"象":{"docs":{},"更":{"docs":{},"适":{"docs":{},"合":{"docs":{},"与":{"docs":{},"其":{"docs":{},"他":{"docs":{},"进":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"在":{"docs":{},"这":{"docs":{},"些":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"事":{"docs":{},"务":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"也":{"docs":{},"很":{"docs":{},"高":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"章":{"docs":{"Article/ReadME.html":{"ref":"Article/ReadME.html","tf":1}},"收":{"docs":{},"集":{"docs":{"Article/ReadME.html":{"ref":"Article/ReadME.html","tf":10}}}}}}}},"无":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"效":{"docs":{},"对":{"docs":{},"象":{"docs":{},"直":{"docs":{},"接":{"docs":{},"导":{"docs":{},"致":{"docs":{},"指":{"docs":{},"针":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}},"论":{"docs":{},"是":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"还":{"docs":{},"是":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"在":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"什":{"docs":{},"么":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"重":{"docs":{},"写":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"能":{"docs":{},"确":{"docs":{},"保":{"docs":{},"所":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"就":{"docs":{},"是":{"docs":{},"去":{"docs":{},"解":{"docs":{},"决":{"docs":{},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"期":{"docs":{},"找":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{},"结":{"docs":{},"束":{"docs":{},"解":{"docs":{},"锁":{"docs":{},"—":{"docs":{},"—":{"docs":{},"形":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"地":{"docs":{},"址":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}},"在":{"docs":{},"一":{"docs":{},"次":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"就":{"docs":{},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"触":{"docs":{},"发":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"挥":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"?":{"docs":{},"它":{"docs":{},"有":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"特":{"docs":{},"性":{"docs":{},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}},"差":{"docs":{},"错":{"docs":{},"情":{"docs":{},"况":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.016129032258064516}}}}},"旧":{"docs":{},"对":{"docs":{},"象":{"docs":{},"以":{"docs":{},"及":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}}}}}}},"解":{"docs":{},"除":{"docs":{},"注":{"docs":{},"册":{"docs":{},"操":{"docs":{},"作":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"就":{"docs":{},"自":{"docs":{},"动":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"里":{"docs":{},"面":{"docs":{},"调":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"替":{"docs":{},"代":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"换":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"设":{"docs":{},"置":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"名":{"docs":{},"需":{"docs":{},"与":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"图":{"docs":{},"完":{"docs":{},"全":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"文":{"docs":{},"件":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"名":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},"格":{"docs":{},"式":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"需":{"docs":{},"与":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"大":{"docs":{},"小":{"docs":{},"一":{"docs":{},"致":{"docs":{},"(":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"等":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"或":{"docs":{},"高":{"docs":{},"宽":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"即":{"docs":{},"保":{"docs":{},"证":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"不":{"docs":{},"变":{"docs":{},",":{"docs":{},"但":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"全":{"docs":{},"部":{"docs":{},"替":{"docs":{},"换":{"docs":{},",":{"docs":{},"验":{"docs":{},"证":{"docs":{},"方":{"docs":{},"案":{"docs":{},"有":{"docs":{},"效":{"docs":{},":":{"docs":{},"替":{"docs":{},"换":{"docs":{},"后":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"据":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.00199203187250996},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"首":{"docs":{},"对":{"docs":{},"象":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},"消":{"docs":{},"息":{"docs":{},"接":{"docs":{},"受":{"docs":{},"者":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"找":{"docs":{},"到":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"存":{"docs":{},"在":{"docs":{},"元":{"docs":{},"类":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"作":{"docs":{},"为":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"则":{"docs":{},"就":{"docs":{},"是":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"基":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"他":{"docs":{},"自":{"docs":{},"己":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"特":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"解":{"docs":{},"释":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"与":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"原":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"模":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"配":{"docs":{},"置":{"docs":{},"打":{"docs":{},"印":{"docs":{},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"种":{"docs":{},":":{"docs":{},"冷":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},"和":{"docs":{},"回":{"docs":{},"前":{"docs":{},"台":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"显":{"docs":{},"示":{"docs":{},"那":{"docs":{},"个":{"docs":{},"—":{"docs":{},"—":{"docs":{},"当":{"docs":{},"后":{"docs":{},"台":{"docs":{},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"业":{"docs":{},"务":{"docs":{},"和":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"公":{"docs":{},"司":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"以":{"docs":{},"上":{"docs":{},"一":{"docs":{},"种":{"docs":{},"或":{"docs":{},"者":{"docs":{},"某":{"docs":{},"几":{"docs":{},"种":{"docs":{},"的":{"docs":{},"组":{"docs":{},"合":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"或":{"docs":{},"者":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"等":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"符":{"docs":{},"合":{"docs":{},"这":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{},"u":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"父":{"docs":{},"视":{"docs":{},"图":{"docs":{},"已":{"docs":{},"经":{"docs":{},"添":{"docs":{},"加":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"正":{"docs":{},"常":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"推":{"docs":{},"断":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}},"苹":{"docs":{},"果":{"docs":{},"的":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"查":{"docs":{},"找":{"docs":{},"响":{"docs":{},"应":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"一":{"docs":{},"样":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"向":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"派":{"docs":{},"发":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"存":{"docs":{},"在":{"docs":{},"能":{"docs":{},"够":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"则":{"docs":{},"手":{"docs":{},"势":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"势":{"docs":{},"不":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"不":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"在":{"docs":{},"证":{"docs":{},"书":{"docs":{},"验":{"docs":{},"证":{"docs":{},"中":{"docs":{},"极":{"docs":{},"其":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},",":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"无":{"docs":{},"条":{"docs":{},"件":{"docs":{},"信":{"docs":{},"任":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"安":{"docs":{},"装":{"docs":{},"上":{"docs":{},",":{"docs":{},"就":{"docs":{},"说":{"docs":{},"明":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"信":{"docs":{},"任":{"docs":{},"的":{"docs":{},",":{"docs":{},"若":{"docs":{},"终":{"docs":{},"端":{"docs":{},"信":{"docs":{},"任":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"则":{"docs":{},"信":{"docs":{},"任":{"docs":{},"根":{"docs":{},"证":{"docs":{},"书":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"终":{"docs":{},"端":{"docs":{},"没":{"docs":{},"有":{"docs":{},"安":{"docs":{},"装":{"docs":{},"相":{"docs":{},"应":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"证":{"docs":{},"书":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"网":{"docs":{},"站":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"加":{"docs":{},"入":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}},"泛":{"docs":{},"型":{"docs":{},"成":{"docs":{},"员":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"根":{"docs":{},"据":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"均":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"废":{"docs":{},"弃":{"docs":{},",":{"docs":{},"出":{"docs":{},"于":{"docs":{},"安":{"docs":{},"全":{"docs":{},"问":{"docs":{},"题":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"广":{"docs":{},"大":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"也":{"docs":{},"不":{"docs":{},"再":{"docs":{},"对":{"docs":{},"老":{"docs":{},"旧":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"统":{"docs":{},"一":{"docs":{},"使":{"docs":{},"用":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"和":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"所":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"数":{"docs":{},"字":{"docs":{},"证":{"docs":{},"书":{"docs":{},"认":{"docs":{},"证":{"docs":{},"机":{"docs":{},"构":{"docs":{},"(":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"不":{"docs":{},"小":{"docs":{},"心":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"忘":{"docs":{},"记":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"插":{"docs":{},"入":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"号":{"docs":{},",":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"时":{"docs":{},"有":{"docs":{},"发":{"docs":{},"生":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"零":{"docs":{},"售":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"达":{"docs":{},"到":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"型":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"保":{"docs":{},"证":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"来":{"docs":{},"自":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"或":{"docs":{},"者":{"docs":{},"损":{"docs":{},"坏":{"docs":{},"的":{"docs":{},"保":{"docs":{},"护":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"足":{"docs":{},"够":{"docs":{},"好":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"支":{"docs":{},"持":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"假":{"docs":{},"如":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"先":{"docs":{},"发":{"docs":{},"起":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"此":{"docs":{},"时":{"docs":{},"双":{"docs":{},"方":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"全":{"docs":{},"建":{"docs":{},"立":{"docs":{},"其":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"把":{"docs":{},"此":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"请":{"docs":{},"求":{"docs":{},"连":{"docs":{},"接":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"队":{"docs":{},"列":{"docs":{},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"这":{"docs":{},"种":{"docs":{},"队":{"docs":{},"列":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"双":{"docs":{},"方":{"docs":{},"已":{"docs":{},"建":{"docs":{},"立":{"docs":{},"起":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.021645021645021644}},"对":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"他":{"docs":{},"已":{"docs":{},"经":{"docs":{},"建":{"docs":{},"立":{"docs":{},"起":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"能":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"没":{"docs":{},"啥":{"docs":{},"毛":{"docs":{},"病":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"需":{"docs":{},"要":{"docs":{},"过":{"docs":{},"一":{"docs":{},"阵":{"docs":{},"子":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}},"符":{"docs":{},"的":{"docs":{},"重":{"docs":{},"载":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"号":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"化":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"算":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},",":{"docs":{},"用":{"docs":{},"作":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"通":{"docs":{},"过":{"docs":{},"减":{"docs":{},"少":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"提":{"docs":{},"高":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}},"确":{"docs":{},"实":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"较":{"docs":{},"小":{"docs":{},"时":{"docs":{},"提":{"docs":{},"高":{"docs":{},"网":{"docs":{},"络":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"并":{"docs":{},"减":{"docs":{},"少":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"型":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"填":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}},"属":{"docs":{},"性":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"下":{"docs":{},"文":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"特":{"docs":{},"定":{"docs":{},"规":{"docs":{},"则":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"识":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},"而":{"docs":{},"言":{"docs":{},"的":{"docs":{},"。":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"指":{"docs":{},"类":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},";":{"docs":{},"由":{"docs":{},"此":{"docs":{},"推":{"docs":{},"理":{"docs":{},",":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},":":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},"的":{"docs":{},"继":{"docs":{},"承":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"是":{"docs":{},"元":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"由":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"有":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"类":{"docs":{},",":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"元":{"docs":{},"类":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"又":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"查":{"docs":{},"找":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"入":{"docs":{},"元":{"docs":{},"类":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"类":{"docs":{},"还":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"类":{"docs":{},"的":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},":":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"了":{"docs":{},"父":{"docs":{},"类":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"元":{"docs":{},"类":{"docs":{},"用":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"元":{"docs":{},"类":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"、":{"docs":{},"属":{"docs":{},"性":{"docs":{},"以":{"docs":{},"及":{"docs":{},"协":{"docs":{},"议":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"间":{"docs":{},"存":{"docs":{},"放":{"docs":{},"到":{"docs":{},"了":{"docs":{},"“":{"docs":{},"错":{"docs":{},"误":{"docs":{},"”":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}},"理":{"docs":{},"解":{"docs":{},"与":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"结":{"docs":{},"构":{"docs":{},"和":{"docs":{},"定":{"docs":{},"义":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}},"中":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"、":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"有":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},"都":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"载":{"docs":{},"进":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"需":{"docs":{},"导":{"docs":{},"入":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}},"别":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"装":{"docs":{},"载":{"docs":{},"到":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"当":{"docs":{},"类":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"之":{"docs":{},"后":{"docs":{},"它":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"无":{"docs":{},"法":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"之":{"docs":{},"前":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"记":{"docs":{},"录":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"请":{"docs":{},"求":{"docs":{},"标":{"docs":{},"识":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"多":{"docs":{},"余":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"务":{"docs":{},"类":{"docs":{},",":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}},",":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}},"似":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"也":{"docs":{},"封":{"docs":{},"装":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}},"名":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"称":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}}}},"开":{"docs":{},"始":{"docs":{},"找":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"结":{"docs":{},"构":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"有":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"了":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"他":{"docs":{},"内":{"docs":{},"部":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"继":{"docs":{},"续":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"阅":{"docs":{},"读":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}},"往":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},"向":{"docs":{},"左":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"结":{"docs":{},"点":{"docs":{},"b":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"b":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"至":{"docs":{},"i":{"docs":{},",":{"docs":{},"i":{"docs":{},"左":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"均":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"故":{"docs":{},"第":{"docs":{},"三":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"i":{"docs":{},"时":{"docs":{},",":{"docs":{},"输":{"docs":{},"出":{"docs":{},"i":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"承":{"docs":{},"于":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}},"自":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},"子":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.002127659574468085}},"。":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}},"因":{"docs":{},"为":{"docs":{},"散":{"docs":{},"列":{"docs":{},"表":{"docs":{},"检":{"docs":{},"索":{"docs":{},"起":{"docs":{},"来":{"docs":{},"更":{"docs":{},"快":{"docs":{},",":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888}}}}}}}}}}}}}}},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"与":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}},"示":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/ObjectClass.html":{"ref":"iOS/Objc_Object/ObjectClass.html","tf":0.013888888888888888},"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}},"x":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"假":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{},"更":{"docs":{},"大":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}},"真":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{},"更":{"docs":{},"大":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"存":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"记":{"docs":{},"录":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}},"并":{"docs":{},"存":{"docs":{},"储":{"docs":{},"对":{"docs":{},"应":{"docs":{},"引":{"docs":{},"用":{"docs":{},"表":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"向":{"docs":{},"本":{"docs":{},"地":{"docs":{},"运":{"docs":{},"营":{"docs":{},"商":{"docs":{},"询":{"docs":{},"问":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"腾":{"docs":{},"讯":{"docs":{},"面":{"docs":{},"试":{"docs":{},":":{"docs":{},"有":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"、":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"(":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},")":{"docs":{},"为":{"docs":{},"啥":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"红":{"docs":{},"黑":{"docs":{},"树":{"docs":{},"?":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"将":{"docs":{},"旧":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"就":{"docs":{},"是":{"docs":{},"那":{"docs":{},"个":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"用":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"核":{"docs":{},"心":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"量":{"docs":{},"的":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"来":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{},"减":{"docs":{},"少":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"度":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"流":{"docs":{},"程":{"docs":{},"主":{"docs":{},"要":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"长":{"docs":{},"度":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}},"说":{"docs":{},"明":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426},"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"的":{"docs":{},"更":{"docs":{},"拗":{"docs":{},"口":{"docs":{},"一":{"docs":{},"点":{"docs":{},"就":{"docs":{},"是":{"docs":{},",":{"docs":{},"根":{"docs":{},"元":{"docs":{},"类":{"docs":{},"把":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"设":{"docs":{},"置":{"docs":{},"成":{"docs":{},"了":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"应":{"docs":{},"该":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"接":{"docs":{},"着":{"docs":{},"回":{"docs":{},"到":{"docs":{},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"之":{"docs":{},"后":{"docs":{},"就":{"docs":{},"会":{"docs":{},"清":{"docs":{},"掉":{"docs":{},"当":{"docs":{},"前":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"上":{"docs":{},"次":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"白":{"docs":{},"了":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"值":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"线":{"docs":{},"程":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"重":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"间":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"“":{"docs":{},"已":{"docs":{},"失":{"docs":{},"效":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"”":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"本":{"docs":{},"连":{"docs":{},"接":{"docs":{},"中":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"手":{"docs":{},"动":{"docs":{},"对":{"docs":{},"其":{"docs":{},"增":{"docs":{},"加":{"docs":{},"保":{"docs":{},"护":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"唤":{"docs":{},"醒":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"当":{"docs":{},"修":{"docs":{},"改":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"非":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"切":{"docs":{},"记":{"docs":{},"选":{"docs":{},"择":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{},"和":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"3":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"方":{"docs":{},"式":{"docs":{},"略":{"docs":{},"有":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"2":{"docs":{},"是":{"docs":{},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"重":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"所":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"。":{"docs":{},"原":{"docs":{},"因":{"docs":{},"也":{"docs":{},"是":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"新":{"docs":{},"值":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"及":{"docs":{},"时":{"docs":{},"清":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{"iOS/Memory/WeakTable.html":{"ref":"iOS/Memory/WeakTable.html","tf":0.0010638297872340426}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},",":{"docs":{},"如":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"这":{"docs":{},"节":{"docs":{},"约":{"docs":{},"了":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"至":{"docs":{},"少":{"docs":{},"三":{"docs":{},"次":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"了":{"docs":{},"解":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"修":{"docs":{},"正":{"docs":{},"不":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"指":{"docs":{},"针":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"完":{"docs":{},"全":{"docs":{},"兼":{"docs":{},"容":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"解":{"docs":{},"决":{"docs":{},"符":{"docs":{},"号":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"让":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"配":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"地":{"docs":{},"址":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"√":{"docs":{},"默":{"docs":{},"认":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}}}}},"严":{"docs":{},"格":{"docs":{},"说":{"docs":{},"来":{"docs":{},",":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}},"段":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"让":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"为":{"docs":{},"你":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"与":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"i":{"docs":{},"f":{"docs":{"iOS/Objc_Object/OCAllocInit.html":{"ref":"iOS/Objc_Object/OCAllocInit.html","tf":0.002336448598130841}}}}}},"数":{"docs":{},"量":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"一":{"docs":{},"些":{"docs":{},"无":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"下":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"那":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"统":{"docs":{},"计":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"用":{"docs":{},"到":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.00974025974025974}}}},"大":{"docs":{},"致":{"docs":{},"做":{"docs":{},"了":{"docs":{},"如":{"docs":{},"下":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"去":{"docs":{},"添":{"docs":{},"加":{"docs":{},"支":{"docs":{},"付":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"面":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"和":{"docs":{},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{},"_":{"docs":{},"c":{"docs":{},"f":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"_":{"0":{"docs":{},"和":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"又":{"docs":{},"再":{"docs":{},"次":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"(":{"docs":{},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},")":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"如":{"docs":{},"果":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"和":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"方":{"docs":{},"法":{"docs":{},"签":{"docs":{},"名":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"_":{"docs":{},"_":{"docs":{},"方":{"docs":{},"法":{"docs":{},"才":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"转":{"docs":{},"发":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"是":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}}}},"很":{"docs":{},"短":{"docs":{},",":{"docs":{},"全":{"docs":{},"文":{"docs":{},"摘":{"docs":{},"录":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"以":{"docs":{},"注":{"docs":{},"释":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"详":{"docs":{},"细":{"docs":{},"解":{"docs":{},"读":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"它":{"docs":{},"有":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"弱":{"docs":{},"于":{"docs":{},"基":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"封":{"docs":{},"装":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"对":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"有":{"docs":{},"多":{"docs":{},"少":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"个":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"在":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"瘦":{"docs":{},"身":{"docs":{},"实":{"docs":{},"践":{"docs":{},"_":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":3.333333333333333}}}}}}}},"表":{"docs":{},"意":{"docs":{},"义":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"理":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"写":{"docs":{},"@":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"声":{"docs":{},"明":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"三":{"docs":{},"件":{"docs":{},"事":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}},"法":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}},"者":{"docs":{},"写":{"docs":{},"者":{"docs":{},"互":{"docs":{},"斥":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"是":{"docs":{},"排":{"docs":{},"他":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"同":{"docs":{},"时":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"⼀":{"docs":{},"个":{"docs":{},"写":{"docs":{},"者":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"读":{"docs":{},"者":{"docs":{},"(":{"docs":{},"与":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"数":{"docs":{},"相":{"docs":{},"关":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"既":{"docs":{},"有":{"docs":{},"读":{"docs":{},"者":{"docs":{},"⼜":{"docs":{},"有":{"docs":{},"写":{"docs":{},"者":{"docs":{},"。":{"docs":{},"在":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"保":{"docs":{},"持":{"docs":{},"期":{"docs":{},"间":{"docs":{},"也":{"docs":{},"是":{"docs":{},"抢":{"docs":{},"占":{"docs":{},"失":{"docs":{},"效":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"入":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},".":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"硬":{"docs":{},"盘":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"起":{"docs":{},"来":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"些":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"额":{"docs":{},"外":{"docs":{},"写":{"docs":{},"单":{"docs":{},"测":{"docs":{},"保":{"docs":{},"证":{"docs":{},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}},"遵":{"docs":{},"循":{"docs":{},"者":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"定":{"docs":{},"义":{"docs":{},"并":{"docs":{},"且":{"docs":{},"缺":{"docs":{},"乏":{"docs":{},"设":{"docs":{},"计":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},"。":{"docs":{},"本":{"docs":{},"文":{"docs":{},"将":{"docs":{},"从":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"以":{"docs":{},"消":{"docs":{},"息":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},"向":{"docs":{},"目":{"docs":{},"的":{"docs":{},"主":{"docs":{},"机":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"会":{"docs":{},"被":{"docs":{},"组":{"docs":{},"合":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"目":{"docs":{},"标":{"docs":{},"的":{"docs":{},"主":{"docs":{},"机":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"了":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},":":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}},"以":{"docs":{},"及":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"分":{"docs":{},"析":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"分":{"docs":{},"成":{"docs":{},"多":{"docs":{},"个":{"docs":{},"包":{"docs":{},"依":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"而":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"收":{"docs":{},"到":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"『":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"』":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"从":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"算":{"docs":{},"法":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"多":{"docs":{},"次":{"docs":{},"写":{"docs":{},"入":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"被":{"docs":{},"合":{"docs":{},"并":{"docs":{},"或":{"docs":{},"者":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"当":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"从":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"机":{"docs":{},"制":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"消":{"docs":{},"息":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"向":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"组":{"docs":{},"合":{"docs":{},"或":{"docs":{},"者":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},";":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"、":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},"、":{"docs":{},"基":{"docs":{},"于":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"的":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"通":{"docs":{},"信":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"交":{"docs":{},"给":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"粘":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}},"栈":{"docs":{},"中":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"不":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"了":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"段":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"可":{"docs":{},"能":{"docs":{},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"对":{"docs":{},"它":{"docs":{},"们":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"和":{"docs":{},"重":{"docs":{},"组":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"粘":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"设":{"docs":{},"计":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"了":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"出":{"docs":{},"现":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"设":{"docs":{},"计":{"docs":{},"者":{"docs":{},"对":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"然":{"docs":{},"后":{"docs":{},"就":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"网":{"docs":{},"络":{"docs":{},"层":{"docs":{},"了":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}},"与":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"起":{"docs":{},"来":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}},"天":{"docs":{},"然":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"基":{"docs":{},"本":{"docs":{},"无":{"docs":{},"损":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"属":{"docs":{},"性":{"docs":{},")":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}},"部":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"观":{"docs":{},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},"模":{"docs":{},"式":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"影":{"docs":{},"响":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"拷":{"docs":{},"贝":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"方":{"docs":{},"式":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"类":{"docs":{},"型":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"到":{"docs":{},"目":{"docs":{},"标":{"docs":{},"包":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}},"浅":{"docs":{},"拷":{"docs":{},"贝":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.01020408163265306}}}}},"目":{"docs":{},"标":{"docs":{},"对":{"docs":{},"象":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"和":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"/":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"出":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"严":{"docs":{},"选":{"docs":{},"商":{"docs":{},"城":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"前":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"视":{"docs":{},"频":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}}}}}}}}}},"天":{"docs":{},"猫":{"docs":{},"和":{"docs":{},"蘑":{"docs":{},"菇":{"docs":{},"街":{"docs":{},"都":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"录":{"docs":{},",":{"docs":{},"清":{"docs":{},"理":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"切":{"docs":{},"记":{"docs":{},"不":{"docs":{},"要":{"docs":{},"清":{"docs":{},"理":{"docs":{},"这":{"docs":{},"个":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"看":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"只":{"docs":{},"能":{"docs":{},"被":{"docs":{},"用":{"docs":{},"在":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}}}},"言":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"家":{"docs":{},"族":{"docs":{},"的":{"docs":{},"前":{"docs":{},"端":{"docs":{},"是":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},":":{"docs":{},"将":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},"得":{"docs":{},"到":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"能":{"docs":{},"对":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"它":{"docs":{},"抛":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"旧":{"docs":{},"时":{"docs":{},"期":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"权":{"docs":{},"限":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"实":{"docs":{},"际":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},",":{"docs":{},"它":{"docs":{},"把":{"docs":{},"对":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},"者":{"docs":{},"划":{"docs":{},"分":{"docs":{},"成":{"docs":{},"读":{"docs":{},"者":{"docs":{},"和":{"docs":{},"写":{"docs":{},"者":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"只":{"docs":{},"对":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"读":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"写":{"docs":{},"者":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},"进":{"docs":{},"行":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"锁":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"能":{"docs":{},"提":{"docs":{},"高":{"docs":{},"并":{"docs":{},"发":{"docs":{},"性":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"多":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"同":{"docs":{},"时":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"读":{"docs":{},"者":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"共":{"docs":{},"享":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"数":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"数":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"多":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}},"者":{"docs":{},"写":{"docs":{},"者":{"docs":{},"互":{"docs":{},"斥":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"读":{"docs":{},"者":{"docs":{},"并":{"docs":{},"发":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"操":{"docs":{},"作":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}},"懂":{"docs":{},"「":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}},"入":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"打":{"docs":{},"印":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"_":{"docs":{},"_":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"并":{"docs":{},"不":{"docs":{},"高":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"启":{"docs":{},"动":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"排":{"docs":{},"列":{"docs":{},"到":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"连":{"docs":{},"续":{"docs":{},"区":{"docs":{},"间":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"文":{"docs":{},"件":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"地":{"docs":{},"址":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"超":{"docs":{},"类":{"docs":{},"/":{"docs":{},"子":{"docs":{},"类":{"docs":{},":":{"docs":{"iOS/Objc_Object/Property.html":{"ref":"iOS/Objc_Object/Property.html","tf":0.00510204081632653}}}}}},"引":{"docs":{},"用":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}},"时":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"重":{"docs":{},"传":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},"(":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"超":{"docs":{},"时":{"docs":{},"重":{"docs":{},"传":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"又":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"多":{"docs":{},"次":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"【":{"docs":{},"译":{"docs":{},"】":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"环":{"docs":{},"境":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0029910269192422734}}}}}}},"`":{"docs":{},"`":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"】":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"】":{"docs":{},",":{"docs":{},"将":{"docs":{},"其":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"【":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}},"土":{"docs":{},"丘":{"docs":{},"上":{"docs":{},"的":{"docs":{},"蒲":{"docs":{},"公":{"docs":{},"英":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}},"字":{"docs":{},"节":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"(":{"docs":{},"决":{"docs":{},"定":{"docs":{},"于":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},")":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"、":{"docs":{},"架":{"docs":{},"构":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"加":{"docs":{},"载":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"等":{"docs":{},"。":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"跳":{"docs":{},"动":{"docs":{},"全":{"docs":{},"链":{"docs":{},"路":{"docs":{},"压":{"docs":{},"测":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"典":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"时":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"被":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"符":{"docs":{},"串":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"@":{"docs":{},"\"":{"1":{"2":{"3":{"4":{"docs":{},"\"":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"的":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},"占":{"docs":{},"用":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},")":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}}}}}},"。":{"docs":{},"无":{"docs":{},"法":{"docs":{},"触":{"docs":{},"发":{"docs":{},"代":{"docs":{},"码":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"现":{"docs":{},"拼":{"docs":{},"写":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"这":{"docs":{},"类":{"docs":{},"错":{"docs":{},"误":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"相":{"docs":{},"关":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"发":{"docs":{},"现":{"docs":{},"。":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"还":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"都":{"docs":{},"有":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"理":{"docs":{},"解":{"docs":{},"内":{"docs":{},"部":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"这":{"docs":{},"种":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"也":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"内":{"docs":{},"存":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"(":{"docs":{},"即":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"每":{"docs":{},"一":{"docs":{},"位":{"docs":{},"均":{"docs":{},"可":{"docs":{},"表":{"docs":{},"示":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"8":{"docs":{},"字":{"docs":{},"节":{"docs":{},",":{"docs":{},"即":{"6":{"4":{"docs":{},"位":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"足":{"docs":{},"够":{"docs":{},"存":{"docs":{},"储":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"节":{"docs":{},"省":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"iOS/Objc_Object/isa.html":{"ref":"iOS/Objc_Object/isa.html","tf":0.004132231404958678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"重":{"docs":{},"新":{"docs":{},"选":{"docs":{},"取":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},",":{"docs":{},"在":{"docs":{},"重":{"docs":{},"复":{"docs":{},"进":{"docs":{},"行":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"验":{"docs":{},"证":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"信":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"认":{"docs":{},"为":{"docs":{},"可":{"docs":{},"信":{"docs":{},"(":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"过":{"docs":{},"程":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"讲":{"docs":{},"解":{"docs":{},")":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"串":{"docs":{},"伪":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"串":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},"会":{"docs":{},"被":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"密":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"面":{"docs":{},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"若":{"docs":{},"有":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"类":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"。":{"docs":{},"以":{"docs":{},"此":{"docs":{},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"根":{"docs":{},"类":{"docs":{},",":{"docs":{},"若":{"docs":{},"在":{"docs":{},"根":{"docs":{},"类":{"docs":{},"中":{"docs":{},"仍":{"docs":{},"没":{"docs":{},"有":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"则":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"小":{"docs":{},"结":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"左":{"docs":{},"边":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"比":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}},"技":{"docs":{},"巧":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}},"强":{"docs":{},"制":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}},"解":{"docs":{},"码":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"解":{"docs":{},"码":{"docs":{},"后":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}},"关":{"docs":{},"考":{"docs":{},"点":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":3.334096692111959}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"有":{"docs":{},"收":{"docs":{},"藏":{"docs":{},")":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"一":{"docs":{},"般":{"docs":{},"初":{"docs":{},"中":{"docs":{},"级":{"docs":{},"问":{"docs":{},"的":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"最":{"docs":{},"深":{"docs":{},"的":{"docs":{},"就":{"docs":{},"问":{"docs":{},"到":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"以":{"docs":{},"及":{"docs":{},"解":{"docs":{},"答":{"docs":{},"已":{"docs":{},"经":{"docs":{},"把":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"把":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"试":{"docs":{},"题":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"框":{"docs":{},"架":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"链":{"docs":{},"接":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"对":{"docs":{},"于":{"docs":{},"被":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"和":{"docs":{},"观":{"docs":{},"察":{"docs":{},"者":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"k":{"docs":{},"v":{"docs":{},"o":{"docs":{},"是":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},",":{"docs":{},"n":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"闲":{"docs":{},"(":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}},"互":{"docs":{},"等":{"docs":{},"待":{"docs":{},",":{"docs":{},"造":{"docs":{},"成":{"docs":{},"死":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}},"比":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"之":{"docs":{},"下":{"docs":{},",":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"方":{"docs":{},"式":{"docs":{},"提":{"docs":{},"前":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"个":{"docs":{},"人":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},"更":{"docs":{},"为":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"组":{"docs":{},"件":{"docs":{},"强":{"docs":{},"调":{"docs":{},"物":{"docs":{},"理":{"docs":{},"拆":{"docs":{},"分":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"复":{"docs":{},"用":{"docs":{},";":{"docs":{},"模":{"docs":{},"块":{"docs":{},"强":{"docs":{},"调":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"拆":{"docs":{},"分":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"过":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"docs":{},"于":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"同":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"。":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"也":{"docs":{},"注":{"docs":{},"意":{"docs":{},"到":{"docs":{},"上":{"docs":{},"图":{"docs":{},"红":{"docs":{},"框":{"docs":{},"中":{"docs":{},"的":{"docs":{},"写":{"docs":{},"入":{"docs":{},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"路":{"docs":{},"径":{"docs":{},"较":{"docs":{},"长":{"docs":{},"截":{"docs":{},"图":{"docs":{},"中":{"docs":{},"未":{"docs":{},"能":{"docs":{},"完":{"docs":{},"全":{"docs":{},"显":{"docs":{},"示":{"docs":{},")":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"完":{"docs":{},"整":{"docs":{},"输":{"docs":{},"出":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"在":{"docs":{"iOS/Objc_Object/ClassRWT.html":{"ref":"iOS/Objc_Object/ClassRWT.html","tf":0.003215434083601286}}}}}}},"决":{"docs":{},"议":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.002857142857142857},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}},"结":{"docs":{},"果":{"docs":{},"显":{"docs":{},"示":{"docs":{},"堆":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"使":{"docs":{},"用":{"docs":{},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"上":{"docs":{},"的":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"使":{"docs":{},"用":{"docs":{},"弱":{"docs":{},"指":{"docs":{},"针":{"docs":{},"_":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"强":{"docs":{},"指":{"docs":{},"针":{"docs":{},"c":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"支":{"docs":{},"持":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},"与":{"docs":{},"其":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}},":":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},",":{"docs":{},"并":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"野":{"docs":{},"指":{"docs":{},"针":{"docs":{},"错":{"docs":{},"误":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"来":{"docs":{},"到":{"docs":{},"断":{"docs":{},"点":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"程":{"docs":{},"序":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"之":{"docs":{},"后":{"docs":{},"运":{"docs":{},"行":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"预":{"docs":{},"设":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{},"如":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"]":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0026666666666666666},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}},"j":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.017605633802816902},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.03488372093023256}},"o":{"docs":{},"b":{"docs":{},".":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"e":{"docs":{},"y":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"s":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"o":{"docs":{},"n":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.02702702702702703}},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"1":{"2":{"9":{"2":{"6":{"8":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}}}}}}}},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"(":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}},"、":{"docs":{},"自":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"(":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},")":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"问":{"docs":{},"题":{"docs":{},"分":{"docs":{},"析":{"docs":{},"定":{"docs":{},"位":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"次":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"进":{"docs":{},"制":{"docs":{},"重":{"docs":{},"排":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":10.011363636363637},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"原":{"docs":{},"理":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"优":{"docs":{},"化":{"docs":{},"我":{"docs":{},"们":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"非":{"docs":{},"常":{"docs":{},"分":{"docs":{},"散":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{},"页":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},";":{"docs":{},"最":{"docs":{},"后":{"docs":{},"它":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"创":{"docs":{},"建":{"docs":{},"成":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":10.006309148264984}},"基":{"docs":{},"础":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"性":{"docs":{},"质":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"是":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},">":{"docs":{},"=":{"0":{"docs":{},")":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"有":{"docs":{},"限":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"该":{"docs":{},"集":{"docs":{},"合":{"docs":{},"或":{"docs":{},"者":{"docs":{},"为":{"docs":{},"空":{"docs":{},"集":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"空":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"和":{"docs":{},"两":{"docs":{},"棵":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"交":{"docs":{},"的":{"docs":{},"、":{"docs":{},"分":{"docs":{},"别":{"docs":{},"称":{"docs":{},"为":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"特":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"访":{"docs":{},"问":{"docs":{},"次":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"四":{"docs":{},"种":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"点":{"docs":{},"考":{"docs":{},"查":{"docs":{},"的":{"docs":{},"知":{"docs":{},"识":{"docs":{},"点":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"从":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"某":{"docs":{},"种":{"docs":{},"次":{"docs":{},"序":{"docs":{},"依":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"每":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"被":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"且":{"docs":{},"仅":{"docs":{},"被":{"docs":{},"访":{"docs":{},"问":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"存":{"docs":{},"储":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"索":{"docs":{},"引":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"前":{"docs":{},"中":{"docs":{},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"非":{"docs":{},"递":{"docs":{},"归":{"docs":{},"实":{"docs":{},"现":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}}}}}}}},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}},"后":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}}}}},"遍":{"docs":{},"历":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"定":{"docs":{},"义":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}}}},"排":{"docs":{},"序":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":10.003246753246753}}}}},"链":{"docs":{},"表":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"搜":{"docs":{},"索":{"docs":{},"树":{"docs":{},"与":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":10}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}},"、":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"(":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},")":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}},"中":{"docs":{},"序":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"得":{"docs":{},"到":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"递":{"docs":{},"增":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"序":{"docs":{},"列":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},"又":{"docs":{},"称":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"树":{"docs":{},",":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"排":{"docs":{},"序":{"docs":{},"树":{"docs":{},",":{"docs":{},"特":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"接":{"docs":{},"触":{"docs":{},"过":{"docs":{},",":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"就":{"docs":{},"是":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"值":{"docs":{},"比":{"docs":{},"父":{"docs":{},"亲":{"docs":{},"节":{"docs":{},"点":{"docs":{},"小":{"docs":{},",":{"docs":{},"而":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"值":{"docs":{},"比":{"docs":{},"父":{"docs":{},"亲":{"docs":{},"节":{"docs":{},"点":{"docs":{},"大":{"docs":{},",":{"docs":{},"如":{"docs":{},"图":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"排":{"docs":{},"序":{"docs":{},"是":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"相":{"docs":{},"同":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"相":{"docs":{},"对":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"不":{"docs":{},"是":{"docs":{},"查":{"docs":{},"找":{"docs":{},"相":{"docs":{},"等":{"docs":{},"值":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"比":{"docs":{},"较":{"docs":{},"查":{"docs":{},"插":{"docs":{},"入":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"查":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"种":{"docs":{},",":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},":":{"docs":{},"在":{"docs":{},"有":{"docs":{},"序":{"docs":{},"区":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"新":{"docs":{},"元":{"docs":{},"素":{"docs":{},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"减":{"docs":{},"少":{"docs":{},"元":{"docs":{},"素":{"docs":{},"比":{"docs":{},"较":{"docs":{},"次":{"docs":{},"数":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"二":{"docs":{},"分":{"docs":{},"查":{"docs":{},"找":{"docs":{},"算":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"插":{"docs":{},"入":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"确":{"docs":{},"定":{"docs":{},"。":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"有":{"docs":{},":":{"docs":{},"比":{"docs":{},"较":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"最":{"docs":{},"坏":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},":":{"docs":{},"当":{"2":{"docs":{},"^":{"docs":{},"x":{"docs":{},">":{"docs":{},"=":{"docs":{},"n":{"docs":{},"时":{"docs":{},",":{"docs":{},"查":{"docs":{},"询":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"询":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"就":{"docs":{},"为":{"docs":{},"x":{"docs":{},",":{"docs":{},"而":{"docs":{},"x":{"docs":{},"等":{"docs":{},"于":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},"(":{"docs":{},"以":{"2":{"docs":{},"为":{"docs":{},"底":{"docs":{},",":{"docs":{},"n":{"docs":{},"的":{"docs":{},"对":{"docs":{},"数":{"docs":{},")":{"docs":{},"。":{"docs":{},"即":{"docs":{},"o":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"2":{"docs":{},"n":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"法":{"docs":{},"插":{"docs":{},"入":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":10.011627906976743}},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"二":{"docs":{},"分":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"是":{"docs":{},"在":{"docs":{},"插":{"docs":{},"入":{"docs":{},"第":{"docs":{},"i":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"0":{"docs":{},"~":{"docs":{},"i":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"到":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862},"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"返":{"docs":{},"回":{"docs":{},"这":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"己":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"改":{"docs":{},"名":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"成":{"docs":{},"本":{"docs":{},"非":{"docs":{},"常":{"docs":{},"低":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"内":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"接":{"docs":{},"口":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"来":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"相":{"docs":{},"关":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"方":{"docs":{},"便":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"如":{"docs":{},"果":{"docs":{},"以":{"docs":{},"上":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"放":{"docs":{},"入":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"会":{"docs":{},"不":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"文":{"docs":{},"件":{"docs":{},"过":{"docs":{},"大":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"分":{"docs":{},"析":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"是":{"docs":{},"有":{"docs":{},"限":{"docs":{},"的":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"模":{"docs":{},"块":{"docs":{},"划":{"docs":{},"分":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"适":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"问":{"docs":{},"题":{"docs":{},"应":{"docs":{},"该":{"docs":{},"不":{"docs":{},"大":{"docs":{},"。":{"docs":{},"从":{"docs":{},"结":{"docs":{},"果":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"准":{"docs":{},"备":{"docs":{},"切":{"docs":{},"换":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"时":{"docs":{},",":{"docs":{},"若":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{},"并":{"docs":{},"未":{"docs":{},"收":{"docs":{},"到":{"docs":{},"来":{"docs":{},"自":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"内":{"docs":{},"核":{"docs":{},",":{"docs":{},"内":{"docs":{},"核":{"docs":{},"创":{"docs":{},"建":{"docs":{},"进":{"docs":{},"程":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"把":{"docs":{},"主":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"起":{"docs":{},"始":{"docs":{},"地":{"docs":{},"址":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"找":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"达":{"docs":{},"h":{"docs":{},",":{"docs":{},"h":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"h":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"第":{"docs":{},"二":{"docs":{},"次":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},",":{"docs":{},"不":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"h":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"底":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"掉":{"docs":{},"一":{"docs":{},"堆":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}},"捋":{"docs":{},"一":{"docs":{},"捋":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"加":{"docs":{},"载":{"docs":{},"流":{"docs":{},"程":{"docs":{},"及":{"docs":{},"+":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}}}}}}}}}}}}}}}}}}},"旁":{"docs":{},"枝":{"docs":{},"末":{"docs":{},"叶":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}}}}}},"核":{"docs":{},"心":{"docs":{},":":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"附":{"docs":{},"加":{"docs":{},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}},"规":{"docs":{},"则":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}},"设":{"docs":{},"备":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"最":{"docs":{},"多":{"docs":{},"能":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"画":{"docs":{},"图":{"docs":{},"分":{"docs":{},"析":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286}},"就":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}},"完":{"docs":{},"才":{"docs":{},"能":{"docs":{},"得":{"docs":{},"到":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"家":{"docs":{},"算":{"docs":{},"法":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}},"编":{"docs":{},"译":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.020833333333333332},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"时":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"决":{"docs":{},"议":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"器":{"docs":{},"会":{"docs":{},"将":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"变":{"docs":{},"量":{"docs":{},"包":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"_":{"docs":{},"_":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"0":{"docs":{},",":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"内":{"docs":{},"部":{"docs":{},"*":{"docs":{},"_":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"docs":{},"指":{"docs":{},"向":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"还":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"外":{"docs":{},"部":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"把":{"docs":{},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"{":{"docs":{},"}":{"docs":{},"改":{"docs":{},"写":{"docs":{},"成":{"docs":{},":":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"前":{"docs":{},"端":{"docs":{},"和":{"docs":{},"后":{"docs":{},"端":{"docs":{},",":{"docs":{},"二":{"docs":{},"者":{"docs":{},"以":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"按":{"docs":{},"照":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"把":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"高":{"docs":{},"级":{"docs":{},"语":{"docs":{},"言":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"可":{"docs":{},"以":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"经":{"docs":{},"典":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"述":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"前":{"docs":{},"端":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"进":{"docs":{},"行":{"docs":{},":":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"语":{"docs":{},"义":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"中":{"docs":{},"间":{"docs":{},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"端":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"机":{"docs":{},"器":{"docs":{},"无":{"docs":{},"关":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"进":{"docs":{},"行":{"docs":{},"机":{"docs":{},"器":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"项":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},":":{"docs":{},"它":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"影":{"docs":{},"响":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"显":{"docs":{},"示":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"就":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"个":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"来":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}},"完":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"在":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"信":{"docs":{},"息":{"docs":{},"写":{"docs":{},"入":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"如":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"架":{"docs":{},"构":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"架":{"docs":{},"构":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":5}},"分":{"docs":{},"为":{"docs":{},"四":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}},"梳":{"docs":{},"理":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.010416666666666666}}}},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":5}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},":":{"docs":{},"把":{"docs":{},"前":{"docs":{},"面":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"是":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}},"产":{"docs":{},"物":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"代":{"docs":{},"码":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"前":{"docs":{},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"各":{"docs":{},"个":{"docs":{},".":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"文":{"docs":{},"件":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"码":{"docs":{},"(":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},")":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"给":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},"上":{"docs":{},"传":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}},"走":{"docs":{},"的":{"docs":{},"不":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{"iOS/Objc_Object/Category.html":{"ref":"iOS/Objc_Object/Category.html","tf":0.0014285714285714286},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"这":{"docs":{},"里":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"?":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0020855057351407717},"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749},"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0020229265003371545},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374}},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"的":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{},"函":{"docs":{},"数":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804}}}}}}}}}}},"有":{"docs":{},"序":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"重":{"docs":{},"复":{"docs":{},"项":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":10.005952380952381}}}}}}}}}}},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"在":{"docs":{},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"元":{"docs":{},"素":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"只":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"上":{"docs":{},"述":{"docs":{},"操":{"docs":{},"作":{"docs":{},"必":{"docs":{},"须":{"docs":{},"通":{"docs":{},"过":{"docs":{},"原":{"docs":{},"地":{"docs":{},"修":{"docs":{},"改":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"使":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"类":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":3.333333333333333}}}}}}},"减":{"docs":{},"了":{"docs":{},"部":{"docs":{},"分":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"并":{"docs":{},"在":{"docs":{"iOS/Objc_Object/AssociatedObject.html":{"ref":"iOS/Objc_Object/AssociatedObject.html","tf":0.0035211267605633804},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"做":{"docs":{},"异":{"docs":{},"步":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"作":{"docs":{},"者":{"docs":{},"对":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"的":{"docs":{},"权":{"docs":{},"衡":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"即":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"态":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},";":{"docs":{},"i":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"道":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runtime.html":{"ref":"iOS/OCFoundation/Runtime.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.003988035892323031},"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285},"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0027397260273972603},"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576},"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}},"回":{"docs":{},"顾":{"docs":{},"一":{"docs":{},"下":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"布":{"docs":{},"局":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"面":{"docs":{},"进":{"docs":{},"行":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"面":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"找":{"docs":{},"到":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"在":{"docs":{},"去":{"docs":{},"父":{"docs":{},"类":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"里":{"docs":{},"面":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"类":{"docs":{},"对":{"docs":{},"象":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"对":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"避":{"docs":{},"免":{"docs":{},"与":{"docs":{},"系":{"docs":{},"统":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"合":{"docs":{},"并":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0013280212483399733}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"些":{"docs":{},"会":{"docs":{},"调":{"docs":{},"里":{"docs":{},"去":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"业":{"docs":{},"务":{"docs":{},"上":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"台":{"docs":{},":":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"定":{"docs":{},"义":{"docs":{},"为":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"此":{"docs":{},"时":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},":":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}},"局":{"docs":{},"部":{"docs":{},"变":{"docs":{},"量":{"docs":{},"会":{"docs":{},"被":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"捕":{"docs":{},"获":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}},"究":{"docs":{},"其":{"docs":{},"根":{"docs":{},"本":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"控":{"docs":{},"制":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"内":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"如":{"docs":{},"下":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.012934518997574777}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"按":{"docs":{},"代":{"docs":{},"码":{"docs":{},"表":{"docs":{},"面":{"docs":{},"的":{"docs":{},"想":{"docs":{},"法":{"docs":{},"去":{"docs":{},"走":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"打":{"docs":{},"印":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"2":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"5":{"docs":{},",":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}},"为":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}},"应":{"docs":{},"该":{"docs":{},"为":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"。":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}},"的":{"docs":{},"正":{"docs":{},"常":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"突":{"docs":{},"然":{"docs":{},"收":{"docs":{},"到":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"中":{"docs":{},"正":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},",":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{},"只":{"docs":{},"能":{"docs":{},"服":{"docs":{},"务":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"m":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}},"入":{"docs":{},"源":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}},"是":{"docs":{},"指":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"来":{"docs":{},"源":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"将":{"docs":{},"事":{"docs":{},"件":{"docs":{},"异":{"docs":{},"步":{"docs":{},"传":{"docs":{},"送":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"来":{"docs":{},"源":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"别":{"docs":{},"之":{"docs":{},"一":{"docs":{},"。":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"监":{"docs":{},"视":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}},"针":{"docs":{},"对":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"新":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"请":{"docs":{},"求":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"还":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"而":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"继":{"docs":{},"续":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"会":{"docs":{},"倾":{"docs":{},"向":{"docs":{},"于":{"docs":{},"让":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"通":{"docs":{},"过":{"docs":{},"地":{"docs":{},"址":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"方":{"docs":{},"式":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"指":{"docs":{},"向":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{"iOS/OCFoundation/Block.html":{"ref":"iOS/OCFoundation/Block.html","tf":0.0009970089730807576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"是":{"docs":{},"从":{"docs":{},"哪":{"docs":{},"来":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"静":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"常":{"docs":{},"量":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"库":{"docs":{},"文":{"docs":{},"件":{"docs":{},".":{"docs":{},"a":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},"慢":{"docs":{},"速":{"docs":{},"查":{"docs":{},"找":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"中":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"递":{"docs":{},"归":{"docs":{},"查":{"docs":{},"找":{"docs":{},"当":{"docs":{},"前":{"docs":{},"类":{"docs":{},"和":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"r":{"docs":{},"w":{"docs":{},"中":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"—":{"docs":{},"—":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"逐":{"docs":{},"级":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788}}}}}}}}}},")":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/OCFoundation/Method.html":{"ref":"iOS/OCFoundation/Method.html","tf":0.003787878787878788},"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},"、":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"修":{"docs":{},"改":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}},"对":{"docs":{},"于":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"为":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}},"依":{"docs":{},"托":{"docs":{},"于":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"两":{"docs":{},"点":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"作":{"docs":{},"为":{"docs":{},"校":{"docs":{},"验":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"解":{"docs":{},"密":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"来":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"值":{"docs":{},"是":{"docs":{},"否":{"docs":{},"对":{"docs":{},"应":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"就":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},"越":{"docs":{},"往":{"docs":{},"后":{"docs":{},",":{"docs":{},"处":{"docs":{},"理":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"就":{"docs":{},"越":{"docs":{},"大":{"docs":{},";":{"docs":{},"最":{"docs":{},"好":{"docs":{},"能":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"就":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"得":{"docs":{},"到":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"序":{"docs":{},"列":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}},",":{"docs":{},"对":{"docs":{},"不":{"docs":{},"对":{"docs":{},"?":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"比":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"还":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"有":{"docs":{},"木":{"docs":{},"有":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"少":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},";":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.00558659217877095}}}},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"备":{"docs":{},"援":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"其":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"备":{"docs":{},"援":{"docs":{},"对":{"docs":{},"象":{"docs":{},"必":{"docs":{},"须":{"docs":{},"能":{"docs":{},"够":{"docs":{},"响":{"docs":{},"应":{"docs":{"iOS/OCFoundation/MessageForwarding.html":{"ref":"iOS/OCFoundation/MessageForwarding.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"当":{"docs":{},"提":{"docs":{},"高":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"(":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"添":{"docs":{},"加":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"添":{"docs":{},"加":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"充":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}},"够":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"在":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"发":{"docs":{},"挥":{"docs":{},"出":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}},"对":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"寻":{"docs":{},"找":{"docs":{},"路":{"docs":{},"径":{"docs":{"iOS/OCFoundation/KVC.html":{"ref":"iOS/OCFoundation/KVC.html","tf":0.045454545454545456}}}},"链":{"docs":{},"表":{"docs":{},"中":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"并":{"docs":{},"作":{"docs":{},"标":{"docs":{},"记":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"定":{"docs":{},"对":{"docs":{},"应":{"docs":{},"值":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"址":{"docs":{},"(":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"地":{"docs":{},"址":{"docs":{},")":{"docs":{},"访":{"docs":{},"问":{"docs":{},"主":{"docs":{},"存":{"docs":{},"或":{"docs":{},"硬":{"docs":{},"盘":{"docs":{},"。":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},"您":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"应":{"docs":{},"依":{"docs":{},"靠":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"类":{"docs":{},"成":{"docs":{},"员":{"docs":{},"身":{"docs":{},"份":{"docs":{},"。":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"您":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"对":{"docs":{},"象":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"类":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"顾":{"docs":{},"名":{"docs":{},"思":{"docs":{},"义":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"维":{"docs":{},"护":{"docs":{},"分":{"docs":{},"配":{"docs":{},"表":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"该":{"docs":{},"分":{"docs":{},"派":{"docs":{},"表":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"包":{"docs":{},"含":{"docs":{},"指":{"docs":{},"向":{"docs":{},"该":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"以":{"docs":{},"及":{"docs":{},"其":{"docs":{},"他":{"docs":{},"数":{"docs":{},"据":{"docs":{"iOS/OCFoundation/KVO.html":{"ref":"iOS/OCFoundation/KVO.html","tf":0.005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}},"伪":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"占":{"docs":{},"位":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}},"住":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"几":{"docs":{},"种":{"docs":{},"源":{"docs":{},"有":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"源":{"docs":{},"、":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"源":{"docs":{},"、":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"源":{"docs":{},"和":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"源":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"docs":{},"御":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"场":{"docs":{},"景":{"docs":{},"分":{"docs":{},"析":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"用":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"放":{"docs":{},"到":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"量":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"规":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"中":{"docs":{},",":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"也":{"docs":{},"是":{"docs":{},"极":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"手":{"docs":{},"段":{"docs":{},",":{"docs":{},"多":{"docs":{},"见":{"docs":{},"于":{"docs":{},":":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"、":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"离":{"docs":{},"线":{"docs":{},"包":{"docs":{},"等":{"docs":{},"业":{"docs":{},"务":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"后":{"docs":{},"知":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"永":{"docs":{},"远":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}},"直":{"docs":{},"到":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"含":{"docs":{},"有":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},",":{"docs":{},"且":{"docs":{},"处":{"docs":{},"于":{"docs":{},"最":{"docs":{},"上":{"docs":{},"方":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"将":{"docs":{},"视":{"docs":{},"图":{"docs":{},"逐":{"docs":{},"步":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}},"本":{"docs":{},"文":{"docs":{},"件":{"docs":{},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"点":{"docs":{},"击":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"访":{"docs":{},"问":{"docs":{},"省":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}},"请":{"docs":{},"求":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}},"将":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"类":{"docs":{},"加":{"docs":{},"载":{"docs":{},"到":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"最":{"docs":{},"先":{"docs":{},"输":{"docs":{},"出":{"docs":{},";":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"全":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"预":{"docs":{},"热":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"同":{"docs":{},"类":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"供":{"docs":{},"下":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"空":{"docs":{},"转":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}},"。":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"常":{"docs":{},"数":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"输":{"docs":{},"入":{"docs":{},"源":{"docs":{},"监":{"docs":{},"视":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"事":{"docs":{},"件":{"docs":{},"源":{"docs":{},"。":{"docs":{},"基":{"docs":{},"于":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"源":{"docs":{},"由":{"docs":{},"内":{"docs":{},"核":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"出":{"docs":{},"信":{"docs":{},"号":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"源":{"docs":{},"必":{"docs":{},"须":{"docs":{},"从":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"手":{"docs":{},"动":{"docs":{},"发":{"docs":{},"出":{"docs":{},"信":{"docs":{},"号":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"放":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"第":{"1":{"5":{"docs":{},"讲":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}},"docs":{}},"docs":{},"一":{"docs":{},"个":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"是":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"在":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"的":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"最":{"docs":{},"高":{"docs":{},"的":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"创":{"docs":{},"建":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"是":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"前":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"=":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}}},"加":{"docs":{},"完":{"docs":{},"锁":{"docs":{},"之":{"docs":{},"后":{"docs":{},"还":{"docs":{},"没":{"docs":{},"出":{"docs":{},"锁":{"docs":{},"就":{"docs":{},"进":{"docs":{},"行":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"握":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"网":{"docs":{},"络":{"docs":{},"包":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"步":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"用":{"docs":{},"户":{"docs":{},"开":{"docs":{},"始":{"docs":{},"购":{"docs":{},"买":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"去":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"交":{"docs":{},"易":{"docs":{},"订":{"docs":{},"单":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"篇":{"docs":{},":":{"docs":{},"[":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"传":{"docs":{},"递":{"docs":{},"规":{"docs":{},"则":{"docs":{},"由":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"决":{"docs":{},"定":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"传":{"docs":{},"递":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"到":{"docs":{},"来":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"没":{"docs":{},"有":{"docs":{},"接":{"docs":{},"收":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"则":{"docs":{},"顺":{"docs":{},"着":{"docs":{},"响":{"docs":{},"应":{"docs":{},"者":{"docs":{},"链":{"docs":{},"向":{"docs":{},"后":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858},"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},":":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},")":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"和":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"释":{"docs":{},"放":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"以":{"docs":{},"及":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},";":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"退":{"docs":{},"出":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{},"_":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"来":{"docs":{},"释":{"docs":{},"放":{"docs":{},"自":{"docs":{},"动":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"最":{"docs":{},"低":{"docs":{},"的":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"释":{"docs":{},"放":{"docs":{},"池":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"之":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}}},"加":{"docs":{},"锁":{"docs":{},"就":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"不":{"docs":{},"会":{"docs":{},"查":{"docs":{},"询":{"docs":{},"缓":{"docs":{},"存":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"握":{"docs":{},"手":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"端":{"docs":{},"发":{"docs":{},"包":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"坑":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"开":{"docs":{},"始":{"docs":{},"数":{"docs":{},"坑":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},":":{"docs":{},"[":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"三":{"docs":{},"步":{"docs":{},"情":{"docs":{},"况":{"docs":{},"均":{"docs":{},"不":{"docs":{},"满":{"docs":{},"足":{"docs":{},"(":{"docs":{},"即":{"docs":{},"链":{"docs":{},"表":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"—":{"docs":{},"—":{"docs":{},"对":{"docs":{},"象":{"docs":{},"对":{"docs":{},"于":{"docs":{},"全":{"docs":{},"部":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"加":{"docs":{},"锁":{"docs":{},")":{"docs":{},"就":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"并":{"docs":{},"存":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"里":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"下":{"docs":{},"次":{"docs":{},"进":{"docs":{},"行":{"docs":{},"存":{"docs":{},"储":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"也":{"docs":{},"想":{"docs":{},"断":{"docs":{},"开":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"和":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"发":{"docs":{},"给":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"握":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"包":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"篇":{"docs":{},":":{"docs":{},"[":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"]":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},":":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"收":{"docs":{},"到":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}},"七":{"docs":{},"步":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"收":{"docs":{},"据":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"已":{"docs":{},"付":{"docs":{},"款":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"号":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"去":{"docs":{},"校":{"docs":{},"验":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"已":{"docs":{},"付":{"docs":{},"款":{"docs":{},"订":{"docs":{},"单":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"要":{"docs":{},"查":{"docs":{},"询":{"docs":{},"的":{"docs":{},"那":{"docs":{},"一":{"docs":{},"笔":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},",":{"docs":{},"就":{"docs":{},"告":{"docs":{},"诉":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"付":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"回":{"docs":{},"调":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}},"九":{"docs":{},"步":{"docs":{},":":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"并":{"docs":{},"把":{"docs":{},"收":{"docs":{},"据":{"docs":{},"传":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"没":{"docs":{},"有":{"docs":{},"确":{"docs":{},"认":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"回":{"docs":{},"调":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"回":{"docs":{},"调":{"docs":{},"时":{"docs":{},"间":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"会":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"久":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"五":{"docs":{},"步":{"docs":{},":":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"八":{"docs":{},"步":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"回":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"六":{"docs":{},"步":{"docs":{},":":{"docs":{},"在":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"收":{"docs":{},"据":{"docs":{},"以":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"去":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"十":{"docs":{},"步":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"并":{"docs":{},"回":{"docs":{},"调":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"早":{"docs":{},"餐":{"docs":{},"买":{"docs":{},"完":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"追":{"docs":{},"踪":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"滑":{"docs":{},"动":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"界":{"docs":{},"面":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"不":{"docs":{},"受":{"docs":{},"其":{"docs":{},"他":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}},"退":{"docs":{},"出":{"docs":{},";":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"开":{"docs":{},"启":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"线":{"docs":{},"程":{"docs":{},"如":{"docs":{},"果":{"docs":{},"希":{"docs":{},"望":{"docs":{},"持":{"docs":{},"续":{"docs":{},"存":{"docs":{},"活":{"docs":{},"下":{"docs":{},"去":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"开":{"docs":{},"启":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"。":{"docs":{"iOS/OCFoundation/Runloop.html":{"ref":"iOS/OCFoundation/Runloop.html","tf":0.0013333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"在":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"采":{"docs":{},"取":{"docs":{},"的":{"docs":{},"是":{"docs":{},"懒":{"docs":{},"惰":{"docs":{},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"解":{"docs":{},"析":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{},"i":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}},"~":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"_":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}},"指":{"docs":{},"针":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"方":{"docs":{},"同":{"docs":{},"处":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"水":{"docs":{},"线":{"docs":{},"中":{"docs":{},",":{"docs":{},"协":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"整":{"docs":{},"个":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"击":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}},"子":{"docs":{},"线":{"docs":{},"程":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"何":{"docs":{},"时":{"docs":{},"释":{"docs":{},"放":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"根":{"docs":{},"据":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}},"类":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"重":{"docs":{},"写":{"docs":{},"为":{"docs":{},"不":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"把":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"不":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"重":{"docs":{},"写":{"docs":{},"为":{"docs":{},"可":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"该":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"加":{"docs":{},"上":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"符":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"和":{"docs":{},"转":{"docs":{},"化":{"docs":{},"。":{"docs":{},"附":{"docs":{},"件":{"docs":{},":":{"docs":{},"官":{"docs":{},"方":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"全":{"docs":{},"消":{"docs":{},"失":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}},":":{"docs":{},"对":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"具":{"docs":{},"有":{"docs":{},"n":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"按":{"docs":{},"层":{"docs":{},"编":{"docs":{},"号":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"编":{"docs":{},"号":{"docs":{},"为":{"docs":{},"i":{"docs":{},"(":{"1":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}},"兼":{"docs":{},"容":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"极":{"docs":{},"端":{"docs":{},"用":{"docs":{},"例":{"docs":{},"下":{"docs":{},",":{"docs":{},"从":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"既":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"得":{"docs":{},"到":{"docs":{},"了":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"另":{"docs":{},"外":{"docs":{},"给":{"docs":{},"图":{"docs":{},"片":{"docs":{},"容":{"docs":{},"器":{"docs":{},"设":{"docs":{},"置":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嵌":{"docs":{},"套":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"很":{"docs":{},"好":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"总":{"docs":{},"会":{"docs":{},"释":{"docs":{},"放":{"docs":{},"到":{"docs":{},"上":{"docs":{},"次":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"多":{"docs":{},"层":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"就":{"docs":{},"是":{"docs":{},"多":{"docs":{},"个":{"docs":{},"哨":{"docs":{},"兵":{"docs":{},"对":{"docs":{},"象":{"docs":{},"而":{"docs":{},"已":{"docs":{},",":{"docs":{},"就":{"docs":{},"像":{"docs":{},"剥":{"docs":{},"洋":{"docs":{},"葱":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"互":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"迭":{"docs":{},"代":{"docs":{},"结":{"docs":{},"束":{"docs":{},"?":{"docs":{},"当":{"docs":{},"前":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}},"黑":{"docs":{},"幕":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/OCFoundation/AutoReleasePool.html":{"ref":"iOS/OCFoundation/AutoReleasePool.html","tf":0.0010427528675703858}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}},"会":{"docs":{},"交":{"docs":{},"给":{"docs":{},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"阻":{"docs":{},"塞":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}},"(":{"docs":{},"同":{"docs":{},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"同":{"docs":{},"步":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"会":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"(":{"docs":{},"同":{"docs":{},"并":{"docs":{},"发":{"docs":{},"+":{"docs":{},"异":{"docs":{},"步":{"docs":{},")":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}},"偶":{"docs":{},"尔":{"docs":{},"使":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}},"充":{"docs":{},"分":{"docs":{},"利":{"docs":{},"用":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"多":{"docs":{},"核":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}},"几":{"docs":{},"乎":{"docs":{},"不":{"docs":{},"用":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"交":{"docs":{},"给":{"docs":{},"饱":{"docs":{},"和":{"docs":{},"策":{"docs":{},"略":{"docs":{},"去":{"docs":{},"处":{"docs":{},"理":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}},"射":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"明":{"docs":{},"显":{"docs":{},"会":{"docs":{},"极":{"docs":{},"大":{"docs":{},"损":{"docs":{},"害":{"docs":{},"开":{"docs":{},"发":{"docs":{},"质":{"docs":{},"量":{"docs":{},"与":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"背":{"docs":{},"道":{"docs":{},"而":{"docs":{},"驰":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"更":{"docs":{},"准":{"docs":{},"确":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"空":{"docs":{},"间":{"docs":{},":":{"docs":{},"同":{"docs":{},"一":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"共":{"docs":{},"享":{"docs":{},"本":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"进":{"docs":{},"程":{"docs":{},"之":{"docs":{},"间":{"docs":{},"则":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"x":{"docs":{},"h":{"docs":{},"/":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"docs":{},"在":{"docs":{},"替":{"docs":{},"代":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"等":{"docs":{},"线":{"docs":{},"程":{"docs":{},"技":{"docs":{},"术":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"条":{"docs":{},"件":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"同":{"docs":{},"步":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"线":{"docs":{},"程":{"docs":{},"何":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"条":{"docs":{},"件":{"docs":{},"视":{"docs":{},"为":{"docs":{},"关":{"docs":{},"守":{"docs":{},",":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"满":{"docs":{},"足":{"docs":{},"指":{"docs":{},"定":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"死":{"docs":{},"亡":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},":":{"docs":{},"正":{"docs":{},"常":{"docs":{},"死":{"docs":{},"亡":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"。":{"docs":{},"非":{"docs":{},"正":{"docs":{},"常":{"docs":{},"死":{"docs":{},"亡":{"docs":{},",":{"docs":{},"当":{"docs":{},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"个":{"docs":{},"条":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"内":{"docs":{},"部":{"docs":{},"中":{"docs":{},"止":{"docs":{},"执":{"docs":{},"行":{"docs":{},"/":{"docs":{},"在":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"止":{"docs":{},"线":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"锁":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}},"原":{"docs":{},"因":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}},"窗":{"docs":{},"口":{"docs":{},"(":{"docs":{},"线":{"docs":{},"程":{"docs":{},")":{"docs":{},"只":{"docs":{},"负":{"docs":{},"责":{"docs":{},"为":{"docs":{},"排":{"docs":{},"队":{"docs":{},"的":{"docs":{},"人":{"docs":{},"办":{"docs":{},"理":{"docs":{},"业":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"管":{"docs":{},"队":{"docs":{},"伍":{"docs":{},"(":{"docs":{},"队":{"docs":{},"列":{"docs":{},")":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"排":{"docs":{},"的":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"点":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},"是":{"docs":{},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"场":{"docs":{},"景":{"docs":{},"偏":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"一":{"docs":{},"般":{"docs":{},"更":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"简":{"docs":{},"单":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"少":{"docs":{},"服":{"docs":{},"务":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"c":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"/":{"docs":{},"可":{"docs":{},"移":{"docs":{},"植":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"读":{"docs":{},"取":{"docs":{},"非":{"docs":{},"常":{"docs":{},"便":{"docs":{},"捷":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"等":{"docs":{},"系":{"docs":{},"统":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"(":{"docs":{},"i":{"docs":{},"p":{"docs":{},"电":{"docs":{},"话":{"docs":{},"、":{"docs":{},"视":{"docs":{},"频":{"docs":{},"会":{"docs":{},"议":{"docs":{},"、":{"docs":{},"直":{"docs":{},"播":{"docs":{},"等":{"docs":{},")":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"求":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"文":{"docs":{},"件":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"宜":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"配":{"docs":{},"方":{"docs":{},"案":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"收":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"相":{"docs":{},"关":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"一":{"docs":{},"些":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.010526315789473684}},"情":{"docs":{},"况":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}},"负":{"docs":{},"责":{"docs":{},"调":{"docs":{},"度":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}},",":{"docs":{},"又":{"docs":{},"称":{"docs":{},"为":{"docs":{},"伫":{"docs":{},"列":{"docs":{},"(":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"最":{"docs":{},"后":{"docs":{},"都":{"docs":{},"要":{"docs":{},"由":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"!":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}},"和":{"docs":{},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"引":{"docs":{},"起":{"docs":{},"的":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},":":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},",":{"docs":{},"后":{"docs":{},"进":{"docs":{},"后":{"docs":{},"出":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}},":":{"docs":{},"队":{"docs":{},"列":{"docs":{},"分":{"docs":{},"为":{"docs":{},"串":{"docs":{},"行":{"docs":{},"和":{"docs":{},"并":{"docs":{},"行":{"docs":{},"。":{"docs":{},"串":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"按":{"docs":{},"照":{"docs":{},"a":{"docs":{},"、":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},"、":{"docs":{},"d":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"添":{"docs":{},"加":{"docs":{},"四":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"这":{"docs":{},"四":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"按":{"docs":{},"照":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"结":{"docs":{},"束":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"也":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"是":{"docs":{},"a":{"docs":{},"、":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},"、":{"docs":{},"d":{"docs":{},",":{"docs":{},"而":{"docs":{},"并":{"docs":{},"行":{"docs":{},"队":{"docs":{},"列":{"docs":{},"同":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"四":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"因":{"docs":{},"此":{"docs":{},"也":{"docs":{},"是":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},"。":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阻":{"docs":{},"塞":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}},":":{"docs":{},"当":{"docs":{},"满":{"docs":{},"足":{"docs":{},"某":{"docs":{},"个":{"docs":{},"预":{"docs":{},"定":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"或":{"docs":{},"锁":{"docs":{},",":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"长":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"日":{"docs":{},"期":{"docs":{},")":{"docs":{},",":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},":":{"docs":{},"(":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"主":{"docs":{},"动":{"docs":{},"行":{"docs":{},"为":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"饱":{"docs":{},"和":{"docs":{},"策":{"docs":{},"略":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"四":{"docs":{},"个":{"docs":{},":":{"docs":{"iOS/OCFoundation/MultiThreading.html":{"ref":"iOS/OCFoundation/MultiThreading.html","tf":0.005681818181818182}}}}}}}}}}}},"串":{"docs":{},"行":{"docs":{},"&":{"docs":{},"同":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}},"docs":{}}}}},"异":{"docs":{},"步":{"docs":{},"线":{"docs":{},"程":{"0":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"1":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}}},"/":{"docs":{},"并":{"docs":{},"发":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{},"/":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},"排":{"docs":{},"列":{"docs":{},"组":{"docs":{},"合":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},":":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"只":{"docs":{},"能":{"docs":{},"依":{"docs":{},"次":{"docs":{},"逐":{"docs":{},"一":{"docs":{},"先":{"docs":{},"后":{"docs":{},"有":{"docs":{},"序":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"既":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"一":{"docs":{},"条":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"在":{"docs":{},"该":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"乱":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"开":{"docs":{},"辟":{"docs":{},"线":{"docs":{},"程":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}}}}}}}}},"亦":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"利":{"docs":{},"用":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937},"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0033200531208499337},"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"信":{"docs":{},"号":{"docs":{},"量":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"写":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}},"取":{"docs":{},"消":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}},"掉":{"docs":{},"正":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"如":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"的":{"docs":{},"c":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"操":{"docs":{},"作":{"docs":{},"也":{"docs":{},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"块":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"上":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}},"到":{"docs":{},"图":{"docs":{},"片":{"docs":{},"后":{"docs":{},",":{"docs":{},"停":{"docs":{},"止":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"值":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}},"差":{"docs":{},"集":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"尽":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},":":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"努":{"docs":{},"力":{"docs":{},"交":{"docs":{},"付":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"管":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"开":{"docs":{},"销":{"docs":{},"很":{"docs":{},"大":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"无":{"docs":{},"法":{"docs":{},"避":{"docs":{},"免":{"docs":{},"它":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"想":{"docs":{},"办":{"docs":{},"法":{"docs":{},"把":{"docs":{},"性":{"docs":{},"能":{"docs":{},"影":{"docs":{},"响":{"docs":{},"降":{"docs":{},"到":{"docs":{},"最":{"docs":{},"低":{"docs":{},"。":{"docs":{},"优":{"docs":{},"化":{"docs":{},"思":{"docs":{},"路":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{},"既":{"docs":{},"然":{"docs":{},"已":{"docs":{},"经":{"docs":{},"花":{"docs":{},"了":{"docs":{},"不":{"docs":{},"少":{"docs":{},"精":{"docs":{},"力":{"docs":{},"把":{"docs":{},"图":{"docs":{},"片":{"docs":{},"裁":{"docs":{},"出":{"docs":{},"了":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"能":{"docs":{},"把":{"docs":{},"结":{"docs":{},"果":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"复":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"成":{"docs":{},"果":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"重":{"docs":{},"新":{"docs":{},"画":{"docs":{},"一":{"docs":{},"遍":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"能":{"docs":{},"将":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"操":{"docs":{},"作":{"docs":{},"放":{"docs":{},"到":{"docs":{},"进":{"docs":{},"程":{"docs":{},"以":{"docs":{},"外":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}},"的":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"崩":{"docs":{},"溃":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"率":{"docs":{},"下":{"docs":{},"降":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"延":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}},"迟":{"1":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}},"docs":{}}}}}},"2":{"docs":{},"s":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}}}}}}}}}},"docs":{}}}}}},"docs":{}}},"想":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"什":{"docs":{},"么":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"写":{"docs":{},"任":{"docs":{},"何":{"docs":{},"线":{"docs":{},"程":{"docs":{},"管":{"docs":{},"理":{"docs":{},"代":{"docs":{},"码":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"但":{"docs":{},"发":{"docs":{},"现":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"未":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"源":{"docs":{},"码":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"但":{"docs":{},"是":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"对":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"却":{"docs":{},"开":{"docs":{},"源":{"docs":{},"了":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"挂":{"docs":{},"起":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0016168148746968471}}}},"栅":{"docs":{},"栏":{"docs":{},"任":{"docs":{},"务":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.004042037186742118}}}},"函":{"docs":{},"数":{"docs":{},"只":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"同":{"docs":{},"一":{"docs":{},"并":{"docs":{},"发":{"docs":{},"队":{"docs":{},"列":{"docs":{},":":{"docs":{},"打":{"docs":{},"个":{"docs":{},"比":{"docs":{},"方":{"docs":{},",":{"docs":{},"平":{"docs":{},"时":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"做":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"起":{"docs":{},"到":{"docs":{},"同":{"docs":{},"步":{"docs":{},"锁":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"a":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"内":{"docs":{},"部":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"将":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"任":{"docs":{},"务":{"1":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"2":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.0008084074373484236}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"—":{"docs":{},"—":{"docs":{},"{":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/OCFoundation/GCDUsage.html":{"ref":"iOS/OCFoundation/GCDUsage.html","tf":0.002425222312045271}}}}}}}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"利":{"docs":{},"用":{"docs":{},"g":{"docs":{},"c":{"docs":{},"d":{"docs":{},"实":{"docs":{},"现":{"docs":{},"多":{"docs":{},"读":{"docs":{},"单":{"docs":{},"写":{"docs":{},"?":{"docs":{"iOS/OCFoundation/GCDThread.html":{"ref":"iOS/OCFoundation/GCDThread.html","tf":0.005263157894736842}}}}}}}}}}}}}}}},"'":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"'":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},".":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"'":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}},"'":{"docs":{},"'":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}},")":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"[":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{},"'":{"docs":{},":":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"`":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"`":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"`":{"docs":{},",":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"s":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"`":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}},"⾃":{"docs":{},"旋":{"docs":{},"锁":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"进":{"docs":{},"程":{"docs":{},"上":{"docs":{},"下":{"docs":{},"⽂":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"对":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"只":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"很":{"docs":{},"短":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"场":{"docs":{},"合":{"docs":{},"是":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"、":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"业":{"docs":{},"界":{"docs":{},"常":{"docs":{},"见":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"l":{"docs":{},"d":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"和":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}}}}}},"的":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"交":{"docs":{},"换":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"吗":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"且":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}},"t":{"docs":{},"l":{"docs":{},"s":{"docs":{},"无":{"docs":{},"需":{"docs":{},"锁":{"docs":{},"保":{"docs":{},"护":{"docs":{},",":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}},"互":{"docs":{},"斥":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}},"(":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}},"又":{"docs":{},"分":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"获":{"docs":{},"取":{"docs":{},"锁":{"docs":{},"但":{"docs":{},"没":{"docs":{},"有":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"时":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"等":{"docs":{},"锁":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"被":{"docs":{},"唤":{"docs":{},"醒":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"堵":{"docs":{},"塞":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"—":{"docs":{},"—":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"无":{"docs":{},"法":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"去":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"可":{"docs":{},"见":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"唤":{"docs":{},"醒":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"被":{"docs":{},"动":{"docs":{},"行":{"docs":{},"为":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"尝":{"docs":{},"试":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"加":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.001272264631043257}}}}}},"平":{"docs":{},"时":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"使":{"docs":{},"用":{"docs":{},"栅":{"docs":{},"栏":{"docs":{},"函":{"docs":{},"数":{"docs":{},"完":{"docs":{},"成":{"docs":{},"读":{"docs":{},"写":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"均":{"docs":{},"访":{"docs":{},"问":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"下":{"docs":{},"降":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"是":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"是":{"docs":{},"θ":{"docs":{},"(":{"docs":{},"\ud835":{"docs":{},"\udc5b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\ud835":{"docs":{},"\udc5b":{"docs":{},")":{"docs":{},",":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"n":{"docs":{},"²":{"docs":{},",":{"docs":{},"但":{"docs":{},"通":{"docs":{},"过":{"docs":{},"随":{"docs":{},"机":{"docs":{},"算":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"最":{"docs":{},"坏":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"递":{"docs":{},"归":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"快":{"docs":{},"排":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"是":{"docs":{},"θ":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"\ud835":{"docs":{},"\udc5b":{"docs":{},")":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"衡":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"的":{"docs":{},"提":{"docs":{},"出":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"树":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"太":{"docs":{},"倾":{"docs":{},"斜":{"docs":{},",":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"保":{"docs":{},"证":{"docs":{},"两":{"docs":{},"边":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"么":{"docs":{},"是":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"空":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"退":{"docs":{},"化":{"docs":{},"成":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"链":{"docs":{},"表":{"docs":{},"而":{"docs":{},"诞":{"docs":{},"生":{"docs":{},"了":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"具":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"特":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"特":{"docs":{},"点":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"大":{"docs":{},"量":{"docs":{},"节":{"docs":{},"点":{"docs":{},"偏":{"docs":{},"向":{"docs":{},"于":{"docs":{},"一":{"docs":{},"边":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"了":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},"如":{"docs":{},"何":{"docs":{},"构":{"docs":{},"建":{"docs":{},"、":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"、":{"docs":{},"左":{"docs":{},"旋":{"docs":{},"、":{"docs":{},"右":{"docs":{},"旋":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"这":{"docs":{},"里":{"docs":{},"不":{"docs":{},"在":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"我":{"docs":{},"之":{"docs":{},"前":{"docs":{},"写":{"docs":{},"的":{"docs":{},"一":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},":":{"docs":{},"【":{"docs":{},"漫":{"docs":{},"画":{"docs":{},"】":{"docs":{},"以":{"docs":{},"后":{"docs":{},"在":{"docs":{},"有":{"docs":{},"面":{"docs":{},"试":{"docs":{},"官":{"docs":{},"问":{"docs":{},"你":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},"树":{"docs":{},",":{"docs":{},"你":{"docs":{},"就":{"docs":{},"把":{"docs":{},"这":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"章":{"docs":{},"扔":{"docs":{},"给":{"docs":{},"他":{"docs":{},"。":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"台":{"docs":{},";":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"不":{"docs":{},"释":{"docs":{},"放":{"docs":{},"当":{"docs":{},"前":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"循":{"docs":{},"环":{"docs":{},")":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"且":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},"影":{"docs":{},"响":{"docs":{},"时":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},"死":{"docs":{},"锁":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"问":{"docs":{},"题":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"用":{"docs":{},"n":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}},"即":{"docs":{},"将":{"docs":{},"进":{"docs":{},"入":{"docs":{},"休":{"docs":{},"眠":{"docs":{},"或":{"docs":{},"者":{"docs":{},"即":{"docs":{},"将":{"docs":{},"退":{"docs":{},"出":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"。":{"docs":{},"而":{"docs":{},"该":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"图":{"docs":{},"中":{"docs":{},"橙":{"docs":{},"色":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.0044444444444444444}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"iOS/Knowledge/RuntimeCls.html":{"ref":"iOS/Knowledge/RuntimeCls.html","tf":0.008888888888888889}}}}}},"这":{"docs":{},"里":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"类":{"docs":{},"似":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"序":{"docs":{},"列":{"docs":{},"的":{"docs":{},"左":{"docs":{},"右":{"docs":{},"两":{"docs":{},"个":{"docs":{},"端":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"往":{"docs":{},"中":{"docs":{},"间":{"docs":{},"进":{"docs":{},"行":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"比":{"docs":{},"较":{"docs":{},"和":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"放":{"docs":{},"⾃":{"docs":{},"旋":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}},"在":{"docs":{},"声":{"docs":{},"明":{"docs":{},"分":{"docs":{},"号":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"入":{"docs":{},"其":{"docs":{},"中":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"既":{"docs":{},"然":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"@":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"能":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"地":{"docs":{},"方":{"docs":{},"(":{"docs":{},"v":{"docs":{},"c":{"docs":{},"、":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"等":{"docs":{},")":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"底":{"docs":{},"层":{"docs":{},"必":{"docs":{},"然":{"docs":{},"维":{"docs":{},"护":{"docs":{},"着":{"docs":{},"一":{"docs":{},"张":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"表":{"docs":{},"(":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"表":{"docs":{},")":{"docs":{},"。":{"docs":{},"而":{"docs":{},"从":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"可":{"docs":{},"以":{"docs":{},"证":{"docs":{},"实":{"docs":{},"系":{"docs":{},"统":{"docs":{},"确":{"docs":{},"实":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"维":{"docs":{},"护":{"docs":{},"着":{"docs":{},"一":{"docs":{},"张":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"表":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"存":{"docs":{},"储":{"docs":{},"着":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"然":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"地":{"docs":{},"方":{"docs":{},"去":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"何":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{},"不":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"采":{"docs":{},"用":{"docs":{},"链":{"docs":{},"式":{"docs":{},"存":{"docs":{},"储":{"docs":{},"。":{"docs":{},"由":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"定":{"docs":{},"义":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"最":{"docs":{},"多":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"结":{"docs":{},"点":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"定":{"docs":{},"义":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"和":{"docs":{},"两":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"域":{"docs":{},"。":{"docs":{},"表":{"docs":{},"示":{"docs":{},"方":{"docs":{},"式":{"docs":{},"如":{"docs":{},"图":{"3":{"docs":{},".":{"1":{"1":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"疑":{"docs":{},"难":{"docs":{},"解":{"docs":{},"答":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}},"细":{"docs":{},"数":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"那":{"docs":{},"些":{"docs":{},"锁":{"docs":{"iOS/OCFoundation/Lock.html":{"ref":"iOS/OCFoundation/Lock.html","tf":0.0006361323155216285}}}}}}}}}}},"节":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0024154589371980675},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.001984126984126984}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"接":{"docs":{},"触":{"docs":{},"过":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"和":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"很":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"像":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"性":{"docs":{},"能":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"差":{"docs":{},"的":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"瓶":{"docs":{},"颈":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"过":{"docs":{},"关":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"日":{"docs":{},"常":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"技":{"docs":{},"术":{"docs":{},"作":{"docs":{},"为":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"技":{"docs":{},"术":{"docs":{},"能":{"docs":{},"力":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"持":{"docs":{},"续":{"docs":{},"研":{"docs":{},"究":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"升":{"docs":{},"如":{"docs":{},"何":{"docs":{},"?":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"是":{"docs":{},"极":{"docs":{},"其":{"docs":{},"重":{"docs":{},"要":{"docs":{},"一":{"docs":{},"环":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"弹":{"docs":{},"窗":{"docs":{},"的":{"docs":{},"体":{"docs":{},"验":{"docs":{},"做":{"docs":{},"了":{"docs":{},"少":{"docs":{},"许":{"docs":{},"优":{"docs":{},"化":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"中":{"docs":{},",":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"也":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"选":{"docs":{},"取":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"指":{"docs":{},"标":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"度":{"docs":{},"量":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"能":{"docs":{},"够":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"出":{"docs":{},"成":{"docs":{},"本":{"docs":{},"更":{"docs":{},"低":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"实":{"docs":{},"践":{"docs":{},":":{"docs":{},"头":{"docs":{},"条":{"docs":{},"抖":{"docs":{},"音":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"慎":{"docs":{},"用":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}},"罢":{"docs":{},"了":{"docs":{},"。":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}},"萧":{"docs":{},"玉":{"docs":{},"大":{"docs":{},"佬":{"docs":{},"在":{"docs":{},"其":{"docs":{},"《":{"docs":{},"关":{"docs":{},"于":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}},"闭":{"docs":{},"包":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"提":{"docs":{},"升":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"里":{"docs":{},"都":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"?":{"docs":{"iOS/OCFoundation/@synchronized.html":{"ref":"iOS/OCFoundation/@synchronized.html","tf":0.0013698630136986301}}}}}}}}}}}}}},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"例":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{},"链":{"docs":{},"接":{"docs":{},"优":{"docs":{},"化":{"docs":{},"启":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"五":{"docs":{},"、":{"docs":{},"y":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"及":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}},"以":{"docs":{},"上":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"至":{"docs":{},"少":{"docs":{},"都":{"docs":{},"是":{"docs":{},"每":{"docs":{},"个":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"长":{"docs":{},"度":{"docs":{},"对":{"docs":{},"应":{"docs":{},"两":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"很":{"docs":{},"多":{"docs":{},"美":{"docs":{},"工":{"docs":{},"会":{"docs":{},"只":{"docs":{},"切":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"k":{"docs":{},"t":{"docs":{},"x":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"权":{"docs":{},"限":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"其":{"docs":{},"以":{"docs":{},"上":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}},"周":{"docs":{},"期":{"docs":{},"内":{"docs":{},"可":{"docs":{},"以":{"docs":{},"视":{"docs":{},"为":{"docs":{},"重":{"docs":{},"复":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"多":{"docs":{},"次":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"请":{"docs":{},"求":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}},"哪":{"docs":{},"一":{"docs":{},"个":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"导":{"docs":{},"致":{"docs":{},"不":{"docs":{},"能":{"docs":{},"及":{"docs":{},"时":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"结":{"docs":{},"果":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"。":{"docs":{},"优":{"docs":{},"化":{"docs":{},"界":{"docs":{},"面":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"程":{"docs":{},"度":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"减":{"docs":{},"少":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"大":{"docs":{},"致":{"docs":{},"是":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"四":{"docs":{},"、":{"docs":{},"y":{"docs":{},"y":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}},"有":{"docs":{},"赞":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"实":{"docs":{},"践":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"潜":{"docs":{},"在":{"docs":{},"问":{"docs":{},"题":{"docs":{},"和":{"docs":{},"适":{"docs":{},"配":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}},"释":{"docs":{},"放":{"docs":{},"连":{"docs":{},"接":{"docs":{},"时":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"docs":{}}}}}}}}}}}},".":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}},"带":{"docs":{},"来":{"docs":{},"压":{"docs":{},"力":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"掉":{"docs":{},"帧":{"docs":{},"(":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"大":{"docs":{},"量":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"都":{"docs":{},"相":{"docs":{},"当":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"示":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}},"宽":{"docs":{},"有":{"docs":{},"限":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"会":{"docs":{},"将":{"docs":{},"小":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"块":{"docs":{},"直":{"docs":{},"接":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"目":{"docs":{},"的":{"docs":{},"主":{"docs":{},"机":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"会":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"中":{"docs":{},"等":{"docs":{},"待":{"docs":{},"更":{"docs":{},"多":{"docs":{},"待":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"批":{"docs":{},"量":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"和":{"docs":{},"网":{"docs":{},"络":{"docs":{},"延":{"docs":{},"迟":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"能":{"docs":{},"够":{"docs":{},"降":{"docs":{},"低":{"docs":{},"网":{"docs":{},"络":{"docs":{},"拥":{"docs":{},"堵":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"性":{"docs":{},"并":{"docs":{},"减":{"docs":{},"少":{"docs":{},"额":{"docs":{},"外":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"默":{"docs":{},"认":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"它":{"docs":{},"们":{"docs":{},"内":{"docs":{},"部":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"除":{"docs":{},"非":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"及":{"docs":{},"其":{"docs":{},"衍":{"docs":{},"生":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"不":{"docs":{},"用":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"次":{"docs":{},"尝":{"docs":{},"试":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"解":{"docs":{},"决":{"docs":{},"掉":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}},"库":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"就":{"docs":{},"几":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"作":{"docs":{},"者":{"docs":{},"提":{"docs":{},"取":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"管":{"docs":{},"理":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"思":{"docs":{},"想":{"docs":{},"和":{"docs":{},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"时":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"非":{"docs":{},"常":{"docs":{},"慢":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"高":{"docs":{},"效":{"docs":{},"支":{"docs":{},"持":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"很":{"docs":{},"像":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"同":{"docs":{},"为":{"docs":{},"“":{"docs":{},"事":{"docs":{},"务":{"docs":{},"”":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"很":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"在":{"docs":{},"提":{"docs":{},"交":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"加":{"docs":{},"一":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"方":{"docs":{},"法":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"认":{"docs":{},"为":{"docs":{},"自":{"docs":{},"己":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"离":{"docs":{},"线":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"日":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"中":{"docs":{},"也":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"见":{"docs":{},",":{"docs":{},"百":{"docs":{},"兆":{"docs":{},"带":{"docs":{},"宽":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"已":{"docs":{},"经":{"docs":{},"能":{"docs":{},"够":{"docs":{},"满":{"docs":{},"足":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"在":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"法":{"docs":{},"联":{"docs":{},"网":{"docs":{},"或":{"docs":{},"者":{"docs":{},"网":{"docs":{},"络":{"docs":{},"极":{"docs":{},"差":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{},"飞":{"docs":{},"机":{"docs":{},"和":{"docs":{},"火":{"docs":{},"车":{"docs":{},"上":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"司":{"docs":{},"和":{"docs":{},"决":{"docs":{},"策":{"docs":{},"者":{"docs":{},"因":{"docs":{},"为":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"工":{"docs":{},"程":{"docs":{},"和":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"地":{"docs":{},"就":{"docs":{},"低":{"docs":{},"估":{"docs":{},"了":{"docs":{},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"『":{"docs":{},"效":{"docs":{},"率":{"docs":{},"降":{"docs":{},"低":{"docs":{},"』":{"docs":{},"程":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"下":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"往":{"docs":{},"往":{"docs":{},"性":{"docs":{},"能":{"docs":{},"比":{"docs":{},"使":{"docs":{},"用":{"docs":{},"各":{"docs":{},"种":{"docs":{},"“":{"docs":{},"锁":{"docs":{},"”":{"docs":{},"更":{"docs":{},"为":{"docs":{},"优":{"docs":{},"越":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"代":{"docs":{},"码":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"图":{"docs":{},"片":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"将":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"内":{"docs":{},"容":{"docs":{},"制":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"张":{"docs":{},"位":{"docs":{},"图":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"非":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"是":{"docs":{},"依":{"docs":{},"托":{"docs":{},"于":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"中":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}}}}}},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"以":{"docs":{},"页":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},"映":{"docs":{},"射":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"个":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},":":{"docs":{},"一":{"docs":{},"页":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"页":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},";":{"docs":{},"一":{"docs":{},"页":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"占":{"docs":{},"用":{"docs":{},"物":{"docs":{},"理":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338}},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}},"貌":{"docs":{},"似":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}},"较":{"docs":{},"为":{"docs":{},"糟":{"docs":{},"糕":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"然":{"docs":{},"而":{"docs":{},"可":{"docs":{},"喜":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"市":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"是":{"docs":{},"单":{"docs":{},"核":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"后":{"docs":{},"台":{"docs":{},"线":{"docs":{},"程":{"docs":{},"处":{"docs":{},"理":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"主":{"docs":{},"线":{"docs":{},"程":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"调":{"docs":{},"度":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"体":{"docs":{},"积":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"放":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"充":{"docs":{},"分":{"docs":{},"利":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"更":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"若":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"可":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"集":{"docs":{},"合":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"这":{"docs":{},"些":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"提":{"docs":{},"交":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/SourceCode/YYASyncLayer.html":{"ref":"iOS/SourceCode/YYASyncLayer.html","tf":0.001184834123222749}}}}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},",":{"docs":{},"当":{"docs":{},"数":{"docs":{},"量":{"docs":{},"大":{"docs":{},"于":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}},"成":{"docs":{},"入":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"中":{"docs":{},"式":{"docs":{},"和":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},"也":{"docs":{},"为":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}},"命":{"docs":{},"名":{"docs":{},"空":{"docs":{},"间":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}},"令":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"检":{"docs":{},"查":{"docs":{},"下":{"docs":{},"结":{"docs":{},"果":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},",":{"docs":{},"将":{"docs":{},"题":{"docs":{},"干":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}},"来":{"docs":{},"检":{"docs":{},"测":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"对":{"docs":{},"照":{"docs":{},"表":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"工":{"docs":{},"具":{"docs":{},"对":{"docs":{},"于":{"docs":{},"检":{"docs":{},"出":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"本":{"docs":{},"地":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"、":{"docs":{},"本":{"docs":{},"地":{"docs":{},"提":{"docs":{},"交":{"docs":{},"和":{"docs":{},"向":{"docs":{},"主":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"提":{"docs":{},"交":{"docs":{},"几":{"docs":{},"个":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"数":{"docs":{},"据":{"docs":{},"下":{"docs":{},"载":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"并":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"创":{"docs":{},"建":{"docs":{},"分":{"docs":{},"支":{"docs":{},"、":{"docs":{},"修":{"docs":{},"改":{"docs":{},"和":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"将":{"docs":{},"新":{"docs":{},"的":{"docs":{},"改":{"docs":{},"动":{"docs":{},"推":{"docs":{},"送":{"docs":{},"到":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"上":{"docs":{},"或":{"docs":{},"者":{"docs":{},"等":{"docs":{},"待":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"微":{"docs":{},"软":{"docs":{},"的":{"docs":{},"暗":{"docs":{},"黑":{"docs":{},"模":{"docs":{},"式":{"docs":{},"适":{"docs":{},"配":{"docs":{},"框":{"docs":{},"架":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}},"信":{"docs":{},"群":{"docs":{},"里":{"docs":{},"听":{"docs":{},"了":{"docs":{},"蘑":{"docs":{},"菇":{"docs":{},"街":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"分":{"docs":{},"享":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"受":{"docs":{},"启":{"docs":{},"发":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},"当":{"docs":{},"时":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"顾":{"docs":{},"虑":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{},"和":{"docs":{},"收":{"docs":{},"银":{"docs":{},"当":{"docs":{},"时":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"中":{"docs":{},"小":{"docs":{},"型":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"每":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"承":{"docs":{},"载":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"不":{"docs":{},"同":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{"iOS/SourceCode/FluentDarkModeKit.html":{"ref":"iOS/SourceCode/FluentDarkModeKit.html","tf":0.0014992503748125937}}}}}},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"统":{"docs":{},"跳":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}},"跳":{"docs":{},"转":{"docs":{},"。":{"docs":{},"一":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"但":{"docs":{},"都":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"如":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"…":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"…":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"…":{"docs":{},"…":{"docs":{},"…":{"docs":{},"…":{"docs":{},"(":{"docs":{},"省":{"docs":{},"略":{"docs":{},",":{"docs":{},"节":{"docs":{},"省":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},")":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}},"」":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}},"交":{"docs":{},"互":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"负":{"docs":{},"责":{"docs":{},"资":{"docs":{},"源":{"docs":{},"加":{"docs":{},"载":{"docs":{},"及":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}}}}},"易":{"docs":{},"中":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"失":{"docs":{},"败":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"延":{"docs":{},"期":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"成":{"docs":{},"功":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"没":{"docs":{},"有":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"重":{"docs":{},"启":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"收":{"docs":{},"据":{"docs":{},"信":{"docs":{},"息":{"docs":{},"就":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"出":{"docs":{},"来":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"唱":{"docs":{},"吧":{"docs":{},"k":{"docs":{},"t":{"docs":{},"v":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/SourceCode/KTVHttpCache.html":{"ref":"iOS/SourceCode/KTVHttpCache.html","tf":0.001519756838905775}}}}}}}}}}}}}}},"依":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"。":{"docs":{},"这":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"机":{"docs":{},"智":{"docs":{},"。":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"也":{"docs":{},"可":{"docs":{},"从":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"得":{"docs":{},"到":{"docs":{},"验":{"docs":{},"证":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"推":{"docs":{},",":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"在":{"docs":{},"添":{"docs":{},"加":{"docs":{},"和":{"docs":{},"删":{"docs":{},"除":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"保":{"docs":{},"持":{"docs":{},"整":{"docs":{},"个":{"docs":{},"树":{"docs":{},"的":{"docs":{},"平":{"docs":{},"衡":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"做":{"docs":{},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"时":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"、":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"都":{"docs":{},"是":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"从":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}},"画":{"docs":{},"好":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}},"赖":{"docs":{},"于":{"docs":{},"最":{"docs":{},"新":{"docs":{},"加":{"docs":{},"入":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"库":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"然":{"docs":{},"是":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"在":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}},"出":{"docs":{},"错":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"{":{"docs":{},"}":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}},"现":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"x":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"系":{"docs":{},"统":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"大":{"docs":{},"型":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"简":{"docs":{},"介":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}},":":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"均":{"docs":{},"无":{"docs":{},"以":{"docs":{},"上":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}},"证":{"docs":{},"书":{"docs":{},"(":{"docs":{},"内":{"docs":{},"含":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"和":{"docs":{},"私":{"docs":{},"钥":{"docs":{},")":{"docs":{},"。":{"docs":{},"网":{"docs":{},"上":{"docs":{},"的":{"docs":{},"公":{"docs":{},"众":{"docs":{},"用":{"docs":{},"户":{"docs":{},"通":{"docs":{},"过":{"docs":{},"验":{"docs":{},"证":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}},"塞":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"拦":{"docs":{},"截":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"格":{"docs":{},"式":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"来":{"docs":{},"。":{"docs":{},"这":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"读":{"docs":{},"取":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"中":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"则":{"docs":{},"会":{"docs":{},"按":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"常":{"docs":{},"见":{"docs":{},"文":{"docs":{},"件":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"替":{"docs":{},"代":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}}}}},"江":{"docs":{},"涛":{"docs":{},"的":{"docs":{},"博":{"docs":{},"客":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"确":{"docs":{},"定":{"docs":{},"最":{"docs":{},"终":{"docs":{},"查":{"docs":{},"找":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"下":{"docs":{},"载":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}},"认":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"1":{"docs":{},",":{"docs":{},"确":{"docs":{},"认":{"docs":{},"号":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"y":{"docs":{},"+":{"1":{"docs":{},",":{"docs":{},"序":{"docs":{},"号":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"x":{"docs":{},"+":{"1":{"docs":{},"(":{"docs":{},"初":{"docs":{},"始":{"docs":{},"为":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"=":{"docs":{},"x":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"所":{"docs":{},"以":{"docs":{},"要":{"docs":{},"+":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"不":{"docs":{},"携":{"docs":{},"带":{"docs":{},"数":{"docs":{},"据":{"docs":{},"则":{"docs":{},"不":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}},"丢":{"docs":{},"失":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}},"迟":{"docs":{},"到":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}},"实":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{},"了":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"缓":{"docs":{},"存":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"绕":{"docs":{},"了":{"docs":{},"这":{"docs":{},"么":{"docs":{},"大":{"docs":{},"一":{"docs":{},"圈":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"问":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"一":{"docs":{},"上":{"docs":{},"来":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{},"通":{"docs":{},"过":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"s":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"这":{"docs":{},"样":{"docs":{},"设":{"docs":{},"计":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"复":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"没":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},"时":{"docs":{},"展":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"错":{"docs":{},"乱":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"原":{"docs":{},"理":{"docs":{},"就":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"之":{"docs":{},"前":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"请":{"docs":{},"求":{"docs":{},"新":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"取":{"docs":{},"消":{"docs":{},"掉":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"并":{"docs":{},"从":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"掉":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"新":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"说":{"docs":{},",":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"请":{"docs":{},"求":{"docs":{},"在":{"docs":{},"这":{"docs":{},"之":{"docs":{},"后":{"docs":{},"回":{"docs":{},"调":{"docs":{},"回":{"docs":{},"来":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"会":{"docs":{},"判":{"docs":{},"断":{"docs":{},"之":{"docs":{},"前":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"或":{"docs":{},"者":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"=":{"docs":{},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"回":{"docs":{},"调":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},":":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"维":{"docs":{},"护":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}}},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"iOS/SourceCode/SDWebImage.html":{"ref":"iOS/SourceCode/SDWebImage.html","tf":0.0006640106241699867}}}}}},"程":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},"选":{"docs":{},"项":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"编":{"docs":{},"译":{"docs":{},"、":{"docs":{},"链":{"docs":{},"接":{"docs":{},"、":{"docs":{},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"名":{"docs":{},"、":{"docs":{},"打":{"docs":{},"包":{"docs":{},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滤":{"docs":{"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"ref":"Article/iOS 代码瘦身实践_ 删除无用的类.html","tf":0.0028653295128939827}},"网":{"docs":{},"关":{"docs":{},"防":{"docs":{},"护":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"⚠":{"docs":{},"️":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"想":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"操":{"docs":{},"作":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"当":{"docs":{},"前":{"docs":{},"仓":{"docs":{},"库":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"知":{"docs":{},"道":{"docs":{},"的":{"docs":{},"常":{"docs":{},"用":{"docs":{},"排":{"docs":{},"序":{"docs":{},"算":{"docs":{},"法":{"docs":{},"之":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}},"一":{"docs":{},"定":{"docs":{},"还":{"docs":{},"见":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"也":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"未":{"docs":{},"加":{"docs":{},"载":{"docs":{},"等":{"docs":{},"异":{"docs":{},"常":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"今":{"docs":{},"天":{"docs":{},"就":{"docs":{},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"带":{"docs":{},"来":{"docs":{},"一":{"docs":{},"个":{"docs":{},"终":{"docs":{},"极":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"偏":{"docs":{},"移":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"允":{"docs":{},"许":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"工":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"区":{"docs":{},"中":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"库":{"docs":{},"方":{"docs":{},"法":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"每":{"docs":{},"次":{"docs":{},"发":{"docs":{},"版":{"docs":{},"用":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"实":{"docs":{},"际":{"docs":{},"做":{"docs":{},"了":{"docs":{},"几":{"docs":{},"次":{"docs":{},"调":{"docs":{},"查":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"产":{"docs":{},"物":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"些":{"docs":{},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"库":{"docs":{},"、":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"注":{"docs":{},"释":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"师":{"docs":{},"必":{"docs":{},"须":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"连":{"docs":{},"接":{"docs":{},"网":{"docs":{},"络":{"docs":{},"才":{"docs":{},"能":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"状":{"docs":{},"况":{"docs":{},"不":{"docs":{},"好":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"无":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},";":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"年":{"docs":{},"限":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}},"建":{"docs":{},"议":{"docs":{},"读":{"docs":{},"一":{"docs":{},"读":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"立":{"docs":{},"一":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"需":{"docs":{},"要":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"而":{"docs":{},"终":{"docs":{},"止":{"docs":{},"一":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"要":{"docs":{},"经":{"docs":{},"过":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"(":{"docs":{},"也":{"docs":{},"有":{"docs":{},"将":{"docs":{},"四":{"docs":{},"次":{"docs":{},"挥":{"docs":{},"手":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"四":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"由":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"半":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"绑":{"docs":{},"定":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}},"拖":{"docs":{},"动":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"调":{"docs":{},"整":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0013486176668914363},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"发":{"docs":{},"现":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"段":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181},"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.006134969325153374},"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"命":{"docs":{},"令":{"docs":{},"数":{"docs":{},"量":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"是":{"docs":{},"可":{"docs":{},"读":{"docs":{},"可":{"docs":{},"写":{"docs":{},"的":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}},"的":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"中":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"就":{"docs":{},"不":{"docs":{},"对":{"docs":{},"了":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"页":{"docs":{},",":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"解":{"docs":{},"密":{"docs":{},"很":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"办":{"docs":{},"法":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"密":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},".":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"和":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}},"整":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"表":{"docs":{},"来":{"docs":{},"缩":{"docs":{},"减":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"它":{"docs":{},"能":{"docs":{},"打":{"docs":{},"包":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"段":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"能":{"docs":{},"节":{"docs":{},"约":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{},"的":{"docs":{},"预":{"docs":{},"链":{"docs":{},"接":{"docs":{},"。":{"docs":{},"它":{"docs":{},"预":{"docs":{},"先":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"读":{"docs":{},"取":{"docs":{},"的":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}},"里":{"docs":{},"都":{"docs":{},"存":{"docs":{},"放":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}}}}},"中":{"docs":{},"且":{"docs":{},"不":{"docs":{},"连":{"docs":{},"续":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"多":{"docs":{},"次":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"移":{"docs":{},"动":{"docs":{},"到":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"段":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}},"、":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}},"进":{"docs":{},"行":{"docs":{},"语":{"docs":{},"法":{"docs":{},"静":{"docs":{},"态":{"docs":{},"分":{"docs":{},"析":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}},"量":{"docs":{},"控":{"docs":{},"制":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"演":{"docs":{},"示":{"docs":{},"如":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}},"熟":{"docs":{},"悉":{"docs":{},"越":{"docs":{},"狱":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"应":{"docs":{},"该":{"docs":{},"很":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"这":{"docs":{},"个":{"docs":{},"机":{"docs":{},"制":{"docs":{},"了":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}},"都":{"docs":{},"很":{"docs":{},"清":{"docs":{},"楚":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}},"的":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"支":{"docs":{},"付":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"库":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"下":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"大":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"所":{"docs":{},"讲":{"docs":{},"的":{"docs":{},"共":{"docs":{},"享":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}},"节":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"中":{"docs":{},".":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"点":{"docs":{},"是":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},",":{"docs":{},"是":{"docs":{},"构":{"docs":{},"成":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"组":{"docs":{},"成":{"docs":{},"单":{"docs":{},"位":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"的":{"docs":{},"度":{"docs":{},":":{"docs":{},"结":{"docs":{},"点":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"数":{"docs":{},"目":{"docs":{},"称":{"docs":{},"为":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"度":{"docs":{},",":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"结":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"地":{"docs":{},"址":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"内":{"docs":{},"存":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"是":{"docs":{},"作":{"docs":{},"为":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}},"行":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"却":{"docs":{},"花":{"docs":{},"了":{"docs":{},"一":{"docs":{},"周":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}},"谁":{"docs":{},"先":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}},"越":{"docs":{},"狱":{"docs":{},"的":{"docs":{},"插":{"docs":{},"件":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"下":{"docs":{},"载":{"docs":{},"插":{"docs":{},"件":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"机":{"docs":{},"有":{"docs":{},"无":{"docs":{},"数":{"docs":{},"奇":{"docs":{},"葩":{"docs":{},"的":{"docs":{},"收":{"docs":{},"据":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"或":{"docs":{},"无":{"docs":{},"效":{"docs":{},"或":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"酌":{"docs":{},"情":{"docs":{},"处":{"docs":{},"理":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跟":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}},"我":{"docs":{},"们":{"docs":{},"上":{"docs":{},"面":{"docs":{},"截":{"docs":{},"图":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"一":{"docs":{},"模":{"docs":{},"一":{"docs":{},"样":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"一":{"docs":{},"下":{"docs":{"iOS/Knowledge/Dyld.html":{"ref":"iOS/Knowledge/Dyld.html","tf":0.0006743088334457181}}}},"完":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"身":{"docs":{},"份":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"的":{"docs":{},"算":{"docs":{},"法":{"docs":{},"和":{"docs":{},"对":{"docs":{},"应":{"docs":{},"密":{"docs":{},"钥":{"docs":{},",":{"docs":{},"以":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"加":{"docs":{},"密":{"docs":{},"之":{"docs":{},"后":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"被":{"docs":{},"黑":{"docs":{},"客":{"docs":{},"截":{"docs":{},"获":{"docs":{},"也":{"docs":{},"没":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"解":{"docs":{},"密":{"docs":{},"。":{"docs":{},"之":{"docs":{},"后":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"算":{"docs":{},"法":{"docs":{},"来":{"docs":{},"加":{"docs":{},"密":{"docs":{},"和":{"docs":{},"解":{"docs":{},"密":{"docs":{},"通":{"docs":{},"信":{"docs":{},"内":{"docs":{},"容":{"docs":{},"了":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"消":{"docs":{},"息":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375}}}}}}},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"『":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"』":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"这":{"docs":{},"一":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仍":{"docs":{},"然":{"docs":{},"活":{"docs":{},"着":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"处":{"docs":{},"于":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"冷":{"docs":{},"启":{"docs":{},"动":{"docs":{},":":{"docs":{},"系":{"docs":{},"统":{"docs":{},"里":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"是":{"docs":{},"重":{"docs":{},"启":{"docs":{},"手":{"docs":{},"机":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"广":{"docs":{},"义":{"docs":{},":":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"标":{"docs":{},"到":{"docs":{},"首":{"docs":{},"页":{"docs":{},"数":{"docs":{},"据":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"毕":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}},"播":{"docs":{},"相":{"docs":{},"结":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}},"抖":{"docs":{},"音":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},"品":{"docs":{},"质":{"docs":{},"建":{"docs":{},"设":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":3.333333333333333}}}}}}}},"排":{"docs":{},"列":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"次":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"将":{"docs":{},"比":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},"小":{"docs":{},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},",":{"docs":{},"将":{"docs":{},"比":{"docs":{},"基":{"docs":{},"准":{"docs":{},"点":{"docs":{},"大":{"docs":{},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"子":{"docs":{},"序":{"docs":{},"列":{"docs":{},";":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"到":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}},"序":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"确":{"docs":{},"定":{"docs":{},"最":{"docs":{},"终":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"元":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"遍":{"docs":{},"处":{"docs":{},"理":{"docs":{},"称":{"docs":{},"为":{"docs":{},"一":{"docs":{},"“":{"docs":{},"趟":{"docs":{},"”":{"docs":{},"。":{"docs":{},"下":{"docs":{},"列":{"docs":{},"序":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"快":{"docs":{},"速":{"docs":{},"排":{"docs":{},"序":{"docs":{},"第":{"docs":{},"二":{"docs":{},"趟":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{},"(":{"docs":{},"d":{"docs":{},")":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"桩":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"m":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}},"入":{"docs":{},"动":{"docs":{},"态":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"库":{"docs":{},"。":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}}}}}}}},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"编":{"docs":{},"译":{"docs":{},"期":{"docs":{},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}},"热":{"docs":{},"启":{"docs":{},"动":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"把":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"狭":{"docs":{},"义":{"docs":{},":":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},"标":{"docs":{},"到":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"签":{"docs":{},"名":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}},",":{"docs":{},"防":{"docs":{},"篡":{"docs":{},"改":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}},"精":{"docs":{},"准":{"docs":{},"统":{"docs":{},"计":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"终":{"docs":{},"点":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},":":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"办":{"docs":{},"法":{"docs":{},"优":{"docs":{},"化":{"docs":{},"呢":{"docs":{},"?":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"iOS/Knowledge/AppLaunchDetail.html":{"ref":"iOS/Knowledge/AppLaunchDetail.html","tf":0.0012077294685990338},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}},"将":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"一":{"docs":{},"级":{"docs":{},"划":{"docs":{},"分":{"docs":{},"。":{"docs":{},"而":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"拆":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"职":{"docs":{},"责":{"docs":{},"明":{"docs":{},"确":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"不":{"docs":{},"用":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"公":{"docs":{},"共":{"docs":{},"模":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"很":{"docs":{},"清":{"docs":{},"晰":{"docs":{},";":{"docs":{},"劣":{"docs":{},"势":{"docs":{},"是":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"倍":{"docs":{},",":{"docs":{},"维":{"docs":{},"护":{"docs":{},"成":{"docs":{},"本":{"docs":{},"增":{"docs":{},"加":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"目":{"docs":{},"前":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"名":{"docs":{},"称":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.00408997955010225}},"了":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}},"镜":{"docs":{},"像":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}},"信":{"docs":{},"息":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}}}},"魔":{"docs":{},"数":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"定":{"docs":{},"位":{"6":{"4":{"docs":{},"位":{"docs":{},"/":{"3":{"2":{"docs":{},"位":{"docs":{"iOS/Knowledge/MachO.html":{"ref":"iOS/Knowledge/MachO.html","tf":0.002044989775051125}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}},"选":{"docs":{},"择":{"docs":{"iOS/Knowledge/PreMain.html":{"ref":"iOS/Knowledge/PreMain.html","tf":0.007874015748031496}},"添":{"docs":{},"加":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"使":{"docs":{},"用":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"指":{"docs":{},"导":{"docs":{},"其":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"其":{"docs":{},"实":{"docs":{},"与":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"更":{"docs":{},"加":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"能":{"docs":{},"够":{"docs":{},"很":{"docs":{},"好":{"docs":{},"地":{"docs":{},"解":{"docs":{},"决":{"docs":{},"上":{"docs":{},"述":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"中":{"docs":{},"式":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"接":{"docs":{},"受":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}}}},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"替":{"docs":{},"换":{"docs":{},";":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"理":{"docs":{},"解":{"docs":{},"成":{"docs":{},"本":{"docs":{},"。":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"规":{"docs":{},"模":{"docs":{},"快":{"docs":{},"速":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"一":{"docs":{},"些":{"docs":{},"新":{"docs":{},"来":{"docs":{},"的":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"提":{"docs":{},"出":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"。":{"1":{"8":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"需":{"docs":{},"要":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"标":{"docs":{},"识":{"docs":{},"下":{"docs":{},"是":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}},"部":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"某":{"docs":{},"些":{"docs":{},"攻":{"docs":{},"击":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"解":{"docs":{},"析":{"docs":{},"和":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"工":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"会":{"docs":{},"被":{"docs":{},"作":{"docs":{},"为":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"宏":{"docs":{},"展":{"docs":{},"开":{"docs":{},";":{"docs":{},"处":{"docs":{},"理":{"docs":{},"预":{"docs":{},"编":{"docs":{},"译":{"docs":{},"指":{"docs":{},"令":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"教":{"docs":{},"程":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}},"日":{"docs":{},"志":{"docs":{},"获":{"docs":{},"得":{"docs":{},"。":{"docs":{},"大":{"docs":{},"致":{"docs":{},"过":{"docs":{},"程":{"docs":{},"为":{"docs":{},":":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}},"汇":{"docs":{},"编":{"docs":{},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"y":{"docs":{},")":{"docs":{},":":{"docs":{},"把":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"语":{"docs":{},"言":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"项":{"docs":{},"目":{"docs":{},"前":{"docs":{},"已":{"docs":{},"编":{"docs":{},"译":{"docs":{},"好":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"和":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"源":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"包":{"docs":{},"中":{"docs":{},"。":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"化":{"docs":{},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{},"对":{"docs":{},"于":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"打":{"docs":{},"包":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},":":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"将":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"符":{"docs":{},"合":{"docs":{},"特":{"docs":{},"定":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"词":{"docs":{},"法":{"docs":{},"单":{"docs":{},"元":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"iOS/Knowledge/Complie.html":{"ref":"iOS/Knowledge/Complie.html","tf":0.005208333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渠":{"docs":{},"道":{"docs":{},"分":{"docs":{},"发":{"docs":{},"的":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}},"诞":{"docs":{},"生":{"docs":{},"的":{"docs":{},",":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"片":{"docs":{},"连":{"docs":{},"续":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"界":{"docs":{},"限":{"docs":{},"寄":{"docs":{},"存":{"docs":{},"器":{"docs":{},"判":{"docs":{},"断":{"docs":{},"访":{"docs":{},"问":{"docs":{},"是":{"docs":{},"否":{"docs":{},"越":{"docs":{},"界":{"docs":{},",":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"基":{"docs":{},"址":{"docs":{},"寄":{"docs":{},"存":{"docs":{},"器":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},",":{"docs":{},"保":{"docs":{},"护":{"docs":{},"每":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"地":{"docs":{},"址":{"docs":{},"空":{"docs":{},"间":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"其":{"docs":{},"它":{"docs":{},"进":{"docs":{},"程":{"docs":{},"破":{"docs":{},"坏":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{"iOS/Knowledge/BinaryOrder.html":{"ref":"iOS/Knowledge/BinaryOrder.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仅":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"译":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"者":{"docs":{"iOS/Knowledge/RuntimeSuper.html":{"ref":"iOS/Knowledge/RuntimeSuper.html","tf":0.004784688995215311}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"单":{"docs":{},"播":{"docs":{},"传":{"docs":{},"输":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}},"粘":{"docs":{},"包":{"docs":{},"和":{"docs":{},"分":{"docs":{},"包":{"docs":{},"问":{"docs":{},"题":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{"Network/TCPMessageFrame.html":{"ref":"Network/TCPMessageFrame.html","tf":0.013513513513513514}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.015748031496062992}}}}}},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"后":{"docs":{},"会":{"docs":{},"先":{"docs":{},"验":{"docs":{},"证":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"(":{"docs":{},"证":{"docs":{},"书":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"与":{"docs":{},"正":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{},"否":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"否":{"docs":{},"过":{"docs":{},"期":{"docs":{},")":{"docs":{},"。":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"信":{"docs":{},"任":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"经":{"docs":{},"过":{"2":{"docs":{},"m":{"docs":{},"s":{"docs":{},"l":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"本":{"docs":{},"连":{"docs":{},"接":{"docs":{},"持":{"docs":{},"续":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"所":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"都":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"中":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"使":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"请":{"docs":{},"求":{"docs":{},"报":{"docs":{},"文":{"docs":{},"段":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"也":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"解":{"docs":{},"密":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"串":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"对":{"docs":{},"称":{"docs":{},"主":{"docs":{},"密":{"docs":{},"钥":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"分":{"docs":{},"配":{"docs":{},"是":{"docs":{},"在":{"docs":{},"二":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"时":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"是":{"docs":{},"在":{"docs":{},"完":{"docs":{},"成":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"时":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"容":{"docs":{},"易":{"docs":{},"受":{"docs":{},"到":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"洪":{"docs":{},"泛":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"短":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"大":{"docs":{},"量":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"并":{"docs":{},"向":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"断":{"docs":{},"地":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"包":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"则":{"docs":{},"回":{"docs":{},"复":{"docs":{},"确":{"docs":{},"认":{"docs":{},"包":{"docs":{},",":{"docs":{},"并":{"docs":{},"等":{"docs":{},"待":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"确":{"docs":{},"认":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"源":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"需":{"docs":{},"要":{"docs":{},"不":{"docs":{},"断":{"docs":{},"重":{"docs":{},"发":{"docs":{},"直":{"docs":{},"至":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"包":{"docs":{},"将":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"占":{"docs":{},"用":{"docs":{},"未":{"docs":{},"连":{"docs":{},"接":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"请":{"docs":{},"求":{"docs":{},"因":{"docs":{},"为":{"docs":{},"队":{"docs":{},"列":{"docs":{},"满":{"docs":{},"而":{"docs":{},"被":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"引":{"docs":{},"起":{"docs":{},"网":{"docs":{},"络":{"docs":{},"拥":{"docs":{},"塞":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"系":{"docs":{},"统":{"docs":{},"瘫":{"docs":{},"痪":{"docs":{},"。":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"查":{"docs":{},"询":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"要":{"docs":{},"等":{"docs":{},"下":{"docs":{},"次":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"查":{"docs":{},"不":{"docs":{},"到":{"docs":{},"这":{"docs":{},"笔":{"docs":{},"订":{"docs":{},"单":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"收":{"docs":{},"据":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"已":{"docs":{},"付":{"docs":{},"款":{"docs":{},"的":{"docs":{},"订":{"docs":{},"单":{"docs":{},"号":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"讯":{"docs":{},",":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"确":{"docs":{},"认":{"docs":{},"购":{"docs":{},"买":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"密":{"docs":{},"码":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"订":{"docs":{},"单":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"订":{"docs":{},"单":{"docs":{},"推":{"docs":{},"入":{"docs":{},"支":{"docs":{},"付":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"开":{"docs":{},"单":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"这":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},",":{"docs":{},"图":{"docs":{},"形":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"建":{"docs":{},"立":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"用":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},",":{"docs":{},"非":{"docs":{},"对":{"docs":{},"称":{"docs":{},"加":{"docs":{},"密":{"docs":{},"很":{"docs":{},"耗":{"docs":{},"时":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"历":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},"的":{"docs":{"Network/Https.html":{"ref":"Network/Https.html","tf":0.007874015748031496}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"个":{"docs":{},"数":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}},"刚":{"docs":{},"开":{"docs":{},"始":{"docs":{},"双":{"docs":{},"方":{"docs":{},"都":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"弄":{"docs":{},"清":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"弄":{"docs":{},"明":{"docs":{},"白":{"docs":{},"三":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"只":{"docs":{},"用":{"docs":{},"两":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"报":{"docs":{},"文":{"docs":{},"中":{"docs":{},"放":{"docs":{},"入":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"者":{"docs":{},"根":{"docs":{},"本":{"docs":{},"就":{"docs":{},"不":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"接":{"docs":{},"收":{"docs":{},"、":{"docs":{},"发":{"docs":{},"送":{"docs":{},"能":{"docs":{},"力":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"疯":{"docs":{},"狂":{"docs":{},"着":{"docs":{},"重":{"docs":{},"复":{"docs":{},"发":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"进":{"docs":{},"入":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},",":{"docs":{},"也":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}},"会":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"个":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}},"就":{"docs":{},"处":{"docs":{},"于":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"了":{"docs":{},",":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"应":{"docs":{},"答":{"docs":{},",":{"docs":{},"且":{"docs":{},"把":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"值":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"并":{"docs":{},"且":{"docs":{},"也":{"docs":{},"是":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"值":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}},"表":{"docs":{},"明":{"docs":{},"已":{"docs":{},"经":{"docs":{},"收":{"docs":{},"到":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"报":{"docs":{},"文":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}},"话":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"花":{"docs":{},"费":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"间":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"这":{"docs":{},"些":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"且":{"docs":{},"把":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"值":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}},"并":{"docs":{},"指":{"docs":{},"明":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"把":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}},"报":{"docs":{},"文":{"docs":{},"中":{"docs":{},"会":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"序":{"docs":{},"列":{"docs":{},"号":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"处":{"docs":{},"于":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}},"头":{"docs":{},"就":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"任":{"docs":{},"何":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}},"挥":{"docs":{},"手":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"需":{"docs":{},"要":{"docs":{},"四":{"docs":{},"次":{"docs":{},"?":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.008658008658008658}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}},"非":{"docs":{},"常":{"docs":{},"的":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"半":{"docs":{},"连":{"docs":{},"接":{"docs":{},"状":{"docs":{},"态":{"docs":{},"时":{"docs":{},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"源":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"是":{"docs":{},"随":{"docs":{},"机":{"docs":{},"的":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"断":{"docs":{},"定":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"次":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{},"在":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},",":{"docs":{},"四":{"docs":{},"个":{"docs":{},"报":{"docs":{},"文":{"docs":{},"都":{"docs":{},"发":{"docs":{},"送":{"docs":{},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"进":{"docs":{},"入":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"可":{"docs":{},"能":{"docs":{},"网":{"docs":{},"络":{"docs":{},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"重":{"docs":{},"发":{"docs":{},"可":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"的":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"报":{"docs":{},"文":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"本":{"docs":{},"方":{"docs":{},"案":{"docs":{},"基":{"docs":{},"础":{"docs":{},"之":{"docs":{},"上":{"docs":{},"还":{"docs":{},"可":{"docs":{},"升":{"docs":{},"级":{"docs":{},"添":{"docs":{},"加":{"docs":{},"更":{"docs":{},"多":{"docs":{},"产":{"docs":{},"品":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"里":{"docs":{},"也":{"docs":{},"忠":{"docs":{},"告":{"docs":{},"大":{"docs":{},"家":{"docs":{},"请":{"docs":{},"勿":{"docs":{},"滥":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"未":{"docs":{},"来":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"修":{"docs":{},"改":{"docs":{},"该":{"docs":{},"系":{"docs":{},"统":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}},"著":{"docs":{},"作":{"docs":{},"权":{"docs":{},"归":{"docs":{},"作":{"docs":{},"者":{"docs":{},"所":{"docs":{},"有":{"docs":{},"。":{"docs":{},"商":{"docs":{},"业":{"docs":{},"转":{"docs":{},"载":{"docs":{},"请":{"docs":{},"联":{"docs":{},"系":{"docs":{},"作":{"docs":{},"者":{"docs":{},"获":{"docs":{},"得":{"docs":{},"授":{"docs":{},"权":{"docs":{},",":{"docs":{},"非":{"docs":{},"商":{"docs":{},"业":{"docs":{},"转":{"docs":{},"载":{"docs":{},"请":{"docs":{},"注":{"docs":{},"明":{"docs":{},"出":{"docs":{},"处":{"docs":{},"。":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"想":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"用":{"docs":{},"两":{"docs":{},"次":{"docs":{},"握":{"docs":{},"手":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{"Network/TCPHandShake.html":{"ref":"Network/TCPHandShake.html","tf":0.004329004329004329}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"点":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}},":":{"docs":{"Network/TCPUDP.html":{"ref":"Network/TCPUDP.html","tf":0.008064516129032258}}},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"劫":{"docs":{},"持":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}},"摒":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"外":{"docs":{},"界":{"docs":{},"干":{"docs":{},"扰":{"docs":{},",":{"docs":{},"摆":{"docs":{},"脱":{"docs":{},"d":{"docs":{},"n":{"docs":{},"s":{"docs":{},"劫":{"docs":{},"持":{"docs":{},"困":{"docs":{},"扰":{"docs":{},"。":{"docs":{"Network/HTTPDNS.html":{"ref":"Network/HTTPDNS.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{},"电":{"docs":{},"子":{"docs":{},"签":{"docs":{},"证":{"docs":{},"机":{"docs":{},"关":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"公":{"docs":{},"钥":{"docs":{},"、":{"docs":{},"权":{"docs":{},"威":{"docs":{},"机":{"docs":{},"构":{"docs":{},"的":{"docs":{},"签":{"docs":{},"字":{"docs":{},"和":{"docs":{},"有":{"docs":{},"效":{"docs":{},"期":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},"和":{"docs":{},"验":{"docs":{},"证":{"docs":{},"方":{"docs":{},"法":{"docs":{},"普":{"docs":{},"遍":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"x":{"docs":{},".":{"5":{"0":{"9":{"docs":{},"国":{"docs":{},"际":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"Network/CA.html":{"ref":"Network/CA.html","tf":0.027777777777777776}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"丑":{"docs":{},"了":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"的":{"docs":{},"确":{"docs":{},"保":{"docs":{},"持":{"docs":{},"了":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"整":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"让":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"树":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"查":{"docs":{},"找":{"docs":{},"树":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"有":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.003246753246753247}},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},"值":{"docs":{},"均":{"docs":{},"大":{"docs":{},"于":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}},"斜":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"旋":{"docs":{},"成":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}},"键":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.0031120331950207467}},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"显":{"docs":{},"示":{"docs":{},"包":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"就":{"docs":{},"能":{"docs":{},"够":{"docs":{},"看":{"docs":{},"到":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"e":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"故":{"docs":{},"输":{"docs":{},"出":{"docs":{},"j":{"docs":{},";":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}},"左":{"docs":{"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"子":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227},"Algorithm/BinarySort.html":{"ref":"Algorithm/BinarySort.html","tf":0.006493506493506494}},"上":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},"值":{"docs":{},"均":{"docs":{},"小":{"docs":{},"于":{"docs":{},"根":{"docs":{},"结":{"docs":{},"点":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}}}}}}}}}}}}}}},"斜":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}},"得":{"docs":{},"让":{"docs":{},"位":{"docs":{},"给":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"斜":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},":":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"结":{"docs":{},"点":{"docs":{},"都":{"docs":{},"只":{"docs":{},"有":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"叫":{"docs":{},"左":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"。":{"docs":{},"所":{"docs":{},"有":{"docs":{},"结":{"docs":{},"点":{"docs":{},"都":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"叫":{"docs":{},"右":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"。":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"统":{"docs":{},"称":{"docs":{},"为":{"docs":{},"斜":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},"是":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},">":{"docs":{},"=":{"0":{"docs":{},")":{"docs":{},"个":{"docs":{},"结":{"docs":{},"点":{"docs":{},"的":{"docs":{},"有":{"docs":{},"限":{"docs":{},"集":{"docs":{},"。":{"docs":{},"n":{"docs":{},"=":{"0":{"docs":{},"时":{"docs":{},"称":{"docs":{},"为":{"docs":{},"空":{"docs":{},"树":{"docs":{},"。":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"颗":{"docs":{},"非":{"docs":{},"空":{"docs":{},"树":{"docs":{},"中":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"了":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"画":{"docs":{},"完":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"统":{"docs":{},"一":{"docs":{},"加":{"docs":{},"上":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},"有":{"docs":{},":":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"支":{"docs":{},"结":{"docs":{},"点":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{},"左":{"docs":{},"子":{"docs":{},"树":{"docs":{},"和":{"docs":{},"右":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"所":{"docs":{},"有":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"都":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"层":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"称":{"docs":{},"为":{"docs":{},"满":{"docs":{},"二":{"docs":{},"叉":{"docs":{},"树":{"docs":{},"。":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"觉":{"docs":{},"得":{"docs":{},"不":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"左":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"一":{"docs":{},"个":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"都":{"docs":{},"有":{"docs":{},"俩":{"docs":{},"了":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"了":{"docs":{},"之":{"docs":{},"前":{"docs":{},"说":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"为":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"常":{"docs":{},"考":{"docs":{},"考":{"docs":{},"点":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.0031545741324921135}}}}}},"结":{"docs":{},"束":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"从":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}},"顺":{"docs":{},"序":{"docs":{},"存":{"docs":{},"储":{"docs":{"Struct/BinaryTree.html":{"ref":"Struct/BinaryTree.html","tf":0.006309148264984227}}}}},"带":{"docs":{},"测":{"docs":{},"试":{"docs":{},"了":{"docs":{},"下":{"docs":{},"在":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}},"渐":{"docs":{},"进":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},"(":{"docs":{},"平":{"docs":{},"均":{"docs":{},"时":{"docs":{},"间":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},")":{"docs":{},":":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"^":{"2":{"docs":{},")":{"docs":{"Algorithm/BinaryInsertSort.html":{"ref":"Algorithm/BinaryInsertSort.html","tf":0.011627906976744186}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}},"n":{"docs":{},"e":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"{":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"}":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"}":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}},"docs":{}}}}}}}},"docs":{},"\\":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"{":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"}":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"}":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}},"]":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"]":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.02976190476190476}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"}":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.017857142857142856}},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.011904761904761904},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.012121212121212121}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}}}}}}},"额":{"docs":{},"外":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{},"下":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}}}}}}}}}}}},"":{"docs":{"Algorithm/remove-duplicates-from-sorted-array.html":{"ref":"Algorithm/remove-duplicates-from-sorted-array.html","tf":0.005952380952380952}}},"题":{"docs":{},"目":{"docs":{"Algorithm/QuickSort.html":{"ref":"Algorithm/QuickSort.html","tf":0.007575757575757576}},"出":{"docs":{},"现":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}},"外":{"docs":{},"话":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}},"概":{"docs":{},"念":{"docs":{"Algorithm/BST.html":{"ref":"Algorithm/BST.html","tf":0.012987012987012988}}},"述":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}},"今":{"docs":{},"年":{"docs":{},"上":{"docs":{},"半":{"docs":{},"年":{"docs":{},"的":{"docs":{},"公":{"docs":{},"众":{"docs":{},"号":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"还":{"docs":{},"记":{"docs":{},"得":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"强":{"docs":{},"收":{"docs":{},"过":{"docs":{},"路":{"docs":{},"费":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"愤":{"docs":{},"懑":{"docs":{},",":{"docs":{},"也":{"docs":{},"为":{"docs":{},"微":{"docs":{},"信":{"docs":{},"可":{"docs":{},"惜":{"docs":{},"不":{"docs":{},"已":{"docs":{},",":{"docs":{},"此":{"docs":{},"事":{"docs":{},"最":{"docs":{},"后":{"docs":{},"以":{"docs":{},"腾":{"docs":{},"讯":{"docs":{},"高":{"docs":{},"管":{"docs":{},"团":{"docs":{},"队":{"docs":{},"访":{"docs":{},"问":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"画":{"docs":{},"上":{"docs":{},"句":{"docs":{},"号":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},",":{"docs":{},"协":{"docs":{},"商":{"docs":{},"结":{"docs":{},"果":{"docs":{},"两":{"docs":{},"位":{"docs":{},"老":{"docs":{},"板":{"docs":{},"以":{"docs":{},"及":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"团":{"docs":{},"队":{"docs":{},"都":{"docs":{},"很":{"docs":{},"满":{"docs":{},"意":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}},"天":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"日":{"docs":{},"常":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"头":{"docs":{},"条":{"docs":{},"品":{"docs":{},"质":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}},"仔":{"docs":{},"细":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"张":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"每":{"docs":{},"次":{"docs":{},"在":{"docs":{},"买":{"docs":{},"早":{"docs":{},"餐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"支":{"docs":{},"付":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"一":{"docs":{},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"每":{"docs":{},"一":{"docs":{},"步":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"坑":{"docs":{},"爹":{"docs":{},"之":{"docs":{},"处":{"docs":{},"从":{"docs":{},"以":{"docs":{},"下":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"面":{"docs":{},"来":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}},"好":{"docs":{},"吧":{"docs":{},",":{"docs":{},"算":{"docs":{},"起":{"docs":{},"来":{"docs":{},"有":{"docs":{},"九":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"了":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"没":{"docs":{},"照":{"docs":{},"顾":{"docs":{},"到":{"docs":{},"的":{"docs":{},"请":{"docs":{},"各":{"docs":{},"位":{"docs":{},"补":{"docs":{},"充":{"docs":{},"。":{"docs":{},"这":{"docs":{},"九":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"都":{"docs":{},"是":{"docs":{},"致":{"docs":{},"命":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},"的":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"综":{"docs":{},"合":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"相":{"docs":{},"互":{"docs":{},"平":{"docs":{},"衡":{"docs":{},"?":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"审":{"docs":{},"核":{"docs":{},"不":{"docs":{},"让":{"docs":{},"过":{"docs":{},"。":{"docs":{},"接":{"docs":{},"不":{"docs":{},"接":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}},":":{"docs":{},"g":{"docs":{},"j":{"docs":{},",":{"docs":{},"z":{"docs":{},"s":{"docs":{},"b":{"docs":{},",":{"docs":{},"g":{"docs":{},"b":{"docs":{},"n":{"docs":{},",":{"docs":{},"z":{"docs":{},"j":{"docs":{},"z":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"交":{"docs":{},"易":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"调":{"docs":{},"起":{"docs":{},"支":{"docs":{},"付":{"docs":{},"宝":{"docs":{},"的":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"开":{"docs":{},"始":{"docs":{},"调":{"docs":{},"起":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"这":{"docs":{},"笔":{"docs":{},"交":{"docs":{},"易":{"docs":{},"给":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}}}}}}}},"掉":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}},"沙":{"docs":{},"盒":{"docs":{},"中":{"docs":{},"。":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}},"贝":{"docs":{},"聊":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":3.3409669211195925}}}},"购":{"docs":{},"买":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"docs":{"Article/贝聊 IAP 实战之满地是坑.html":{"ref":"Article/贝聊 IAP 实战之满地是坑.html","tf":0.002544529262086514}}}}}}}}}}},"”":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}},"倍":{"docs":{},"大":{"docs":{},"小":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"像":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"素":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"中":{"docs":{},"被":{"docs":{},"永":{"docs":{},"久":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"了":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}},"叠":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"父":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"善":{"docs":{},"用":{"docs":{},"离":{"docs":{},"屏":{"docs":{},"渲":{"docs":{},"染":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}},"掌":{"docs":{},"管":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}},"擅":{"docs":{},"长":{"docs":{},"并":{"docs":{},"行":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"有":{"docs":{},"捉":{"docs":{},"襟":{"docs":{},"见":{"docs":{},"肘":{"docs":{},"之":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},"—":{"docs":{},"—":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"若":{"docs":{},"干":{"docs":{},"层":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}},"瓶":{"docs":{},"颈":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"一":{"docs":{},"块":{"docs":{},"内":{"docs":{},"存":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"留":{"docs":{},"出":{"docs":{},"足":{"docs":{},"够":{"docs":{},"时":{"docs":{},"间":{"docs":{},"处":{"docs":{},"理":{"docs":{},"各":{"docs":{},"种":{"docs":{},"各":{"docs":{},"样":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"盖":{"docs":{},"住":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},",":{"docs":{},"从":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"上":{"docs":{},"制":{"docs":{},"造":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"绝":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"得":{"docs":{},"益":{"docs":{},"于":{"docs":{"Article/关于离屏渲染的深入研究 - Medium.html":{"ref":"Article/关于离屏渲染的深入研究 - Medium.html","tf":0.001851851851851852}}}}}}}}}}}}},"人":{"docs":{},"工":{"docs":{},"智":{"docs":{},"障":{"docs":{},"翻":{"docs":{},"译":{"docs":{},":":{"docs":{},"实":{"docs":{},"例":{"docs":{},"变":{"docs":{},"量":{"docs":{},"不":{"docs":{},"能":{"docs":{},"放":{"docs":{},"在":{"docs":{},"分":{"docs":{},"类":{"docs":{},"中":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"后":{"docs":{},"会":{"docs":{},"形":{"docs":{},"成":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"门":{"docs":{},"槛":{"docs":{},",":{"docs":{},"带":{"docs":{},"来":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"下":{"docs":{},"降":{"docs":{},"。":{"docs":{},"小":{"docs":{},"项":{"docs":{},"目":{"docs":{},"适":{"docs":{},"合":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"其":{"docs":{},"收":{"docs":{},"益":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"付":{"docs":{},"出":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"但":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"当":{"docs":{},"时":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"吗":{"docs":{},",":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"还":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0015267175572519084}}}}}}}}},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"生":{"docs":{},"成":{"docs":{},"变":{"docs":{},"量":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}}}}}}},"窥":{"docs":{},"探":{"docs":{},"其":{"docs":{},"底":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"出":{"docs":{},"现":{"docs":{},":":{"docs":{},"以":{"docs":{},"下":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"结":{"docs":{},"果":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}},"?":{"docs":{"Article/面试驱动技术 - Category 相关考点.html":{"ref":"Article/面试驱动技术 - Category 相关考点.html","tf":0.0007633587786259542}}}}}}}}}}}}}}}}},"$":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"/":{"docs":{},"$":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}},"e":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}},"友":{"docs":{},"盟":{"docs":{},"等":{"docs":{},")":{"docs":{},"会":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"抓":{"docs":{},"到":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"里":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"实":{"docs":{},"际":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"系":{"docs":{},"统":{"docs":{},"升":{"docs":{},"级":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"构":{"docs":{},"建":{"docs":{},"这":{"docs":{},"个":{"docs":{},"启":{"docs":{},"动":{"docs":{},"闭":{"docs":{},"包":{"docs":{},"。":{"docs":{},"在":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"会":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}}}}}}}},"制":{"docs":{},"简":{"docs":{},"析":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":2.5}}}}}},"篇":{"docs":{},"幅":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"只":{"docs":{},"关":{"docs":{},"注":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}},"处":{"docs":{},"理":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.002074688796680498}}}},"来":{"docs":{},"提":{"docs":{},"高":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}}}}}}}},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"!":{"docs":{"Article/iOS 编译过程的原理和应用.html":{"ref":"Article/iOS 编译过程的原理和应用.html","tf":0.001037344398340249}}},"→":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.004457652303120356}}},"官":{"docs":{},"网":{"docs":{},"浏":{"docs":{},"览":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"从":{"docs":{"Article/Objective-C Runtime 机制简析.html":{"ref":"Article/Objective-C Runtime 机制简析.html","tf":0.0014858841010401188}}}}}}}}}},"测":{"docs":{},"试":{"docs":{"Article/OC 消息机制和 super 关键字.html":{"ref":"Article/OC 消息机制和 super 关键字.html","tf":0.0013966480446927375},"Article/iOSUIResponderChain.html":{"ref":"Article/iOSUIResponderChain.html","tf":0.0030303030303030303}},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"每":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},"都":{"docs":{},"重":{"docs":{},"启":{"docs":{},",":{"docs":{},"各":{"docs":{},"测":{"docs":{},"试":{"docs":{},"了":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}},"七":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"回":{"docs":{},"调":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"资":{"docs":{},"源":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"无":{"docs":{},"损":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"控":{"docs":{},"制":{"docs":{},"体":{"docs":{},"积":{"docs":{},",":{"docs":{},"体":{"docs":{},"积":{"docs":{},"不":{"docs":{},"大":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"允":{"docs":{},"许":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"的":{"docs":{},"重":{"docs":{},"复":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"时":{"docs":{},"机":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"之":{"docs":{},"一":{"docs":{},"就":{"docs":{},"是":{"docs":{},"个":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"可":{"docs":{},"以":{"docs":{},"单":{"docs":{},"独":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"放":{"docs":{},"入":{"docs":{},"壳":{"docs":{},"工":{"docs":{},"程":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"想":{"docs":{},"到":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"改":{"docs":{},"造":{"docs":{},"就":{"docs":{},"是":{"docs":{},"把":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"拆":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"各":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"循":{"docs":{},"环":{"docs":{},"双":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"达":{"docs":{},"到":{"docs":{},"提":{"docs":{},"升":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"质":{"docs":{},"量":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"消":{"docs":{},"除":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"在":{"docs":{},"无":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"实":{"docs":{},"现":{"docs":{},"跨":{"docs":{},"模":{"docs":{},"块":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"i":{"docs":{},"o":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"叫":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"应":{"docs":{},"用":{"docs":{},"架":{"docs":{},"构":{"docs":{},"的":{"docs":{},"主":{"docs":{},"流":{"docs":{},"方":{"docs":{},"式":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"近":{"docs":{},"年":{"docs":{},"来":{"docs":{},"一":{"docs":{},"直":{"docs":{},"是":{"docs":{},"业":{"docs":{},"界":{"docs":{},"积":{"docs":{},"极":{"docs":{},"探":{"docs":{},"索":{"docs":{},"和":{"docs":{},"实":{"docs":{},"践":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"移":{"docs":{},"动":{"docs":{},"团":{"docs":{},"队":{"docs":{},"自":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},",":{"docs":{},"研":{"docs":{},"发":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"系":{"docs":{},"统":{"docs":{},"等":{"docs":{},"方":{"docs":{},"向":{"docs":{},"深":{"docs":{},"耕":{"docs":{},",":{"docs":{},"支":{"docs":{},"撑":{"docs":{},"业":{"docs":{},"务":{"docs":{},"快":{"docs":{},"速":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"超":{"docs":{},"大":{"docs":{},"规":{"docs":{},"模":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"研":{"docs":{},"发":{"docs":{},"效":{"docs":{},"能":{"docs":{},"和":{"docs":{},"工":{"docs":{},"程":{"docs":{},"质":{"docs":{},"量":{"docs":{},"。":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"里":{"docs":{},",":{"docs":{},"蘑":{"docs":{},"菇":{"docs":{},"街":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"体":{"docs":{},"验":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"体":{"docs":{},"验":{"docs":{},"最":{"docs":{},"差":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}},"的":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"随":{"docs":{},"意":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}},"与":{"docs":{},"成":{"docs":{},"果":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"会":{"docs":{},"其":{"docs":{},"作":{"docs":{},"用":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}},"八":{"docs":{},",":{"docs":{},"x":{"docs":{},"i":{"docs":{},"b":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}},"六":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"探":{"docs":{},"析":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}},"十":{"docs":{},",":{"docs":{},"补":{"docs":{},"记":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}},"却":{"docs":{},"少":{"docs":{},"见":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{},"极":{"docs":{},"少":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},":":{"docs":{},"整":{"docs":{},"个":{"docs":{},"界":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"困":{"docs":{},"难":{"docs":{},"、":{"docs":{},"复":{"docs":{},"用":{"docs":{},"困":{"docs":{},"难":{"docs":{},"、":{"docs":{},"启":{"docs":{},"动":{"docs":{},"慢":{"docs":{},"等":{"docs":{},"坏":{"docs":{},"处":{"docs":{},",":{"docs":{},"不":{"docs":{},"值":{"docs":{},"一":{"docs":{},"提":{"docs":{},"。":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"号":{"docs":{},"的":{"docs":{"Article/UIViewController 预加载方案浅谈.html":{"ref":"Article/UIViewController 预加载方案浅谈.html","tf":0.0010834236186348862}}}}},"劣":{"docs":{},"势":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"仅":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"简":{"docs":{},"单":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"等":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"不":{"docs":{},"太":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"模":{"docs":{},"块":{"docs":{},"边":{"docs":{},"界":{"docs":{},"已":{"docs":{},"经":{"docs":{},"稳":{"docs":{},"定":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"改":{"docs":{},"造":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"很":{"docs":{},"小":{"docs":{},"的":{"docs":{},"代":{"docs":{},"价":{"docs":{},"将":{"docs":{},"其":{"docs":{},"降":{"docs":{},"级":{"docs":{},"到":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"改":{"docs":{},"造":{"docs":{},"开":{"docs":{},"始":{"docs":{},"了":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"商":{"docs":{},"品":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}},"年":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.004576659038901602},"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.005221932114882507}},"优":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"算":{"docs":{},"是":{"docs":{},"具":{"docs":{},"有":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"特":{"docs":{},"色":{"docs":{},"的":{"docs":{},"相":{"docs":{},"对":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},"了":{"docs":{},",":{"docs":{},"支":{"docs":{},"撑":{"docs":{},"了":{"docs":{},"包":{"docs":{},"括":{"docs":{},"零":{"docs":{},"售":{"docs":{},"在":{"docs":{},"内":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"大":{"docs":{},"型":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"年":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"几":{"docs":{},"次":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}},"的":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"一":{"docs":{},"味":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"过":{"docs":{},"早":{"docs":{},"的":{"docs":{},"追":{"docs":{},"求":{"docs":{},"模":{"docs":{},"块":{"docs":{},"代":{"docs":{},"码":{"docs":{},"管":{"docs":{},"理":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"等":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"偏":{"docs":{},"离":{"docs":{},"了":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"目":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"得":{"docs":{},"不":{"docs":{},"偿":{"docs":{},"失":{"docs":{},"的":{"docs":{},"。":{"docs":{},"更":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"在":{"docs":{},"可":{"docs":{},"控":{"docs":{},"的":{"docs":{},"改":{"docs":{},"造":{"docs":{},"代":{"docs":{},"价":{"docs":{},"下":{"docs":{},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"未":{"docs":{},"来":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"来":{"docs":{},"设":{"docs":{},"计":{"docs":{},"适":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"本":{"docs":{},"文":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"案":{"docs":{},"例":{"docs":{},"和":{"docs":{},"思":{"docs":{},"考":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"都":{"docs":{},"能":{"docs":{},"找":{"docs":{},"到":{"docs":{},"适":{"docs":{},"合":{"docs":{},"自":{"docs":{},"己":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"之":{"docs":{},"路":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尝":{"docs":{},"试":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"成":{"docs":{},"熟":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"第":{"docs":{},"一":{"docs":{},"版":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"设":{"docs":{},"计":{"docs":{},"方":{"docs":{},"案":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"行":{"docs":{},",":{"docs":{},"但":{"docs":{},"还":{"docs":{},"存":{"docs":{},"在":{"docs":{},"两":{"docs":{},"个":{"docs":{},"痛":{"docs":{},"点":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"也":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"各":{"docs":{},"种":{"docs":{},"组":{"docs":{},"件":{"docs":{},"化":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"在":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"零":{"docs":{},"售":{"docs":{},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"美":{"docs":{},"业":{"docs":{},"等":{"docs":{},"多":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"实":{"docs":{},"践":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"踩":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"坑":{"docs":{},",":{"docs":{},"也":{"docs":{},"收":{"docs":{},"获":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"宝":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"并":{"docs":{},"沉":{"docs":{},"淀":{"docs":{},"出":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"实":{"docs":{},"践":{"docs":{},"业":{"docs":{},"务":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"架":{"docs":{},"构":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"大":{"docs":{},"致":{"docs":{},"经":{"docs":{},"历":{"docs":{},"了":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"微":{"docs":{},"信":{"docs":{},"商":{"docs":{},"城":{"docs":{},"、":{"docs":{},"有":{"docs":{},"赞":{"docs":{},"收":{"docs":{},"银":{"docs":{},"等":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"来":{"docs":{},",":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"也":{"docs":{},"多":{"docs":{},"次":{"docs":{},"发":{"docs":{},"布":{"docs":{},"公":{"docs":{},"告":{"docs":{},"要":{"docs":{},"求":{"docs":{},"更":{"docs":{},"换":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}},"思":{"docs":{},"考":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"摸":{"docs":{},"索":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},",":{"2":{"0":{"1":{"7":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"沉":{"docs":{},"淀":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"几":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{},"期":{"docs":{},"间":{"docs":{},"有":{"docs":{},"过":{"docs":{},"对":{"docs":{},"已":{"docs":{},"有":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"独":{"docs":{},"立":{"docs":{},"发":{"docs":{},"版":{"docs":{},"的":{"docs":{},"。":{"docs":{},"编":{"docs":{},"译":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"和":{"docs":{},"代":{"docs":{},"码":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"他":{"docs":{},"们":{"docs":{},"很":{"docs":{},"有":{"docs":{},"效":{"docs":{},"。":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"选":{"docs":{},"择":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}},"统":{"docs":{},"跳":{"docs":{},"方":{"docs":{},"案":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"性":{"docs":{},"及":{"docs":{},"多":{"docs":{},"端":{"docs":{},"统":{"docs":{},"一":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"是":{"docs":{},"页":{"docs":{},"面":{"docs":{},"解":{"docs":{},"耦":{"docs":{},"的":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"大":{"docs":{},"量":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"前":{"docs":{},"端":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"把":{"docs":{},"一":{"docs":{},"个":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"路":{"docs":{},"由":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"边":{"docs":{},"界":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"模":{"docs":{},"糊":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"发":{"docs":{},"生":{"docs":{},"你":{"docs":{},"中":{"docs":{},"有":{"docs":{},"我":{"docs":{},"我":{"docs":{},"中":{"docs":{},"有":{"docs":{},"你":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"(":{"docs":{},"图":{"docs":{},"一":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"质":{"docs":{},"量":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"都":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"将":{"docs":{},"各":{"docs":{},"个":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"划":{"docs":{},"分":{"docs":{},"为":{"docs":{},"相":{"docs":{},"对":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"中":{"docs":{},"介":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"收":{"docs":{},"敛":{"docs":{},"交":{"docs":{},"互":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"把":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"部":{"docs":{},"分":{"docs":{},"进":{"docs":{},"行":{"docs":{},"集":{"docs":{},"中":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"重":{"docs":{},"合":{"docs":{},",":{"docs":{},"还":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"后":{"docs":{},"续":{"docs":{},"实":{"docs":{},"现":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"时":{"docs":{},",":{"docs":{},"分":{"docs":{},"不":{"docs":{},"清":{"docs":{},"应":{"docs":{},"选":{"docs":{},"择":{"docs":{},"路":{"docs":{},"由":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"优":{"docs":{},"化":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}},"调":{"docs":{},"用":{"docs":{},"封":{"docs":{},"装":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}}},"阿":{"docs":{},"里":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"的":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"ref":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","tf":0.0009718172983479105}}}}}}}}},"·":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":1.6689549961861174}}},"–":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}},"仓":{"docs":{},"库":{"docs":{},"都":{"docs":{},"有":{"docs":{},"全":{"docs":{},"量":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"网":{"docs":{},"络":{"docs":{},"获":{"docs":{},"取":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"与":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"控":{"docs":{},"制":{"docs":{},"工":{"docs":{},"具":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"能":{"docs":{},"快":{"docs":{},"速":{"docs":{},"定":{"docs":{},"位":{"docs":{},"导":{"docs":{},"致":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"所":{"docs":{},"在":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"社":{"docs":{},"区":{"docs":{},"也":{"docs":{},"在":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"使":{"docs":{},"用":{"docs":{},"更":{"docs":{},"加":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"算":{"docs":{},"法":{"docs":{},"来":{"docs":{},"替":{"docs":{},"代":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}},"迁":{"docs":{},"移":{"docs":{},"到":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"的":{"docs":{},"提":{"docs":{},"案":{"docs":{},",":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"ref":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","tf":0.002288329519450801}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}},"是":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"的":{"docs":{},"次":{"docs":{},"要":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"使":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"更":{"docs":{},"方":{"docs":{},"便":{"docs":{},"设":{"docs":{},"置":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"成":{"docs":{},"员":{"docs":{},"变":{"docs":{},"量":{"docs":{},")":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"便":{"docs":{},"利":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"(":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"、":{"docs":{},"枚":{"docs":{},"举":{"docs":{},")":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"便":{"docs":{},"利":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"里":{"docs":{},"面":{"docs":{},"最":{"docs":{},"后":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},"必":{"docs":{},"须":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"最":{"docs":{},"后":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"器":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.004640371229698376}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"开":{"docs":{},"而":{"docs":{},"来":{"docs":{},"的":{"docs":{},"多":{"docs":{},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}}}}}}}}}},"换":{"docs":{},"成":{"docs":{"Article/深入了解 iOS 的初始化.html":{"ref":"Article/深入了解 iOS 的初始化.html","tf":0.002320185614849188}}}},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"匹":{"docs":{},"配":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}},"卸":{"docs":{},"载":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"如":{"docs":{},"果":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"大":{"docs":{},"概":{"docs":{},"率":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{},"仍":{"docs":{},"复":{"docs":{},"现":{"docs":{},";":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}},"抛":{"docs":{},"弃":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.005319148936170213}},"依":{"docs":{},"赖":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}},"策":{"docs":{},"略":{"docs":{},"也":{"docs":{},"不":{"docs":{},"再":{"docs":{},"被":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"符":{"docs":{},"号":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"docs":{},"载":{"docs":{},"于":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}},"识":{"docs":{},"别":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{},"符":{"docs":{},"号":{"docs":{},"查":{"docs":{},"找":{"docs":{},"就":{"docs":{},"是":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"库":{"docs":{},"中":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"软":{"docs":{},"件":{"docs":{},"更":{"docs":{},"新":{"docs":{},"或":{"docs":{},"者":{"docs":{},"这":{"docs":{},"个":{"docs":{},"库":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"不":{"docs":{},"然":{"docs":{},"每":{"docs":{},"个":{"docs":{},"符":{"docs":{},"号":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},":":{"docs":{},"解":{"docs":{},"析":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"。":{"docs":{},"而":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"全":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"怪":{"docs":{},"异":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"案":{"docs":{},"例":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"效":{"docs":{},"率":{"docs":{},"很":{"docs":{},"慢":{"docs":{},"。":{"docs":{"Article/App 启动时间:过去,现在和未来.html":{"ref":"Article/App 启动时间:过去,现在和未来.html","tf":0.0017730496453900709}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"└":{"docs":{},"─":{"docs":{},"─":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.010443864229765013}}}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.013054830287206266}}}}},"呃":{"docs":{},"。":{"docs":{},"。":{"docs":{},"。":{"docs":{},"还":{"docs":{},"是":{"docs":{},"希":{"docs":{},"望":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"爸":{"docs":{},"爸":{"docs":{},"能":{"docs":{},"够":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}},"希":{"docs":{},"望":{"docs":{},"本":{"docs":{},"文":{"docs":{},"能":{"docs":{},"够":{"docs":{},"对":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"此":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"们":{"docs":{},"有":{"docs":{},"所":{"docs":{},"帮":{"docs":{},"助":{"docs":{},",":{"docs":{},"也":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"大":{"docs":{},"家":{"docs":{},"对":{"docs":{},"本":{"docs":{},"文":{"docs":{},"指":{"docs":{},"正":{"docs":{},"不":{"docs":{},"足":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"图":{"docs":{},":":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}},"月":{"docs":{},"起":{"docs":{},",":{"docs":{},"提":{"docs":{},"交":{"docs":{},"审":{"docs":{},"核":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"都":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}},"果":{"docs":{},"然":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"中":{"docs":{},"所":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"系":{"docs":{},"统":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"其":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"横":{"docs":{},"屏":{"docs":{},"截":{"docs":{},"图":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"成":{"docs":{},"由":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}},"竖":{"docs":{},"屏":{"docs":{},"问":{"docs":{},"题":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}},"百":{"docs":{},"度":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}},"置":{"docs":{},"空":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"解":{"docs":{},"决":{"docs":{},"不":{"docs":{},"了":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"或":{"docs":{},"无":{"docs":{},"法":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"Article/iOSLaunchScreenBug.html":{"ref":"Article/iOSLaunchScreenBug.html","tf":0.0026109660574412533}}}}}}}}}}}}}}}}}}}}}}}}},"姓":{"docs":{},"名":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"不":{"docs":{},"断":{"docs":{},"探":{"docs":{},"索":{"docs":{},",":{"docs":{},"努":{"docs":{},"力":{"docs":{},"为":{"docs":{},"全":{"docs":{},"球":{"docs":{},"数":{"docs":{},"亿":{"docs":{},"用":{"docs":{},"户":{"docs":{},"提":{"docs":{},"供":{"docs":{},"最":{"docs":{},"极":{"docs":{},"致":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"标":{"docs":{},"题":{"docs":{},":":{"docs":{"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"ref":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","tf":0.000992063492063492}}}}}}}}},"length":19665},"corpusTokens":["!","!((objc_class","!=","!__objc2__","!_cond.wait(until:","!cls))","!debugpoolallocation)","!defined(__cplusplus)","!dm_swizzleinstancemethod(#selector(setter:","!dm_swizzleinstancemethod(#selector(willmove(towindow:)),","!fastcacheoccupied分支表示支持快速缓存且快速缓存被占用了,将该synccacheitem数据写入快速缓存中","!newobj","!page","!sd_options_contains(options,","!target_os_simul","!timeout);","\"","\"\"","\"\"\"","\"${project_dir}/${infoplist_file}\"","\"${project_dir}/${infoplist_file}\")","\");","\",","\"1234\"","\"1234\";","\"ap","\"applic","\"app的bundleid\";","\"autoreleas","\"class","\"clperson.h\"","\"commit","\"daniels\";","\"dynamictintcolorkey\"","\"just","\"main","\"objc_autoreleasenopool()","\"over","\"print","\"set","\"unbalanc","\"unref","\"viewcontrollerprerender.h\"","\"yzsgoodsmodel.h\"","\"一个source读完,切换到下一个source\"","\"两个数组保存两种数据来源\"","\"从source里读取数据\"","\"创建了两个文件句柄,读和写。\"","\"接收到数据之后,写入文件。\"","\"旺财\")!","\"有可用数据了,需要回调通知。\"","\"移动开发前线\"","\"读取数据最开始的入口\"","\"这个回调获取有可用的数据的通知。\"","\"这个方法就会触发response的readdataoflength\"","#","#0","#0xf000000000000000","#3]","#4","#52,","#60,","#699","#8","#arm64","#binary_file_arch:","#class","#defin","#els","#endif","#file","#if","#ifdef","#import","#isa_mask","#object","#pragma","#selector(dm_settintcolor))","#selector(dm_willmove(towindow:)))","#selector(setter:","#selector(willmove(towindow:))))","#subclass","#superclass","#untreat","$","$(git","$appdir/$ipaname.ipa","$appdir/$projectname.app","$buildconfig","$buildnumber\"","$projectnam","$projectname.xcworkspac","%","%@","%@\",","%@\\npath","%@\\nunit","%@\\nunititem","%@\\nurl","%d","%d\",","%d\",b);","%d\",c);","%d\",person.age);","%d,","%d\\n\"","%lld\",","%lld,","%lu","%lu\",sizeof(struct1),sizeof(struct2),sizeof(struct3));","%p","%s","%s\"","%s\",","%s'","%s.","%s\\0\"","&","&&","&=","&__main_block_desc_0_data,","&_nsconcretestackblock;","&argv[argc+1];","&associations(manager.associations());","&cach","&childnamecontext;","&constants.dynamictintcolorkey)","&constants.dynamictintcolorkey,","&kcftypedictionaryvaluecallbacks);","&list_for_obj(object);","&load_images);","&loadoperationkey);","&loadoperationkey,","&lock_for_obj(object);","&map_2_images);","&personnamecontext;","&refcntstorag","&sidetables()[newobj];","&sidetables()[obj];","&sidetables()[obj];之后,执行到了array[indexforpointer(p)].value;,然后进行哈希算法获取到下标,再返回所需的sidet","&sidetables()[oldobj];","&sidetables()[xxxobj];","&tabl","&timeout)","&timinginfo);","'","'''","')","')[","'init'","'mapped'","'obj'","'obj'.","'var',","'x86_64':","(","(!","(!(option","(![self.deleg","(!__cfrunloops)","(!atomic)","(!cache)","(!cachedimag","(!cats)","(!cls)","(!data)","(!fastcacheoccupied)","(!imag","(!lookupimpornil(cls,","(!loop)","(!newobj)","(!obj)","(!okay)","(!oper","(!osatomiccompareandswapptrbarrier(null,","(!products.count)","(!receipt)","(!refer","(!referent)","(!self.downloadcalledcomplete)","(!sourcehandledthisloop)","(!stop","(!validoperationkey)","(!zone","(%p)","(&result","((addr","((char*)self","((constructor))这样的函数。","((entri","((id","((id)self)","((imag","((imp)allowsweakrefer","((malloc_zone_t","((option","((uint8_t","((uintptr_t)ptr","((warn_unused_result))","()","(*)(__rw_objc_sup","(*)(id,","(*)(void","(*allowsweakreference)(objc_object","(*allowsweakreference)(referent,","(*copy)(struct","(*dispose)(struct","(*dm_original_setbackgroundcolor)(uiview","(*imp)(id,","(*msg)(class,","(*refs)[key]","(*slot","(*snotifyobjcinit)(imag","(*stop","(.m)","(.m/.c/.swift","(.xcodeprog)","(/*","(0","(1)","(1)借用上面的分析流程一样,先看一下block对应的结构体","(1)首先看一下此时block对应的结构体","(1046479/1046479),","(1ul","(1ulis_swift","(2)","(2)main函数里的block赋值过程","(2)再看一下main函数中的block定义以及赋值的代码","(256/256),","(3)","(3)block内部的函数","(3)再看一下block内部封装的函数","(4)","(5)","(5.0.6)","(6)","(@available(io","([color","([keypath","([oper","([respond","([self.currentsourc","([skpaymentqueu","([uidevic","(^)(uiviewcontrol","(^addblockresult)(bool)","(^block)(int);","(^block)(int,","(^block)(void)","(^diddisplay)(calay","(^display)(cgcontextref","(^iscancelled)(void)","(^willdisplay)(calay","(__block_byref_a_0","(__bridg","(__builtin_expect(bool(x),","(__cfstring),以及运行时的元数据:class/protocol/method…","(__data,__objc_data)","(__source0diddispatchportlasttime)","(_selector)","(_target)","(_windowno2","(a","(addedcount","(addr","(address,","(allocwithzone)","(also","(aselector","(autoreleasepoolpag","(base)","(below","(binari","(bits.has_sidetable_rc)","(bits.nonpointer)","(bool(*)(objc_object","(bool)application:(uiappl","(bool)automaticallynotifiesobserversforkey:(nsstr","(bool)imagemanager:(nonnul","(bool)iskindofclass:(class)aclass","(bool)iskindofclass:(class)cl","(bool)ismemberofclass:(class)cl","(bool)moveitematpath:(nsstr","(bool)pointinside:(cgpoint)point","(bool)resolveinstancemethod:(sel)aselector","(bool)resolveinstancemethod:(sel)sel;","(bool)setupmodulesynchronously;","(cache)","(cachedimag","(cfrunloopref)_cfgettsd(__cftsdkeyrunloop);","(cfrunloopref)cfdictionarygetvalue(__cfrunloops,","(cgsize)getimagesize:(nsdata","(cl","(class","(class)class","(class_rw_t","(code","(coderjtao.github.io)","(completedblock)","(const","(context","(copy)","(crashifdeallocating)","(cstring),object","(cur","(cxxconstruct","(darkmodekit)","(data","(data)","(data.length","(deallocating)","(debugmissingpool","(debugnilsync)","(debugpoolalloc","(debugpoolallocation)","(description/templ","(dispatch_semaphore_t)","(dmdynamiccolor","(dmtraitcollection.currenttraitcollection.userinterfacestyl","(don't","(double)self.readedlength","(double)self.response.contentlength;","(dracarys.github.io)","(dyld","(eat)","(empty)","(entri","(error)","(expression)","(extern","(fastpath(!cl","(fastpath(cl","(fhasdashinit","(finished)","(first","(firstunus","(flush_cach","(for","(foundat","(gpu","(gpu)","(h5,","(hasarray())","(hasmsg)","(haveemptypoolplaceholder())","(havenew","(havenew)","(haveold","(haveold)","(hitview)","(hotpage())","(i","(icloudart.com)","(id","(id)alloc","(id)appdelegateclassname;","(id)autoreleas","(id)calloc(1,","(id)class_getsuperclass(objc_getclass(\"car\"))},","(id)copi","(id)copywithzone:(nszon","(id)forwardingtargetforselector:(sel)aselector","(id)forwardingtargetforselector:(sel)aselector;","(id)init","(id)malloc_zone_calloc","(id)new","(id)newobj));","(id)newobj,","(id)newobj;","(id)objectforkey:(nsstring*)key{","(id)performtarget:(nsstr","(id)self;","(id)this;","(id)valueforkey:(nsstr","(id*)","(if","(imag","(imageloadermacho*)image;","(imp)dm_setbackgroundcolor);","(inheritance)","(initialized)","(instancetype)defaultrender;","(instancetype)defaultrender{","(instancetype)init","(instancetype)initwithframe:(cgrect)fram","(instancetype)initwithlightcolor:(uicolor","(instancetype)initwithlightimage:(uiimag","(instancetype)sharedinstance;","(int","(int)[nsprocessinfo","(int32_t)increas","(int32_t)increase;","(int32_t)valu","(intermedi","(io","(iokit可能是注册监听了屏幕输出的端口)","(iscancelled())","(istaggedpointer())","(it","(item","(itemmax","(j","(jianshu.com)","(juejin.cn)","(key)","(ktvhcdataunititem","(left","(length","(loadable_classes_us","(loading)","(location,","(lockcount","(long","(long)((void","(long)_target;","(manifest","(masktobound","(max","(metal/opengl","(method_list_t","(min","(mlist)","(msb","(mutablecopy)","(n","(name.app)","(new_value)","(newobj","(next","(nil)并不执行加锁解锁操作,会导致线程崩溃。","(non","(nonatomic,","(nsarray*)getgoodslist","(nsarray*)getgoodslist;","(nsarray*)goods_getgoodslist","(nsarray*)goods_getgoodslist;","(nsdata","(nsexcept","(nsinteg","(nsinteger)getgoodscount","(nsinteger)getgoodscount;","(nsinteger)goods_getgoodscount","(nsinteger)goods_getgoodscount;","(nsmethodsignatur","(nsobject","(nsstring","(nsthread","(nsuinteg","(nsuinteger)hash","(nsuinteger)priority;","(nsuinteger)retaincount","(null)}","(nullabl","(nullable,","(obj","(obj)","(objc_object","(objc_object*)newobj);","(object","(offset","(old_association.hasvalue())","(oper","(operation)","(operations)","(option","(or","(outallocatedsize)","(outsid","(p","(page","(page)","(parent)","(play)","(prepareoptimizedreturn(returnatplus1))","(printf","(printpoolhiwat)","(printreplacedmethods)","(progressblock)","(property_list_t","(proplist)","(protocol_list_t","(protolist)","(pthread_equal(t,","(pushextraboundary)","(readonly)","(responder)","(result","(result)","(rethrow)","(rhino)","(rl)","(rua)","(run)","(safely)","(sdoperationsdictionari","(sdwebimagedownloadercompletedblock","(selector","(selector),实际上一个","(self","(self)","(self.alpha","(self.currentsource)","(self.currentsource.isfinished)","(self.error)","(self.isclos","(self.isclosed)","(self.isfinished)","(self.reader.isfinished)","(self.reader.isprepar","(self.response.contentlength","(self.sourcemanager.isfinished)","(sent","(shouldblockfailedurl)","(shouldquerycache)","(size_t","(skpaymenttransact","(slowpath(!obj))","(slowpath(checknil","(source)","(sourcehandledthisloop)","(std::vector::iter","(stop","(strip),是因为里面有些信息,如调试符号,是不需要带到线上去的。裁剪有多种级别,一般的配置如下:","(strong,","(strong,nonatomic)classnam","(syncdata","(target)","(target_os_osx","(task.diddisplay)","(tcl","(test)","(text),常量字符串","(thi","(throw","(timeout","(tl","(tls)","(token","(transactionset.count","(transcation.transactionstate)","(type","(typeof(msg))objc_msgsend;","(uicolor","(uiimag","(uikit","(uinavigationcontrol","(uint32_t","(uint64_t)imag","(uintptr_t)smainexecut","(uintptr_t)this;","(uintptr_t)tls_get_direct(sync_count_direct_key);","(uiview","(uiviewcontrol","(valu","(variabl","(vc","(void","(void)_cancelasyncdisplay","(void)_displayasync:(bool)async","(void)applicationwillenterforeground:(uiappl","(void)buyproduct","(void)callcacheprocessforoperation:(nonnul","(void)callcompletionblockswithimage:(nul","(void)calldownloadprocessforoperation:(nonnul","(void)callstorecacheprocessforoperation:(nonnul","(void)dealloc","(void)dealmemorywarnings:(id)notif","(void)display","(void)dm_swizzlesetbackgroundcolor","(void)doesnotrecognizeselector:(sel)aselector","(void)drawlayer:(calay","(void)formatedlogobject:(id)object","(void)forwardinvocation:(nsinvoc","(void)getproductinfo:(nsstr","(void)init","(void)initialize{","(void)ktv_download:(ktvhcdownload","(void)ktv_reader:(ktvhcdataread","(void)ktv_readerdidprepare:(ktvhcdataread","(void)ktv_readerhasavailabledata:(ktvhcdataread","(void)load","(void)load{","(void)methoda{","(void)methodb{","(void)networkrequestthreadentrypoint:(id)__unus","(void)observevalueforkeypath:(nsstr","(void)paymentqueue:(skpaymentqueu","(void)preparesourcemanag","(void)printlog{","(void)productsrequest:(skproductsrequest","(void)sd_cancelimageloadoperationwithkey:(nul","(void)sd_internalsetimagewithurl:(nul","(void)sd_setimageloadoperation:(nul","(void)sd_setimagewithurl:(nul","(void)sendmessag","(void)sendmessage;","(void)setdm_dynamicbackgroundcolor:(dmdynamiccolor","(void)setneedsdisplay","(void)setobject:(id)obj","(void)setproperty:(nsstr","(void)setup;","(void)setvalue:(id)valu","(void)showrenderedviewcontroller:(class)viewcontrollerclass","(void)tableview:(uitableview","(void)test","(void)testcas","(void)test{","(void)touchesbegan:(nsset","(void)touchescancelled:(nsset","(void)touchesended:(nsset","(void)touchesmoved:(nsset","(void)transcationdeferred:(skpaymenttransact","(void)transcationfailed:(skpaymenttransact","(void)transcationpurchased:(skpaymenttransact","(void)transcationpurchasing:(skpaymenttransact","(void)transcationrestored:(skpaymenttransact","(void)viewdidload","(void)viewdidload{","(void*)0,","(void*)1);","(void*)empty_pool_placeholder)","(void*)lockcount);","(void*)obj,","(void*)referent,","(void*)src","(wakeupport","(weak,","(whi","(yyasynclayerdisplaytask","(yzsgoodsmodel*)goodsbyid:(nsstring*)goodsid","(yzsgoodsmodel*)obj;","(zhihu.com)","(zone)","(一)概念及实现","(三)稳定性","(两个函数要配合使用)","(也是一个核心原理)","(二)算法复杂度","(分类1)","(即将退出loop)","(后编译的category,插入的方法在每个类大方法数组最前面)","(后进先出)","(启动路径上难免会读很多字符串),从而规避这个解密的耗时。抖音的重命名方案:","(垂直同步信号)","(基于","(基于port)","(多边形绘制)、catextlayer(文本绘制)、cagradientlay","(如下图)。下图中部分页被标记为","(宿主类1)","(宿主类2)","(对象)","(当然你也可以起个别的名字)。同时因为","(很多接口还是基于阿里的需求提供的,我们用不到,会形成理解成本)。原因三其实是最关键的,就是模块化","(效果上感觉像成员变量)","(没有则创建","(注:","(渐变绘制)","(硬件层面),不需要","(编译状态)","(软件层面)","(进程间通信)","(重签微信应用实战)","(雷神里的彩虹桥)","(雷神里的彩虹桥)。在过程中我们深刻体会到",")",")(关联策略)","),",");",")invocation;和",")methodsignatureforselector:(sel)sel方法,来转发它没实现的方法。这也是nsproxy的主要功能,负责把消息转发给真正的target的代理类,nsproxy正是代理的意思。",")或者把它绘制到","*","*)","*)&__cfrunloops))","*)&__nsconstantstringimpl__var_folders_7__p19yp82j0xd2m_1k8fpr77z40000gn_t_main_2cca58_mi_0,((int","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_0,","*)&__nsconstantstringimpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_t_car_3f2069_mi_1,","*)&a,","*)((char","*)(bit","*)(pthread_destructor_iter","*))","*))__cffinalizerunloop);","*);","*)[[dmdynamiccolorproxi","*)_selector);","*)_windowno2.rootviewcontroller;","*)actionnam","*)aninvoc","*)applic","*)block;","*)cacheddata","*)cachedimag","*)calloc(sizeof(class_rw_t),","*)chang","*)cl","*)cls)","*)coder","*)color;","*)colorwithalphacomponent:(cgfloat)alpha","*)context","*)darkcolor","*)darkcolor;","*)darkimag","*)darkimage;","*)data","*)dm_colorwithlightcolor:(uicolor","*)dm_dynamicbackgroundcolor","*)dm_imagewithlightimage:(uiimag","*)dm_namespace:(dmnamespace)namespac","*)download","*)downloadeddata","*)downloadedimag","*)dstpath","*)error","*)error;","*)event","*)event;","*)getrendered:(class)viewcontrollerclass{","*)hittest:(cgpoint)point","*)httpresponseformethod:(nsstr","*)imag","*)imagedata","*)imagemanag","*)imageurl","*)imageurl;","*)indexpaths;","*)initwithlightcolor:(uicolor","*)invoc","*)key","*)key,","*)key;","*)keypath","*)key{","*)launchopt","*)layer","*)lightcolor","*)lightimag","*)loadimagewithurl:(nul","*)loop,","*)method","*)method_getimplementation(method);","*)methodsignatureforselector:(sel)aselector","*)methodsignatureforselector:(sel)sel","*)name","*)networkrequestthread","*)newasyncdisplaytask;","*)obj","*)objc_msgsend)((id)objc_getclass(\"appdelegate\"),","*)objc_msgsend)((id)person,","*)objc_msgsend)((id)self,","*)objc_msgsendsuper)((__rw_objc_super){(id)self,","*)object;","*)oper","*)params;","*)parentcontrol","*)path","*)placehold","*)productidentifi","*)properti","*)property{","*)queue","*)readdataoflength:(nsuinteger)length","*)reader","*)realloc(array(),","*)referent_id;","*)request","*)resolvedcolor","*)responder;","*)respons","*)result","*)sd_operationdictionari","*)sourceappl","*)srcpath","*)tableview","*)targetnam","*)this+size);","*)this+sizeof(*this));","*)tls_get_direct(key);","*)tls_get_direct(sync_data_direct_key);","*)token;","*)touch","*)transact","*)transcat","*)url","*)urlstr","*)weak_register_no_lock(&newt","*)zone","*)zone,","**","**)","**)&result,","**)error","**)referrer_id;","***********************main.m*************************","**.m","**begincategorymethodlists()","**endcategorymethodlists(class","**ktvhcdatanetworksource和ktvhcdatafilesourc","**listp","**methodlist","**mlist","**proplist","**protolist","**referr","**value)","**其产生的所有事件都将被","*,","*/","*/)","*__cself)","*__forwarding;","*__isa;","*_blocks_head;","*_blocks_tail;","*_buckets;","*_height。看到这里这里要存储的是一个地址,该地址应该就是外部static变量height的地址值。","*_map;","*_myrend","*_networkrequestthread","*_perrundata;","*_person,","*_property;","*a","*add(id","*array","*autoreleasefast(id","*autoreleasefullpage(id","*autoreleasenopage(id","*baseproperties;","*bitree;","*bundl","*cach","*cache;","*callback","*cats,","*child;","*childnamecontext","*class;","*class_methods;","*cls;","*codesigcmd","*color)","*completionblock","*compress","*ctx","*ctxt){","*currentset","*darkcolor;","*data","*data()","*data,","*data;","*datarequest","*desc,","*dest","*dest;","*downloadeddata,","*downloadedimage,","*dynamiccolor","*encryptcmd","*entry;","*error","*error,","*exception)","*failedurls;","*filesourc","*fp,","*fresh","*funcptr;","*good","*goodsid","*height;成员变量,构造函数里面对应的参数是int","*hitview","*hotpage()","*identifi","*imag","*image,","*imageurl)","*info)","*instance_methods;","*isa;","*it;","*item","*ivar","*key","*key,","*launchscreennam","*layer);","*layer,","*lchild,","*lib","*libcount","*lightcolor;","*list","*listp","*listp;","*locat","*location,","*location;","*lock","*lockp","*method_typ","*mlist","*name","*name;","*nav","*networksourc","*newdata)","*newobj)","*newparent)","*newtable;","*next;","*no2","*objc_autoreleasepoolpush(void){","*offset;","*oldtable;","*oper","*operationdictionari","*outallocateds","*p","*p)","*p);","*p1","*page","*page)","*page;","*paramet","*parent","*path","*payment","*person","*person;","*personnamecontext","*person。通过终端命令xcrun","*person】","*person被认为是强指针,等价于_strong","*person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。","*person,而弱指针需要显式地表示为__weak","*player","*pool","*product","*properties;","*property;","*proplist","*protocol","*protocols;","*protolist","*proxyurl","*push()","*rchild;//左右孩子指针","*receipt","*receipturl","*ref","*refer","*referr","*referrer_id)","*referrer_id,","*referrers;","*reinterpret_cast*>(sidetablebuf);","*renderedviewcontrollers;","*request","*resolvedcolor;","*resolvedimage;","*respond","*respons","*result","*ro","*ro;","*runloop","*runningoperations;","*rw","*segcount","*sel;","*sel;,可以把sel看做是方法名字符串。","*self,","*sentinel","*sharedmanager;","*slot","*slot;","*sourc","*stop)","*stop;","*storyboard","*string","*string2","*stringwithformat1","*subview","*super,","*superclass;","*tableforpointer(const","*target;","*task","*test","*tl","*tmpblock","*token)","*transaction,","*transactionset","*transcat","*type;","*types;","*unit","*unititem","*url","*urlstr","*validoperationkey","*vc","*vc))block;","*vc))block{","*vc1","*vtable;","*weak_entries;","*weak_table,","*windowno2;","*zone,bool","*函数太长","*类似","*)。","+","++apple;","++lib)","+1","+1/","+=","+_age偏移量,获得_age的地址后从而进行间接访问的,所以在oc代码中,_ag","+alloc","+alloc.","+initi","+load","+resolveinstancemethod",",",",(key)",",(关联的值)",",dyld::_main",",最终都是找到了",",继续遍历",",重新赋值",",重点来看",".",".*","..","..)","...","...)","...);","...)的形式。","....","......","...乱序输出","...按顺序输出","...是否按序输出与串行队列还是并发队列有关","...省略掉.",".0",".a",".app",".black)",".dsym",".dylib",".git",".h",".h:",".h文件",".i",".m",".m:",".m文件",".normal)",".o",".objc_association_copy_nonatomic)",".s",".value时,说明当前绘制任务已经被放弃,就需要及时的做返回逻辑。",".white,",".这里加载共享缓存有几种情况","/","/*","/**","/*中序遍历左子树*/","/*二叉树的中序遍历递归算法*/","/*二叉树的前序遍历递归算法*/","/*二叉树的后序遍历递归算法*/","/*先后序遍历左子树*/","/*再先序遍历左子树*/","/*再后续遍历右子树*/","/*子类1*/","/*子类2*/","/*显示结点数据,可以更改为其他对结点操作*/","/*最后中序遍历右子树*/","/*最后先序遍历右子树*/","/*父类*/","//","//!!","//\"no","//...","//....","//.h","//.m","///","///代码","//1.创建队列","//12345","//13","//2.创建timer","//3.设置timer首次执行时间,间隔,精确度","//4.设置timer事件回调","//5.默认是挂起状态,需要手动激活","//_class_t","//array()","//associationshashmap不存在","//block的定义","//block的调用","//classa为framework中的某各类","//code","//deleg","//global","//goods模块所有对外提供的方法封装在一个category中","//goods模块提供实现goodsmoduleservice的对象,","//goods模块提供的所有对外服务都放在goodsmoduleservice中","//haveemptypoolplaceholder的本质","//https://stackoverflow.com/questions/24952549/do","//kroutegoodsdetail","//kroutegoodslist","//kroutemembersearch","//mediator提供基于nsinvocation的远程接口调用方法的统一封装","//memcpi","//memmove,内存挪动","//oc","//oc方法在swift中不可用","//push了一个空的池子,添加哨兵对象","//realloc","//sale","//sidetable_retaincount()函数实现","//synccacheitem数组","//thread","//xxxx","//yzsalemoduleservice.m内","//不会产生静态初始化","//不需要添加","//业务方依赖mediator模块,可以直接调用相关方法","//业务模块可以直接调用相关接口","//也会存在不安全","//交互位置","//代码","//会产生静态初始化","//会导致死锁,要使用递归锁","//传统方式只能定位到指定bundle,比如main","//使用栈区的数组存储队列","//做一次强转","//先修改age和height的值","//先修改age的值","//先加载宿主类的load方法(按照编译顺序,调用load方法)","//写","//判断点击位置是否在当前范围内","//协议列表","//取消自动发送通知","//同步读取指定数据","//否则为64","//告诉编译器,即使这个变量/方法","//和__unused相反","//图片下载器","//在tables里面,根据当前对象指针获取对应的sidet","//如下代码","//如果associationshashmap已经存在","//如果set方法传值是nil","//如果不使用方法的返回值,进行警告","//如果没有使用返回值,编译的时候给出警告","//字符串","//安全","//实例方法列表","//宿主类名称","//宿主类对象,里面有isa","//将block的底层结构struct","//将goodsmoduleservice放在某个公共模块中,对所有业务模块可见","//属性列表","//带描述信息的弃用","//常量","//并在+load方法中注册","//异步栅栏调用设置数据","//弃用api,用作api更新","//引用计数的map表","//弱引用表","//当前mode","//所有mode的集合","//打包","//指向autoreleasepoolpage内下一个可以用来存放自动释放对象的内存地址","//指向上一页释放池的指针","//指向下一页释放池的指针","//指定想要响应事件的","//控制响应的范围,扩大","//提供具体实现","//更改值","//最后编译的分类,最先添加到分类数组中","//最大队列数量","//构造函数","//析构函数","//标识当前","//死锁","//没有找到resolveclassmethod方法,直接返回。","//没有池子被push","//没问题","//注册服务","//测试服务器相关的代码","//添加引用计数","//添加新值","//生产服务器相关代码","//用于全局控制当前管理器的","//用于在图像加载完成后进行图像变换,并将变换后的图像存储到缓存中。","//用于对当前","//相关操作方法","//第一种情况:autoreleasepool首次push的时候返回的,也就是最顶层的page执行pop会执行这一部分","//第三种情况:也就是我们经常碰到的情况","//第二种情况:在非arc的情况下,在新创建的线程中不使用autoreleasepool,直接调用autorelease方法时会出现这个情况。此时没有pool,直接进行autorelease。","//类方法列表","//缓存处理","//编译成.app","//获得引用计数","//要点","//该对象在该线程中被加锁的次数","//该缓存条目对应的syncdata","//该缓存此时对应的已使用缓存大小","//该缓存此时对应的缓存大小","//返回sidet","//返回最终响应的事件","//这就是哈希算法了","//这里是做类型转换","//递归锁的特点是可以重入","//通过路由url跳转到商品列表页面","//遇到__unavailable的变量/方法,编译器直接抛出error","//队列数量","//默认使用","//默认情况下,imagecach","//默认情况下,是把","/epluspan4phone.build/epluspan4phone.app.xc","/private/var/mobile/containers/data/application/02cce9fd","/private/var/mobile/containers/data/application/1c4b15fb","/private/var/mobile/containers/data/application/573e7fe9","/private/var/mobile/containers/data/application/e7cb1946","/users/huangwenchen/library/developer/xcode/deriveddata/epluspan4phon","/usr/libexec/plistbuddi","0","0)","0))","0),","0);","0)];","0)获取系统提供的并发队列","0,","0.01。","0.1","0/*not","00","00000001","0000000102bd8070","0000000103113f68","00。","00,则数组不包含任何元素,因此返回","01","01,","01.","01401,","01403","01、快速排序","02","02.","02、算法思想","03","03,","03.","03138580","03138878","03、算法实现","04.","05.iap","06.iap","0:","0;","0b1111","0b111表示有扩展的标记位,扩展标记位占8位","0s,也可以写自己的","0x00000008","0x00000010","0x00000029","0x00000038","0x00000080","0x00000109","0x00000149","0x00000218","0x00000510","0x00000fd8","0x000012c8","0x00001520","0x000019c0","0x00001a50","0x000020e8","0x000022d8","0x00004a9a","0x00006e34","0x00007a30","0x0000a500","0x0000d56c","0x0000e760","0x00010498","0x00010908","0x000129c0","0x00015cc0","0x0001ad78","0x0002d840","0x0003e140","0x00041ef7","0x00053a4c","0x0005af70","0x00071693","0x00129280","0x0077ebc3","0x0077ebc3,而二者相加的下一个位置正好是stub","0x10","0x1000021b0","0x1000021b0,大小是","0x1000022c0","0x100002340","0x100780d74","0x100780d74。","0x100781d4c","0x1007837a0","0x10079e518","0x1007e040f","0x1007e7243","0x1007f76dc","0x100805e40","0x1008065c2","0x100816000","0x100817000中,它在内存中的结构如下:","0x1008774d4","0x10087bf6e","0x10087c0b8","0x100889628","0x10089c000","0x10089c010","0x10089d2d8","0x10089e7f8","0x10089e840","0x1008dc980","0x10090a1c0","0x10090c498","0x10090c4a8","0x10090c6c0","0x10090c6c8","0x10090cbd8","0x10090cbe0","0x100a35e60","0x100a46768","0x100a467a0","0x100a48888","0x100a4a248","0x100a4a248,就能找到","0x100a54748","0x100a6a420","0x100a71e60","0x100accde0","0x1010。运行时类对象的地址已经知道了,bind","0x1010,那么","0x1017718a3,0x1017718a3","0x103113f68","0x10313bb80","0x10。但是","0x10,加上","0x7","0x79是ascii对应的y字符的值","0x\\w{9}","0xa000000000000791","0xcb47b8d98a2fa15f","0xf","0xff","0xffffff,","0xffffff,优先级在","0。","0,这个行为叫做","0,那么这些","1","1)","1))","1),","1)/2加上","1);","1)、category的方法没有“完全替换掉”原来类已经有的方法,也就是说如果category和原来类都有methoda,那么category附加完成之后,类的方法列表里会有两个methoda","1)、可以调用,因为附加category到类的工作会先于+load方法的执行","1)、在类的+load方法调用的时候,我们可以调用category中声明的方法么?","1)生成(generate)—","1+parent","1,","1.","1.+[uiimag","1.0","1.0)","1.0,","1.0(1996","1.1","1.1.","1.2","1.2.","1.3","1.4","1.5","1.app启动过程","1.app进程的mach","1.categori","1.category的特点","1.dispatch_group_async","1.fluentdarkmodekit","1.ios底层原理总结","1.ios底层原理:weak的实现原理","1.ios引用计数管理之揭秘计数存储","1.ios特有概念taggedpoint","1.nsobject","1.osspinlock","1.pthread_mutex","1.weak创建过程","1.串行+同步","1.串行队列","1.串行队列使用栅栏函数","1.动态类型:","1.基本使用","1.基本数据类型:atom","1.多线程原理","1.如果operation不存在或者被取消,什么也不处理","1.子线程在使用autorelease对象时,如果没有autoreleasepool会在autoreleasenopage中懒加载一个出来。","1.定义及使用","1.带你深入了解oc对象创建过程","1.成员变量","1.探索associatedobject关联对象的内部实现","1.方法缓存存在什么地方?","1.深入理解object","1.线程安全","1.自动释放池的前世今生","1.谜一样的","1.进程的定义","1.通过runtime加载某个类的所有category数据","1/**","1/3:","1/60","10","10,","10,因为c函数的参数都是值传递,所以这里是将此时外部变量a的值10传给了block的构造函数__main_block_impl_0,因此block内部的成员变量age会被赋值成10。","10.0,苹果开启了一个新的功能:预绑定(prebinding),用于找到系统中每个","10.13","10.osi","100","100%","100)","1000","100m","1034279,","10:18:54.252949+0800","10;","10};","10等价于","10,则需要使⽤到上⾯的","10,然后在block内部使用了这个age,而且我在调用block之前,先将age的值修改成了20,那么此时程序运行会是什么结果呢","10,那么","11","11,","11.0","1111","11]","11。","11,即指向下一个位置。","12","12,","12.0,","121","1234","1234。为了执行函数,首先要访问__text触发一次","123];","12。dyld2","13","13,","135","13,所以我们重点看下","14","14,","144.","145.","14;","15","15%。","15,","16","16,","16k,6","16m","17","17,","1777.684814","1793.544922","17:","17:28:00.519862+0800","17:28:00.520032+0800","17:28:00.520047+0800","17:39:10.354050+0800","17:39:10.354237+0800","17:39:10.354252+0800","17:39:10.354263+0800","17:39:10.354274+0800","17:39:10.354285+0800","17:57:33.305655+0800","17:57:33.305950+0800","17:57:33.306476+0800","17}","18","18)","18,","1828.953857","1850.614990","1895.146729","1897.723877","18:17:12.034392+0800","18:17:12.034555+0800","18:17:12.034569+0800","18:17:12.034627+0800","18:17:12.034645+0800","18:17:12.034658+0800","19","19,","190de0ca85c16aef74c490127b94fa8ff04e168","1934.873047","1946.458984","1956.969971","19:44:46.003313+0800","19:44:46.003442+0800","1;","1\\.","1]","1]))","1].strip()","1]nums[fast]","1]nums[slow−1]","1]为有序区,a[i…n]","1]的元素后移,并将a[i]赋值给a[j]。","1cb2","1ffd332b","1n−1","1struct","1s,2s,4s,8s......","1};","1、app从点击屏幕到完成渲染,中间发生了什么?","1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。","1、ktvhchttpserver:","1、tag","1、tcp面向连接(如打电话要先拨号建立连接);udp是无连接的,即发送数据之前不需要建立连接","1、weak的原理在于底层维护了一张weak_table_t结构的hash表,key是所指对象的地址,value是weak指针的地址数组。","1、一个添加了web图片加载和缓存管理的uiimageview分类","1、主线程中任务执行:任务1、sync、任务3、","1、二叉查找树的缺点","1、仅加载到当前进程","1、使用ios自带的avurlasset的avassetresourceloader来实现。","1、具有二叉查找树的全部特性。","1、具有二叉查找树的特点。","1、初始化配置","1、提交任务","1、申请一个新的栈,记为stack,申请一个变量cur,初始时令stack为空,cur等于头节点。","1、申请一个栈,记为s1,然后将头节点压入s1中。","1、申请一个栈,记为stack,将头节点压入stack,同时设置两个变量h和c。在整个流程中,h代表最近一次弹出并打印的节点,c代表当前stack的栈顶节点,初始时令h为头节点,c为null。","1、界面卡顿的实质","1、要发送的数据大于tcp发送缓冲区剩余空间大小,将会发生拆包。","1、首先申请一个新的栈,记为stack。","1个节点。(k>=1)","1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left","1操作","1操作),接着判断是否有sidetable,如果有再加上存在sidetable中的计数;","1阻塞线程,等待signal再执行下去","1️⃣","1️⃣、","1️⃣、const","1)n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。","1)代理负责生产对应的","1)叶子只能出现在最下一层。出现在其它层就不可能达成平衡。","1)叶子结点只能出现在最下层和次下层。","1)在二叉树的第i层上最多有2(i","1)客户端发起一个http请求,连接到服务器的443端口。","1)已知前序遍历序列和中序遍历序列,确定一棵二叉树。","1)有且仅有一个特定的称为根(root)的结点;","1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。","1)的对象其引用计数优先存在isa的extra_rc中,大于524288便存在sidetable的refcountmap或者说是densemap中;","1,2","1,sdmemorycach","1,不行,给我调整!","1,但是wait之后信号量为","1,但是wait之后信号量为0不会阻塞线程,所以进入i=1","1,例如,如果对象的引⽤计数为","1,例如:sha","1,如果我们有","1,并根据是否开启指针优化,处理进位/借位的情况;","1,这时还算平衡,这时再添加一个元素","1:","1:包含swift代码;","2","2)","2)、category的方法被放到了新方法列表的前面,而原来类的方法被放到了新方法列表的后面,这也就是我们平常所说的category的方法会“覆盖”掉原来类的同名方法,这是因为运行时在查找方法的时候是顺着方法列表的顺序查找的,它只要一找到对应名字的方法,就会罢休,殊不知后面可能还有一样名字的方法。","2)、加载顺序是父类先+load,然后子类+load,然后分类+load,+load的执行顺序是先类,后category,而category的+load执行顺序是根据编译顺序决定的。","2)、这么些个+load方法,调用顺序是咋样的呢?","2)绑定(bind)—","2,","2.","2.0","2.0);","2.0,","2.0》的描述是:","2.0(2004","2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;","2.1","2.1.","2.1.1","2.1.2","2.1.2.1","2.1.2.2","2.1.2.3","2.1.2.4","2.1.2.5","2.1.3","2.1.4","2.1.5","2.1.6","2.2","2.3","2.4","2.5","2.6","2.7","2.@synchron","2.atom","2.cocoapods原理总结","2.context的使用","2.dispatch_group_ent","2.mach","2.nsproxy的理解和使用","2.object","2.oc内存管理","2.oc语言基础","2.source1回调又触发了一个source0回调,将接收到的iohidevent对象封装成uievent对象,此时app将正式开始对于触摸事件的响应。","2.weak","2.weak创建流程","2.x","2.x,但在一些特殊场景下也可能会有一些潜在问题。在适配时我们需要注意以下几点:","2.x,所以有些现存接口会进入降级模式,这些接口的执行效率将会特别慢。所以在使用时,我们需要注意避免这样的接口。另外,有些针对于","2.串行+异步","2.分类中可以添加哪些内容","2.动态绑定:","2.同步和异步:","2.在runloop的run:beforedate,以及一些source的callback中,有autoreleasepool的push和pop操作,总结就是系统在很多地方都差不多autorelease的管理操作。","2.多线程意义","2.多线程生命周期","2.如果有error则直接回调错误信息,并把当前url加入到filedurls中。","2.并发队列","2.并发队列使用栅栏函数","2.把所有category的方法、属性、协议数据,合并到一个大数组中","2.普通oc对象:","2.检测安全","2.深入理解runloop","2.父类方法的缓存只存在父类么,还是子类也会缓存父类的方法?","2.线程的定义","2.自定义定时器","2.设计模式","20","20,","2000000,低于常见的其他","2004)","2005","2007","2007)","2010","2011","201103l","2014","2016","2017","2018","2019","2020","2050.655762","2067.84","2067。","2075.978027","20;","21","2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。","2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。","2155.601074","2168.324951","2198.915039","21:","22","2218.141113","221,可以看到","2237.258057","2243.837158","2261.447998","2268.033936","2294.206055","23","2302.843750","2305.270264","2322.465088","2333.105957","2340.742920","2352.54","2357.508789","2358.933350","2371.049805","2377.906250","2382.412842","2384.422852","2385.695068","24","2424.213135","2465.007812","25","2538.381836","255","2552.829834","256","256,git","26","26.","263,","2639.933105","264","2659.640625","27","28","28,","28,然后变成这样:","28:","29","2;","2\\.","2]","2i","2i+1>n,则该结点无右孩子结点,","2i>n,则该结点无左孩子,","2msl等待状态","2、dyld","2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。","2、ktvhcdatareader和ktvhcdatasourcemanag","2、tag","2、tcp提供可靠的服务。也就是说,通过tcp连接传送的数据,无差错,不丢失,不重复,且按序到达;udp尽最大努力交付,即不保证可靠交付","2、uikit","2、weak","2、yyasynclayerdeleg","2、一个异步图片下载器","2、主队列:viewdidload、任务2、","2、从s1中弹出的节点记为cur,然后先把cur的左孩子压入s1中,然后把cur的右孩子压入s1中。","2、先把cur节点压入栈中,对以cur节点为头的整棵子树来说,依次把整棵树的左边界压入栈中,即不断令cur=cur.left,然后重复步骤2。","2、共享缓存是第一次被加载","2、合适的回调时机","2、在客户端搭建local服务器,local服务器作为中间者,代替客户端请求服务器数据,并将获取到的数据缓存,再提供给客户端。","2、平衡二叉树","2、当一个","2、待发送数据大于mss(最大报文长度),tcp在传输前将进行拆包。","2、根节点是黑色的;","2、每个节点的左子树和右子树的高度差至多等于1。","2、每次令c等于当前stack的栈顶节点,但是不从stack中弹出节点,此时分以下三种情况。","2、然后将头节点head压入stack中。","2。","2。此时,若","2️⃣","2️⃣、","2️⃣、intptr_t","2)m>0时,子树的个数没有限制,但它们一定是互不相交的。","2)二叉树中如果深度为k,那么最多有2(k)","2)左子树和右子树是有顺序的,次序不能任意颠倒。","2)已知后序遍历序列和中序遍历序列,确定一棵二叉树。","2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集t1、t2、......、tn,其中每一个集合本身又是一棵树,并且称为根的子树。","2)最下层的叶子结点集中在树的左部。","2)服务端把自己的信息以数字证书的形式返回给客户端(证书内容有密钥公钥,网站地址,证书颁发机构,失效日期等)。证书中有一个公钥来加密信息,私钥由服务器持有。","2)设置","2)非叶子结点的度一定是2。","2:","2:sdk版本低于10.11;","3","3)","3)缓存数据(buffer","3,","3.","3.0","3.0,dyld","3.1","3.1,","3.13","3.2","3.2。","3.3","3.3,在","3.4","3.4。","3.5","3.6","3.7","3.7.1","3.7.2","3.8","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","3.dispatch_barrier_sync/dispatch_barrier_async区别","3.dispatch_group_wait使用","3.io","3.nslock","3.oc中的runloop","3.runtim","3.source0回调内部将触摸事件添加到uiapplication对象的事件队列中。事件出队后,uiapplication开始一个寻找最佳响应者的过程,这个过程又称hit","3.weak销毁过程","3.为什么","3.主队列","3.内联函数,与宏的区别","3.如果一切正常,则把错误请求从filedurls中移除,并把下载好的图片数据传递到缓存处理程序。","3.将合并后的分类数据(方法、属性、协议),插入到类原来数据的前面","3.就算插入没有pop也没关系,在线程exit的时候会释放资源,执行autoreleasepoolpage::tls_dealloc,在这里面会清空autoreleasepool。","3.并发+同步","3.进程与线程的关系和区别","3.锁的作用","3/*block_field_is_object*/);","30","300","300ms,猜测是","300、400","30;","30,它就需要在","31","32","32,","32byte,里面有两个指针:内部指针,指向__text,__cstring中字符串的位置;外部指针","33","34","35","37","379.502930","382.000244","386.897949","399.669922","3\\.","3]","3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。","3、tag","3、tcp面向字节流,实际上是tcp把数据看成一连串无结构的字节流;udp是面向报文的","3、uikit","3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片","3、一直重复步骤2,直到stack为空,过程停止。","3、不断重复步骤2,直到发现cur为空,此时从stack中弹出一个节点,记为node。打印node的值,并让cur=node.right,然后继续重复步骤2。","3、共享缓存不是第一次被加载","3、在整个过程中,每一个从s1中弹出的节点都放进第二个栈s2中。","3、对象释放时,调用cleardeallocating函数根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。","3、异步绘制的核心逻辑","3、每个叶子节点都是黑色的空节点(nil),也就是说,叶子节点不存数据。","3、每次从stack中弹出栈顶节点,记为cur,然后打印cur节点的值。如果cur右孩子不为空的话,将cur的右孩子先压入stack中。最后如果cur的左孩子不为空的话,将cur的左孩子压入stack中。","3、自定义","3、要发送的数据小于tcp发送缓冲区的大小,tcp将多次写入缓冲区的数据一次发送出去,将会发生粘包。","3个阶段方法;不同方法在不同周期会刷新布局显示出来。","3️⃣","3️⃣、","3)n0=n2+1","3)倒数第二层若存在叶子结点,一定在右部连续位置。","3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。","3)在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。","3)验证证书的合法性","3,最终","3,第三方","3:runtime读取image时发现这个image包含__objc_rawisa段;","3?核心的理由有三点:性能、安全性和可测试性。什么是理论上启动一个","4","4)","4)启用(enable)或者(disable)—","4,","4.","4.1","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2","4.2.1","4.2.2","4.2.3","4.3","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.block","4.categori","4.nsrecursivelock","4.weak销毁流程","4.全局队列","4.单链表与顺序结构","4.多线程实现方案","4.寻找到最佳响应者后,接下来的事情便是事件在响应链中的传递及响应了,关于响应链相关的内容详见[事件的响应及在响应链中的传递]一节。事实上,事件除了被响应者消耗,还能被手势识别器或是target","4.并发+异步","4.最后,如果finished==yes,则把当前operation从runningoperations中移除。","4.栅栏函数注意点","4.线程池的原理","4.进程与线程的关系图","4.锁的分类","40","40.200928","400m","400ms。","407.436035","409.042969","4095","4096","4096,一旦超过这个尺寸就会调用cpu进行资源处理,所以纹理尽量不要超过这个尺寸","40c9","419","419,关于","421","421.780762","426.408691","42ce","435.476318","439.666016","43f4","440.330811","441.053955","443.14","443.190186","444f","44;","453.924072","47","478.447998","478b","479cc9cc8bad@3x.ktx","47]","48.425049","48.640625","48ff","490.614014","4;","4d69","4e84","4k,这是","4~47","4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。","4、不断重复步骤2和步骤3,直到s1为空,过程停止。","4、不断重复步骤3,直到stack为空,全部过程结束。","4、任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。","4、及时的结束无用的绘制","4、多核设备带来的可能性","4、当stack为空并且cur为空时,整个过程结束。","4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。","4、支持动态gif图","4、文章中介绍了sidetable、weak_table_t、weak_entry_t这样三个结构,它们之间的关系如下图所示。","4、每一条tcp连接只能是点到点的;udp支持一对一,一对多,多对一和多对多的交互通信","4个字节)。为了节省内存,ios通常直到真正绘制的时候才去解码图片。根据你加载图片的方式,第一次对","4次挥手过程详解","4️⃣","4️⃣、_objc_init","4)在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。","4)如果结点度为1,则该结点只有左孩子,即没有右子树。","4)生成随机密码(rsa签名)","4:开发者自己添加了objc_disable_nonpointer_isa=yes到环境变量中;","5","5)","5)设置指(set","5,","5.","5.dispatch_semaphor","5.gcd和nsoperation的区别","5.runloop","5.static区别","5.主队列+同步","5.触摸事件历经坎坷后要么被某个响应对象捕获后释放,要么致死也没能找到能够响应的对象,最终释放。至此,这个触摸事件的使命就算终结了。runloop若没有其他事件需要处理,也将重归于眠,等待新的事件到来后唤醒。","5.队列的定义","50%+","50.403320","508.499023","51.270020","51.363770","515.513916","52","53.313965","54.635010","54.883789","55.749756","56","56.13","57.637207","570425344),","58.913818","59.484863","59.97)。io","598.571777","5b3b","5c","5d05609b383fffc5f9f36f65de0d7d7d3df91ce6","5f65","5struct","5、tcp首部开销20字节;udp的首部开销小,只有8个字节","5、从s2中依次弹出节点并打印,打印的顺序就是后序遍历的顺序了。","5、异步线程的管理","5、支持webp格式的图片","5、每个节点,从该节点到达其可达的叶子节点是所有路径,都包含相同数目的黑色节点。","5个参数","5️⃣","5)同样结点数目的二叉树,完全二叉树深度最小。","5)生成对称加密算法","5)若对含","5:某些不能使用non","6","6)","6)绘图(draw)","6,","6.","6.categori","6.memory内存管理","6.nscondit","6.主队列+异步","6.深入了解runloop","6.线程间通讯","6.队列和线程的关系","60","60,","600","63.152832","63.797852","6312","63之间,这就是通过哈希函数来获取到了sidetable的下标,然后再根据value取到所需的sidetable。","64","64.150146","652baf18601eecf42521a1361a8815576bc8eb55","68","68.835938","6;","6ae4","6s","6、tcp的逻辑通信信道是全双工的可靠信道,udp则是不可靠信道","6、后台图片解压处理","6。还维护了可变字典","6:父类关闭。","7","7)删除除(delete)—","7,","7.","7.1.","7.2.","7.3.","7.4.","7.nsconditionlock","7.互斥锁和自旋锁的区别","7.全局队列+同步","7.带着问题看源码","7.线程和runloop的关系","72","72,","75","750","77","779.028809","78.262207","7、确保同样的图片url不会下载多次","7或者0","8","8,","8.","8.0","8.0)","8.autoreleasepool的实现","8.os_unfair_lock","8.thread","8.全局队列+异步","8.影响任务执行速度的因素","8565","88fcf7848323/library/caches/snapshots/baidu.testlaunchscreen","8;","8a15","8eee","8、确保伪造的图片url不会重复尝试下载","8,关闭","9","9))","9,","9.","9.0,","9.0.0","9.互斥锁性能对比","90%","9193","93%","93%的设备是","93a8","94.","96920d11","96fa","98f7b5b1","9d72","9fc3b84622cd/library/caches/snapshots/baidu.testlaunchscreen1/test.png","9、确保主线程不会阻塞","9。如果引⽤计数⼤于",":","::",":cfbundlevers",":rtype:",":type",":行数",":非基于port的",";","=","==","=>","=nums[fast−1],说明",">",">=",">>",">__forward",">_age,说白了,这里还是需要用到self,因此block还是需要对self进行捕获的。",">_finish",">_progress",">_readedlength",">_respons",">a)++;",">a;",">add(obj)",">add(obj);",">add(pool_boundary);",">begin()",">begin());",">bits.fastinstancesize());",">canallocfast()))",">canallocnonpointer();",">check();",">child",">child)",">child);",">child;",">cleardealloc",">clearflags(rw_has_default_awz);",">count",">count;",">count;//宿主类,分类的总数",">data",">data()",">data();",">data);",">data;",">debug",">depth",">doesnotrecognizeselector:",">doinitialization(context);",">empty()",">empty())",">end())",">erase(j);//擦除",">fastcheck();",">find(key);",">flag",">forceflat()",">forward",">full()",">full())",">full());",">getentryfromlc_main();",">getisa();",">getpath());",">getrealpath(),",">getstate()",">hascustomawz()))",">hascustomawz()。",">hascustomrr())",">hascxxctor();",">hascxxdtor();",">hiwat",">initinstanceisa(cls,",">initisa(cls);",">instancesize(extrabytes);",">ios性能优化——图片加载和处理",">ip】的映射方式,那就是httpdns。",">isa()",">isbundle();",">isinitialized())",">ismetaclass())",">ismetaclass());",">ismetaclass();",">isrealized());",">istaggedpointer())",">istaggedpointer());",">kill();",">lchild);",">lessthanhalffull())",">list",">list[",">list[cach",">list[i]",">list[i];",">lists,",">lists[0]));",">lock();",">lock()并不是在底层对锁进行了封装,而是在查找过程前后进行了加锁操作",">lockcount",">machheader());",">machheader(),",">methods.attachlists(mlists,",">methodsformeta(ismeta);",">methodsignatureforselector:",">mutex)",">mutex.lock();",">mutex.tryunlock();",">next",">next));",">next,",">next;",">nextdata",">nextdata)",">notifyobjc()",">num_ref",">objc_destructinst",">object",">object_dispos",">out_of_lin",">parent)",">parent;",">perform",">person,",">person;",">properties.attachlists(proplists,",">propertiesformeta(ismeta,",">protect();",">protocols.attachlists(protolists,",">protocols;",">rchild);",">releaseuntil(stop);",">ro",">rootautorelease();",">rootdealloc",">rootisdeallocating();",">rootretaincount();",">second",">second;",">setdata(rw);",">setflags(rw_has_default_awz);",">sethasassociatedobjects();",">setinfo(rw_loaded);",">setneverunloadrecursive();",">setweaklyreferenced_nolock();",">sidetable_cleardealloc",">superclass)",">superclass);",">table.refcnts.erase(it)",">threadcount",">threadcount);",">unlock();",">unprotect();",">used++;",">used].data",">used].lockcount",">used];",">value的形式,以sel为key,函数实现的内存地址",">weak_table,",">weakbind(glinkcontext);",">可以类比成oc的dealloc方法,在销毁时调用",">可以类比成oc的init方法,在创建时调用",">右",">右子树,中序是",">右子树,后序是",">呈现树",">堆上的block",">左",">左子树",">弱指针__weak",">弱指针运行结果\">",">强指针clperson",">强指针运行结果\">",">栈上的block",">根",">深入理解runloop",">渲染树",">父节点",">苹果官方文档","?","?,则为隐式的可失败的初始化器","@\"//goods/goods_list\"","@\"123123123\";","@\"1234\",编译到最后的二进制的时候是会存储在两个","@\"hello","@\"test\"));","@\"test\",","@\"v@:@\");","@2x","@2x和@3x图","@2x和@3x图是苹果一个优化显示效果的机制,当","@3x","@autoreleasepool","@autoreleasepool{}的作用,实际上就是在作用域的头和尾分别调用了objc_autoreleasepoolpush();和objc_autoreleasepoolpop()函数","@catch","@class","@end","@implement","@implet","@interfac","@objc","@option","@param","@properti","@protocol","@requir","@return","@rpath,那么恶意修改路径或者将一些库插入到特定的地方,攻击者就可以毁坏","@selector(dm_dynamicbackgroundcolor),","@selector(key),","@selector(sendmessage))","@selector(setbackgroundcolor:));","@selector(test);","@strongify(operation);","@synchron","@synchronized(nil)","@synchronized(nil);","@synchronized(obj)","@synchronized(self)","@synchronized可能是日常开发中用的比较多的一种互斥锁,因为它的使用比较简单,但并不是在任意场景下都能使用@synchronized,且它的性能较低","@synchronized在底层维护了一个哈希链表进行data的存储,使用recursive_mutex_t进行加锁","@synchronized详解","@synchronized,这儿比你想知道的还要多","@synthes","@tri","@weakify(operation);","@“//goods/goods_detail?goods_id=%d”","@“//member/member_search”","[","[(id)[nsobject","[(id)[sark","[0,0,1,1,1,2,2,3,3,4]","[0,1,2,3,4]","[0]","[1,1,2]","[1,2]","[1175]/umsocial_sdk_4.4/libumsocial_sdk_4.4.a(umsocialjob.o)","[1188]/iphonesimulator10.1.sdk/system/library/frameworks//foundation.framework/found","[1]","[1]http://blog.csdn.net/hello_hwc/article/details/50036323","[2]","[2]/epluspan4phone.build/object","[2]http://blog.csdn.net/hello_hwc/article/details/46425503","[3,","[3]","[3]https://github.com/leomobiledeveloper/blogs/blob/master/demoprojects/scripts/autoipa.sh","[3],使用的时候,需要拷贝到工程的根目录","[4]https://developer.apple.com/documentation/uikit/uiviewcontroller?language=objc","[5]","[6]","[7]","[8]","[[[nsbundl","[[class","[[clperson","[[dmdynamiccolor","[[dmdynamiccolorproxi","[[goodslistviewcontrol","[[ktvhcdatanetworksourc","[[ktvhcdatarequest","[[ktvhcdatasourcemanag","[[ktvhcdataunititem","[[ktvhcdataunitpool","[[ktvhchttprespons","[[ktvhcurltool","[[mediat","[[mnperson","[[nsarray","[[nsbundl","[[nslock","[[nsmaptabl","[[nsnotificationcent","[[nsobject","[[nsrecursivelock","[[nsthread","[[skpaymentqueu","[[skproductsrequest","[[uinavigationcontrol","[[uiwindow","[]","[_networkrequestthread","[_sentinel","[a","[aninvoc","[aobject","[array","[avplay","[baidu.testlaunchscreen]","[bfmodule(yzgoodsmoduleservice)","[bifrost","[bobject","[calay","[callalloc(self,","[calyer","[catransact","[cl","[class","[classobj","[completedblock","[currentset","[deleg","[dynamiccolor","[error.domain","[i/2]","[imageload","[invoc","[ktvhcerror","[ktvhcpathtool","[ktvhttpcach","[layer","[layer.deleg","[lock","[manag","[method_t,],","[method_t,method_t,method_t],","[method_t,method_t],","[methodlist","[mnperson","[mnstudent","[mnteacher","[modul","[nav","[networksourc","[newvalu","[nonmetaclass","[nsbundl","[nsdata","[nsfilehandl","[nsmachport","[nsmutablearray","[nsmutabledictionari","[nsmutableset","[nsobject","[nsrunloop","[nsset","[nsstring","[nsthread","[nsurl","[obj","[object","[oper","[operationdictionari","[person","[progressblock","[recursivelock","[request","[respond","[root]","[router","[runloop","[sark","[sdimagecach","[sdwebimagedownload","[self","[self.callbackblock","[self.child","[self.connect","[self.currentsourc","[self.deleg","[self.downlaodtask","[self.downloadqueu","[self.failedurl","[self.imagecach","[self.imageload","[self.navigationcontrol","[self.person","[self.read","[self.renderedviewcontrol","[self.request","[self.resolvedcolor","[self.runningoper","[self.sourcemanag","[self.unititem","[self.writinghandl","[servicemanag","[skpayment","[sourc","[subview","[super","[transaction.target","[uiimag","[uiscreen","[uistoryboard","[uiview","[ulwbigresponsebutton","[ulwcategorycontrol","[unbalanc","[unit","[vc.view.lay","[view","[view.lay","[viewcontrollerclass","[viewcontrollerprerend","[x0]","[x10,","[x17,","[yysentinel","[渲染原理]当你被问到下面问题,你能够回答出来么?","[译]","\\","\\ne","\\textit{fast}fast","\\textit{nums}[0]nums[0]","\\textit{nums}[\\textit{fast}","\\textit{nums}[\\textit{fast}]","\\textit{nums}[\\textit{fast}]nums[fast]","\\textit{nums}[\\textit{slow}","\\textit{nums}[\\textit{slow}]nums[slow],然后将","\\textit{nums}num","\\textit{slow}slow","\\textit{slow}slow,返回","]","^","^(){","^(int","^(size_t","^bool()","^int(int","^{","_","__atautoreleasepool","__atautoreleasepool()","__attribtue__","__attribute__","__attribute__((__availability__(swift,","__attribute__((__blocks__(byref)))","__attribute__((__warn_unused_result__))","__attribute__((always_inline))id_class_createinstancefromzone(class","__attribute__((constructor))","__attribute__((deprecated(_msg)))","__attribute__((deprecated))","__attribute__((noinline))","__attribute__((noinline,used))","__attribute__((unavailable))","__attribute__((unused))","__attribute__((used))","__attribute__语法格式为:attribute((attribut","__autoreleasepool;","__block","__block,因为是使用","__block_byref_a_0","__block_impl","__block修饰的变量成了对象","__block修饰的属性在底层会生成响应的结构体,保存原始变量的指针,并传递一个指针地址给block——因此是指针拷贝","__block修饰符原理:","__bss","__builtin_expect是gcc提供给程序员使用,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。","__cflock(&loopslock);","__cfport","__cfrunloop","__cfrunloop_is_calling_out_to_a_timer_callback_function__函数被吊起的。从函数名看出,它们确实是属于timer事件(cfrunlooptimerref)","__cfrunloop_is_servicing_the_main_dispatch_queue__()","__cfrunloopcreate(pthread_main_thread_np());","__cfrunloopcreate(t);","__cfrunloopdoblocks();","__cfrunloopdoobservers(cfrunloopexit);","__cfrunloopdoobservers(kcfrunloopafterwaiting);","__cfrunloopdoobservers(kcfrunloopbeforesources);","__cfrunloopdoobservers(kcfrunloopbeforetimers);","__cfrunloopdoobservers(kcfrunloopbeforewaiting);","__cfrunloopdoobservers(kcfrunloopentry);","__cfrunloopdoobservers(runloop,","__cfrunloopdosource0();","__cfrunloopdosource1();","__cfrunloopdotimers();","__cfrunlooprun(","__cfrunloopservicemachport();","__cfstring","__cfunlock(&loopslock);","__common","__const","__cplusplu","__cself","__cstring","__data","__data.__bss","__data.__cfstr","__data.__common","__data.__const","__data.__data","__data.__la_symbol_ptr","__data.__objc_classlist","__data.__objc_imginfo","__data.__objc_protolist","__data.__objc_protoref","__data.__objc_selfref","__data.__objc_superref","__data.nl_symbol_ptr","__data,__cfstring,存储","__deprec","__deprecated;","__deprecated_msg(_msg)","__dyld_start","__eh_fram","__entitl","__flags;","__forwarding存在意义","__forwarding存放的是自己本身的地址","__gcc_except_tab","__got","__guard_setup(apple);","__has_feature(objc_fixed_enum)","__has_feature(ptrauth_calls)","__init__(self,","__iohideventsystemclientqueuecallback()","__iohideventsystemclientqueuecallback()函数会将事件交给source0处理,source0会调用__uiapplicationhandleeventqueue()函数,函数内部会做具体的处理操作。","__la_symbol_ptr","__main_block_copy_0(struct","__main_block_copy_0,","__main_block_desc_0","__main_block_desc_0*","__main_block_desc_0_data","__main_block_desc_0结构体里面多了两个彩蛋","__main_block_dispose_0","__main_block_dispose_0(struct","__main_block_func_0(struct","__main_block_impl_0","__main_block_impl_0(void","__main_block_impl_0),","__main_block_impl_0*);","__main_block_impl_0*,","__main_block_impl_0*dst,","__main_block_impl_0*src)","__main_block_impl_0直接般到main.m里面","__mod_init_func","__mod_init_func,stat","__nl_symbol_ptr","__null,","__objc2__","__objc_catlist","__objc_classlist","__objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。","__objc_classlist获取所有类的地址。","__objc_classnam","__objc_classref","__objc_classrefs段记录了引用类的地址,__data","__objc_classrefs获取到引用类的地址。","__objc_const","__objc_data","__objc_forward_handler@pag","__objc_forward_handler@pageoff]","__objc_imageinfo","__objc_ivar","__objc_methnam","__objc_methtyp","__objc_msgforward","__objc_msgforward_impcach","__objc_msgsend_uncach","__objc_msgsend_uncached,","__objc_nlcatlist","__objc_nlcatlist,实现","__objc_nlcatlist,实现+load","__objc_nlclslist","__objc_nlclslist,实现","__objc_nlclslist,实现+load","__objc_protolist","__objc_protoref","__objc_selref","__objc_superref","__result_use_check","__size;","__strong","__stub","__stub_help","__swift__","__swift_unavailable(_msg)","__text","__text.__const","__text.__cstr","__text.__objc_classnam","__text.__objc_methnam","__text.__objc_methtyp","__text.__stub","__text.__stubs_help","__text.__text","__text,__cstring,存储实际的字符串","__text,__cstring,存储实际的字符串\"1234\"","__unavail","__unsafe_unretain","__unus","__unwind_info","__use","__ustr","__weak","__x86_64__","_age","_base;","_block_item","_block_object_assign((void*)&dst","_block_object_assign函数会根据auto变量的修饰符(__strong、__weak、__unsafe_unretained)做出相应的操作,形成强引用(retain)或者弱引用","_block_object_dispose((void*)src","_block_object_dispose函数会自动释放引用的auto变量(release)","_cancelasyncdisplay];","_cancelasyncdisplay是取消绘制,稍后解析实现逻辑;","_category_t","_cf_forwarding_prep_0和___forwarding___这两个方法会先被调用了,之后调用了forwardingtargetforselector:。","_cfgettsd(__cftsdkeyrunloopcntr))","_cfrunloopget0(pthread_self());","_cfrunloopget0(pthread_t","_cfsettsd(__cftsdkeyrunloop,","_cfsettsd(__cftsdkeyrunloopcntr,","_class_createinstancefromzone(cls,","_class_initialize(_class_getnonmetaclass(cls,","_class_resolveclassmethod","_class_resolveclassmethod(class","_class_resolveclassmethod(cls,","_class_resolveclassmethod和_class_resolveinstancemethod实现类似,这里就只看_class_resolveclassmethod的实现。","_class_resolveinstancemethod(cls,","_class_resolvemethod","_class_resolvemethod(class","_class_ro_t","_class_t","_cmd","_cmd);","_cmd,","_commonmodeitems;","_commonmodes;","_cond","_cond.broadcast()","_cond.lock()","_cond.unlock()","_conditionvariablepointer.allocate(capacity:","_counterpart;","_cstring","_currentmode;","_data","_displayasync:_displaysasynchronously];","_displayasync是异步绘制的核心方法。","_displaysasynchron","_downloadqueu","_downloadqueue,默认的最大并发数为","_dyld_objc_notify_init","_dyld_objc_notify_regist","_dyld_objc_notify_register(&map_images,","_dyld_objc_notify_register(_dyld_objc_notify_map","_dyld_objc_notify_unmap","_dyld_start","_fin","_fin(id","_got","_imp;","_imp_implementationwithblock_init();","_imp为value来存储方法。","_ioqueu","_iskey","_iskvoa方法","_iskvoa用来标识是否是在观察者状态的一个标志位","_key","_key;","_la_symbol_ptr","_lock;","_lock;//自旋锁,保证线程安全","_main(const","_map_2_imag","_mask;","_method_list_t","_modes;","_modes和_commonmod","_mutexpointer.allocate(capacity:","_myrend","_myrender.renderedviewcontrol","_myrender;","_networkrequestthread","_networkrequestthread;","_nonnul","_nullabl","_nullable(nsdictionari","_objc_autoreleasepoolpop()","_objc_autoreleasepoolpush()","_objc_class_$_episodestatusdetailitemview","_objc_class_$_ttbasecontrol","_objc_class_$_ttepisodestatusdetailitemview","_objc_class_\\$_(.+)\")","_objc_class_\\$_(.+)')","_objc_classlist","_objc_classnam","_objc_constructorfree(obj,","_objc_debug_taggedpointer_classes@pag","_objc_debug_taggedpointer_classes@pageoff","_objc_debug_taggedpointer_ext_classes@pag","_objc_debug_taggedpointer_ext_classes@pageoff","_objc_fatal(\"cannot","_objc_fatal(\"id2data","_objc_inform(\"miss","_objc_inform(\"nil","_objc_init","_objc_init(void)","_objc_istaggedpointer(const","_objc_ivar_$_ulwcategorycontroller._liveapi","_objc_methodnam","_objc_methtyp","_objc_msgforward)","_objc_msgforward_impcach","_objc_msgforward_impcache用来进行消息转发,但是其真正的核心是调用_objc_msgforward。","_objc_msgsend","_objc_msgsend,","_objc_rootalloc(self);","_objc_rootdealloc","_objc_rootinit(self);","_objc_sync_exit。","_objc_tag_ext_index_mask","_objc_tag_ext_slot_count","_objc_tag_ext_slot_mask","_objc_tag_index_mask","_objc_tag_mask","_objc_tag_mask)","_objc_tag_mask;","_objc_tag_slot_count","_objc_tag_slot_mask","_object_set_associative_reference(id","_object_set_associative_reference(object,","_occupied;","_os_object_init","_per_run_data","_policy;","_prop_list_t","_properti","_property;","_protocol_list_t","_pthread;","_read_imag","_rethrow","_runtime;","_sentinel","_sentinel;","_sleeptime;","_stub","_stub_help","_swift_cfthreadref?","_sync_exit","_sync_exit(_sync_obj);","_sync_exit(id","_sync_obj","_testarray","_text","_thread","_thread:","_timer","_uiapplicationhandleeventqueue()会把","_uiapplicationhandleeventqueue()进行应用内部的分发。","_unused;","_urloper","_urloperations,key","_valu","_value:","_value;","_wakeupport;","_windowno2=","_winthread;","_yzg_goodsmodel,","_yzs_goodsmodel.","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()","_zn2ca11transaction17observer_callbackep19__cfrunloopobservermpv()。这个函数里会遍历所有待处理的","`addoperation:`","`downloadoperationcanceltoken`,","`failedurls`","`operation.completionblock`","`runningoperations`","`sdcallbacksdictionary`","`sdwebimagecombinedoperation`","`sdwebimagedownloadtoken`","`try`()","a);","a)可以减少单个文件的体积","a.","a.5,","a.out","a562","a5e0ba0c047e/library/splashboard/snapshots/baidu.testlaunchscreen","a834","a;","a_view","abcdefghij","abdhiejcfg","abi.h中","abort","abortpolicy直接抛出rejectedexecutionexeception异常来阻止系统正常运行","above.","abstract","access","accord","ack","ack包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传。如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。","ack状态的b收不到对已发送的fin+ack报文段的确认,服务端超时重传fin+ack报文段,而客户端能在2msl时间内收到这个重传的fin+ack报文段,接着客户端重传一次确认,重新启动2msl计时器,最后客户端和服务端都进入到closed状态,若客户端在tim","ack状态的服务器收不到对fin","ack的确认报文。服务器会超时重传这个fin","ack,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2msl,而是在发送完ack之后直接释放关闭,一但这个ack丢失的话,服务器就无法正常的进入关闭连接状态。","acquir","acquire)","acquire);","acquire:","acquired.","acquirevalue(value,","act","act)","action","action:(nsstr","action:@\"getgoodscount\"","action:@\"getgoodslist\"","action:@\"goodsbyid:\"","action模式捕捉并消耗掉。其中涉及对触摸事件的响应优先级","activ","activity,","actual","ad","add","add_class_to_loadable_list(cls);","adddepend","addedcount","addedcount)","addedcount,","addedcount;","addedlists,","addhandlersforprogress:progressblock","addimag","addimage(image);","addobject:@123];","addobject:callbacks];","addobject:obj];","addobject:operation];","addobject:source];","addobject:url];","addobjectsfromarray:filesources];","addobjectsfromarray:networksources];","addobserver:_myrend","addobserver:forkeypath方法之后,系统会动态创建","addobserver:self","addoperation:operation];","addpayment:payment];","addport:[nsmachport","addr","address","addtransactionobserver:self];","adrp","advanc","advanceinsertsortwithbinarysearch(int[]","af3.x,废弃了","afbb52dbddb3@3x.ktx","afnetworking/nsurlconnection/afurlconnectionoperation.m","afterdelay0];","afterdelay:]","afterdelay]事件的函数调用栈,发现它们都是通过","ag","again","again.","again!怎么这么多!连","age(_age),这是c++的语法,作用时将参数_age自动赋值给成员变量ag","age)","age);","age,","age:","age;","age;,就是","age成员变量","aimp,","alignas(cachelinesize)","alignas(cachelinesize);","alignof(syncdata),","all_image_info","alloc","alloc/allocwithzon","alloc]","alloc];","alloc]init];","alloc]。当再次调用callalloc时候defaultawz为ture,hascustoawz为false这样会进入到下一个流程。","alloc],内部也是调用","allocated;","allocating,","allocator.","allocinit","allocwithzone:nil],","allocwithzone:nil].","allocwithzone:nil];","allocwithzone=false)","alloc实现","allow","allowsedgeantialias","alpha","alpha:","alpha,最后和底下其他","alreadi","alsr","alway","always_inlin","analysis),输出抽象语法树(ast),过程中会校验语法是否错误。","andi","android","anim","animated:no];","animated:yes];","animation:","animation、gpu","animation会创建一个opengl","animation会对数据进行拷贝,以进行字节对齐。","animation会提交这个","animation会请求分配一个纹理,同时确保cor","animation使用未压缩的位图数据来渲染图层。","animation图层的任何结构,所以必须","animation并仅仅是字面意思的核心动画,而是整个显示核心都是围绕quartzcore框架中的cor","animation必须创建一个内存中等大小的寄宿图片。然后一旦绘制结束之后,","animation必须对渲染树种的每个可见图层通过opengl循环","animation提交隐式事务,这会涉及创建已设置为层内容的所有图像的副本,根据图像:","animation提前渲染图层的离屏绘制。","animation是依赖于opengl","animation的合成器会联合opengl","animation的渲染。","animation)","annotation:(id)annot","anoth","any)","anyon","aobject","api","api_available(macos(10.5),","api中方法名里面含有usingblock的方法参数时","api总结","api的方法参数的时候","api,但是被__deprec","api,可以处理触摸事件、按压事件(3d","api,我们无法得知,并且其生成时机也早于我们应用代码可控制时机,也就意味着我们无法控制系统生成启动图的行为,换句话说就是即使我们的","app","appdeleg","appdelegateclassnam","appdelegateclassname);","appdelegateclassname;","appear","append_referrer(entry,","appl","apple'","apple);","apple,","apple[],","apple源码,如图:","applic","applifecycl","appropri","appsmachhead","appsmachheader,","appsslid","appsslide,","appstorereceipturl];","apps(wwdc14","app。","app。所以这部分工作需要被搬到进程外来完成,比如搬到一个","app。目前我们在上海、北京、杭州、深圳均有招聘需求,内推可以联系邮箱:","app从点击到启动","app从点击屏幕(硬件)到完全渲染,中间发生了什么?越详细越好","app启动和内存加载","app启动详细","app响应阶段","app的默认","app,app","app,pag","app,sect","app,其实不适合用","app,只有一次。这里有以下几个问题:","app,并通过","app,开始执行","app,我们也没法给用户发货。","app,我们会在","app,来完全取代","app,由","app,跳转到支付宝","app,进程内引擎会在首次启动时启动一个","app,通知购买成功,并把收据写入到","app,那么我们可能一个月没法给用户发货。","ar","arc","arc...","arch","arch:","archier","archieve中提到一句想要理解kvo,必须先理解kvc,因为键值观察是建立在键值编码的基础上","architectur","archiv","arc环境","aren’t","arg)","arg]","arg],classobj","argc,","args)","arguments:@[safe(application),","arguments:@[safe(application)]];","argv,","argv[])","argv[],","arg)","arm","arm.s、objc","arm64","arm64.s的实现。由于汇编不熟,里面的实现只能连看带猜。","arm64.s等文件中,是通过汇编实现的。这里主要看在arm64即objc","arm7","arm7/arm64","arm_v7","armv7","arr)","arr[j","arr[j];","arr[low]","array","array()","array.length","array[indexforpointer(p)].value;","array[left]","array[right]","array[right];","array[stripecount];","array];","array_t::bytesize(newcount)));","as?","asasynctransaction(group)","ascend","ascii","ascustomawz作用是判断当前类有没有实现allocwithzone方法。它是通过类的结构体objc_class中的hascustomawz方法判断的:","asdk","aselector,","aselector满足某个条件","aselector,否则依然会抛出doesnotrecognizeselector:异常;若找不到,则返回nil。","aslr","asnod","assembl","assert(!dest","assert(!hotpage());","assert(!isfuture());","assert(!istaggedpointer());","assert(!obj","assert(!par","assert(cl","assert(data);","assert(dest","assert(obj);","assert(pag","assertionfailure(darkmodemanager.messageforswizzlingfailed(class:","asset","asset.xcasset","assiciationshashmap","assign","assign)","assign,","assign:","assign,所以这里选择objc_association_assign","associ","associatedobject","associatedobject关联对象","associatedobject关联对象的内部实现","association.","associations.end())","associations.find(disguised_object);","associations[disguised_object]","associationshashmap","associationshashmap::iter","associationsmanag","assum","assumpt","asyncdisplaykit","asyncdisplaykit(texture)","asyncdisplaykit原理","atautoreleasepoolobj","atautoreleasepoolobj;","atindex:0];所以objc_msgsend遍历方法列表查找sel","atom","atomic)","atomic,","atomic保证变量在取值和赋值时的线程安全","atomic保证赋值获取是线程安全,是对成员属性的直接的获取安全,并不代表操作和访问安全.","atomic修饰的属性绝对安全吗?","atomic原理","atomic只能保证setter、getter方法的线程安全,并不能保证数据安全","atomic只能保证setter、getter时线程安全,所以更多的使用nonatomic来修饰","atomic是自旋锁,即当上一线程没有执行完毕(被锁住),下一线程会一直等待(不会进入睡眠状态),当上一线程执行完毕,下一线程立即执行。他区别于互斥锁,互斥锁在等待的时候,会进入睡眠状态,当上一个线程执行完毕,睡眠状态就会被唤醒,然后再执行。","attachcategories(class","attachlists(list*","attribtu","attribut","attribute)","attribute。","attribute)","authent","authority)机构给服务端进行颁发,ca机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。","authority,缩写","auto","auto&","autolayout比frame更消耗资源","automat","automaticallynotifiesobserversforkey:key];","automaticallynotifiesobserversforkey为yes时注册观察属性会生成动态子类nskvonotifying_xxx","autoreleas","autorelease(id","autoreleasefast","autoreleasefast(obj);","autoreleasefast(pool_boundary);","autoreleasefast分为三种情况:","autoreleasefullpag","autoreleasefullpage(obj,","autoreleasefullpage会从传入的page开始遍历整个双向链表,如果page满了,就看它的child节点,直到查找到一个未满的autoreleasepoolpage。接着使用autoreleasepoolpage构造函数传入parent创建一个新的autoreleasepoolpage的节点(此时跳出了while循环)。","autoreleasenewpag","autoreleasenewpage(pool_boundary);","autoreleasenewpage分为两种情况:","autoreleasenopag","autoreleasenopage(obj);","autoreleasepool","autoreleasepool(beforewaiting)","autoreleasepool,","autoreleasepoolpag","autoreleasepoolpage(autoreleasepoolpag","autoreleasepoolpage(nil);","autoreleasepoolpage(page);","autoreleasepoolpage::autorelease((id)this);","autoreleasepoolpage::pop(ctxt)","autoreleasepoolpage::push()","autoreleasepoolpage::push();","autoreleasepoolpage:pop(ctxt);","autoreleasepoolpage。","autoreleasepoolpage的","autoreleasepool并没有特定的内存结构,它是通过以autoreleasepoolpage为节点的双向链表。","autoreleasepool结构","autoreleasepool结构如图所示:","autoreleasepool(自动释放池)是oc中的一种内存自动回收机制,它可以延迟加入autoreleasepool中的变量release的时机。","autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池push和pop","autorelease方法","avail","available.","avg","aview,","avoid","avplay","a⾥存有struct","a、b、c,则需执行3次","b","b){","b)可以把不同的功能组织到不同的category里","b.","b.2,","b.eq","b.h","b.le","b;","back","backgroundcolor","backgroundcolor,可以放心使用","backward","bad","bad,","badpop(token);","baidu.testlaunchscreen\\","band","base","base)","basedonclassorviacustomsetimageblock:setimageblock","based渲染流程","based的基本渲染逻辑;","basemethodlist","basemethodlist;","basemethods,","baseprotocol","baseprotocols;","base;","batch*/,","bb","bbdb","be","bec9aef7c41a@3x.ktx","beehiv","befor","before:","beforewait","beforewaiting(准备进入休眠)","beforewaiting(即将进入休眠)","begin","begin()","begin();","begin/end","begin];","beginlists();","below,","best","better","better,","between","bf","bfs(root):","bifrost","bifrost.","bifrostmoduledefaultpriority;","bifrostmoduleprotocol","bifrostmoduleprotocol,令每个模块的","big","binari","binary_file_arch","binary_file_arch)","binary_file_arch):","binary_file_arch.startswith('arm'):","bincompat","bind","bind_at_link会降低","bind_at_link,在","bind_at_load","bindurl:kroutegoodslist","bind。","bind之类的符号,把上述结果写入缓存。这样,在应用启动的时候,就可以直接从缓存中读取数据,加快加载速度。","bind:修复外部指针。这个比较好理解,因为像","bit","bit)","bit;","bitcod","bitcode,苹果会做进一步优化。若有新的后端架构,依旧可以用这份优化过的","bitmap","bitmap(通常也被称为","bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。catransact","bitmap,进而呈现到屏幕上","bitnod","bitnode,","bitnode{","bits(value)","bits.canallocfast();","bits.data();","bits.extra_rc;","bits.hasdefaultawz();","bits.setdata(newdata);","bits;","bits,它相当于","bl","blob","block","block!\");","block();","block(10);","block(50,100);","block(valu","block(vc1);","block,","block,timer等事件.这可以解释滑动过程中,nstimer为什么会停止,因为滑动过程中runloop处于","block[13997:1263406]","block[4064:375528]","block[4725:476530]","block_size;","block代码块执行的时候,通过全局变量名直接访问。","block作为cocoa","block作为gcd","block作为函数参数返回的时候","block使用全局变量","block内部为其增加了一个int","block原理解读(三)","block地层结构图中的第一个成员就是一个isa指针,所以我们可以将block当成一个对象来看待。isa常见的就是_nsconcretestackblock,_nsconcretemallocblock,_nsconcreteglobalblock这3种","block对于self的处理","block底层结构为","block底层结构如下","block捕获auto变量","block捕获对象类型","block捕获局部static变量","block是封装了函数调用以及函数调用环境的oc对象","block有3种类型","block本质","block本质上也是一个oc对象,它内部也有个isa指针","block构造函数里面传入的,就是外部的这个height的地址值。","block没有对全局变量进行捕获行为,只需要在要用的时候,直接通过变量名访问就行了,因为全局变量时跨函数的,可以直接通过变量的名字直接访问。","block生命周期","block的任务,无论任务中哪一个,最终都要提交到主线程中处理.先分派viewdidload到主线程,由于队列fifo,viewdidload的调用结束又要等待block的调用结束,block又在等待viewdidload","block的底层结构如下","block的深入分析block的使用场景","block的调用即是函数的调用","block类型","block,然后执行","block,绘制代码可以随时调用该","blog","blpaymentmanag","bobject","bool","bool(^iscancelled)()","bool(^iscancelled)(void));","bool*","boolean","bool等","bound","br","break","break;","breakpoint","breakpoint_function(","broadcast()","broadcast会唤醒所有正在等待的线程","bss,存放为初始化的全局变量,即常说的静态内存分配","bst","bt","bucket_t","bucket_t是以数组的方式存储方法列表的","buffer","buffer,","buffer)。进一步来说,其实所有","buffer)在内的其他帧缓存,当渲染后的后帧缓存完成后,前后帧缓存会互换。(这部分操作由操作系统来完成)","buffer)的特定帧缓存中的像素颜色元素的控制。","buffer,作为像素数据存储区域,而这也是","buffer,再到","buffer,只能暂时先放在另一块内存之中,说起来都属于","buffer,后一层覆盖前一层,就能得到最终的显示结果(值得一提的是,与一般桌面架构不同,在","buffer,最后把内容画上去(这只是我的猜测,实际情况可能更复杂)。不过如果我们能够预先告诉","buffer,而是先暂存在另外的内存区域,之后再写入","buffer,那么这个过程被称之为离屏渲染。","buggy\");","build","build.log","builder。它的底层机制决定了它在开发启动、app","buildnumber=$(($buildnumb","buildnumber=$(/usr/libexec/plistbuddi","built","bundl","bundle.","bundle:bundle];","bundle:nil];","bundleforclass:","bundleforclass:classa];","bundle中资源","bundle需要通过bundleforclass获取","button","button.settitlecolor(color,","button.titlecolor(for:","buttonaction:","buyproduction:","b、c","b,b⾥有char、int","c","c);","c)可以由多个开发者共同完成一个类","c++","c++,object","c++源码","c,","c.2,","c1.0","c2.0中的新语法:properties。它帮我们自动生成getter和sett","c;","c_view","ca","ca::context::commit_transaction();","ca::layer::display_if_needed();","ca::layer::layout_and_display_if_needed();","ca::layer::layout_if_needed();","ca::transaction::commit();","ca::transaction::commit:以后),cpu执行drawrect,通过context将数据写入back","cach","cache)","cache,","cache.","cache;","cache;用来缓存曾经调用过的方法,可以提高方法的查找速度。","cache[1],什么是","cache_init();","cache_key_t","cache_t","cacheddata,","cacheddata:(nul","cacheddata:cacheddata","cacheddata:nil","cachedimage,","cachedimage:(nul","cachedimage:cachedimag","cachedimage:nil","cacheimag","cachekey","cachekey,","cachekeyfilt","cachekeyfilter:cachekeyfilter];","cachekeyfilter;","cachekeyforurl:","cachekeyforurl:url","cachelookup","cacheseri","cacheserializer;","cachetype)","cachetype,","cachetype:(sdimagecachetype)cachetyp","cachetype:cachetyp","cachetype:sdimagecachetypenon","cache),它会弱引用被缓存对象,当缓存被清理之后,我们还可以在","cadisplaylink","calay","calayerdeleg","calayer与ios动画","calayer会生成一个back","calayer基于coreanimation,","calayer提供内容,专门负责处理触摸等事件,参与响应链","calayer的display方法中,首先会判断layer的delegate方法displaylayer:是否实现,如果代理没有响应这个方法,则进入到系统绘制流程;如果代理响应了这个方法,则进入到异步绘制流程","calayer的职能","calayer,对外暴露了一个方法可开闭是否异步绘制。","calc.rb","call","call_category_loads();","call_class_loads();","call_load_method","call_load_methods(void)","callabl","callalloc","callalloc(class","callalloc(cls,","callbackforfailed:error];","callbackforhasavailabledata];","callbackforprepared];","callbacks;","callbacks[kcompletedcallbackkey]","callbacks[kprogresscallbackkey]","callbacksforkey:kcompletedcallbackkey];","callback,这里会先处理几种情况:","callbadallochandler(cls);","callcacheprocessforoperation:oper","callcompletionblockforoper","callcompletionblockforoperation:oper","callcompletionblock。","calldownloadprocessforoperation:oper","callerrunspolicy将任务回退到调用者","calls.","callstorecacheprocessforoperation:oper","calls(以前是","canallocfast","canallocfast'","canallocfast()","canallocfast作用是判断当前类是否可以快速开辟内存,需要注意的是这里永远不会调用,因为canallocfast内部返回的是false。具体实现如下:","cancel","cancel];","cancelprefetchingforrowsatindexpaths:(nsarray","cancel。其强引用由","cancel。如果是返回错误并结束。","candid","canmakepayments])","canrequestimageforurl:url];","capacity:0];","care","case","case:","cashapelay","cat","catch","categori","categories]","category:","category_list","category_list,并将","category_t,里面存储着分类的各种信息,包括","category和+load方法","category如何加载","category的加载处理流程","category被附加到类上面是在map_images的时候发生的","catextlayer:直接将字符串使用cor","catransact","catransaction(2000000)","catransformlayer:能够用于构造一个层级的3d结构","cats);","caus","ca是证书的签发机构,它是公钥基础设施(publ","ca认证链","ca证书","ca证书详解","ca)签发的服务器公开证书,证书中包含了公钥。客户端会使用这个公钥加密接下来的握手过程,直到协商生成一个新的对称密钥。证书中还包含了该证书所应用的域名范围(common","cell","cell,弹出领取津贴,我们分","central","cf","cf_export","cf_options(cfoptionflags,","cfabsolutetim","cfbundleversion\"","cfdataref)imagedata,","cfdictionarycreatemutable(kcfallocatorsystemdefault,","cfdictionarysetvalue(__cfrunloops,","cfdictionarysetvalue(dict,","cfmutabledictionaryref","cfmutablesetref","cfrelease(dict);","cfrelease(imageref);","cfrelease(mainloop);","cfrelease(newloop);","cfrelease(observer);","cfrelease(source);","cfrunloopact","cfrunloopactivity)","cfrunloopaddobserver(runloop,","cfrunloopdealloc","cfrunloopgetcurr","cfrunloopgetcurrent();","cfrunloopgetcurrent();获得当前线程的runloop对象","cfrunloopgetcurrent(void)","cfrunloopgetmain();","cfrunloopgetmain();获得主线程的runloop对象","cfrunloopmoderef","cfrunloopmoderef——其内部主要包括四个容器,分别用来存放source0、source1、observer以及tim","cfrunloopmoderef:runloop的运行模式","cfrunloopobservercreate(cfallocatorgetdefault(),","cfrunloopobserverref","cfrunloopobserverref——监听者,runloop状态变更的时,会通知监听者进行函数回调,ui界面的刷新就是在监听到runloop状态为beforewaiting时进行的。","cfrunloopobserverref:观察者,能够监听runloop的状态改变","cfrunloopref","cfrunloopref——这个就是runloop对象","cfrunloopref都代表runloop对象,nsrunloop是基于cfrunloopref的一层oc包装,cfrunloopref是开源的","cfrunloopref:代表runloop的对象","cfrunloopsourc","cfrunloopsourceref——分为source0和source1","cfrunloopsourceref:就是runloop模型图中提到的输入源/事件源","cfrunlooptimerref","cfrunlooptimerref——timer事件,包括我们设置的定时器事件、[performselector:","cfrunlooptimerref:就是runloop模型图中提到的定时源","cfrunloopwakeup","cfruntimebas","cftyperef","cgcontext","cgcontextref","cgcontext,而不是直接到了","cgfloat","cgimag","cgimagegetheight(imageref);","cgimagegetwidth(imageref);","cgimageref","cgimagesourcecreateimageatindex()","cgimagesourcecreateimageatindex(source,","cgimagesourcecreatewithdata","cgimagesourcecreatewithdata((__bridg","cgimagesourcecreatewithdata()","cgimagesourceref","cgimage位图","cgpoint","cgrect","cgrect,","cgrectgetwidth(full),","cgsize","cgsizemake(width,","chain","chain响应链传递一层层给根视图appdelegate处理。","chain派发。如果其不能处理事件,则交给手势处理或响应者链传递。","chameleon","change);","change:(nsdictionari","char","char*","char**","charles'","check","check)","check:","check_for_fork();","checkallmoduleswithselector:_cmd","checkenvironmentvari","checkifexistmessagesinmaindispatchqueue();","checknil,","checkout","checkpod","checksharedregiondis","checksum","check,如果为空就是调用lreturnzero,lreturnzero里调用messenger_end_nil*/","child","child(nil),","childnamecontext)","children","ci(持续集成)来说,十分有用。io","cl","clang","clang(swift","clang是实际的编译命令","clang,swift","class","class'","class(class),也就是","class(meta)","class)","class,","class.","class/method","class;","class]","class]));","class]);","class];","class]])","class]];","class],但是真正执行方法的对象还是aobject。","class_addmethod(self,","class_createinst","class_createinstance(class","class_createinstance(cls,","class_data_bits_t","class_getinstancemethod(self,","class_list_pointers(path,","class_ref_pointers(path,","class_ro_t","class_ro_t,这样我们即可以在运行时为","class_rw_t","class_rw_t*","class_rw_t中是如何存储方法的","class_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,其中包含了类的初始内容以及分类的内容。","class_symbols(path):","classname.c","classname.h。这样,编译器能大大提高","classname.m","classname.o","classname,而不是","classrwt","class。","class。下文会对此详细介绍。","class。可以这样理解,类是","class不相等。","class存储类的类方法(+),class的isa指针指向meta","class方法用于指回动态子类的父类","class的信息则由metaclass所有;","class(class),即","class(meta)。root","class(meta)的","class(meta)的父类是","class)","class)中寻找。这也就是为什么说,图","class),通过传入类(结构体)参数,会动态修改在该类中的一个","class)?","class,","class,class","class,和","class,所以和","clblock","clean","clear","cleardealloc","clearexclusive(&isa.bits);","client","clienthello","cliptobound","clone","close","close];","close_wait","close)造成的。所谓的半关闭,其实就是tcp提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。","closur","closure)”","closure):这是一个新引入的概念,指的是","clperson","cls)","cls);","cls){","cls,","cls;","cmd","cmp","cn),用于客户端验证身份。","cocoa","cocoapod","code","code)","code:","codegen","codesigcmd","codesigcmd,","coding.——key","cold","coldest","collectionview","collid","collis","color","color);","color:","colorwithalphacomponent:alpha]","colorwithalphacomponent:alpha]];","colorwithlightcolor:(uicolor","com.apple.compilers.llvm.clang.1_0.compil","com.apple.dt.xcod","combineoper","command","command+b),会执行如下过程","commandbuffer,接受opengl","commit","commit()","commit];","commit(提交位图)","commit(提交),打包","commit,这个","commit,首帧渲染数据打包发给","commmon","commom","common","common.","commonmode不是实际存在的一种mod","commonmode的特殊性","common,和前面提到的简化","common,用于放置一些通用业务和全局的基类。app","companion`","compat","compatiblewithtraitcollection:nil];","compilec","complet","completed:(nonnul","completed:(nul","completed:^(uiimag","completed:completedblock];","completed:nil];","completedblock","completedblock(image,","completedblock,","completedblock。","completedblock),并设置当前","completedblock),然后,将","completion:(nul","completion:(void","completion:^(id","completion:^(uiimag","completion:completedblock","completionblock","completionblocks)","complexparams,","complexparams:(nul","complexparams:nil","compositing操作,合并1、2的纹理;","composition,设置","compress","compressed,","con","concurr","cond","condit","condition,","condition:","configur","configureprocessrestrict","confirmed,armv7","conform","conformstoprotocol:@protocol(sdwebimageoperation)])","connect","connectivity:","connect,上传后会对__text段加密,加密会减弱","consid","consol","const","const*","constant","constexpr","constraint","constraints”来触发","constraints”标记(可以被","constrait","containspoint:和","content","context","context(字典)","context)","context);","context,","context.notifysingle(dyld_image_state_dependents_initialized,","context.notifysingle(dyld_image_state_initialized,","context:(nul","context:(sdwebimagecontext","context:(void","context:childnamecontext];","context:context","context:null];","context:personnamecontext];","context[sdwebimagecontextcachekeyfilter];","context[sdwebimagecontextsetimageoperationkey];","context使用总结:","context是","continu","continue;","control","conveni","convertpoint:point","cookies技术","copi","copy)","copy)nsstr","copy)void","copy,","copy;","copy];","copywithzone:nil];","copy函数","copy函数内部会调用_block_object_assign函数","copy到了堆上,","core","coreanim","coreanimation。这样一来,多线程间数据同步会增加一定的复杂度","coreanimation提交会话,包括自己和子树(view","coreanimation(通过","coregraph","corelib","corepools","cornerradiu","cornerradius+clipstobounds,原因就如同上面提到的,不得已只能另开一块内存来操作。而如果只是设置","cornerradius。另一个好处是,我们可以灵活地控制裁剪和缓存的时机,巧妙避开","cornerradius(如不需要剪切内容,只需要一个带圆角的边框),或者只是需要裁掉矩形区域以外的内容(虽然也是剪切,但是稍微想一下就可以发现,对于纯矩形而言,实现这个算法似乎并不需要另开内存),并不会触发离屏渲染。关于剪切圆角的性能优化,根据场景不同有几个方案可供选择,非常推荐阅读","correctli","cost","count","count;","counter","count、对象大小","cpp","cpu","cpu_subtype_t","cpu_type_t","cpusubtyp","cpusubtype;","cputyp","cputype;","cpu”","cpu会将处理视图和图层的层级关系打包,通过ipc(内部处理通信)通道提交给渲染服务,渲染服务由opengl","cpu和gpu通过总线连接,cpu中计算出的往往是bitmap位图,通过总线由合适的时机传递给gpu,gpu拿到位图后,渲染到帧缓存区framebuffer,然后由视频控制器根据vsync信号在指定时间之前去帧缓冲区提取内容,显示到屏幕上。","cpu工作内容:","cpu渲染职能","cpu渲染职能主要体现在以下5个方面:","cpu的调度","cpu阶段","cpu:","crash","crashifdeallocating)","crashifdeallocating);","crashifdeallocating:","crashifdeallocating:如果被弱引用的对象正在析构,此时再弱引用该对象,是否应该crash","crash。","crash的原因:过度释放。","crash,结合上面的代码我们知道消息转发会调用___forwarding___这个内部方法。___forwarding___方法调用顺序是forwardingtargetforselector:","crash,苹果提供了一个链接器标志","crash;而","creat","create.","crsetcrashlogmessage2(null);","crsetcrashlogmessage2(thi","ctmediat","ctor","ctors,","cur","cur.left","cur.left:","cur.right","cur.right:","cur:","current","currentdevice].systemversion.floatvalu","currentmode,","currentrunloop];","currentrunloop];获得当前线程的runloop对象","currentthread]","currentthread]);","custom","cv","cview","cxxconstruct","cycl","c、c++","c作为m和v之间的连接,","c则是控制器.","c在查找方法的时候会顺着list依次寻找,并且category的方法在原始方法list的前面,需要先被找到,如果直接用hash存方法,方法的顺序就没法保证。","c引用计数本质","c的方法列表是一个list,是有顺序的;object","c还需要及时提交相应更新到界面展示.","c,因为原理上大同小异。","c:categori","d","d)可以按需加载想要的categori","d.5,","d0,","d1","d1,","d2","d2,","d3","d3,","d8","d9d48845","d;","d_view","daemon","daemon,之后就可以使用启动闭包了。总之大部分情景下,这些工作都在","dangl","dark:","darkcolor:(uicolor","darkcolor:[self.darkcolor","darkcolor:darkcolor];","darkcolor:self.darkcolor];","darkcolor;","darkcolor。对于这种属性设置,需要在设置","darkcolor。这样","darkimage:(uiimag","darkimage。","data","data\",","data()","data(nil),","data)","data)—","data,","data.length;","data;","data;//数据","datarequest:datarequest];","datawithcontentsofurl:receipturl];","data。","data,数据段,读写,存储","date)","date.distantfuture)","date.distantpast)","ddebug=1","deadlock.","dealloc","dealloc:","deallocating;","deallocating:标志对象是否正在释放内存。","deallocation.\",","dealloc之后isa指向元类","dealloc之后动态子类不会销毁","dealloc方法用于释放时对isa指向进行操作","debug","debug\");","debug\",","debug/releas","debug:","debugmissingpools)","debugpoolallocation);","debugprint(\"equal\")","debugprint(\"not","declar","declarations翻译过来就是成员变量的声明","declaration,就是","def","default","default(包括首次读取),并使用3个分页。","defaultcenter]","defaultimagecache;","defaultimageloader;","defaultqueue]","defaultstringencod","defaultstringencoding];","defer","defin","defined(isa_bitfield)","degrad","deinit","delay","deleg","delegate:self","delegate;","delegatequeue:self.internaldelegatequeue];","delegate、创建动画等等,非常消耗资源。uiview","delegate,也就是","delet","delta","delta;","demo","demo.","demo[91107:2281575]","demo[91308:2303030]","demo[91661:2331296]","demo[92064:2370496]","demo{","deny(1)","depend","dependends,依赖动态库列表","depth(par","depth;","desc","desc;","descriptor","design","design?","design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。","dest","dest;","detail","details...","detect","dev/2019","develop","development;","diagnost","dict","dict,","dictionari","dictionarywithcapacity:3];","didfailwitherror:(nserror","didfinishlaunch","didfinishlaunchingwithoptions:(nsdictionari","didfinishlaunchnotif","didfinishlaunchnotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到","didreceivedata:(nsdata","didreceiveresponse:(ktvhcdatarespons","didreceiveresponse:(skproductsrespons","diff","differ","directori","directories:","disassembl","discardpolicy直接丢弃任务","disguise(object);","disguised_object","disguised_ptr_t","disguisedptr","disoldestpolicy丢掉等待最久的任务","dispaly]方法调用的时候,他会检查","dispalyerlayer方法是否被实现了,若没有实现则我们调用系统的绘制方法。首先","dispatch","dispatch_after()","dispatch_appli","dispatch_apply()","dispatch_apply(10,","dispatch_apply前","dispatch_apply后","dispatch_apply将指定的block追加到指定的队列中重复执行,并等到全部的处理执行结束——相当于线程安全的for循环","dispatch_apply的线程0","dispatch_async","dispatch_async()","dispatch_async(concurrent_queue,^{//任务});","dispatch_async(dispatch_get_global_queue(0,","dispatch_async(dispatch_get_main_queue(),","dispatch_async(dispatch_get_main_queue(),^{","dispatch_async(dispatch_get_main_queue(),^{})","dispatch_async(global_queue,^{","dispatch_async(queue,","dispatch_async(serial_queue,^{//任务});","dispatch_async(yyasynclayergetdisplayqueue(),","dispatch_async(队列,任务)","dispatch_barrier_async","dispatch_barrier_async()","dispatch_barrier_async(concurrent_queue,^{","dispatch_barrier_async(concurrent_queue,^{//写操作});","dispatch_barrier_async(queue,","dispatch_barrier_async:前面的任务执行完毕才会来到这里","dispatch_barrier_sync","dispatch_barrier_sync()","dispatch_barrier_sync:作用相同,但是这个会堵塞线程,影响后面的任务执行","dispatch_cancl","dispatch_cancle:","dispatch_get_global_queue()","dispatch_get_global_queue(0,","dispatch_get_global_queue(dispatch_queue_priority_default,","dispatch_get_main_queue()","dispatch_get_main_queue(),","dispatch_get_main_queue();","dispatch_group_async()","dispatch_group_async(group,","dispatch_group_create()","dispatch_group_create();","dispatch_group_enter()/","dispatch_group_enter(group);","dispatch_group_enter和dispatch_group_leave成对出现,使进出组的逻辑更加清晰","dispatch_group_leav","dispatch_group_leave()","dispatch_group_leave(group);","dispatch_group_notify()","dispatch_group_notify(group,","dispatch_group_notify在dispatch_group_async执行结束之后会受到通知","dispatch_group_t","dispatch_group_t:调度组将任务分组执行,能监听任务组完成,并设置等待时间","dispatch_group_wait()","dispatch_group_wait(dispatch_group_t","dispatch_group_wait(group,","dispatch_main_async_safe(^{","dispatch_once(&oncepredicate,","dispatch_once(&oncetoken,","dispatch_once()","dispatch_once_t","dispatch_queue_concurrent);","dispatch_queue_concurrent);创建并发队列","dispatch_queue_create(\"com.hackemist.sdimagecache\",","dispatch_queue_create(\"felix\",","dispatch_queue_create(\"parallel\",","dispatch_queue_create()","dispatch_queue_priority_background:","dispatch_queue_priority_default:","dispatch_queue_priority_high:","dispatch_queue_priority_low:","dispatch_queue_serial);","dispatch_queue_serial)创建串行队列","dispatch_queue_t","dispatch_resum","dispatch_resume(_timer);","dispatch_resume:","dispatch_resume和dispatch_suspend调用次数需要平衡","dispatch_semaphore_creat()","dispatch_semaphore_create():创建信号量","dispatch_semaphore_create(0);","dispatch_semaphore_signal()","dispatch_semaphore_signal():释放信号量,信号量加1。当信号量>=","dispatch_semaphore_t","dispatch_semaphore_wait()","dispatch_semaphore_wait():等待信号量,信号量减1。当信号量时会阻塞当前线程,根据传入的等待时间决定接下来的操作——如果永久等待将等到信号(signal)才执行下去","dispatch_sourc","dispatch_source_cr","dispatch_source_create(dispatch_source_type_timer,","dispatch_source_create:","dispatch_source_get_data","dispatch_source_get_data:","dispatch_source_merge_data","dispatch_source_merge_data:","dispatch_source_set_event_handl","dispatch_source_set_event_handler(_timer,","dispatch_source_set_event_handler:","dispatch_source_set_timer(_timer,","dispatch_source_t","dispatch_source是一种基本的数据类型,可以用来监听一些底层的系统事件","dispatch_suspend","dispatch_suspend:","dispatch_sync","dispatch_sync()","dispatch_sync(concurrent_queue,^{","dispatch_sync(concurrent_queue,^{//任务});","dispatch_sync(global_queue,^{","dispatch_sync(queue,","dispatch_sync(serial_queue,^{//任务});","dispatch_sync(serialqueue,^{","dispatch_sync(队列,任务)","dispatch_sync,都会在当前线程上执行该任务,而不继续走下去,直到任务执行完成","dispatch_time(dispatch_time_now,","dispatch_time_forever);","dispatch_time_now);","dispatch_time_now,","dispatch_time_t","dispatch,它是纯","dispaylay","dispaylayer:]","display]","display],而这个方法会判断是否实现了displaylayer这个方法,如果没有实现,那么走系统调用,如果实现了就为我们提供了异步绘制的入口。具体可以参看下面的流程图","display];","display],如果","displaylink","displaysasynchronously;","display(绘制","display(绘制),源头是","display,drawrect","dispose函数","dispose函数内部会调用_block_object_dispose函数","distanc","distinguish","distribut","dladdr()","dlclose()","dlopen()","dlopen()、dlsym()、dladdr()、all_image_infos。","dlrelease,它可能并不会真的关闭","dlsym()","dm_","dm_dynamicbackgroundcolor,","dm_dynamictintcolor","dm_dynamictintcolor:","dm_original_setbackgroundcolor","dm_original_setbackgroundcolor(self,","dm_setbackgroundcolor(uiview","dm_settintcolor(_","dm_settintcolor(color)","dm_updatedynamiccolor","dm_updatedynamiccolors()","dm_updatedynamicimag","dm_updatedynamicimages()","dm_willmove(towindow","dm_willmove(towindow:","dmdynamiccolor","dmdynamiccolorproxi","dmdynamiccolorproxy。","dmdynamiccolorproxy)赋值给","dmdynamicimageproxi","dmdynamicimageproxy。","dmdynamicimageproxy,由","dmnamespac","dmnamespace,","dmtraitcollectiondidchang","dmuserinterfacestyledark)","dn","dns造成的域名劫持问题和调度不精准问题。","dns,能够避免local","do","doc.","document","document.onload","document.onload事件也提前,2357","documentation,","doesnotrecognizeselector\",","dog:","doimageinit(context);","doiniti","domain","domodinitfunct","domodinitfunctions(context);","domodinitfunctions函数,内部会调用全局c++对象的构造函数,即","don't","done","done.","done:","done;","done分析:","don’t","dos/ddo","dosomething];","doubl","double)","down","download","downloaddata","downloadeddata:(nul","downloadeddata:downloadeddata","downloadedimage:(nul","downloadedimage:downloadedimag","downloadimagewithurl:url","downloadoperationcanceltoken","draw","drawincontext:]方法,进而调用[uiview","drawincontext中绘制的东西放入到纹理的位图数据中。","drawincontext方法时,cor","drawlayer:incontext:","drawrect","drawrect:]方法。","drawrect:方法),需要分配一个内存占用较高的上下文context,与此同时,calay","drawrect];","drawrect方法内为何第一行代码总要获取图形的上下文?","drawrect)","drawrect,此时打开","dsym","dtor","dtor);","duplicate()","duplicate),单独一个","dure","dyld","dyld2","dyld2的过程是:加载dyld到app进程,加载动态库(包括所依赖的所有动态库),rebase,bind,初始化object","dyld3","dyld3.0。dyld(动态连接器)的更新对","dyld3::scopedtim","dyld3。","dyld3的out","dyld3,dyld3","dyld3,官方数据","dyld3,官方数据[3]显示,过去四年新发布的设备中有","dyld::_main","dyld::_main()","dyld::_main(appsmachheader,","dyld::registerobjcnotifiers(mapped,","dyld::throwf(\"malform","dyld_image_info","dyld_image_st","dyld_image_state_dependents_initialized;","dyld_image_state_initialized)","dyld_image_state_initialized;","dyld_initializer_support","dyld_insert_librari","dyld_print_env,","dyld_print_opt","dyld_register_image_state_change_handler(dyld_image_state_bound,1/*batch*/,","dyld_register_image_state_change_handler(dyld_image_state_dependents_initialized,","dyldbootstrap","dyldbootstrap::start","dyldbootstrap::start()","dyldsmachheader,","dyld。","dyld。dyld","dyld将应用进程加载到内存中时","dyld,dyld","dyld,即处理由","dyld,把入口地址设为_dyld_start","dylib","dylib。并且,苹果的平台有一些防止","dynam","dynamically动态库文件、mach","dynamiccolor","dynamiccolor?","dynamictintcolorkey","d开头的,指的是预编译宏,通过这些宏可以实现条件编译","e","e)","e776f56b3e60","e;","e;}","e_view","each","eba0","ececut","ed3de6492ad1@3x.ktx","editor","elf","else:","emb","empti","empty()","empty_pool_placehold","empty_pool_placeholder)","empty_pool_placeholder);","encryptcmd","encryptcmd)","encryption_info_command**","end","end()","end();","end_entri","endian","ensur","entitlements:","entrant","entri","entry(即将进入loop),其回调内会调用","entry);","entry,","entry.cat","entry.hi","entry.hi);","enum","enumerateobjectsusingblock:^(yytransact","environ_init();","environment\"","environment—a","envp","envp,","envp;","envp[],","epluspan4phone,目录如下","equal","equal\")","error","error);","error,","error.","error.cod","error:(nserror","error:(nul","error:error","error:error];","errorforexception:exception];","error,callcompletionblock","es","es)","es)来生成","essenti","establish","es交互","es作为cor","es做gpu渲染,coregraphics做cpu渲染,但在本文中,以及官方文档都是将opengl与gpu分开说明。","es和gpu组成。","es坐标是以浮点数来存储,即使是其他数据类型的顶点数据也会被转化成浮点型;","es处理完毕的渲染指令;","es层和uiview层、statusbar层等,在后帧缓存混合产生最终的颜色,并切换前后帧缓存;","es应用开发实践指南:ios卷》,因为篇幅过长,就不赘述opengl的原理。","es是对图层进行取色,采样,生成纹理,绑定数据,生成前后帧缓存。","es渲染职能","es纹理,并确保在这个图层中的位图被上传到对应的纹理中。当你重写","es进行纹理生成和着色。生成前后帧缓存,再根据显示硬件的刷新频率,一般以设备的vsync信号和cadisplaylink为标准,进行前后帧缓存的切换。","es阶段","es,现在慢慢转到了","etc.","event(如果有)并在此前通知","event先告诉source1(mach_port),source1唤醒runloop,","event,其","event,随后用","everyth","example,","example:","example:00000001030bcd20","example:00000001030cec80","exception\",","exception\\nerror","exception_init();","exchang","exclusion,缩写mutex)防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒","execut","execv","exist","exit","exit(即将退出loop)","exo","expens","explor","export","ext","extens","extension(扩展)","extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随之一起消亡。extension一般用来隐藏类的私有信息,你必须有一个类的源码才能为一个类添加extension,所以你无法为系统的类比如nsstring添加extension。","extern","extra","extra_rc","extra_rc:当表示该对象的引⽤计数值,实际上是引⽤计数值减","extrabytes){","extrabytes,","eznmxzawtlhpmadnbyhafnpqpizo/build/intermediates/epluspan4phone.build/debug","f","f.close()","f.write(","f.write(\"\\n\")","f.write(unref_symble+\"\\n\")","f8c4a62eafbc/library/splashboard/snapshots/baidu.testlaunchscreen","facad","facaded.","facebook","fact","failabl","failed\\nerror","failedurl","failedurlslock;","failedurls。","failedurls:","fals","false,","false/*checknil*/)","false/*checknil*/,","false;","far","fasm","fast","fast)","fast_","fast_data_mask","fast_data_mask);","fast_has_default_rr","fast_is_swift","fast_requires_raw_isa","fastbot:行进中的智能","fastcacheoccupi","fastpath(x)","fat","fatal","fatalerror(\"init(coder:)","father","father,然后从这个","fault","fault。","fault造成时间的损耗","fault),分配物理内存,有需要的话会从磁盘","fault),因此阻塞进程。此时就需要先加载数据到物理内存,然后再继续访问。这个对性能是有一定影响的。","fault,将指令从磁盘加载到物理内存中并进行验签操作(app","featur","fetch","fetch_cache(no);","fetch_cache(yes);","fetching,","fhasinitializers);","field","file","file(.o)顺序写文件,按照","file:","filehandleforreadingatpath:self.unititem.absolutepath];","filehandleforwritingatpath:self.unititem.absolutepath];","filepath","filepathwithurl:self.request.url","files:","filet","filetype;","file,我们可以窥探二进制文件中布局。","fill。","fill,是因为全局变量的初始值往往都是","filter_super_class(unref_symbols):","fin","fin_wait1","find","finder","finish","finished\",","finished)","finished);","finished,","finished:(bool)finish","finished:finish","finished。执行","finishtransaction:transcation];","first","firstsubclass;","firstunus","firstunused;","fishhook","fixm","fixup","fixup,包括","fixup:bind","flag","flag1\");","flags;","flags=0)","flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的","flags,这些","float)的简单指针。可以在.h","fluentdarkmodekit","fluentdarkmodekit的代理","flush_caches)","flushcaches(cls);","fmessag","fobjc","follow","for(int","for(unsign","for:","for?","forget)”的原则。","forked:(nsstr","forkey:(nsstring*)key{","forkey:(nul","forkey:key];","forkey:validoperationkey];","forkeypath:@\"name\"","forkeypath:@\"name\"];","forkeypath:@\"person.number\")","forkey用于简单路径,forkeypath用于复合路径(比如key是对象,可以直接赋值给这个对象的属性.eg:setvalue:@100","form","format","format\";","formatedlogobject:stringwithformat1];","formerli","formode:nsdefaultrunloopmode];","forward","forwardingtargetforselector","forwardingtargetforselector:aselector];","forwardingtargetforselector:方法,将协议方法的","forwardingtargetforselector:用于将","forwardingtargetforselector:的使用逻辑非常简单,应用场景包括:","forwardingtargetforselector:阶段完成更省事儿;如果需要更高阶的玩法,或许真的只有","forwardingtargetforselector:,可以通过组合的方式,模拟出多继承的某些特性。","forwardinvoc","forwardinvocation:aninvocation];","forwardinvocation:就不同了,在它身上可以动的手脚比较多,不光可以修改","forwardinvocation:方法,用户可以在此过程中修改","forwardinvocation:的代价比较大一些,毕竟还会触发","forwardinvocation:的入参。","forwardinvocation:能满足需求。","forwardinvocation:要和","for循环","for循环在block内部对同一个对象进行了多次锁操作,直到这个资源身上挂着n把锁,最后大家都无法一次性解锁——找不到解锁的出口","for循环才会,runloop才会进行休眠,如果说是按照系统的autoreleasepool来说,应该是休眠前才释放,但是,文中demo内存并没有显示出循环中内存暴涨,这也说明了,手动autorelesepool","for循环遍历链表,如果有符合的就goto","found","found,","found;","found?","foundat","foundation.framework,afnetworking.framework,alipay.fframework","foundation.framework,afnetworking.framework…","foundation:","foundation下载到源码来一探究竟","foundation框架下关于runloop的5个类:","fp","fp;","fps),也就是减小","frame","frame)","frame/bounds/transform)等实际上都是","framewithnosav","framework","framework,例如","framework,运行脚本来链接三方库的静态","framework,需要注意资源读取的问题。因为传统的资源读取方式无法定位到","frame、修改","framing),我们重新回顾一下粘包问题出现的核心原因:","free","free(mlists);","free(proplists);","free(protolists);","free,不走引用计数那一套逻辑,由系统来处理释放","frombundl","frombundle);","fsck","fsegmentsarraycount","fstate","fstate;","fuckingclangwarn","full","full()","full.","func","function","function.","futur","fxperson","fxperson,实例对象isa指向","f开头的,指定了采用arc等信息。这个也就是为什么你可以对单独的一个.m文件采用非arc编程。","gcd","gcdtimer如果存在循环引用,使用weak+strong或者提前调用dispatch_source_cancel取消tim","gcdtimer没有repeat,需要封装来增加标志位控制","gcdtimer需要强持有,否则出了作用域立即释放,也就没有了事件回调","gcdtimer默认是挂起状态,需要手动激活","gcd仅仅支持fifo队列,不支持异步操作之间的依赖关系设置。而nsoperation中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整","gcd优点:gcd主要与block结合使用。","gcd全称是grand","gcd实现简单线程同步,包括子线程分派,实现多读单写情景,nsoperation方便任务状态控制,添加依赖移除依赖,nsthread多用于常用线程","gcd是底层的c语言构成的api,而nsoperationqueue及相关对象是objc的对象。在gcd中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而operation作为一个对象,为我们提供了更多的选择;","gcd更接近底层,gcd在追求性能的底层操作来说,是速度最快的","gcd的两个核心概念是:任务和队列.","gcd的优势:","gem","gener","geometr","gestur","gesturerecognizer:shouldberequiredtofailbygesturerecognizer:","gesturerecognizer:shouldreceivepress:","gesturerecognizershouldbegin:","getbit(uintptr_t","getgoodslist];","gethostinfo","getisa()","getisa();","getproductinfo:nil];","getrendered:viewcontrollerclass];","getter","getter=isrunning)","getter。","getter方法亦是如此:atomic修饰的属性进行加锁处理","get类似","git","git:","git://","git?","github","github.com","gitlab","git、svn","git,代码提交的","given","gl","glinkcontext);","glinkcontext.bindflat","glinkcontext.linkingmainexecut","glinkcontext.prebindusag","global","go","good","good,","goodmodelprotocol,","goods.name;","goods.price;","goods;","goods_getgoodslist];","goodsbyid:goodsid];","goodsmodul","goodsmoduleservic","googl","goto","gpu","gpu。","gpu。除此以外,有时候也会遇到","gpu会根据生成的前后帧缓存数据,根据实际情况进行合成,其中造成gpu渲染负担的一般是:离屏渲染,图层混合,延迟加载。","gpu工作内容:","gpu执行绘制指令","gpu渲染职能","gpu用来采集图片和形状,运行变换,应用文理和混合,最终把它们输送到屏幕上。","gpu能处理的最大纹理是4096","gpu阶段","gpu:","graphic","graphics中,都需要对它解压,这样的话,对于一个较大的图片,都会占用一定的时间。","graphics会将你在","graphics写入图层","graphics绘制","graphics绘制就会变得十分缓慢,所以在一个对性能十分挑剔的场景下这样做十分不好。","graphics)","green","grep","group","group,","group}","group}/1ffd332b","group}/96920d11","group}/98f7b5b1","group}/d9d48845","group}/。","group};","group:需要等待的调度组","gseventreceiverunloopmode:","guard","guid","guide中有一段底层实现原理的叙述","guide是这么描述context的","guy","h5","half","handl","handle_msg;","handler","handleurl:kroutegoodslist];","handleurl:urlstr","handleurl:urlstr];","handshake),客户端或服务器均可主动发起挥手动作。","handshake)其实就是指建立一个tcp连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立tcp连接,并同步连接双方的序列号和确认号,交换tcp窗口大小信息。","happen","hard","hardcod","hardcode,","hardcode.","has_assoc","has_assoc:关联对象标志位,0没有,1存在。","has_cxx_dtor","has_cxx_dtor:该对象是否有","has_sidetable_rc","has_sidetable_rc。","has_sidetable_rc:当对象引⽤技术⼤于","hascustomawz","hascustomawz()","hascustomrr","hascxxctor","hascxxctor)","hascxxdtor","hascxxdtor);","hascxxtor()和hascxxdtor","hasdefaultawz()","hasdefaultawz()的方法实现如下:","hasdefaultrr()","hash","hash。这里将","hash算法","hasiniti","hasmsg","hate","haveemptypoolplaceholder()","havenew:","havenew:weak指针是否需要指向一个新引用","haveold:","haveold:weak指针之前是否已经指向了一个弱引用","hdibjeafcg","head","head)","header","headers:request.allheaderfields];","headers,分析依赖的动态库,查找需要rebas","height","height);","height值是我们在外部重新为其赋的20。","held","here.","here...","hidden","hidjebfgca","hierarchy)的layout状态等;","high","hit","hittest","hittest:insidepoint","hittest:point","hittest:withevent:","hittest:withevent:和pointinside:withevent:方法寻找出操作初始点所在视图。查找最合适的view的过程是一个递归的过程。","hittest:withevent:方法内部会通过调用这个方法,来判断点击区域是否在视图上,是则返回yes,不是则返回no。","hittest:来判断是否一个触点在图层的范围之内。","hittestview:%@\",view);","hittestview:(null)","hittestview:>","hitview;","hiwat(par","hiwat;","hold","hook","hot","hotpag","hotpage());","hotpage();","hotpage();获取。","http","http://iphonedevwiki.net/index.php/dyld_shared_cach","http://lists.llvm.org/pipermail/llvm","http://sns.whalecloud.com/sina2/callback","http://www.ichenfei.com/2019/05/02/%e4%ba%8c%e5%8f%89%e6%a0%91%e7%9a%84%e5%89%8d%e4%b8%ad%e5%90%8e%e5%ba%8f%e9%81%8d%e5%8e%86%e7%9a%84%e9%9d%9e%e9%80%92%e5%bd%92%e5%ae%9e%e7%8e%b0(python)/","httpconnect","httpdn","httpdns使用http协议进行域名解析,代替现有基于udp的dns协议,域名解析请求直接发送到阿里云的httpdns服务器,从而绕过运营商的loc","httpdns是一款递归dns服务,与权威dns不同,httpdns并不具备决定解析结果的能力,而是主要负责解析过程的实现。","httpdns是通过ip直接请求http获取服务器a记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟。httpdns和localdns最大的区别在与:前者使用http协议进行域名解析;后者协议运行在udp协议之上,使用端口号53。","httpdns深度解析","httprespons","https://developer.apple.com/support/app","https://draveness.me/whi","https://juejin.cn/post/6844904079957688328","https://juejin.im/post/5a3b14f36fb9a045104aa6c8","https://juejin.im/post/5c87a218f265da2dd868cfcd","https://juejin.im/post/5d4136295188255d5861d0e4","https://juejin.im/post/5dd24e3ff265da0bbc3067a","https://medium.com/@jasonyuh/%e5%85%b3%e4%ba%8e%e7%a6%bb%e5%b1%8f%e6%b8%b2%e6%9f%93%e7%9a%84%e6%b7%b1%e5%85%a5%e7%a0%94%e7%a9%b6","https://mp.weixin.qq.com/s/32w4orjwvrkkxwsczjkxga","https://stackoverflow.com/questions/42677534/swizzl","https://www.jianshu.com/p/0a4e5b944d7d","https://www.objc.io/issues/5","https协议:点外卖的过程原来这么复杂","https和http的区别主要如下:","https是安全的http.","https的验证流程","https运行流程","https都是用了哪些加密手段?","http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了ssl(secur","hysteresis:","h、ecc等。在客户端与服务器相互验证的过程中用的就是非对称加密算法","h右子树为空,则返回至d,此时第二次到达d,故输出d;","h右子树为空,则返回至h,此时第三次到达h,故输出h;","i++)","i.","i/o创建cgimageref内存映射数据。此时,图像尚未解码。","i/o详解的文章","i;","i=0;","i=0时有可能先打印,也可能会先发出wait信号量","i=1时有可能先打印,也可能会先发出wait信号量","i=1,则该结点是二叉树的根,无双亲,","iap","iap,交易是一样的。但是验证交易这一环需要移动端来驱动我们自己的服务器来进行查询,这是第一个坑,先记一笔。另外一点,iap","iap,同时也会对比支付宝和微信支付,从而引出","iap,苹果不是和你商量,而是强制要求,爸爸说怎么样,就怎么样。当然,这篇文章解决不了这个问题,所以也只是说说而已。上面说了微信公众号的事情,虽然它不是","iar","icon","icon,会将这个程序启动。","id","id)(image.cgimage);","id)addhandlersforprogress:(nul","id)handleurl:(nonnul","id)oper","id.","id2data(id","id2data(obj,","id2data先将返回对象syncdata类型的result准备好,后续进行数据填充","id_objc_rootalloc(class","id_objc_rootinit(id","identifier\"","id,默认值为当前","if([key","if(self)","if(t==null)","if(vc)","ignor","ii.","iii.","im","imag","image,","image:","image;),图像数据会被解码,变成rgb的颜色数据。","imageasset","imagecache;","imagecontext","imagecontext)。","imagedata","imagedata,","imagedata:(nul","imagedata:nil","imagedata。","imageload","imageloader*","imageloader::kusenoprebinding;","imageloader::rpathchain(null,","imageloader;","imageloadermacho","imageloadermacho*","imageloadermacho::doinitialization(const","imageloadermacho::instantiatemainexecutable(mh,","imageloadermacho::sniffloadcommands(const","imagemanager:self","imagenam","imagenamed:","imagenamed:@\"icon_name\"","imageref","imagerefresh","imageurl)","imageurl);","imageurl,","imageurl:url];","imagewithcontentsoffile:","imagewithcontentsoffile:]使用imag","imagewithdata:","imagewithlightimage:(uiimag","image、data","image。","image,包括可执行文件、动态库等,imageload","immutable对象","imp","imp;","impl.flag","impl.funcptr","impl.isa","impl;","implement","implementation.","implemented\")","implement),用于实现这几个方法,然后","implicit","import","imp代表函数的具体实现,存储的内容是函数地址。也就是说当找到imp的时候就可以找到函数实现,进而对函数进行调用。","imp,此时会进入一个for循环,沿着类的父类一直往上找,直接找到","in","inbundle:bundl","incache,","includ","incontext:(cgcontextref)ctx;方法进行绘制。但通常我们会使用uiview的drawrect方法","incontext:(cgcontextref)ctx方法,否则调用","incorrectli","increas","increase];","increase方法是使用","independ","index","index)","index,","indexforpoint","indexforpointer(const","indexpath","indicator。调用","info","info.plist","infocount,","infodictionary]","infolist[])","infoplist","infoq","infrastructure,pki)的核心。ca是负责签发证书、认证证书、管理已颁发证书的机关。","init","init'","init()","init(_","init(_:light:dark:)","init(age:","init(condition:","init(frame:","init(name:","init,","init;","init?(coder:","init?(name:","init]","init])","init];","init]时,","init]的时候,调用了那些方法","initi","initialize\");","initialize,","initialize]","initialize],","initializemainexecut","initializemainexecutable();","initializer.","initializers)","initializers),表示在某些情况下会创建实例失败。","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在","initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在+load","initializer,做一些最基本的初始化:","initializer:","initialize实现原理","initialize方法,所以调用父类的initialize,","initialize,加载","initialize,加载or调用的时候,都会先调用父类对应的","initialize,因为是mnteacher的调用,所以会先让父类mnperson","initialize:","initwithcoder:方法实现序列化,打开","initwithconnection:self","initwithframe:","initwithframe:cgrectoffset(full,","initwithframe:fram","initwithframe:frame])","initwithframe:,导致父类nsobject的指定初始化器","initwithkeyoptions:nspointerfunctionsstrongmemori","initwithlightcolor:[self.lightcolor","initwithlightcolor:lightcolor","initwithlightcolor:self.lightcolor","initwithpath:path","initwithproductidentifiers:identifiers];","initwithrequest:request];","initwithrootviewcontroller:[uiviewcontrol","initwithsources:sourc","initwithtarget:self","initwithurl:url","init退化成便利初始化器。所以当调用[[uiview","init里面必然调用了","inlin","inline_referr","inline_referrers[1]","inline_referrers[i])","inline_referrers[weak_inline_count];","inline。","inordertraversal(self,","inordertraverse(bitre","inordertraverse(t","input","insert","insertobject:category_method","insertunititem:self.unititem];","insid","insidepoint","inst)","inst),","inst);","inst,","installing,保证只有我们在安装到设备上的时候,才会执行这段脚本。重命名脚本的名字为","instanc","instance_s","instancemethodsignatureforselector:@selector(sendmessage)];","instances","instancesize;","instancesrespondtoselector:等来确定对象是否可以对某个sel做出响应,而在oc消息转发机制被触发之前,对应的类","instancestart;","instancetype)initwithcoder:(nscod","instance的信息由class所有;","instanti","instantiatefromloadedimage(const","instantiatefromloadedimage(mainexecutablemh,","instantiatemainexecut","instead.\");","instrument","int","int(^block)(int)","int)","int*","int,","int.","int32_t","int:","int[]","int[]{2,","interfac","intermedi","intern","interview","interview03","into)","intptr_t","introduct","invalidateinstrinsiccontentsize方法自动设置)。如果它认为这些约束需要被更新,它会立即触发","invoc","invok","invoke];","invokewithtarget:[bobject","invokewithtarget:self.resolvedcolor];","in。","in。假如我们把方法","in,runloop","in,从而提升启动速度。","in,从而提升启动速度。链接器","in,其实也比较容易理解,因为启动的会读写二进制中的很多内容。pag","in,影响","in,把对应的文件内容读入物理内存。","io","iohidev","iokit.framework","iokit将触摸事件封装成一个iohidevent对象,并通过mach","ioqueu","ios(2.0),","ios/android","ios10","ios10.0","ios12之前打印指针的值能很清晰的看到数据等信息,ios12之后系统则打印的完全看不懂了,看了源代码发现苹果是做了混淆,让我们不能直接得到值,从而避免我们去很容易就伪造出一个tag","ios12之后输出:","ios13.0","ios7","ios7/ios7","ios9.x","ios9后,","ios:关于sup","ioscodelearning[18165:5967575]","ioscodelearning[34431:7234182]","ios中__block","ios中kvo分为自动监听和手动触发两种形式","ios中runloop的api","ios中,使用","ios事件响应链中hit","ios事件处理,看我就够了~","ios只会当视图控制器的视图显示到屏幕上时才会加载它。这对内存使用和程序启动时间很有好处,但是当呈现到屏幕上之前,按下按钮导致的许多工作都会不能被及时响应。比如控制器从数据库中获取数据,或者视图","ios启动优化《原理篇》","ios启动图异常修复方案","ios图片加载速度极限优化—fastimagecache解析","ios底层探索:isa结构分析","ios底层探索:结构体内存对齐","ios性能优化系列篇之“列表流畅度优化”","ios技术总结","ios探索","ios渲染视图的核心是cor","ios界面渲染流程分析","ios的","ios系统为我们提供的几钟多线程技术各自的特点是怎样的","ios系统当中主要提供3种,gcd、nsoperation&nsoperationqueue、nsthread,一般使用","ios结构体内存对齐","ios触摸事件全家桶","ios,android,weex/rn);","ios,tvos,watcho","io,把数据读入物理内存","ip","ipa","ipad","ipa,重命名为.","ipc","ipc内部通信(进程间通信)","ipc通信","iphon","iphone4","iphoneo","iphoneos/.build/","iphonesimulator/epluspan4phone.build","iphonesimulator10.1.sdk","iphone时这个值为8","ip列表更换方便。","ip直连方案有下面几大优势:","iquot","ir","ir(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。c","ir)、优化器(优化","ir)、后端(生成汇编","ir,ir","ir:到这里","isa","isa()","isa();","isa,","isa.h","isa;","isa_bitfield;","isa_t","isa_t()","isa_t(uintptr_t","isa_t、cls、","isa。(isa","isa指针","isa指针保存着指向类对象的内存地址,类对象全局只有一个,因此每个类创建出来的对象都会默认有一个isa属性,保存类对象的地址,也就是class,通过class就可以查询到这个对象的属性和方法,协议等;","isa指针是什么?","isa是什么","isa本质是一个isa_t的类型,那isa_t是一个联合体位域结构","isa,所以,我们得到的结果是:son。","isa,指向类对象的,这就是为什么可以对","iscancelled()","iscancelled);","iscompatiblemacho","iscompatiblemacho((const","isequaltostring:@\"age\"]){","isequaltostring:@\"name\"])","isequaltostring:sdwebimageerrordomain]","isfinished==y","isinsid","isinside:%d\",isinside);","isinside:0","isinside:1","isinside;","iskey","iskindofclass","iskindofclass:[dmdynamiccolor","iskindofclass:[ktvhcdatafilesourc","iskindofclass:[nsobject","iskindofclass:[sark","iskindofclass:[uiviewcontrol","iskindofclass:aclass];","iskindofclass,第一次","iskindofclass,第一次判断先判断","ismemberofclass","ismemberofclass:[nsobject","ismemberofclass:[sark","ismeta","isn","isn(c)。此时客户端处于","isn(initi","isn(s)。同时会把客户端的","issu","isswift()","isysroot","it++)","it=sallimages.begin();","item","item.length","item.offset","item.offset;","itemmax","itemmin","itemmin)","itself","itun","ivar","ivar)","ivar_list_t","ivar_offset);","ivar_t","ivarlayout;","ivars;","ivar,然后调用","i为叶子结点,则返回到d,d左右子树已经访问完毕,则返回到b,进而到b右子树,第一次到达e,故输出e;","j","january/129268.html","javascript,python","job.","journey","jpeg/png","js","json","json,","juejin.cn","jump()","kcfrunloopbeforewait","kcfrunloopbeforewaiting);","kcfrunloopcommonmodes);","kcfrunloopcommonmodes:","kcfrunloopdefaultmode:","kcfrunloopentri","kcfrunloopexit","kcfrunloopexit,","keep","keepalivetim","keepalivetime参数的时间单位","key","key)","key,","keys,","keywindow遍历subviews的hittest:withevent:方法,找到点击区域内合适的视图来处理事件。","key。可以说,","key和runloop","key)并用公钥加密,让服务端用私钥解密,解密后就用这个对称密钥进行传输了,并且能够说明服务端确实是私钥的持有者。","key,做成了一个弱引用散列。","key,所有指向它的弱引用指针数组作为","key:关联对象的key,一般传入一个常量的地址作为唯一标识","key:关联对象的key,传入设置时候传入的key","knilpthreadt))","know","known","ktvhcdatafilesource的readdataoflength实现比较明显,就是单纯从文件里读取数据。","ktvhcdatanetworksourc","ktvhcdataread","ktvhcdatarequest","ktvhcdatasourcemanag","ktvhcdataunit","ktvhchttpconnect","ktvhchttprespons","ktvhclogdatanetworksource(@\"%p,","ktvhclogdatareader(@\"%p,","ktvhclogdatasourcemanager(@\"%p,","ktvhcloghttpconnection(@\"%p,","ktvhcloghttpresponse(@\"%p,","ktvhcmakerange(offset,","ktvhcrang","ktvhcrangegetlength(obj.readrange);","ktvhttpcach","ktvhttpcache的使用比较简单:","ktx。","kvc","kvc原理及自定义中有提到自动生成的setter方法会根据修饰符不同调用不同方法,最后统一调用reallysetproperty方法,其中就有一段关于atomic修饰词的代码","kvo","kvo使用三部曲:","kvo使用及注意点","kvo初探","kvo原理——isa","kvo原理及自定义","kvo对被监听对象无侵入性,不需要修改其内部代码即可实现监听","kvo是使用isa","kvo是基于runtime机制实现的","kvo的这套实现机制中苹果还偷偷重写了class方法,让我们误认为还是使用的当前类,从而达到隐藏生成的派生类","kvo(key","l","l:","l=none,","landscap","lang=en_us.u","languages,","last_ack","launch","launched】,接着运行工程,在控制台应用中搜索","launchiamge。","launchscreen.storyboard","layer","layer.cont","layer依次画好,","layer树的变化","layer)协议用于对http协议传输的数据进行加密","layer)必须是静态的,因为一旦发生变化(如","layer)都还没有被组合到一起,怎么可能在第一步就画出只有完成最后一步之后才能知道的形状呢?这样一来又只能另外申请一块内存,把本体内容都先画好,再根据渲染结果的形状,添加阴影到","layer,rend","layer,以及圆角、阴影、group","layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改","layouifneeded]","layout","layoutifneed","layoutifneeded()","layoutifneeded,以确保在动画开始之前传播所有的布局更新。在","layoutifneeded,则布局和重绘会立即发生并在函数返回之前完成(除非有正在运行中的动画)。这个方法在你需要依赖新布局,无法等到下一次","layoutifneeded,并且两次之间没有更新视图,第二个调用同样不会触发","layoutsublayers];","layoutsublayers],这时候","layoutsubview","layoutsubviews()","layoutsubviews];","layoutsubview。如果你在同一个","layout”","layout(ui布局,文本计算)","layout(布局),源头是","layout,viewdidload","lazi","lc_dyld_info_onyl","lc_load_dylib","lc_load_dylinker,找到","ld","ldr","leak","leaks\"","leav","leetcod","left","len","len(filter_prefix)","len(lst):","len(nums)","len(reserved_prefix)","len(subclass_name)","len(superclass_name)","len(unref_symbles))","length","length=0","leopard","lessthanhalffull()","level","lexttag","lexttag:","lgetisadon","lgetisadone:","lgstruct1","lgstruct1、lgstruct2两个结构体拥有的变量数量跟类型都大同小异,到底是什么原因导致两个结构体在内存大小的表现上会有截然不同的结果?lgstruct3的内存大小又是如何计算出来的?","lgstruct2","lgstruct3","lib","libcount","libcount,","libdispatch","libdispatch_init","libobjc","librari","library/splashboard/snapshots/","library,是因为链接的过程中只需要符号就可以了,所以","libsystem","libsystem)","libsysteminiti","libsystem,因为他是所有依赖的源头。","lifecycl","lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。","lifetime),它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为tcp报文段以ip数据报在网络内传输,而ip数据报则有限制其生存时间的ttl字段。","light:","lightcolor","lightcolor;","lightimag","lilo","limit)","limit:","line","line[0:4][::","line[0])","line[16:].strip().split('","line[2])","line[8:12][::","lines:","link","link(smainexecutable,","linkcontext&","linkedit_data_command**","linkedit,启动","linkedit,找到","linker","linker动态链接器文件、mach","linkmap","linkmap,这样在生成的","link。","linu","linux","linux/unix","lion10.7","list","list()","list))","list.","list2tn(lst,","list[0];","list[int]","list[int])","list[int]:","list_array_tt","list_for_obj(obj)","list_point","list_pointers.union(pointers)","listen","list的方法还保存了除了selector和imp之外其他很多属性","liter","littl","liveapi]","lldb","llvm","llvm.","llvm。","lnilortag","lnilortagged:","load","load\");","load(分类2)","load(分类3)","load(分类4)","load.h","load:","load];","load]啊,这个就是","load],父类就会收到调用。","load_imag","load_images(enum","load_images,","load_images.","load_images_nolock","load_images里面执行call_load_methods函数,循环调用所用类以及分类的load方法。","loaddyldcach","loader","loaderoperation。在新建任务前,如有取到","loadexclusive(&isa.bits);","loadimagewithurl:","loadimagewithurl:url","loadinserteddylib(*lib);","loadmethodlock.assertlocked();","loadview()","load只会加载一次吗,而且他还不走","load可能其实有点奇怪,不是说","load实现原理","load方法调用机制解析","load里了!","local","locat","location);","location,","location:表示__weak指针的地址(我们研究的就是__weak指针指向的内容怎么置为nil)","lock","lock()","lock(befor","lock(before:","lock(fork_unsafe_lock)","lock(whencondit","lock(whencondition:","lock).","lock,","lock.","lock;","lock];","lock_for_obj(obj)","lock_init();","lockcount","lockcount++;","lockcount;","lockcount表示被锁的次数,意味着能多次进入,从侧面表现出了递归性","lockp","lock,其加减锁的时机是在加入缓存的时候实现的,线程缓存找不到任何内容时,会加一个自旋锁。但是","log","logger","logger;","logger;//不会产生静态初始化","logout","log,可以发现","long","long)data.length);","long)data.length,","long,","look","lookupimporforward","lookupimporforward会返回一个imp,它的函数实现比较长,但是注释写的非常清楚。它的实现主要由以下几步(这里直接从缓存获取开始):","lookupimpornil(cls,","loop","loop;","loopslock,","loop)可以在大部分的架构上很有效率地达成。","low","low;","lowest","lreturnzero","lreturnzero:","lru","lsb","lsl","lst:","lst[i]","lvvm","m","mac","mac(messag","mach","mach_absolute_time();","mach_head","mach_header_64","mach_init();","mach_msg_trap","mach_port","mach_port_t","machine)","macho","macho_header*","machoview","mach内核编程","maco","magic","magic(),","magic;","magic_t","magic:⽤于调试器判断当前对象是真的对象还是没有初始化的空间。","main","main()","main(){","main()函数调用之前,其实是做了很多准备工作,主要是dyld这个动态链接器在负责,核心流程如下:","main(int","main(string[]","main.cpp","main.cpp,可以看到block的内捕获到的person指针如下","main.m","mainbundle]","maindispatchqueueport)","mainexecutablemh,","mainexecutableslide,","mainloop","mainloop);","mainqueue,block。在循环的合适时机,会以","mainrunloop];","mainrunloop];获得主线程的runloop对象","mainrunloop是一个60fps的回调,也就是说每16.7ms(vsync信号时间)会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawrect),这些cpu的工作。然后将这个缓冲区交给gpu渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。","mainscreen].bounds.size,","mainscreen].bounds;","mainscreen].scale);","mainscreen].scale;","main}","make","maketobound","malloc","malloc(cat","manag","manager;","mani","manifest.lock","manifest.lock)。","manifest.lock,用来检查","map","map2_imag","map_imag","map_images_nolock","mapcachepriv","mapcachesystemwid","mapped,","mapped;","mapsharedcach","map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:fil","mark","mark:","mask","mask;","mask_t","mask,去对比表中每个","mask,我们知道","mask:计数辅助量。","masonri","master","match","match.","matuschak","max","max)","max_hash_displac","max_hash_displacement;","max_hash_displacement:hash","max_queue_count","maximumpool","mcount","mcount);","mcount,","me?","mediat","mediator(goods)","mediator,","medium","memcpy(array()","memmove(array()","memori","memory:","memset((void*)pag","merg","messag","message\",","message)","message.","message=_msg)))","messageforward","messenger_end_nil","messenger_end_slow","messenger_start","meta","metaclass是单一职责和扩展性:","metal.","metal入门教程总结","metal入门教程(八)metal与opengl","metal可以发现,早在","metal渲染引擎","metal),显然","metaphor","mete","method","method,","method1","method1,","method2,","method3","method3.","method],运行时会将它翻译成objc_msgsend(id","method_array_t","method_imp","method_list_t","method_list_t,method_list_t里面最终存放的是method_t","method_nam","method_setimplementation(method,","method_t","method_t是一个方法的封装,里面包括了名称(sel),返回值,参数,与函数体(实现)","method_t结构体中可以看到三个成员变量,我们依次来看三个成员变量分别代表什么。","methodb];","methodizeclass","methodlist","methodlists、protocol","methods)","methods;","methodsignatureforselector:aselector];","methodsignatureforselector:sel];","methodsignatureforselector:的返回值不为空,就会进入","methodsignatureforselector:配套使用,后者为nsmethodsignature对象,该对象携带","methodsignatureforselector:,构建nsmethodsignature和nsinvocation实例。","methods、","methodtablelookup","methodwitharg,","methodwitharg:","methodwitharg:arg];","metrickit","metricskit","mgjrouter,","mh)","mh,","mid","min","min;","miss","mix","mlist;","mlists,","mlists[mcount++]","mlock;","mmap","mmap()","mmu","mndog","mnperson","mnperson+test.m","mnperson{","mnstudent","mnteacher","mode","model","mode的时候,就结束当前","mode,启动完成后就不再使用。","mode,没有实际作用。","mode,用于","mode,通常主线程是在这个","mode,通常用不到。","mode,那","modul","module.","moduleprotocol","moduleservi","moduleservic","moduleservice.h","moduleservice.h,","moduleservice。将对其它模块的接口的反射调用,放入各个模块的","modulesevic","module的接口","module远程调用good","monkey","more","more_categori","more_categories);","more_categories;","moron","mov","move","movi","mp.weixin.qq.com","mr,","ms","ms,","msb","msg","msg(_class_getnonmetaclass(cls,","msg)","msg_send()","msl是maximum","ms,相应的","ms,还需要进一步考虑","multi","multipli","multiplier;","multithread","mutablecopi","mutablecopy)","mutablecopywithzone:nil];","mutable对象","mutex","mutex)","mutex,","mutex;","mutex_tt","mutex_tt;","mutex即对象所关联的锁","mutex可以得出@synchronized是递归锁","mvc","mvc因其复用性,","mvc最早存在于桌面程序中的,","mvvm、mvp","myblock","myblock;","mybutton","mybutton;那么生成的实例变量就是_mybutton。","mybutton;那么生成的实例变量就是mybutton;如果没写@synthes","myobject.var","myth","myview","myview:","m是指业务数据,","n","n/a","n0表示度数为0的节点数,n2表示度数为2的节点数。","nagl","name","name)!","name,","name.isempti","name:","name:(nsstr","name:@\"daniels\"];","name:uiapplicationdidreceivememorywarningnotif","name;","namespac","name,简称","name;","nativ","natur","nav;","navig","navigationstart的性能,443","ncmds;","necessary.","need","needed.","needs:","needs=none):","needsaddedlibsystemdepency(*libcount,","negative)","neroxie的个人博客","netstat","never","new","new.h","new.mm文件中的_class_lookupmethodandloadcache3。该函数会调用lookupimporforward函数。","new.m中找到逻辑。","new]","new];","new]];","new_entry.inline_referrers[0]","new_entry.out_of_lin","new_entry.refer","new_entry;","new_valu","new_value);","newasyncdisplaytask];","newcount","newcount;","newest","newloop","newloop);","newloop;","newobj","newobj)","newobj:所引用的对象,即例子中的person","newrequestwithrange:range];","newtabl","newtable);","newvalu","newvalue)","newvalue);","newvalue,","newvalue;","next","next(begin()),","nextdata","nextdata;","nextdata指的是链表中下一个syncdata","nextresponder];","nextsiblingclass;","nextsource];","nextstep","nightmar","nil","nil)","nil);","nil){","nil.","nil;","nil。","nil或者重新创建source都会造成crash。正确的方式是在激活状态下调用dispatch_source_cancel(source)释放当前的sourc","nil,","nil,会自动创建。然后会将当前实例的类名作为","nil,因为","nil,无需取消注册","nil,没有强制要求额外为每个属性(成员变量)赋值,方便的同时也缺少了代码的安全性。","nit","nit.append(cur.right)","nit.append(root)","nm","nm:","nm命令可以得到地址和对应的类名字。","nn。将快指针","no);","no,","no,hittest","no,禁止用户操作的视图.","no/*initialize*/,","no/*resolver*/))","no/*resolver*/);","no2","no2.hidden","no2.rootviewcontrol","no2.windowlevel","no2;","no;","no;//","nocopy_t","node","node.right","nofram","non","nonatom","nonatomic,","none","none:","nonnull)","nonpoint","nonpointer_isa和散列表","nonpointer:表示是否对","nop","normal","normal/x86_64/ulwbigresponsebutton.o","normally.","noth","nothing;","notifybatchpartial(dyld_image_state_bound,","notifysingl","now","no。","no,则结束下载并调用","no,和在不在屏幕上没有关系","no,如果想要uiimageview响应交互事件,将属性设置为","no:直接进入","ns_assume_nonnull_begin","ns_assume_nonnull_end","ns_designated_initi","ns_designated_initializer;","ns_enforce_nsobject_designated_initi","ns_swift_name(dynamiccolor)","ns_swift_name(init(_:light:dark:))","ns_swift_name(init(_:light:dark:));","ns_swift_unavailable(\"us","nsarray","nsbundl","nscach","nsclassfromstring(@\"yzgoodsmanager\");","nscoder)","nsconcretemallocblock","nsconcretestackblock","nscondition()","nscondition:","nsconditionlock","nsconditionlock可以设置锁条件,而nscondition只是无脑的通知信号","nsconditionlock是nscondition加线程数的封装","nscondition和nsconditionlock是条件锁,当满足某一个条件时才能进行操作,和信号量dispatch_semaphore类似","nscondition是一个条件锁,可能平时用的不多,但与信号量相似:线程1需要等到条件1满足才会往下走,否则就会堵塞等待,直至条件满足","nscondition是对mutex和cond的一种封装(cond就是用于访问和操作特定类型数据的指针)","nscopi","nsdata","nsdictionari","nsdictionary*)complexparam","nsdistantobject)","nsec_per_sec));","nsec_per_sec);","nsec_per_sec,","nserror","nsexception)","nsglobalblock(也就是_nsconcreteglobalblock)","nsinteg","nsinvoc","nskeyvalueobservingoptionold)","nskvonorifying_a。","nskvonorifying_a类,同时将a的isa指针指向","nskvonotifying_fxperson","nslock","nslock、nsrecursivelock、nscondition和nsconditionlock底层都是对pthread_mutex的封装","nslock在afnetworking的afurlsessionmanager.m中有使用到","nslock是对互斥锁的简单封装,使用如下:","nslog","nslog((nsstr","nslog(@\"","nslog(@\"%@","nslog(@\"%@\",","nslog(@\"%@\",objc_getassociatedobject(person,","nslog(@\"%d","nslog(@\"%lu","nslog(@\"%p","nslog(@\"%p,%p\",","nslog(@\"0x%6lx","nslog(@\"1\");","nslog(@\"2\");","nslog(@\"3\");","nslog(@\"4\");","nslog(@\"5\");","nslog(@\"a_touchesbegan\");","nslog(@\"a_touchescancelled\");","nslog(@\"a_touchesended\");","nslog(@\"a_touchesmoved\");","nslog(@\"a_view","nslog(@\"ag","nslog(@\"a的值为%d\",a);","nslog(@\"b","nslog(@\"c","nslog(@\"dispatch_apply前\");","nslog(@\"dispatch_apply后\");","nslog(@\"dispatch_apply的线程%zu","nslog(@\"gcdtimer\");","nslog(@\"i","nslog(@\"io","nslog(@\"load","nslog(@\"mnperson","nslog(@\"mnstud","nslog(@\"mnteach","nslog(@\"releas","nslog(@\"test","nslog(@\"timeout=%ld\",","nslog(@\"value——%d\",","nslog(@\"主线程","nslog(@\"刷新页面\");","nslog(@\"加锁前\");","nslog(@\"加锁后\");","nslog(@\"延迟1s的任务2——%@\",","nslog(@\"延迟2s的任务1——%@\",","nslog(@\"开始——%@\",","nslog(@\"执行任务1\");","nslog(@\"执行任务2\");","nslog(@\"执行任务3\");","nslog(@\"按时完成任务\");","nslog(@\"栅栏结束——%@\",","nslog(@\"没有收据,","nslog(@\"没有正在出售的商品\");","nslog(@\"用户禁止应用内付费购买\");","nslog(@\"离开a_view","nslog(@\"第一次结束——%@\",","nslog(@\"第二次结束——%@\",","nslog(@\"请求一完成\");","nslog(@\"请求二完成\");","nslog(@\"超时\");","nslog(@\"进入a_view","nsmallocblock(也就是_nsconcretemallocblock)","nsmaptabl","nsmaptable>","nsmaptable,对","nsmethodsignatur","nsmutablearray","nsmutablearray>","nsmutabledictionari","nsmutableset","nsnotificationcent","nsobjct","nsobject","nsobject,","nsobject.mm","nsobject,nsobject","nsobject,若仍未找着,就","nsoper","nsoperationqueu","nsoperation支持kvo,可以观察任务的执行状态","nsoprationqueu","nsprogress、","nsproxi","nsproxy专门为消息转发而生","nsproxy是一个抽象的超类,它定义了一个对象的api,用来充当其他对象或者一些不存在的对象的替身。通常,发送给proxy的消息会被转发给实际对象,或使proxy加载(转化为)实际对象。","nsproxy的子类可以用于实现透明的分布式消息传递(例如,nsdistantobject),或者用于创建开销较大的对象的惰性实例化。","nsproxy类,类中包含两种uicolor颜色,利用这个动态消息转发,根据当前主题颜色,返回不同颜色","nsproxy,它将所有的事件转发到","nsrecursivelock","nsrecursivelock使用和nslock类似,如下代码就能解决上个问题","nsrecursivelock在yykit中yywebimageoperation.m中有用到","nsrescursivelock","nsrunloop","nsrunloopcommonmod","nsrunloopcommonmodes其实不是一个具体的模式,它可以理解成一个标签,被打上这种标签的具体mode会被放入到runloop内部的一个容器成员_commonmodes里面,它是一个cfmutablesetref,默认情况下,_commonmodes内部装着kcfrunloopdefaultmod","nsrunloop的类方法c\u0010urrentrunloop获取当前线程的","nsset","nsstaticblock(也就是_nsconcretestaticblock)","nsstring","nsstringencod","nsstringfromclass(((class","nsstringfromclass([self","nsstringfromclass([sup","nsstringfromclass(viewcontrollerclass);","nsstringfromselector(sel2);","nstaggedpointerstr","nsthread","nstimer","nsurl","nsurlcach","nsurlconnection。因为nsurlconnection中,执行回调的要在子线程,可能回调回来线程已经销毁无法做回调.3.x版本中,使用了","nsurlsession,能指定queue回调,所以避免了问题","nsurl。","null","null)","null),","null);","null)创建串行队列(gcd底层会讲到)","null,","null;","nullabl","nullable)","num","num){","num_entries;","num_ref","num_refs、","num_refs:引用数值。这里记录弱引用表中引用有效数字,因为弱引用表使用的是静态","number","number)是固定的吗?","number),以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果","number:","number,表示这是一个","nums:","o","o(1)","o(1)o(1)","o(logn)","o(logn)。","o(logn),不过却不是最佳的,因为平衡树要求每个节点的左子树和右子树的高度差至多等于1,这个要求实在是太严了,导致每次进行插入/删除节点的时候,几乎都会破坏平衡树的第二个规则,进而我们都需要通过左旋和右旋来进行调整,使之再次成为一颗符合要求的平衡树。","o(logn),性能已经相当好了。","o(logn),我这里就不细讲了,后面的文章可能会讲。","o(n),可想而知,我们必须不能让这种情况发生,为了解决这个问题,于是我们引申出了平衡二叉树。","o(n^2)","o(nlogn)","o,","oberv","obj","obj)","obj);","obj){","obj,","obj1","obj;","obj_object","objbyservice:@protocol(goodsmoduleservice)];","objc","objc.io:","objc2","objc2.0","objc2_unavailable;","objc_association_assign","objc_association_assign);","objc_association_copi","objc_association_copy_nonatom","objc_association_copy_nonatomic);","objc_association_retain","objc_association_retain_nonatom","objc_association_retain_nonatomic);","objc_associationpolici","objc_associationpolicy)","objc_autoreleasenopool(obj);","objc_autoreleasepoolpop","objc_autoreleasepoolpop(atautoreleasepoolobj);","objc_autoreleasepoolpop(ctx);","objc_autoreleasepoolpop(pool);","objc_autoreleasepoolpop(void","objc_autoreleasepoolpush","objc_autoreleasepoolpush();","objc_autoreleasereturnvalue(value);","objc_available(10.6,","objc_cach","objc_class","objc_class.mm","objc_class的真实定义实际的代码我们可以从","objc_class,objc_class","objc_class,但由于对象的内存地址不一样,所以它们的实例变量存储位置也不一样,从而实现对象与类之间的多对一关系。","objc_destructinst","objc_enum(uintptr_t,","objc_exception_throw(rethrow);","objc_export","objc_getassociatedobject","objc_getassociatedobject(,","objc_getassociatedobject(id","objc_getassociatedobject(self,","objc_getproperty(id","objc_initweak(&p1,","objc_initweak()","objc_initweak(id","objc_isa_availability;","objc_ivar","objc_ivar_list","objc_method","objc_method_list","objc_msb_tagged_point","objc_msgsend","objc_msgsend(&__main_block_impl_0(__main_block_func_0,","objc_msgsend(mnteacher,@selector(mnteacher)),这就跑到mnteach","objc_msgsend(objc_msgsend(objc_getclass(\"clperson\"),","objc_msgsend(person,","objc_msgsend,","objc_msgsend_uncach","objc_msgsendsuper(struct","objc_msgsendsuper2()","objc_msgsendsuper2(struct","objc_msgsendsuper2的声明在objc","objc_msgsend的实现在objc","objc_msgsend(object,","objc_object","objc_object::rootautorelease()","objc_object::rootautorelease2()","objc_object::rootretaincount()","objc_object::sidetable_retaincount()","objc_object、objc_class、class_rw_t、class_ro_t","objc_object中有一个isa指针,那么objc_class继承objc_object,也就同样拥有一个isa指针","objc_object的真实定义","objc_object,即","objc_object,有一个","objc_protocol_list","objc_release(obj);","objc_release(oldvalue);","objc_release(prev);","objc_removeassociatedobject","objc_removeassociatedobjects(id","objc_retain(*slot);","objc_retain(newvalue);","objc_retain(obj);","objc_selector","objc_setassociatedobject","objc_setassociatedobject(","objc_setassociatedobject(id","objc_setassociatedobject(obj,","objc_setassociatedobject(person,","objc_setassociatedobject(self,","objc_storestrong(id","objc_storeweak","objc_storeweak()","objc_sup","objc_super的定义如下:","objc_sync_ent","objc_sync_enter(_sync_obj);","objc_sync_enter(id","objc_sync_exit","objc_sync_exit(id","objc_sync_exit(sync_exit);","objc_sync_exit。","objc_sync_exit两个方法","objc_sync_nil","objc_sync_nil();","objc_sync_nil(void)","objc_sync_not_owning_thread_error","objc_sync_not_owning_thread_error;","objc_sync_success","objc_sync_success;","objc_tag_1","objc_tag_cgcolor","objc_tag_first52bitpayload","objc_tag_first60bitpayload","objc_tag_index_t","objc_tag_index_t;","objc_tag_last52bitpayload","objc_tag_last60bitpayload","objc_tag_nsatom","objc_tag_nscolor","objc_tag_nsd","objc_tag_nsindexpath","objc_tag_nsindexset","objc_tag_nsmanagedobjectid","objc_tag_nsnumb","objc_tag_nsstr","objc_tag_photos_1","objc_tag_photos_2","objc_tag_photos_3","objc_tag_photos_4","objc_tag_reserved_264","objc_tag_reserved_7","objc_tag_uicolor","objc_tag_xpc_1","objc_tag_xpc_2","objc_tag_xpc_3","objc_tag_xpc_4","objcassoci","objcassociation(policy,","object","object)","object,","object.","object:nil];","object;","object_dispos","object_getclass","object_getclass(id","object_getclass(object));","object_getclass(self);","object_getclassname((id)referent));","object_getclassname(obj));","object_getinstancevariable(myobject,","object_getivar(myobject,","object_getmethodimplementation((id)referent,","object_setclass(self,","objectassociationmap","objectassociationmap::iter","objectassociationmap;","objectclass","objectclass.md","objectforkey:@\"uilaunchstoryboardname\"];","objectforkey:@\"url\"]];","objectforkey:key];","objects:","object指的是当前加锁的对象","object,它就会如下图所示移动到下一个为空的内存地址中:","object:宿主对象","obj传入sdatalist","observ","observer,","observer;","observers:","observers:没有事件要处理,","observer。当一个触摸事件到来时,runloop","observer,监听了","observer,监视的事件和","observer;","observing,","observing)是苹果提供的一套事件通知机制,这种机制允许将其他对象的特定属性的更改通知给对象。ios开发者可以使用kvo","oc","oc内存管理","oc协议列表","oc对象创建过程","oc源码:","oc特有的类型。从本质上讲,","oc的函数调用成为消息发送,属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,oc可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而c语言在编译阶段就会报错)。","offscreen","offset","offset);","offset,","offset:self.request.range.start];","ofobject:(id)object","often.","okay","old","old_associ","old_association(0,","oldcount","oldobj","oldobj)","oldobj,","oldobj;","oldstat","oldtabl","oldvalu","oldvalue;","on","onc","oncepredicate;","oncetoken;","only。","onthread:","onto","oom","op,","opac","opacity=0.5,并复制一份在旁边作对比。左边关闭","opacity(默认行为)的被标记为","opacity,其实从名字就可以猜到,alpha","opacity,右边保持默认(从","opaque,","open","open(script_path+\"/result.txt\",\"w\")","opengl","opengl/met","openurl:(nsurl","open)。","open),接收这个syn并发回下一个syn的另一端执行被动打开(pass","oper","operation.cacheoper","operation.iscancelled)","operation.isfinish","operation.loaderoper","operation;","operations,","operations;","operation。","operation。实现了一个","operation,利用","operator[]","optim","optimizations.","optimizeobjc:","optimizeobjc。","option","options,","options:(nskeyvalueobservingoptionnew","options:(nskeyvalueobservingoptionnew)","options:(sdwebimageoptions)opt","options:0","options:downloaderopt","options:opt","optionsprocessor;","order","order_fil","order_file[2]","order_file[2]的","order:初始化调用顺序","organ","orient","os","os.popen(\"/usr/bin/otool","os.popen('/usr/bin/otool","os.popen('fil","os.popen('nm","os_unfair_lock","osatom","osatomicdecrement32barrier(&result","osatomicincrement32(&_value);","osatomicincrement32()","osatomicincrement32()是原子自增方法,线程安全。在日常开发中,若需要保证整形数值变量的线程安全,可以使用","osatomicincrement32barrier(&result","osspinlock","osspinlock不再安全,底层用os_unfair_lock替代","out","out_of_lin","out_of_line=0","out_of_line_","out_of_line:最低有效位,也是标志位。当标志位","outermost","output","outsid","out)的线性表,在具体应用中通常用链表或者数组来实现。装载线程任务的队形结构。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加","ov","over","overrid","overwrit","ov可以获取到类的继承关系。","o。每次进行了","o。链接的过程并不产生新的代码,只会做一些移动和补丁。","o中的段信息,需要注意的是模拟器和真机对应的可执行文件,数据的存储方式不同需要加以区分。","o文件","o文件中__data","o(logn)。","o,而是提供一个只包含符号等信息的","o,虚拟内存,mmap,pag","p","p1","p;","packageappl","paddedt","page","page\"意味着没有没有池子被push或者说push了一个空的池子","page);","page,","page.","pageforpointer(token);","page:page1/page2,其中绿色的","param1:重复次数","param2:追加的队列","param3:执行任务","parameterbuffer,接受分块完毕的tile和对应的渲染参数;","parameters)","params:(nsdictionari","params:@[goodsid]];","params:nil];","parent","parent(newparent),","parent;","parsequery:request.url.query];","part","particular","pass","pass,pass","pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了","pass,由于","past,","path","path)","path).read().split('","path).readlines()","path);","path,","path.","path=\"...\"","path,@rpath","path,直接依赖的了别的模块,以便重用复杂模型类的情况。","payload","paymentwithproduct:products.firstobject];","pc","pch","pe","peformselector","per","perform","performance,","performselector","performselector:","performselector:@selector(getgoodslist)];","performselector:@selector(printlog)","performselector:transaction.selector];","performselector:withobject:afterdelay:","performselectors的事件.","performtarget:@\"yzgoodsmodule\"","performtarget:@“goodsmodule”","person","person(_person)","person,","person.ag","personnamecontext)","person,关联的","phase","phases、build","phases:用于控制从源文件到可执行文件的整个过程,如编译哪些文件,编译过程中执行哪些自定义脚本。例如","phase:以","pic","pipelin","pipeline。","pipeline,因为启动优化的重点还在运行时。","pist","pixel","place","placehold","placeholder.","placeholderimage:(nul","placeholderimage:nil","placeholderimage:placehold","playerwithurl:proxyurl];","plist","plu","png或jpeg。b.","png或者jpeg压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于图片宽","pod","point","pointer","pointers)","pointers)—","pointers.add(''.join(line[12:16][::","pointers.add(''.join(line[4:8][::","pointers.add(line[1]","pointers.add(line[3]","pointers_from_binary(line,","pointer不参与retain/release;","pointer不需要引用计数,苹果会直接将对象的指针值作为引用计数返回;","pointer且关闭了non","pointer初探","pointer和是否进行优化的情况(prepareoptimizedreturn这个后面也会提到),如果不满足这两个条件才会进入缓存池。","pointer对象","pointer对象的类,它的定义在objc_tag_index_t中","pointer技术。","pointer技术的nsstring,那程序就没有问题。","pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。","pointer是一个特殊的指针,不指向任何实质地址。","pointer是苹果在64bit设备提出的一种存储小对象的技术,用于优化nsnumber、nsdate、nsstring等小对象的储存","pointer有长度限制,过长会依然会采用对象的形式保存","pointer没有isa指针,它不是一个对象,只是一个伪装成对象的普通变量而已。","pointer的","pointer的值的,可读性非常好,但是12之后再打印就发现完全看不懂了。","pointer的加密","pointer的对象没有isa指针,有的是isa_t的结构体;","pointer的类,gcd等;","pointer的话,直接返回isa本身;","pointer目前有这么几个判断条件,这些都可以在runtime源码objc","pointer,","pointer,且开启了指针优化,此时引用计数先从extra_rc中去取(这里将取出来的值进行了+1操作,所以在存的时候需要进行","pointer,如果说上面的self.target指向的是一个tag","pointer,对象的值就是指针;","pointer,没有开启了指针优化,使用sidetable_retaincount()函数返回。","pointer,苹果会直接将其指针值作为引用计数返回;","pointer,那么会对isa的其他成员赋值,否则只会对cls赋值。","pointer,那该对象的引用计数就使用sidetable来存。","pointer;需要留意的是不同的架构标记位不太一样,有的是用最低位、有的使用最高位。","pointinsid","pointinside:point","pointinside:withevent:","pointinside:withevent:]","pointinside检测到该","pointinside返回","policy)","policy);","policy:关联的规则,主要是内存管理的规则","pool","pool.","pool1","pool2","pool3","pool]","pool_boundari","pool_boundary)","pool_boundary);","pool_boundary:","pool_sentinel","pool_sentinel。","pool_sentinel(哨兵对象)","pool_sentinel:","pools:","pool的情况下,","pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)","pop","pop(coldpage()","pop(pool1)","pop(pool2)","pop(pool3)","pop(top)","pop(void","popped,","popviewcontrolleranimated:no];","port","port(ipc","port]","portabl","port”,而每个source1都有不同的对应端口):","port传来的系统事件的,source0是用来处理用户事件的。","port传递给springboard进程。","port发过来的事件,唤醒main","port将iohidevent事件转发给这个程序。","port接受到springboard进程传递来的触摸事件,主线程的runloop被唤醒,触发了source1回调。","posit","posix_memalign((void","possibl","post","postordertraversal(self,","postordertraverse(bitre","postordertraverse(t","powerpc,后来增加了","practice,","pre","prefer","prefetch","prefetchrowsatindexpaths:(nsarray","premain","preordertraversal(self,root):","preordertraverse(bitre","preordertraverse(t","prepare(图片解码)","prepare];","prepared\",","preparemethodlists(cls,","prepare(准备),这个过程中会完成图片的解码","prepare,图片解码发生在这一步","prerend","present","present,","pressure\");","prev","prev)","prev:","prevent","previou","previous","previouslyinitializedclass","printf","printf(\"%c\",","printf(\"1234\");","printf(\"felix","printhiwat();","printreplacements(cls,","prioriti","priority;","privat","private.h文件","private:","probabl","process","processinfo].activeprocessorcount;","processiniti","process。","process会做如下事情:分析mach","process):宏替换、删除注释、展开头文件,产生","process,也就是在程序进程内执行的,也就意味着只有当应用程序被启动的时候,dyld2才能开始执行任务。dyld3则是部分out","process,部分in","product","program","progress","progress:(nul","progress:combinedprogressblock","progress:nil","progress:progressblock","project","project.","propcount","propcount);","properli","properti","properties;","property;","property_array_t","property_list_t","propertylocks[slot];","propety属性","proplist;","proplists[propcount++]","proprecess。然后点击图中蓝色的加号,可以分别为","protect();","protocl","protocol","protocol,","protocol_array_t","protocol_list_t","protocols;","protocol,不符合我们编译隔离的需求。但既然我们可以拷贝粘贴复杂对象代码,是否也可以拷贝粘贴","protocount","protocount);","protolist;","protolists[protocount++]","proud","provid","provided,","proxi","proxyurlwithoriginalurl:originalurl];","ps:关于多核设备的线程性能问题,后面分析源码会讲到","pthread","pthread_cond_broadcast(cond)","pthread_cond_destroy(cond)","pthread_cond_init(cond,","pthread_cond_signal(cond)","pthread_cond_timedwait(cond,","pthread_cond_wait(cond,","pthread_main_thread_np();","pthread_mutex_destroy(&_lock);","pthread_mutex_destroy(mutex)","pthread_mutex_init(&_lock,","pthread_mutex_init(mutex,","pthread_mutex_lock(&_lock);","pthread_mutex_lock(mutex)","pthread_mutex_t","pthread_mutex_unlock(&_lock);","pthread_mutex_unlock(mutex)","pthread_mutex就是互斥锁本身——当锁被占用,而其他线程申请锁时,不是使用忙等,而是阻塞线程并睡眠","pthread_rwlock_destroy(&lock);","pthread_rwlock_init(&lock,","pthread_rwlock_rdlock(&lock);","pthread_rwlock_t","pthread_rwlock_tryrdlock(&lock);","pthread_rwlock_trywrlock(&lock);","pthread_rwlock_unlock(&lock);","pthread_rwlock_wrlock(&lock);","pthread_self()","pthread_self()))","pthread_self(),","pthread_t","pthreadpointer(pthread_main_thread_np()),","pthreadpointer(t));","pthreadpointer(t),","ptr)","ptr_minus_1;","ptr_minus_2;","ptrdiff_t","public","public:","pull","purg","purpos","push","push()","push/pop,","pushed,而是作为子","pushextraboundari","pushviewcontroller:fresh","pushviewcontroller:vc","push代码如下:","push执行的时候首先会进行判断,如果是需要每个pool都生成一个新page,即debugpoolallocation为yes,则执行autoreleasenewpage方法,否则执行autoreleasefast方法。","qos_class_background","qos_class_default","qos_class_user_initi","qos_class_user_initiated,低于用户交互相关的qos_class_user_interactive。","qos_class_util","quartzcore:ca::transaction::observer_callback:","queri","queryimageforkey:key","queue","queue);","queue)和并发队列(concurr","queue):","queue,","queue.append(l)","queue.append(r)","queue.append(root)","queue.pop(0)","queue:","queuecount","queuecount;","queues[max_queue_count];","quicksort","quicksort(array,","r","r:","r=none):","race","random","randomc","randomization)和边界检查;","rang","raw","rc","rc;","re","re.compile(\"\\s*superclass","re.compile(\"\\w{16}","re.compile('(\\w{16})","re_class_nam","re_class_name.findall(line)","re_subclass_nam","re_subclass_name.findall(line)","re_superclass_nam","re_superclass_name.findall(line)","read","readdataoflength:length];","readi","readonli","readonly)","readonly,","readwrit","real","realiz","realizeallclass","realizeclass","reallysetproperty(id","rearrang","rebas","rebasedyld(dyldsmachheader,","rebase,主要耗时在","rebase:修复内部指针。这是因为","rebind_symbol","receiv","receiver:","receiver;","receiver,在","receiver,还可以修改入参,甚至是返回值。nsinvocation#invoke会触发","receiver,还可以篡改入参、返回值;当然,","receiver,那还不如把转发操作提前到第二步。因为第三步只是修改了调用目标,这项改动放在第二步会更为简单,不然的话,还得创建并处理完整的nsinvocation。","recogn","record","rect中通过uigraphicsgetcurrentcontext()","rect之后,通过context将数据写入back","recurs","recursive_mutex_t","recursive_mutex_t(fork_unsafe_lock);","recursivebind","recursivebindwithaccount","recursiveiniti","recursiveloadlibrari","red”","ref","ref_point","ref_pointers.union(pointers)","refcnt","refcnt_result","refcnt_result;","refcnts;","refcntstorag","refcountmap","refcountmap::iter","refer","referenc","reference:","referencecount","referent)))","referent;","referent_id","referent_id,","referent_id;","referent,找到对应的","referr","referrer);","referrer;","refresh","refs;","registerinterposing(glinkcontext);","registerobjcnotifi","registerobjcnotifiers(_dyld_objc_notify_map","registerservice:@protocol(service_protocol)","registr","reinterpret_cast","reinterpret_cast(p);","releas","release)","release);","release:","released,","releaseuntil","releaseuntil(id","releasevalue()(old_association);","reli","reloadallimag","remain","remov","remove_referrer(entry,","removeallobjects];","removeduplicates(nums);","removeduplicates(self,","removeobject:url];","removeobjectforkey:key];","removeobserver:self","removetransactionobserver:self];","rename_section,__text,__const,__rodata,__const\",","rename_section,__text,__cstring,__rodata,__cstring\",","rename_section,__text,__gcc_except_tab,__rodata,__gcc_except_tab\",","rename_section,__text,__objc_classname,__rodata,__objc_classname\",","rename_section,__text,__objc_methname,__rodata,__objc_methname\",","rename_section,__text,__objc_methtype,__rodata,__objc_methtype\"","rename_section,把","render","renderbuffer,存储渲染完毕的像素;","renderedviewcontrol","renderer,调用片元着色器,进行像素渲染;","renderincontext:","renderincontext:uigraphicsgetcurrentcontext()];","rendering)的知识点。一般来说,绝大多数人都能答出","renderserv","renderserver解析提交的子树状态,生成绘制指令","renderserver,renderserv","renderserver,启动结束","repeat","repeatedli","replac","repo","repositori","representation)。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。","reqeust","request","request.deleg","request.url);","request\\nmethod","requestimagewithurl:url","requir","requiresrawisa()","res.append(cur.val)","res.append(node.val)","res.append(root.val)","res.append(temp.val)","res1","res1,","res2","res2,","res3","res3,","res4","res4);","reserv","reserved;","reset","resize、和作为子","resize,动画),之前辛苦处理得到的缓存就失效了。如果这件事频繁发生,我们就又回到了","resolution)策略。也就是说在二进制文件中,printf","resolv","resolveclassmethod:sel]","resolvedcolor","resolvedimag","resolvedimage,这样在外界看来","resolveinstancemethod:aselector];","resolveinstancemethod:sel]","resolveinstancemethod:或者resolveclassmethod:方法,然后用objc_msgsend执行上述方法。","resolveinstancemethod为对象临时添加一个方法,并把对应属性值保存到内部的一个","resolve)的过程即调用_class_resolvemethod,如果失败,进入第","resources,运行脚本来拷贝三方库的资源文件","respond","respondstoselector:@selector(imagemanager:shoulddownloadimageforurl:)]","respondstoselector:或者","respons","response,","response.products;","response;","response\\nrespons","responsedidabort:self];","responsehasavailabledata:self];","response(第一响应者),指的是当前接受触摸的响应者对象,是响应者的开端。响应者链和事件分发的使命都是找出第一响应者。","result","result)","result);","result:","result;","result[0]","ret","retain","retain/release/autorelease/retaincount/_tryretain/_isdeallocating/retainweakreference/allowsweakrefer","retain/release的实质","retain实现","reth)","rethrow(reth)","rethrow;","retiancount","retri","retry:","retry;","return","return;","returned.","return。","review","rewrit","right","right),虽然我们可以通过代码控制页面不跟随设备方向旋转,但是这会导致系统为应用分别生成横屏和竖屏的启动图,从而导致一个问题:","rl","rl;","ro","ro;","roadmap","rollback","root","root):","root,","root.left","root.right","root.val:","root:","rootautorelease2();","rootdealloc","rootview","rootviewcontrol","rootviewcontroller,之后再复用从缓存中拿到的","rootviewcontroller,始终有","routecompletion)completion;","ro,其中存储了当前类在编译期就已经确定的属性、方法以及遵循的协议。(如果是当前类有category扩展,则新增的属性方法会放在","rr.","rr/alloc","rsa密码体制就是公钥密码体制,rsa的一对公钥和私钥都可以用来加密和解密。","rua~\");","rule","rules:指定了不同的文件类型该如何编译。一般我们不需要修改这里的内容。如果需要对特定类型的文件添加处理方法,可以在这里添加规则。","run","run];","rundyldinitializers(dyldsmachheader,","runiniti","runloop","runloopmode内部核心内容是4个数组容器,分别用来装source0,source1,observer和timer,runloop对象内部有一个_currentmode,它指向了该runloop对象的其中一个runloopmode,它代表的含义是runloop当前所运行的runloopmode,所谓“运行”也就是说,runloop当前只会执行_currentmode所指向的runloopmode里面所包括的事件(source0、source1、observer、timer)","runloop、upd","runloop。","runloop与autoreleasepool","runloop与ui刷新","runloop与线程是一一对应的——一个runloop对应一个核心的线程,为什么说是核心的,是因为runloop是可以嵌套的,但是核心的只能有一个,他们的关系保存在一个全局的字典里","runloop与线程是一一对应的,一个runloop对应一个核心的线程。每个","runloop中source0和source1的区别","runloop中,cor","runloop为value,一对一存储在字典中,下次获取的时候,则直接返回字典内的runloop","runloop原理","runloop启动时只能选择其中一个mode作为currentmode。","runloop响应用户操作","runloop在主界面即将显示前由系统启动(主界面","runloop对象","runloop对象的获取","runloop将事件交给source1处理,source1会调用__iohideventsystemclientqueuecallback()函数。","runloop就是线程中的一个循环,runloop在循环中会不断检测,通过input","runloop并将这个消息交给source1处理,source1调用__iohideventsystemclientqueuecallback()函数,在函数内部会将事件交给source0处理,并调用source0的__uiapplicationhandleeventqueue()函数。","runloop总是运行在某种特定的cfrunloopmoderef下,意思是每次runloop开始时候会选择一个mode,执行这个mode里面的","runloop是一个事件驱动的大循环,它会把来自用户的交互事件、系统内部事件、计时器事件加入到事件队列中,并循环地从事件队列中取出事件进行处理,当所有的事件都处理完毕时,就会进入休眠状态,直到被新到来的事件唤醒。","runloop是来管理线程的——当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务","runloop是来管理线程的,当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。","runloop是通过内部维护的事件循环来对事件/消息进行管理的一个对象","runloop来处理。","runloop每分钟会被唤醒一次","runloop状态总共有以下几种","runloop的内部结构与运行原理什么是runloop","runloop的结构","runloop相关类","runloop第一个","runloop观察者的集合。runloop","runloop详解","runloop迭代.新的一轮runloop创建一个新的","runloop迭代结束进行释放。何为","runloop顾名思义,就是运行循环。首先它根程序运行过程有关系","runloop,可以通过","runloop,在处理完重要逻辑(即","runloop,继续执行这个","running;","runningoper","runningoperationslock;","runningoperations。","runningoperations:会将在上面的方法中会生成的一个","runtim","runtime,","runtime.h","runtime=io","runtime_init();","runtime。","runtime和其它的初始化代码。","runtime学习:面试题狙击","runtime简介","runtime简称运行时,其中最主要的是消息机制。","runtime,注册","runtime,由于闭包已经初始化了大部分,这里只会注册","runtloop运行流程","rw","rw_has_default_awz;","rw_has_default_awz是用来标记用户有没有自己实现allocwithzone方法。由于类是有懒加载的概念的,所以第一次给该类发送消息之前,该类是没有加载的,因此当类收到alloc消息的时候,进入到hascustomawz时并没有默认实现allocwithzone方法,所以hascustomawz返回true,因此会直接进入到[cl","rw_loaded)","rw_realized|rw_realizing;","s","safari,序号后面的图形,表示本阶段","safe","safe(launchoptions)]];","safelyremoveoperationfromrunning:operation];","safelyremoveoperationfromrunning。此时如果存在","safelyremoveoperation。","sallimages.end();","sallimages.size()","sallimages;","same","sandbox:","sark","save","scale","scale);","scale;","schedule_class_load(cl","schedule_class_load(class","scheme","scheme】","score","score:","screen","scribble,","script","script_path","scrollview","sd_cancelimageloadoperationwithkey:","sd_cancelimageloadoperationwithkey:key];","sd_cancelimageloadoperationwithkey:validoperationkey];","sd_cancelimageloadoperationwithkey:取消上一次任务,保证没有当前正在进行的异步下载操作,","sd_internalsetimagewithurl:url","sd_lock(self.callbackslock);","sd_lock(self.failedurlslock);","sd_lock(self.runningoperationslock);","sd_operationdictionary];","sd_operationdictionary]这个调用,这个方法的实现是给当前view通过关联对象的技术关联了一个nsmaptable对象,用来存储请求链接接对应的请求操作类型如nsmaptable。源码如下:","sd_operationdictionary,key","sd_setimage:","sd_setimage:placehold","sd_setimageloadoperation:oper","sd_setimageloadoperation:内部实现如下:","sd_setimagewithurl:url","sd_unlock(self.callbackslock);","sd_unlock(self.failedurlslock);","sd_unlock(self.runningoperationslock);","sdatalist","sdatalists;","sdatalists[obj].data","sdatalists[obj].lock","sdcallbacksdictionari","sdexternalcompletionblock)completedblock","sdimagecache.sharedimagecache。","sdimagecachedecodeimagedata(nsdata","sdimagecachedecodeimagedata,进行了图片解码的处理。","sdimagecachequerydiskdatasync));","sdimagecachequerymemorydatasync)","sdimagecachetyp","sdimagecachetypeall。","sdimagecoderhelp","sdimageloaderdecodeimagedata","sdimageloaderdecodeimagedata(nsdata","sdimageloaderprogressblock)progressblock","sdimagemanag","sdinternalcompletionblock)completedblock","sdinternalcompletionblock)completedblock;","sdk","sdks.","sdk版本","sdk,支付宝的","sdmemorycach","sdoperationsdictionari","sdoperationsdictionary;","sdoperationsdictionary。它会存储当前实例的所有","sdsetimageblock)setimageblock","sdwebimag","sdwebimagecombinedoper","sdwebimagecontext","sdwebimagecontextimagecache。","sdwebimagecontextimageloader。","sdwebimagecontextquerycachetyp","sdwebimagedelayplaceholder))","sdwebimagedownload","sdwebimagedownloader.shareddownloader。","sdwebimagedownloadercompletedblock)completedblock","sdwebimagedownloaderoper","sdwebimagedownloaderprogressblock)progressblock","sdwebimagedownloadtoken","sdwebimageerrorcachenotmodified)","sdwebimagefromcacheonli","sdwebimagefromcacheonly);","sdwebimagefromloaderonli","sdwebimagefromloaderonly)","sdwebimageindicator,并判断是否开启。","sdwebimagemanag","sdwebimagemanager。","sdwebimageoper","sdwebimageopt","sdwebimageoptionsresult。","sdwebimagerefreshcach","sdwebimagerefreshcached);","sdwebimagerefreshcached。","sdwebimageretryfailed))","sdwebimageretryfailed。则将","sdwebimageretryfailed,则直接返回","sdwebimage常见问题","sdwebimage源码学习","search","searchbst(self,","second,","secondari","section","sections:","section。","section,分别存放不同类型的数据。","secur","see","segcount","segcount,","segement","segment","segment/sect","segment,每个","sel","sel)","sel))","sel))(void","sel);","sel,","sel1","sel1,sel2);","sel2","sel_allowsweakrefer","sel_allowsweakreference);","sel_getname(sel1);","sel_registername(\"age\")));","sel_registername(\"alloc\")","sel_registername(\"class\"))));","sel_registername(\"class\")));","sel_registername(\"copy\")","sel_registername(\"init\")","sel_registername(\"setage:\"),","sel_registername(\"test\");","sel_resolveclassmethod,","selector","selector\"","selector:","selector:@selector(dealmemorywarnings:)","selector:@selector(networkrequestthreadentrypoint:)","selector;","selector];","selector。在继续往下执行转发机制之前,本类有机会新增一个处理此","selector(未声明的)selector","selector,从而影响滑动的流畅性。","selector,其返回值为boolean类型,表示这个类是否能新增一个实例方法用以处理该","selector,在这一步中,runtim","selector,默认情况下上述两种方式产生的事件是关联到nsrunloopcommonmodes,因此在","self","self);","self,","self.ag","self.array","self.class);","self.cont","self.contentsscal","self.currentsourc","self.currentsource);","self.darkcolor","self.darkcolor;","self.delegate;","self.dm_dynamicbackgroundcolor","self.downlaodtask","self.downloadlength","self.downloadlength,","self.error)","self.goodscell.nam","self.goodscell.pric","self.init(condition:","self.init(name:","self.init(white:","self.left","self.lightcolor","self.lightcolor;","self.nam","self.readinghandl","self.request.range.end);","self.request.range.end;","self.request.range.start;","self.right","self.scor","self.sd_latestoperationkey","self.searchbst(root.left,","self.sourcemanag","self.testarray","self.unit.unititems;","self.unititem","self.unititem);","self.unititem.length);","self.urloperations[url]","self.val","self.view","self.waitingrespons","self.writinghandl","self;","self,然后第二个就是父类的","sel仅仅代表方法的名字,并且不同类中相同的方法名的sel是全局唯一的。","sel代表方法\\函数名,一般叫做选择器,底层结构跟char","sel作为key","sel可以通过@selector()和sel_registername()获得","sel,加载","sem","send","sendmessage];","sentinel.value;","senv.dyld_bind_at_launch,","senv.dyld_insert_librari","senv.dyld_insert_libraries;","sequenc","seri","server","serverhello","server交给gpu去渲染,将back","server数据返回体,遵循httpresponse协议,实现协议方法","server的,内部使用第三方库httpserver实现:","servic","servicemanag","session","session419","set","set()","setage:10],所以证明了,给分类声明属性之后,并没有添加其对应的实现!","setarray((array_t","setarray:","setbackgroundcolor","setcompletionblock:^{","setcontext","setdata(class_rw_t","setemptypoolplaceholder();","sethascustomawz()","sethasdefaultawz()","sethotpage(nil);","sethotpage(page);","sethotpage(parent);","sethotpage(this);","setimageblock:(nul","setimageblock:nil","setlayoutifneed]","setname:@\"afnetworking\"];","setneeddisplay])时,它会向","setneedsdispay","setneedsdisplay","setneedsdisplay()","setneedsdisplay]","setneedsdisplay];","setneedsdisplay]方法,给layer上打上一个脏标记,意味着需要重绘。但是只有在下一次runloop即将结束的时候才会调用[calay","setneedslaylout","setneedslayout","setneedslayout()","setneedslayout]/","setneedsupdateconstraint","setneedsupdateconstraints()","setneverunloadrecursive();","setobject","setobject:fresh","setobject:oper","setobject:vc","settarget:self.target];","setter","setter:","setterkey(keyset方法)","setter方法用于观察键值","settings:这一栏下是对编译的细节进行设定,包含","settings:配置编译和链接相关的参数。特别要提到的是","settintcolor:","setup","setup.","setupallmodules];","setvalue:forkey与setvalue:forkeypath的区别:","setwithobject:productidentifier];","sevic","sexecpath);","sha","sha1","sha1sum","shadowpath","shadow,其原因在于,虽然","share","shareddownloader]","sharedimagecache]","sharedinstance]","shift","shiftcl","shiftcls:存储类指针的值。开启指针优化的情况下,在","short","shortcut","shouldblockfailedurl","shouldblockfailedurl:(nonnul","shouldblockfailedurlwithurl:url","shouldcacheorigin","shouldcacheoriginal。","shoulddownload","shoulddownloadimageforurl:(nonnul","shoulddownloadimageforurl:url]);","shouldquerycach","shouldquerydisksync","shouldraster","shouldrasterize,减少触发的次数","shouldrasterize,只会弄巧成拙。","shouldrebas","show","showbuildoperationdur","side_table_rc_on","side_table_rc_one(4,位计算)","side_table_rc_pin","side_table_rc_shift;","side_table_rc_shift;(将向右偏移操作)","sideload","sidet","sidetable&","sidetable::locktwo(oldtable,","sidetable::unlocktwo(oldtable,","sidetable_cleardeallocating3","sidetable_getextrarc_nolock();","sidetable_lock();","sidetable_retaincount();","sidetable_unlock();","sidetables()","sidetables()[this];","sidetable的结构","sidetable里有一个自旋锁,如果把所有的类都放在同一个sidetable,有任何一个类有改动都会对整个table做操作,并且在操作一个类的同时,操作别的类会被锁住等待,这样会导致操作效率和查询效率都很低。而有多个sidetable的话,操作的都是单个table,并不会影响其他的table,这就是分离锁。","signal","signal()","signal操作是唤醒一个正在休眠等待的线程","simpread","singl","sinserteddylibcount","size","size);","size,","size;","size_t","sizeof(*mlists));","sizeof(*pag","sizeof(*proplists));","sizeof(*protolists));","sizeof(__block_byref_a_0),","sizeof(array()","sizeof(struct","sizeof(syncdata));","sizeofcmds;","skpayment","skpaymenttransactionobserv","skpaymenttransactionstatedeferred:","skpaymenttransactionstatefailed:","skpaymenttransactionstatepurchased:","skpaymenttransactionstatepurchasing:","skpaymenttransactionstaterestored:","skproductsrequest","skproductsrequestdeleg","sleep","sleep(1);","sleep(2);","sleepandwaitforwakingupports();","slide","slide);","slide,","slide=0x1000,这时候字符串在运行时的地址就是","slideofmainexecutable(appsmachheader);","slideofmainexecutable(dyldsmachheader);","slide。","slide,需要把内部的指针指向加上这个","slock","slock;","slot","slotlock","slotlock.lock();","slotlock.unlock();","slow","slower","slowpath(x)","slowpath和fastpath","smainexecut","snapshot","sniffloadcommand","snotifyobjcinit","snotifyobjcmap","snotifyobjcunmap","snow","socket","sockets:基于端口的通信是在两个线程之间进行通信的一种更为复杂的方法,但它也是一种非常可靠的技术。更重要的是,端口和套接字可用于与外部实体(例如其他进程和服务)进行通信。为了提高效率,使用","solution(object):","solution:","someth","something.","son","sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序","sourc","source,","source0","source0:","source0并不能主动触发事件。使用时,你需要先调用cfrunloopsourcesignal,将这个source标记为待处理,然后手动调用cfrunloopwakeup来唤醒runloop,让其处理这个事件。","source0:包括","source1","source1:","source1包括系统事件捕捉和基于port的线程间通信。什么是系统事件捕捉?又如何理解基于port的线程间通信?其实,我们手指点击屏幕,首先产生的是一个系统事件,通过source1来接受捕捉,然后由springboard程序包装成source0分发给应用去处理,因此我们在app内部接受到触摸事件,就是source0,","source1和source0的区别:","source1收到系统事件后,都会调用source0的函数,所以最终这些事件都是由source0处理的。","source1是runloop用来处理mach","source1能主动触发事件。其中它有一个mach_port_t,mach_port是用于内核向线程发送消息的。","source1:包括","sourceapplication:(nsstr","sources(nstimer)","sources:","sources(定时源)两种来源等待接受事件;然后对接受到的事件通知线程进行处理,并在没有事件的时候进行休息。","sources(输入源)和tim","source在挂起状态下,如果直接设置sourc","source:定时器事件源,用来生成周期性的通知或回调","source:监听mach端口事件源","source:监听信号事件源,当有unix信号发生时会通知","source:监听文件或socket事件源,当文件或socket数据发生变化时会通知","source:监听自定义事件源","source:监听进程事件源,与进程相关的事件通知","space","special","specialization.","specif","specifi","spinlock.","spinlock_t","spinlock_t&","spinlock_t(自旋锁),","spinlock_t。","splashboard","splashboard.framework","splashboard,生成新的启动图,并缓存至沙盒目录,而我们在沙盒目录中也找到了新生成的启动图文件。","springboard","springboard.app","springboard是","springboard进程因接收到触摸事件,触发了主线程runloop的source1事件源的回调。","src","ssl","ssl/tl","ssl。ssl","ssl如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到ca证书","ssl的加密机制:在使用ssl的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为des、3des,aes等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有rsa、elgamal、ecc等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请网上搜索相应的资料。","stack","stack.append(cur)","stack.append(cur.left)","stack.append(cur.right)","stack.append(root)","stack.pop()","stack1","stack1.append(cur.left)","stack1.append(cur.right)","stack1.pop()","stack1:","stack2","stack2.append(cur.val)","stack2[::","stack:","stack后是否会被渲染,取决于所在的","stack的方式外,","stack里不能","stand","start","start(const","start];","startglue)","startglue);","startup","state,","static","static_entri","static_init();","std::map","std::string","std::vector","step","stop","stop)","storag","storage)","storage,在ios中每个线程都拥有自己的tls,负责保存本线程的一些变量,","store","store(cgcontextref),每个layer都有一个content,这个content指向的一块缓存称为back","store/","storecacheprocess。","storecachetype、originalstorecachetype、transformer、cacheserializer,判断是否需要存储转换后图像数据、原始数据、等待缓存存储结束。","storeweak","storeweak(id","storeweak最主要的两个逻辑点(源码太长,这里不贴了)","store。如果layer有delegate,则调用delegate的","store。当back","store中的bitmap数据显示在屏幕上","store中的bitmap数据显示在屏幕上。","store写完之后,通过rendserver交给gpu去渲染,将back","store写完后,通过rend","store(位图)传给gpu。","store),而当设备屏幕进行刷新时,会从","storyboard","storyboard.instantiateinitialviewcontroller;","storyboardwithname:@“sb_name”","storyboardwithname:launchscreennam","storyboard,asset","storyboard,需要持久化为文件,使用","straight","stret","string","string)","string,","string:","string?","stringwithformat:@\"kroutegoodsdetails\",","stringwithformat:@\"y\"];","string,会显式的存储到数据段中,例如,","stripecount","stripecount;","stripedmap","stripedmap&","stripedmap[]","stroageimage:]","strong","strong)","strong,","strong——weak","strong的源代码如下:","struct","structure.","stub","stuck","student:","studio,","subclass","subclass(class)","subclass_match_result","subclass_match_result:","subclass_match_result[0]","subclass_nam","subclass(class),subclass(class)的","subclass(meta),subclass(meta)的","subclass)的","subset","subvers","subversion?","subview","subview3","subviews)","subviews[i];","subviews,一层一层的获取到,然后根据当前的模式进行修改颜色。对于不在页面上显示的","summari","super","super,","super.cont","super.contents;","super.init(frame:","super.init(name:","super::duplicate();","super;","super_class","super_class:","super_class;","super_class为指向当前类的父类。","superclass","superclass(class)","superclass.","superclass/subclass","superclass;","superclass_match_result","superclass_match_result:","superclass_match_result[0]","superclass_nam","superview","support","support_direct_thread_key","suspend","svn","swift","swift)","swiftc,二者的后端都是","swift。swift","swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于","swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在","switch","switch(why)","swizzl","swizzlesettintcoloronce:","swizzlewillmovetowindowonce:","swizzling)","swizzling技术实现的","symbol","symbol)","symbols:","symbols[address]","symbols[unref_pointer]","symbols,主二进制","symbols,二方静态库","symbols,动态库","symbols,起始地址也是","symroot=$buildapptodir","syn","syn_rcvd","syn_recv","syn_send","sync","sync_exit(arg)","sync_exit;","synccach","synccache;","synccacheitem","synccacheitem;","synccacheitem用来记录某个syncdata在某个线程中被加锁的记录,一个syncdata可以被多个synccacheitem持有","synccache用来记录某个线程中所有synccacheitem,并且记录了缓存大小以及已使用缓存大小","syncdata","syncdata*","syncdata;","syncdata。","syncdata,并且会调用命名为自旋锁的互斥锁","synchron","synclist","synclist()","synclist。","synclist结构体,内部data就是syncdata","synthes","syn攻击是什么?","syn,此时服务器处于","sys.path[0].strip()","system","system),演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用","t","t&","t)","t1","tabl","table.","table.lock();","table.refcnts.end())","table.refcnts.find(this);","table.refcnts.find[this];","table.refcnts[this];","table.unlock();","tableview","tableview:prefetchrowsatindexpaths:","tableview,是个不小的性能挑战","table。其实其中的","table。而在","table,也叫哈希表),是根据关键码值(key","tag","taggedpoint","taggedpointer技术,不使用isa","tag的值的mask以及一些其他的左移右移位","take","talk","tapaction:","target","target;","target_os_iosmac)","target_os_iphon","targetnam","target使用strong进行了修饰,block是会截获对象的修饰符的;","target(右键","target,将","target,选择","target;这两个方法的使用都比较直接简单,不太能整出花样。","task","task.diddisplay(self,","task.display(context,","tbd","tcl","tcls;","tcp","tcp&udp","tcp(传输控制协议)","tcp/udp区别以及udp如何实现可靠传输","tcphandshak","tcp。","tcp一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。","tcp不像udp一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。","tcp与udp区别总结","tcp主要靠停止等待协议实现的","tcp允许通信双方的应用程序在任何时候都能发送数据,因为tcp连接的两端都设有缓存,用来临时存放双向通信的数据。当然,tcp可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于mss)","tcp协议的特点","tcp和udp是osi模型中的运输层中的协议。tcp提供可靠的通信传输,而udp则常被用于让广播和细节控制交给应用的通信传输。","tcp和udp的比较","tcp提供全双工通信","tcp粘包","tcp粘包,拆包及解决方法、丢包的原因及解决办法","tech@bytedance.com","techniques》","telemtyp","temp","temp)","temp.left","temp.right","temp;","templat","test","test,","test[23738:8888825]","testing事件传递","testlaunchscreen(403)","testlaunchscreen(630)","testmod","test遍历视图栈里的视图,顺序为视图层次的逆顺序,用respond","test,test","text","text,","textur","text,data,linkedit,也支持自定义:","text,代码段,只读可执行,存储函数的二进制代码","text,代码段,只读可执行,存储函数的二进制代码(text),常量字符串(cstring),object","thing","this,","this;","thread","thread(pthread_self()),","thread.","thread;","thread_loc","threadcount);","threadcount;","threadcount表示使用该对象进行加锁的线程数","threadfactori","through","throw","tiger","tiler,调用顶点着色器,把顶点数据进行分块(tiling);","time).","time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。","time:","time_wait","time_wait状态也成为2msl等待状态。每个具体tcp实现必须选择一个报文段最大生存时间msl(maximum","timeout","timeout)","timeout);","timeout=49","timeout)时间","timeout:等待的超时时间(即等多久)","timer","timer(dbg_dyld_timing_objc_init,","timer(如果有)、sourc","timer;","timerport)","timers:","timer会唤醒","timespecfrom(date:","tintcolor","tintcolor)))","tintcolor),","tip","tips:catransact","tips:启动最佳时间是","titlecolor","tl","tls_get_direct(key);","tls_init();","tls_set_direct(sync_count_direct_key,","tls_set_direct(sync_data_direct_key,","tls,是一种在加密信道进行","tmp/com.apple.dyld","tnq","tnq.append(cur.right)","to:","todo:","togeth","tohandler:^id","token","tool]","top","topath:(nsstr","touch)、远程控制事件、硬件运动事件。","touchesbegan:touch","touchesbegan:withevent:","touchescancelled:","touchescancelled:touch","touchesended:touch","touchesended:withevent:","touchesmoved:touch","toview:subview];","tracing),用于定为","trackingmode,nstimer默认添加在defaultmode,所以不执行","transact","transactions)","transactionset","transactionset;","transaction。如果用户内存中的位图数据没有字节对齐","transaction,这个transaction会自动在主线程的下一个","transcationdeferred:transcation];","transcationfailed:transcation];","transcationpurchased:transcation];","transcationpurchasing:transcation];","transcationrestored:transcation];","transcationst","transform","transformer;","transformer。","transit","transpar","transport","tree","tree)","treenod","treenode(lst[0])","treenode(lst[i])","treenode)","treenode,","treenode:","tree)发生变化,会生成一个","tri","tricki","true","true);","true,","true,size_t","true/*allocwithzone*/);","true;","true。","true,rend","trylock(whencondit","ttl","tvos(9.0));","two","type","typedef","typeof(self)weakself","types包含了函数返回值,参数编码的字符串。通过字符串拼接的方式将返回值和参数拼接成一个字符串,来代表函数返回值及参数。","typically,","t查看.a","ubfx","udp","udp(用户数据报协议)","udp协议的特点","udp如何实现可靠传输","udp是面向报文的","udp没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如ip电话,实时视频会议等)","ugli","ui","uiapplic","uiapplicationdeleg","uiapplicationmain(argc,","uiapplication开始往下遍历到每个","uiapplication接收到事件,将事件传递给keywindow。","uiapplication,启动","uiblureffect,同样无法通过一次遍历完成,其原理在","uibutton","uibutton()","uicolor","uicolor(.dm,","uicolor)","uicolor,","uicolor,但是在","uicolor,并且可以根据系统的模式返回对应的颜色。","uicontrol","uievent","uigesture/处理屏幕旋转/发送给","uigesturerecogn","uigraphicsbeginimagecontextwithoptions([uiscreen","uigraphicsbeginimagecontextwithoptions(size,","uigraphicsendimagecontext();","uigraphicsgetcurrentcontext();","uigraphicsgetimagefromcurrentimagecontext();","uiimag","uiimageview","uiimageview的userinteractionenabled默认为","uiimage持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。","uiimage),消耗内存较多,所以应该在使用完及时释放,并在需要的时候重新生成,否则很容易导致","uiimage,但是可以根据当前的模式返回不同的","uiinitializationrunloopmode:","uikit","uikit。uikit","uikit会将这个conext推到系统的context堆栈中,如果在draw","uilabel","uinavig","uinavigationcontrol","uint16_t","uint32_t","uint64_t","uint8_t","uint8_t*)mh,","uintptr_t","uintptr_t*","uirespond","uiresponder是","uiscrollview","uistoryboard","uitableviewdatasourceprefetch","uitrackingrunloopmode:","uitrakingrunloopmode这两个mode,等于说这两个mode是具有nsrunloopcommonmodes标记的,因此都被添加进了_commonmodes,根据上面的代码,timer将不会被添加到某个具体的mode里,而是会被放入runloop的_commonmodeitems这个容器里。只要app运行在_commonmodes所包含的某个mode下,就会去处理_commonmodeitems里面的事件。当然,所运行的那个mode自己本身所包含的事件也是会被处理的,","uiview","uiview+webcach","uiview+webcacheoper","uiview.self,","uiview/calay","uiviewcontrol","uiviewcontroller.view","uiviewcontrollerd","uiviewcontroller没有hittest:withevent:方法,所以控制器不参与查找响应视图的过程。但是控制器在响应者链中,如果控制器的view不处理事件,会交给控制器来处理。控制器不处理的话,再交给view的下一级响应者处理。","uiviewcontroller的viewwillappear:和viewdidappear:不在同一次","uiviewcontroller需要可以安全的编写","uiview上,执行","uiview与calayer动画原理","uiview与calayer的区别?","uiview刷新与渲染机制","uiview如何显示内容","uiview的子视图也会遍历其subviews的hittest:withevent:方法,以此类推。","uiview的绘制原理","uivisualeffect,而是另外实现模糊效果(cigaussianblur),并手动管理渲染结果","uiwindow","uiwindow?)","uiwindowlevelstatusbar","ui、事件和转场等逻辑,将动态部分(网络请求)的发起逻辑写在转场结束之后。","ui事件唤醒","ui刷新(beforewaiting)","ui控件的绘制工作","ui视图","ui触摸事件与事件响应","unavailable,","unbalanc","unconfirm","understand","unfair","union","unit","unit,","unititems)","unitwithurl:self.request.url];","univers","unix","unknown","unlock()","unlock(withcondit","unlock];","unmap_imag","unmap_image);","unmapped)","unmapped);","unmapped;","unordered_map","unref_point","unref_pointers:","unref_symbl","unref_symbles:","unref_symbol","unref_symbol.startswith(filter_prefix):","unref_symbol.startswith(reserved_prefix):","unref_symbols.add(unref_symbol)","unref_symbols.remove(superclass_name)","unref_symbols:","unsign","until","untri","unus","unwind","up","updat","updateconstraint","updateconstraints()","updateconstraints()。这个方法和","updateconstraintsifneeded()","updatedtransactions:(nsarray","updatelength:self.downloadlength];","upvalues)","uri:(nsstr","url","url.absolutestr","url:(nonnul","url:url","url:url];","urlforresource:@\"file_name\"","urlwithstring:[paramet","url。","url,valu","url;如果","us","usag","usage)","used.","used;","userinteractionen","username=","usual.","uuid…","v","v1","v1.0","v1.0:","v2","v2.0:","v2;","v3.0:","v@:","val","val)","val:","valid","validoperationkey","validoperationkey;","validoperationkey。","validoperationkey,一般","valu","value)","value);","value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。","value,","value;","valueoptions:nspointerfunctionsweakmemori","values.","value——10","value保存到字典中","value,保存着","value,因为","value:被关联的对象","var","var_1;","var_2","var_3","var_4","variabl","variable)","vc","vc.view中间层,负责事件分发、响应链,","vc;","vc,","veri","version","version;","view","view,","view.backgroundcolor","view.layer.cont","view;","viewcontrol","viewcontrollerclass","viewcontrollerclass。否则会奔溃","viewcontrollerprefetch,增加额外复杂度。","viewcontrollerprerend","viewcontrollerprerender的逻辑分析解释为什么会有提速,在使用viewcontrollerprerender时,需要特别留意什么地方,以免掉入误区。","viewcontroller。","viewcontroller内部逻辑相同,详见","viewcontroller加载严选首页两种方式测试,保持","viewcontroller性能表现并不是瓶颈,所以目前业界对","viewcontroller的方式;第二次之后使用预热的","viewcontroller(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top","viewcontroller,但是不易过多,容易引起内存紧张","viewcontroller,因为","viewcontroller,如果第一次使用。","viewcontroller,池子,在必要时候","viewcontroller,然后再执行真实的","viewcontroller,隐藏的","viewcontroller,需要划分职责,在viewdidload里搭建框架,,而在另一个单独的接口如本","viewdidapp","viewdidiload","viewdidload","viewdidload()之后,整个","viewdidload];","viewdidload添加到主队列上,提交到主线程上执行.viewdidload执行到某个时段时候,同步提交一个任务到一个串行队列上面,由于是同步提交任务,意味着要在当前线程执行,所以串行队列提交的任务也是在主线程上面执行,串行队列任务在主线程上执行完之后,再继续执行viewdidload后面的任务","viewlayoutmarginsdidchang","viewwillappear:执行后启动);","view。","view布局与约束时机","view的应用","view等一系列控件颜色,","view绘制渲染机制和runloop什么关系","view)到窗口(uiwindow","view,uidropshadowview,uitransitionview。","view,使用","view,只能通过替换","view,右边打开","view,那么系统就会把这个","void","void(^block)(void)","void(^clblock)(void);","void(^clblock)(void);//➕➕➕","void*)()","volatil","vritual","vs","vs.","vsync","vtabl","vtable,加速方法的调用","v是指用户界面,","wait","wait()","wait(until","wait操作会阻塞线程,使其进入休眠状态,直至超时","wait状态不等待一段时间,而是发送完ack报文段后立即释放连接,则无法收到服务端重传的fin+ack报文段,所以不会再发送一次确认报文段,则服务端无法正常进入到closed状态。","wakeupport","want","warc","warn","warning.","warning,建议程序员自行修正不对齐的指针。不过","watchos(2.0),","way","wc","weak","weak_entri","weak_entry_for_refer","weak_entry_for_referent(weak_table,","weak_entry_remove(weak_table,","weak_entry_t","weak_entry_t,然后对其弱引用指针进行操作。","weak_inline_count","weak_referrer_t","weak_referrer_t;","weak_register_no_lock","weak_register_no_lock(weak_table_t","weak_tabl","weak_table;","weak_table_t","weak_unregister_no_lock","weak_unregister_no_lock(&oldt","weak_unregister_no_lock(weak_table_t","weakcach","weakcachelock","weakcache(stong","weakcache(strong","weakivarlayout;","weakly_referenc","weakly_referenced:对象是否被指向或者曾经指向⼀个","weaktabl","weaktable在每个sidetable中以结构体","weak修饰时,runtime会维护一个hash表(也称为weak表),用于存储对象的所有weak指针,hash表的key是该对象的地址,value为weak指针的地址(这个地址的值是所指对象的地址)数组。(备注strong是通过runtime维护的一个自动引用计数表)","weak关键字:","weak对外界的对象进行强引用或者弱引用。","weak的实现原理","weak的实现原理总结:","weak置空原理","weak)又存储了一份缓存。","weak:","webp","webview","weird","whatev","whether","which)","while(*appl","while循环。","whose","why'","why)","why?","width","will/didfinishlaunch,这里主要是业务代码耗时","willfinishlaunch","willfinishlaunchingwithoptions:(nsdictionari","willmove(towindow:)","window","window)","window:","window,才会触发预热","witherror:(nonnul","withev","withevent:(nul","withevent:(uiev","withevent:event];","withextension:@\"txt\"];","withmodule:self.class]","withobject:","withobject:nil","without","wl,","wno","won't","workarounds/)","workflow","workingrelease];","workqueu","workspac","world","world\",","worth","write","writedata:data];","write,class_ro_t","written","wundeclar","wwdc","wwdc18","wwdc2014","w开头的,指的是编译的警告选项,通过这些你可以定制化编译选项","x","x,","x0","x0,","x1,","x10","x10,","x11,","x13","x13,","x16","x16,","x17","x17,","x86_64","x86_64制定了编译的架构,类似还有arm7等","x86,x86_64,arm,arm64","xcconfig","xcode","xcodebuild","xcodeproject,然后配置编译期脚本,来保证三方库能够正确的编译连接。","xcode,然后编译,你会在这里看到编译时间。","xcode,终端输入以下指令","xcrun","xib","xib,图片等资源文件到结果目录","xml","xpc","xxx","xxxx;","xxxxx;","xxx;那么self.mybutton其实是操作的实例变量xxx,而不是_mybutton了。","y","ye","year","yellow”","yes)","yes);","yes,","yes,隐藏的视图.","yes/*cache*/,","yes;","yes。","yes。这样做,可以只编译当前的版本,比如","yes,会将其存入","yes,新建下载任务并将其保存在","yes:先确认存储类型是否为原始数据,存储时如果","yet.","yyasynclay","yyasynclayer.h","yyasynclayerdeleg","yyasynclayerdisplaytask","yyasynclayerdisplaytask是绘制任务管理类,可以通过willdisplay和diddisplay回调将要绘制和结束绘制时机,最重要的是display,需要实现这个代码块,在代码块里面写业务绘制逻辑。","yyasynclayergetdisplayqueue()","yyasynclayergetdisplayqueue()方法如何获取的异步队列,也先不用管iscancelled()判断做的一些提前结束绘制的逻辑,这些后面会讲。","yyasynclayer原理","yyasynclayer基于异步绘制:","yydispatchqueuepool","yykit的yymemorycach有使用到pthread_mutex","yyrunloopobservercallback(cfrunloopobserverref","yyrunloopobservercallback,","yysentinel","yysentinel.h","yytext","yytransact","yytransaction()","yytransaction.h","yytransactionsetup()","yzappdeleg","yzggoodsmodel,开单模块将其强转为","yzsgoodsmodel","zero","zh_cn):","zip","zone","{","{...}","{//push了一个空的池子","{//临时作用域开始","{//倒序遍历,最先访问最后编译的分类","{//如果set方法传值不是nil","{_rethrow","{default","{default\\","{number","{}","{}中代码","{}嵌套在一起,就可以按照同样的规则来拆解","{}的情况,那么如果有多层@autoreleasepool","|","|=","||","}","}()","});","}//临时作用域结束","};","}];","}_fin_force_rethow(_rethrow);","}else{","}struct1;","}struct2;","}struct3;","};","~","~/library/developer/xcode/deriveddata/","~__atautoreleasepool()","~_fin()","~_sync_exit()","·","–","—","——","——uivisiualeffectview","“","“;”","“color","“precomposite”","“updat","“切圆角”","“剪”","“危险代码”","“同名”","“启动闭包(launch","“圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如:","“如何在保证开发质量和效率的前提下做到无代码依赖的跨模块通信”。目前业界常见的模块间通讯方案大致如下几种:","“完善”","“懒惰的符号解析”","“新开一块","“无法生成启动图,因为当前应用不支持任何有效的方向”,此种情况下系统生成启动图时机为首次启动应用时,大家可以自行实验下。","“每一帧都需要离屏渲染”","“没有绝对正确的架构,只有最合适的架构”","“画家”","“画家算法”,按次序输出到","“的形状一致,这就意味着需要先知道","“的操作,有很多文章和视频也称之为","“砸壳”,砸的就是这一层","“离屏”,但是通常提到的离屏渲染是发生在","“离屏渲染”。","“离屏渲染”(因为像素数据是暂时存入了","“空间换时间”","“组件”。","“网络层”","“覆盖”","“覆盖”,宿主类的同名方法还是存在","“转发层”","“软件渲染”,而真正的离屏渲染发生在","“面向协议编程”","“,把每一层依次输出到画布","”","…","……","………………(省略,节省篇幅)","→","↓","√默认关键字","①","①objc_initweak","②","②storeweak","③","③weak_register_no_lock","④append_referr","└──","├──","▐","⚠️","⾃旋锁避免了进程上下⽂的调度开销,因此对于线程只会阻塞很短时间的场合是有效的","、","、double等元素,那b应该从8的整数倍开始存储。)","、initi","、properti","、sdimageloaderprogressblock。","。","。[注意是用assign关联对象(@property中用assign也会导致崩溃)]","。不需要考虑数组中超出新长度后面的元素。","。其中的","。其中,文件编号和上文的编号对应","。即o(log2n)","。在保存图片时,为了节省空间,通常会将图片编码(压缩)后再进行存储。如果读取的图片数据为压缩后的数据的话,那就需要对其进行解码成位图(bitmap)数据。","。它会给有内容更新的视图设置一个内部的标记,但在视图重绘之前就会返回。然后在下一个","。接下来如上面","。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。","。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它做错误的解释。","。(i>=1)","《core","《effect","《图解http》知识点摘录","」设计思想","【``run】","【arc环境","【launch】,将其设置为【wait","【译】object","一.","一、如何优化","一、背景","一、背景和问题","一个autoreleasepoolpage节点对应着一个线程,属于一一对应关系。","一个autoreleasepoolpage节点最大的位置","一个runloop对象里面包含了若干个runloopmode,runloop内部是通过一个集合容器_modes来装这些runloopmode的。","一个uiimageview添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?","一个为uiimageview提供一个分类来支持远程服务器图片加载的库。","一个值得注意的是,多线程处理时,对应线程可能使用相同的obj","一个典型的例子是,我们经常会使用","一个启动闭包缓存服务:系统","一个类的内部结构如下,","一个自动变量(auto)的存储空间位于函数栈空间上,在函数开辟栈空间时被创建,在函数结束时销毁,而block的调用时机有可能发生在函数结束之后的,因此就无法使用自动变量了,所以在block一开始定义赋值的过程里,就将自动变量的值拷贝到他自己的存储空间上。","一个自定义的","一个视图的布局指的是它在屏幕上的的大小和位置。每个","一个视图的显示包含了颜色、文本、图片和","一个证书中含有三个部分:\"证书内容,散列算法,加密密文\",证书内容会被散列算法hash计算出hash值,然后使用ca机构提供的私钥进行rsa加密。","一个进程(程序)的所有任务都在线程中执行,每个进程至少有一个线程(主线程)。线程是cpu调度(执行任务)的最小单位,其实质就是一段代码(一个任务)。","一个进程内的引擎,来运行启动闭包:它所做的一切是验证启动闭包,将动态链接库映射出去,然后跳转到","一个进程外的","一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉,所以多进程要比多线程健壮","一些列","一些可忽略不计的操作都会引","一些推荐阅读","一启动就会","一套通用的多线程api","一定会触发离屏渲染吗?","一定要使用","一对多的通知广播。比如","一小段时间再回到主线程上执行,对于性能较差的设备,主线程","一开始,栈空间的block有一个__block_byref_a_0结构体,","一张包含很多内容的表","一文看懂https、证书机构(ca)、证书、数字签名、私钥、公钥","一旦有可用数据,就通过delegate的方式一直回调,通知response类有可用数据。","一旦缓存超过","一样有","一样,也没实现initi","一样,但优先级比","一棵典型的二叉树如下图所示:","一次","一次完整的http请求所经历的7个步骤","一次性执行","一次(父类的","一步一步带你揭开main函数之前的面纱","一目了然,只是将集合中的任务分别执行。","一看便知,该类扮演的是计数的角色,值得注意的是,","一系列以","一般会用","一般可以将编程语言分为两种,编译语言和直译式语言。","一般在创建单例对象的时候使用","一般在开发过程中我们使用全局队列","一般情况下,对被截获变量进行赋值操作需要添加","一般我们需要对现有的类做扩展,可以通过继承、类别等方式去实现;当我们使用类别的方式扩展,如果对现有的类增加属性的话,编译器是不会生成实例变量;类别的结构体中没有ivar的结构体,同时类的ivar设计的是一个const","一般来说造成卡顿的原因,就是cpu负担过重,响应时间过长。主要原因有以下几种:","一般来说,我们就像下面的示例一样来使用:","一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象","一起返回。","一道多线程安全的题目","七,prerend","三.","三、dyld","三、yysentinel","三、业界常见模块化方案","三、互斥锁","三、解决方案","三次握手","三次握手和四次挥手","三次握手的其中一个重要功能是客户端和服务端交换","三次握手过程中可以携带数据吗?","三次握手(three","上","上。","上一次提交的","上下载源码。","上不会跟随设备方向旋转,但","上也有复现);","上介绍","上传","上删除该缓存目录,发现同样无权限。","上半部分,所有阶段是线性的;下半部分,可以做到并行,尤其是第三个","上可以使用系统自带的","上可执行文件的格式,","上图中大致流程为,检测到无可用缓存启动图,预热","上图第","上大部分系统","上宣布自","上对第三方","上执行,所以执行效率很高。","上执行,所以执行效率较高。","上文提到了,dysm","上文提到的文件","上是需要支持设备方向旋转,所以我们的处理是:","上曾经介绍过版本控制系统必须具有的三个特性:","上滚动(layoutsubview","上的","上的修改打包,一起发给","上的修改,合并成一个事务,通过","上的大部分","上的方案涉及到图片宽高获取,而相信大家阅读到这里也知道了缓存图格式有ktx,但该图片无法直接使用uiimage接口进行加载,这里我们通过多机型、多系统地查看了ktx图片的元数据,发现总结其中的规则,通过取固定段的字节计算其宽高,或直接使用imageio相关的接口可以获取其宽高,参考:","上的更改。用户交互和布局更新间的延迟几乎不会被用户察觉到。io","上的演讲就此嘲讽过","上的过程。","上被调用)","上设置","上这几个类相互之间的关系,可以通过如下的图来描绘.","上述bucket_t列表我们称之为散列表(哈希表)","上述三点中的后两点是非常容易理解的,虽然很多人可能会疑惑为什么性能对于一个日常使用频率不高的版本控制工具如此重要,但是没有人拒绝性能的提升(尤其是在免费的情况下)。","上述代码在外层加个for循环,问输出结果?","上述代码系统内部会自动三件事:","上述函数会根据当前传入的类的是不是一个元类,在_class_resolveinstancemethod和_class_resolveclassmethod中选择一个进行调用。注释也说明了这两个方法的作用就是判断当前类是否实现了","上述图像渲染流水线中,除了第一部分","上述方法分三种情况选择不同的代码执行:","上述源码中,method_array_t、property_array_t、protocol_array_t其实都是二维数组,来到method_array_t、property_array_t、protocol_array_t内部看一下。这里以method_array_t为例,method_array_t本身就是一个数组,数组里面存放的是数","上述的几个特性对于一个好的版本控制系统来说缺一不可,我们会依次介绍它们的重要性以及","上述过程中有几个比较重要的函数:","上述问题在团队规模扩大,新同学到来时格外明显,经常需要答疑讲解。甚至有一次业务项目时间特别紧张时,有些小伙伴私下更改模块间头文件","上面代码一运行就会崩溃,原因是因为在某一瞬间testarray释放了为nil,但哈希表中存的对象也变成了nil,导致synchronized无效化","上面判断了并不会为空","上面打上一个脏标记","上面方法里的","上面有提到一个集合:","上面的","上面的流程可能是这样的:","上面的测试代码,在12之前输出:","上面的视图中subview1、subview2、subview3是同级视图,都是superview的子视图。我们给subview1加上uitapgesturerecognizer手势,并且通过subview1action:方法接收回调,点击上面的subview3后,方法调用如下。","上面讨论block对于局部变量的处理,在看一看对于全局变量,情况又是如何","上面讲了两个很大的坑,接下来看一看","上,人们必须使用第三方的封装函数来适配标准的","上,我们通过代码仅生成竖屏启动图,然后直接替换全部的缓存启动图,即启动时不管设备方向如何,展示的始终为竖屏启动图;","上,我们通过代码同时生成竖屏及横屏启动图,接着分别使用这两张图进行替换,同时在替换时进行校验,只有当替换的启动图与缓存启动图宽高一致时才执行,即竖屏只替换竖屏、横屏只替换横屏。","上,是","上,由于有","下","下clperson","下一个main","下一步是调用","下不会被禁用","下图是","下次使用缓存","下载","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做","下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做“砸壳”,砸的就是这一层","下载微信,然后获得","下载数据","下载结束后回到","下运行的。","下面","下面也有详细列出.","下面再看看结构体__block_byref_a_0的构造","下面列举一些常见的","下面找","下面指向的操作会改变旧值","下面来看一下主队列和全局队列的使用情况:","下面的一段代码是在开发中常见的weak的使用","下面的代码输出什么?","下面的情况呢","下面看看回调里面做了些什么:","下面这段代码要求使用信号量来按序输出(当然栅栏函数可以满足要求)","不一样,并不是指向父类的指针,只是一个","不为","不会与即将进行的操作发生冲突。保证当前的控件上有且只有一个最新的任务。","不会启动;","不会开启线程","不会等待异步操作完成;","不使用context作为观察值","不使用栅栏函数","不允许多继承,基于","不分配","不只uibutton是直接由uiapplication派发事件的,所有继承自uicontrol的类,都是由uiapplication直接派发事件的。","不可变","不可用。但是和是否在屏幕可见没关系","不可靠传输,不使用流量控制和拥塞控制","不可靠性","不同","不同产品的业务形态不一样,对于抖音来说,首页的数据加载完成就是视频的第一帧播放;对其他首页是静态的","不同加载图片的方式,在这一步的操作上会有一定的差异。","不同的","不同的扩展程序,所以在","不同类中相同名字的方法,所对应的方法选择器是相同的。","不同系统、不同机型测试,均有复现,排除该问题只发生在特定机型或系统上;","不在正在运行的","不多","不存在继承","不存在,我们需要创建一个对应的syncdata。最后创建","不宜占用太多主线程资源,避免对当前界面打开产生负面影响。","不对交易信息做处理。","不影响","不接","不擅长做这件事,所以我们需要尽量避免它,就误以为这就是需要避免离屏渲染的原因。但是根据苹果工程师的说法,cpu","不支持在本地提交文件,这一点背后的设计哲学就与","不支持弱引用,该过程需要暂停","不改变修饰对象的引用计数","不断增加了平台和架构:dyld2","不是在内存峰值时候释放","不是当前监听的","不是被","不是触点view,则","不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说","不满","不用担心,我从来不会只讲原理不留源码,我已经将我司的源码整理出来,你使用时只需要拽到工程中就可以了,下面开始我们的内容","不用等待当前语句执行完毕,就可以执行下一条语句","不直接做成散列表呢,做成list,还要单独缓存,多费事?","不相等。第三次","不相等。第四次循环之后,退出循环,所以第三行的","不相等。第四次循环,nsobject","不着急","不等,第二次","不管是创建上下文、重绘带来的内存重新分配、ipc","不管是类对象还是元类对象,类型都是","不能为系统类添加扩展","不能使用非oc对象作为加锁条件——id2data中接收参数为id类型","不能直接给","不要使用额外的数组空间,你必须在","不论在任何内存位置,都可以顺利访问同一个__block变量.","不设置背景色","不过是初始配置并且将任务装入集合。","不过,与平衡树不同的是,红黑树在插入、删除等操作,不会像平衡树那样,频繁着破坏红黑树的规则,所以不需要频繁着调整,这也是我们为什么大多数情况下使用红黑树的原因。","不过,如果你要说,单单在查找方面的效率的话,平衡树比红黑树快。","不需要分配新值","不需要查找缓存,直接进入下载。","与","与meta","与uiview不同,calayer着重于图层的绘制,大致为以下职能:","与一个","与一个页面绑定,需要时通过","与其他版本控制工具的对比文章和讨论都已经有着相当久的年头了,我们目前面对的开发场景与几年前有很多不同,而这些不同的版本控制工具也各自演化,不过作者始终认为","与其所有子结构组合之后的形状。更关键的是,阴影需要显示在所有","与启动又有什么关系呢?","与本身不等。接着第二次循环判断","与离屏","与路由","丑了点,但的确保持了平衡。","专门用于储存小对象","专题","且","且tls无需锁保护,","业务功能的大部分资源可以通过无损压缩控制体积,体积不大的资源允许一定程度上的重复。","业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能","业务模块化时机","业务模块化的效果之一就是个业务模块可以单独打包,放入壳工程运行。很容易想到的一个改造就是把各个模块拆到不同的","业务模块化设计通过对各业务模块的解耦改造,避免循环双向依赖,达到提升开发效率和质量的目的。但业务需求的依赖是无法消除的,所以模块化方案首先要解决的是如何在无代码依赖的情况下实现跨模块通信的问题。io","业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自","业务逻辑回调","业界的","业界里,蘑菇街的","两个成员不用多说,第一个是为了防止竞争选择的自旋锁,第二个是协助对象的","两个段存在:__text存函数二进制,cstring存储字符串","两个理由:","两大模块组成。前者负责与","两种模式设置预处理宏。","两者是没有关系的,可以这么理解:","两颗星星,一个)","严格说来,上图中的","个","个.","个mnperson","个串行队列实现并发","个串行队列来调度,而不用一个并行队列。","个任务,也就是最多有","个元素,里面存储了sidetable,元素的内容为","个动态链接库,所以这个步骤包含了较大的工作量。","个动态链接库,这个方法会浪费大量内存。所以苹果预计在未来的版本中废弃这个方法,同时苹果将会提供相应的替代接口。","个字母组成的","个左右),所以我们为每个模块创建了一个","个线程是相互不竞争","个组件的结合:","个结点的完全二叉树从上到下且从左至右进行","个绘制任务时,可以开辟多个线程在后台异步绘制,绘制成功拿到位图回到主线程赋值给","个节点","个节点的二叉查找树,正常的情况下,查找的时间复杂度为","个节点的平衡树,最坏的查找时间复杂度也为","个项目要","个,所以对启动速度的影响可以忽略不计。而且前文提到,每个模块本来也需要注册自己的外观类(modul","中","中,","中”","中。","中。好处很多,比如单独的权限控制,独立的版本号,万一发版时发现问题可以及时","中。管理非常方便规范,别的模块","中。这就是","中不同模块的开发发版节奏也基本一致,所以多","中不符。苹果对旧的二进制做了一些兼容,但是链接器将会禁止新的二进制使用这些方案,所以可能会出现链接错误。","中业务模块数量不会很多(我们几个","中仅添加一张背景图,给其设置约束铺满全屏,竖屏时正常显示,但横屏时就异常了。(ps:大家可以关闭系统旋转锁定,参考横屏冷启淘宝及微信的解决方案)有一种解决方案是","中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在","中使用","中修改多个模块的代码。修改完成后,要多次执行提交、打版本号以及集成测试等操作,很不效率。同时因为涉及到多个","中共生成四张截图,分别为对应着浅色主题下竖屏启动图、浅色主题下横屏启动图、深色主题下竖屏启动图、深色主题下横屏启动图,竖","中具体的方法可以帮助避免或者可以调试这类问题。下面的图展示出了","中列出的需要加载哪些库文件","中创建一个","中利用","中包含了类信息、对象的引⽤计数等。","中取出","中只有一个","中叫做","中可以定义一个可失败的初始化器(failabl","中可以找到","中可以看到","中可以自由调整","中同步或者异步地执行磁盘查询。","中同步的返回一个预先被渲染的","中声明其数据结构:","中声明的。","中存储的内容大致如上图所示","中实现了","中对于如何选择圆角渲染策略的流程图,非常实用","中对这些操作进行了改进。这就可能导致","中寻找。以此类推,直到根类","中就会重绘,而不需要显式的","中已经取不到这个对象了。为了解决这个问题,sdmemorycach","中序遍历","中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。","中我们也有详细讲述过","中所支持的设备方向决定。如果在","中找到","中找到了_objc_sync_ent","中找到更详细的解释:","中接口改变导致的依赖模块的修改,其实成本很低,改起来很快。此时我们开始思考之前追求的编译隔离是否适合当前阶段,是否有实际价值。","中接触","中提到:","中插入脚本,来做一些定制化的构建,比如","中放入所需的初始化代码。可以在合适的地方将初始化","中方法的结构","中显示。","中更新,就在系统调用视图们的","中有","中有一个","中未使用的类,源码链接:xuezhulian/classunref。","中未勾选任何方向,那么系统会输出","中某些行为的结果和","中每个类本身也是一个对象。如上面所看到的,这意味着类结构也必须以一个isa指针开始,从而可以和objc_object在二进制层面兼容,之后这个结构的下一字段必须是一个指向父类的指针(对于基类则为nil)。","中比较多)中有这样一张图:","中注册了一个","中注册了两个回调","中注册并保存了","中添加","中添加了","中添加了一个","中用于处理用户事件的","中的","中的一个方法,这个方法会返回","中的一篇文档。","中的两个配置项:","中的代码会执行一些操作,比如创建和调整视图层级、设置","中的代码在多线程的情况下线程安全","中的元类(meta","中的函数指针中","中的参数。","中的变化","中的各个段进行了二级划分,","中的多张弱引用散列表。","中的大部分只是一个常规的","中的对象,它仅包含一个","中的属性在运行期间就不能改变了,再添加方法时,会修改","中的指定初始化器会在后面被ns_designated_initializer修饰,以下为nsobject","中的方式。","中的方法,属性以及协议列表均为空。这时需要","中的方法:","中的方面名称。","中的更新延迟。但是由于在处理事件和对应","中的某时刻的","中的渲染逻辑。以下是我根据自己的理解画的","中的源码如下:","中的类型强转风险也没有了。","中的缓存判断),这里判断了其指针指向的类对象是否有效,无效直接释放,不再往深层调用函数。","中的调用顺序?以及出现继承时他们之间的调用过程?","中的这些","中的那些方法。所以我们定义了一个继承","中的预绑定被抛弃了。","中看到(中间代码省略):","中移除,调用","中类也是一个对象。","中给出了官方计算方式:","中继续添加就可以了","中能被攻击的部分,并且能提升","中自动开启了。","中苹果的解释,mask","中获取到被缓存对象,就算对象被释放,因为弱引用也不会造成野指针问题。这是典型的","中被调用;","中设置新","中说","中读取生成好的","中读取,很有可能读取的时候还没有注册。","中调用了","中通过编译设置","中间代码:codegen","中预设一些脚本(checkpod","中(或者叫消息转发层)。这样危险代码只存在某几个文件里,可以特别地进行","中,class","中,ivar_t","中,mach","中,objc_class","中,一切都是在","中,其成员","中,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手","中,初始化的时候不需要保证所有属性(成员变量)都有值","中,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值","中,可以使用required修饰初始化器,来指定子类必须实现该初始化器。需要注意的是,如果子类可以直接继承父类的指定初始化器和便利初始化器,所以也就可以不用额外实现required修饰的初始化器","中,在初始化方法前面添加了一个自定义的枚举","中,如果子类没有直接继承父类的指定初始化器和便利指定初始化器,则必须实现父类中required修饰的初始化器","中,如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。必须重写旧的定初始化器,在里面调用新的指定初始化器","中,如果存在继承,并且子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,那么就需要新创建一个指定初始化器,或者重写父类的指定初始化器,并且在里面调用父类的指定初始化器","中,子类会直接继承父类所有的初始化方法","中,子类可以把父类的指定初始化器重写成便利初始化器","中,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器,那么就不会继承父类的指定初始化器和便利指定初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器","中,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利指定初始化器","中,对象的方法并没有存储于对象的结构体中(如果每一个对象都保存了自己能执行的方法,那么对内存的占用有极大的影响)。","中,必须在初始化完成后才能调用实例属性,调用实例方法","中,我们可以看出它真正创建的是一个","中,我们甚至不需要打开一个单独的文件;对于第三方","中,搜索","中,方法实质上是一个","中,方法的调用采用如下方式:","中,曾发生过好几次小伙伴改别人的模块改出问题的例子(虽然有","中,根据下载","中,滚动的每一帧变化都会触发每个","中,类实际上是一个","中,类本身也是一个对象。objc_class","中,系统会遍历所有已标标记的视图,并调用它们的","中,系统就会执行这些","中,维护了一个","中,缺失符号会导致","中,苹果发布了","中,苹果已经介绍了从","中,苹果给","中,设备主存和","中,选择","中,通过","中,都可以有多个指定初始化器和多个便利指定初始化器。如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器","中,都需要在便利初始化器中调用指定初始化器","中,除了","中,需要一直等到","中,首次调用缺失符号时","中,默认大部分的尺寸是全屏。","中:","串行&同步线程0","串行&同步线程1","串行&异步线程0","串行&异步线程1","串行/并发和同步/异步的排列组合","串行队列","串行队列:任务一个接一个的执行","串行队列同步执行,既在当前线程中顺序执行","串行队列异步执行,开辟一条新的线程,在该线程中顺序执行","串行队列:线程执行只能依次逐一先后有序的执行,等待上一个执行完再执行下一个","为","为下载","为下载的","为为一个对象分配内存,初始化实例变量后,在这些对象的实例变量的结构体中的第一个就是","为了保证客户端发送的最后一个ack报文段能够到达服务器。因为这个ack有可能丢失,从而导致处在last","为了对比,我们再分别看一下下面三种","为了执行这个简单的函数,系统要额外付出两次","为了有依据的推断响应事件的实现和传递机制,我们做以下测试。","为了节约空间","为了解决这个问题,作者使用了大量的判断来及时的结束无用的绘制,可以看看源码或者是上文贴出的异步绘制核心逻辑代码,会发现一个频繁的操作:","为了调用class里的方法,该class的isa指针也必须指向一个包含了该class方法列表的class。","为了避免一个","为了防止一些三方库的误伤,还可以去过滤一些前缀,或者是是仅保留带有某些前缀的类。","为了防止切换到","为了防止这种情况,数字证书就出现了,它其实就是基于上上面所说的私钥加密数据,公钥解密来验证其身份。","为什么","为什么time_wait状态需要经过2msl才能返回到close状态?","为什么不直接使用业界的","为什么不直接用一张sidetable,而是用sidetables去管理多个sidetable?","为什么二方库在出静态库的时候要选择","为什么会产生离屏渲染?","为什么你应该使用","为什么分类会","为什么我们在开头我们说","为什么我们要在使用","为什么既要使用一个extra_rc又要使用sidetables?","为什么有了二叉查找树/平衡树还需要红黑树","为什么有了平衡树还需要红黑树?","为什么苹果需要引入","为什么要使用","为什么要引入关联对象?","为什么要设计metaclass","为什么要进行三次握手","为什么返回数值是整数,但输出的答案是数组呢?","为什么这么设计(why’","为什么这样呢?大家可以想一个问题,假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的","为什么闭包能提高启动速度呢?","为什么需要三次握手,两次不行吗?","为什么需要异步绘制?","为何要避免离屏渲染","为例","为例.","为例,","为例,你可以在","为例,我们来看下构建流程:","为协议遵循者提供默认实现。譬如某个协议定义了多个方法,有必要为这几个方法提供默认实现;具体做法是定义一个类(假设为","为啥打印三次呢","为图形处理器制的缓存生成一个独一无二的标识符。","为图片裁剪圆角","为子系统中的一组接口提供一个一致的界面,","为它的右子树后,根节点的左右子树高度差为","为尽量减少拷贝粘贴频率,我们将每个模块对外提供的接口服务,路由定义,通知定义,以及复杂对象","为引用计数。","为当前定的缓存分配并初始化","为我们提供了便捷方法用于返回其中的","为接下来的运算使用一个缓存。","为无序区。(i从1开始)","为根节点的树,明显右边太重,左边太稀,想要保持平衡就","为根节点,当添加","为止。如果找到返回,否则进入第","为消息的接收体,它可能是一个对象,也可能是一个类。若为对象,则是实例方法(","为索引所存储的值地址","为维度定义了构建的流程。可以在","为这个方案提供了对应的解法:shouldrasterize。一旦被设置为","主二进制,找到","主方法。传入一个","主程序代码","主程序已经实例化完毕","主程序的实例化就已经完成了","主线程可以做其他工作","主结构体__main_block_impl_0的变化","主要会做两个大的初始化:","主要使用的api:","主要函数","主要包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。","主要处理几种任务:source0,source1,timer,gcd","主要方法","主要是和系统加载、链接有关*/","主要是因为并行队列无法精确的控制线程数量,很有可能创建过多的线程,导致","主要有两个版本:dyld2","主要解决","主要进行了istaggedpointer和deallocating条件判断","主要需要保证报文无差错,不丢失,不重复,按序到达。","主队列","主队列&异步线程0","主队列&异步线程1","主队列:跟主线程相关的队列,主队列里面的内容都会在主线程中执行","主队列同步执行,会造成死锁(’主线程’和’主队列’相互等待,卡住主线程)","主队列和全局队列单独考虑,组合结果以总结表格为准","主队列异步执行,不开辟新的线程,顺序执行","主队列:绑定主线程,所有任务都在主线程中执行、经过特殊处理的串行的队列","举一个基于链接优化启动速度的例子:","举个例子:","举个例子:一个","举例","之前不要设置","之前会先调用父类的","之前对","之前就已经被预编译,并且引入到每一个.","之前的业务模块化方案没有使用","之前调用的,以前我们很难调试它们。而现在,这个工具能提供每一个静态初始化程序的时间,帮助我们找到耗时最长部分。","之前,会先调用父类的","之前,首先我们来回顾一下","之后","之后会去加载可执行文件,二进制文件常被称为","之后会进行裁剪","之后再写入到","之后对其置为","之后有一个偏移量","之后的","之后进入重点,那就是开始从缓存中读取图片:","之后进行一系列的传递会传递到最深层的方法:","之后,gpu会渲染对齐后的位图数据,展示在屏幕上。","之后,一样发送一个","之后,会发送","之后,在","之后,就会处于","之后,并且没有任何操作向系统表明需要刷新视图,那么就不会调用","之后,系统的设计风格慢慢从扁平化转变成圆角卡片,即刻的设计风格也随之发生变化,加入了大量圆角与阴影效果,如果在处理上稍有不慎,就很容易触发离屏渲染。为此我们采取了以下一些措施:","之后,轮到mnteacher","之后,首先会执行","之外的平台,dlclose()","之所以能成功是因为","之所以花这么大篇幅讲原理,是因为任何优化都一样,只有深入理解系统运作的原理,才能找到性能的瓶颈,下一篇我们会介绍下如何利用这些原理解决实际问题,欢迎关注~","之所以要引入","之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如","之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。","之间是一一对应的,其关系是保存在一个","之间的上下文切换。如果无法避免,也可以通过有效利用","之间的约束","也不会卸载。所以在","也不会引起编译问题,连改名这一步都省去了。以商品模型为例,为它定义一个","也不允许不对齐的结构体。这些都对启动时间的优化有一定帮助。","也不等。","也会编译,编译后加载速度会变快","也会通过其","也可以通过sel_getname()和nsstringfromselector()将sel转成字符串","也在","也将会使用","也就是","也就是我们这里的","也就是说","也就是说弱绑定一定发生在","也就是说,同样是给颜色进行赋值,但是","也就是说,树的两个左子树的高度差别不会太大。","也就是说,第一次握手不可以放数据,其中一个简单的原因就是会让服务器更加容易受到攻击了。而对于第三次的话,此时客户端已经处于","也就是递归进行符号绑定的过程","也就简单明了了.","也收不到支付成功的通知,就没法通知","也是在这一步生效","也是将事件转发到","也有一个指向自己的父类的指针","也有了?","乱序执行,开辟线程","了。同时因为用的是同一个协议对象,所以","了。这时候很多动态库还没有加载进来,会首先对这些动态库","了吧,程序一运行,runtim","了解了系统函数的整个加载过程","了解系统对结构体内存对齐的原则后,我们回过头再看一下文章一开头的三个结构体lgstruct1、lgstruct2和lgstruct3。","了,未来第三方","事件。","事件。这个","事件传递","事件传递优先级","事件到来后先会执行hittest和pointinside操作,通过这两个方法找到第一响应者,这个在上面已经详细讲过了。当找到第一响应者并将其返回给uiapplication后,uiapplication会向第一响应者派发事件,并且遍历整个响应者链。如果响应者链中能够处理当前事件的手势,则将事件交给手势处理,并调用touches的cancelled方法将响应者链取消。","事件响应","事件响应链","事件响应链&runloop原理","事件响应链&原理","事件处理机制与图像渲染过程","事件并由","事件开始时,就已经完成","事件循环指,没有消息需要处理时,休眠以避免资源占用,有消息需要处理时,立刻唤醒","事件拦截","事件控制","事件机制","事件源,让线程不退出一直保活。直到","事件的主要由:响应连","事件的生命周期","事件转发","事件逐级传递","事件通过uitouch进行传递,在事件到来时,第一响应者会分配对应的uitouch,uitouch会一直跟随着第一响应者,并且根据当前事件的变化uitouch也会变化,当事件结束后则uitouch被释放。","事件,回调去执行一个很长的函数:","事件,回调去执行一个很长的函数:ca::transaction::observer_callback(__cfrunloopobserver*,","二.","二、dyld","二、什么是业务模块化(组件化)","二、自旋锁","二、问题分析定位","二分查找排序是稳定的,不会改变相同元素的相对顺序。","二分查找插入位置,因为不是查找相等值,而是基于比较查插入合适的位置,所以必须查到最后一个元素才知道插入位置。","二分查找插入排序的原理:是直接插入排序的一个变种,区别是:在有序区中查找新元素插入位置时,为了减少元素比较次数提高效率,采用二分查找算法进行插入位置的确定。","二分查找插入排序耗时的操作有:比较","二分查找最坏时间复杂度:当2^x>=n时,查询结束,所以查询的次数就为x,而x等于log2n(以2为底,n的对数)。即o(log2n)","二分法插入排序","二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i","二叉搜索树与平衡二叉树","二叉查找树","二叉查找树、平衡树(avl)","二叉查找树中序遍历得到结果是递增排序的结点序列。","二叉查找树又称二叉搜索树,二叉排序树,特点如下:","二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图","二叉树","二叉树基础","二叉树定义","二叉树性质","二叉树排序","二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。","二叉树特点","二叉树的中序遍历","二叉树的前中后序遍历的非递归实现","二叉树的前序遍历","二叉树的后序遍历","二叉树的存储结构","二叉树的访问次序可以分为四种:","二叉树的遍历一个重点考查的知识点。","二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。","二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。","二叉树遍历","二叉链表","二次封装的","二维数组(","二进制文件的内容","二进制文件,并且完成了所有符号查找的工作;最后它将这些工作的结果创建成了启动闭包。这是一个普通的","二进制重排","二进制重排原理","二进制重排,主要是优化我们启动时需要的函数非常分散在各个页,启动时就会多次page","于是我们就需要调整当前的树结构,让它进行旋转。","于是,通过平衡树,我们解决了二叉查找树的缺点。对于有","互不可见。","互斥锁","互斥锁(mutual","互斥锁又分为:","互斥锁在线程获取锁但没有获取到时,线程会进入休眠状态,等锁被释放时线程会被唤醒","互斥锁在递归调用时会造成堵塞,并非死锁——这里的问题是后面的代码无法执行下去","五.","五、yyasynclay","五、总结","交互,后者负责资源加载及缓存处理。","交易中.","交易失败.","交易延期.","交易成功.","交易没有发生变化,仅仅是重启一下,收据信息就会发生改变。","交易结果出来到通知","亦可以使用dispatch_queue_create(\"xxx\",","产生了离屏渲染,但是","产生的条件","人。业务模块化改造后会形成一定的开发门槛,带来一定的开发效率下降。小项目适合模块化改造吗?其收益是否能匹配付出呢?但考虑到当时","人工智障翻译:实例变量不能放在分类中","什么时候需要","什么是","什么是http协议无状态协议?怎么解决http协议无状态协议?","什么是mvc?","什么是元类(meta","什么是半连接队列?","什么是卡顿?苹果官方文章","什么是离屏渲染?","什么是联合体?","仅仅是一个编译指示器。但是消息的接收者","仅支持单播传输","今天的绝大多数开发者都已经在日常开发中使用","今年上半年的公众号打赏事件,大家可还记得?我们对苹果强收过路费的行为愤懑,也为微信可惜不已,此事最后以腾讯高管团队访问苹果画上句号。显然,协商结果两位老板以及他们的团队都很满意。","今年,苹果发布了","今日头条品质优化","介绍了与对象相关联的","仍然对开发效率有一定影响。","仍然活着,只不过处于","从","从32位迁移到64位cpu,逻辑上虽然不会有任何变化,但是所占有的内存空间却会翻倍。下面以nsnumber对象为例,大家可以清晰看出nsnumber对象在内存空间上的变化情况:","从apple查询用户点击购买的产品的信息.","从cachelookup的注释有两处:","从keywindow开始,向前逐级遍历子视图,不断调用uiview的hittest:withevent:方法,通过该方法查找在点击区域中的视图后,并继续调用返回视图的子视图的hittest:withevent:方法,以此类推。如果子视图不在点击区域或没有子视图,则当前视图就是第一响应者。","从next指针开始,一个一个向前调用objc_release,直到碰到push时压入的pool为止。","从object中根据key获取关联的对象的valu","从self定位到别的","从一个nib文件中加载,或者涉及io的图片显示,都会比cpu正常操作慢得多。","从一个更广阔的视角看,离屏渲染也仅仅是渲染性能优化中的一部分,而能否保证","从上方可以得出,调用","从上述代码可以得出以下几点:","从上述代码可以知道push,pop都是操作","从上述代码看出整体stripedmap是一个哈希表结构,表外层是一个数组,数组里的每个位置存储一个类似链表的结构(synclist),syncdata","从上述精简后的代码可以得出以下几点:","从上面两种创建对象的方法可以看出第一种方式对象的创建是在alloc中,init方法只是返回已经创建的对象。通过new方法创建的对象本质还是alloc和init的结合。","从上面的代码中可以看到,方法内部是遍历了所有需要完成回调的completedblock,然后回调出去。","从上面的代码可知,获取引用计数的时候分为三种情况:","从上面的代码我们可以知道,既然当前内存中不存在autoreleasepoolpage,就要从头开始构建这个自动释放池的双向链表,也就是说,新的autoreleasepoolpage是没有parent指针的。","从上面的定义我们可以知道receiver即消息的实际接收者,","从上面的源码中可以看出请求图片的回调回来后:","从上面的源码可以看出,","从上面的源码我们看到,对象调用autorelase方法,最后会变成autoreleasepoolpage的autorelease函数。autoreleasepoolpage的autorelease的本质就是调用autoreleasefast(obj)函数。只不过push操作插入的是一个pool_boundari","从上面的过程可以看到,tl","从中可以看出一个imagedownloaderoperation可以有多个回调block。","从今年开始,系统","从名字就可以看出:这两个类,一个是负责从直接从本地文件提供数据,一个是负责从网络读取之后提供数据","从多个角度增加了安全性,增加了代码签名支持,地址空间配置随机加载(address","从头梳理","从字典里面拿,将线程作为key从字典里获取一个loop","从定义可以得知:当利用","从实现原理可知,二分查找插入排序是在原输入数组上进行后移赋值操作的(称“就地排序”),所需开辟的辅助空间跟输入数组规模无关,所以空间复杂度为:o(1)","从底到高传递事件(addsubview顺序倒序遍历","从异步操作之间的事务性,顺序行,依赖关系。gcd需要自己写更多的代码来实现,而nsoperation已经内建了这些支持","从弱引用的","从无序区中取出第一个元素,即a[i],使用二分查找算法在有序区中查找要插入的位置索引j。","从日志中我们了解到,应用安装后,springboard","从服务器返回类可以看到,数据的入口是从ktvhcdatareader的readdataoflength获取的。","从根结点出发,则第一次到达结点a,不输出a,继续向左访问,第一次访问结点b,不输出b;继续到达d,h;","从根结点出发,则第一次到达结点a,故输出a;","从测试数据可见,使用预加载的方式显著的提升了","从测试数据来看,从点击到最后加载完毕,大概节省了","从源代码和注释中,我们可以发现:","从源码来看就是对互斥锁的简单封装","从现在开始,接下来整个","从等待中醒来","从给出的英文说明,可以看出:实例(instance)是针对","从运行的结果我们看到,已经正常的排序结束了,说明这个算法已经满足了我们的要求,而且详细的代码分析也已经加上了注释,我想大家应该都能看懂。只要记住核心的几个点就可以了,这里我在重复说明一下:","从这两图中可以得出一个结论:观察者注册前后fxperson类没发生变化,但实例对象的isa指向发生变化","从这个方法里我们可以看到,读取数据又走到了ktvhcdatasourcemanager中去。","从这俩个回调方法里看,你会发现category在map_images会加载完毕,而load_images会调用+load方法。","从这里可以看出,作者使用一个“低姿态”侵入主线程","从逻辑上来说,探测链是最先发生的机制,当触摸事件发生后,io","仓库都有全量的变更数据,我们不需要通过网络获取仓库的相关信息,与中心化的版本控制工具相比,在出现问题时我们也能快速定位导致问题的变更所在。","仔细看一下下面这张图,这是我们每次在买早餐使用支付宝支付的流程图。下面我们来一步一步看一下每一步对应的操作原理。","代理","代码","代码不存在这个问题。","代码中,if","代码大致做了如下事情,初始化的时候去添加支付结果的监听,并在","代码实现","代码层面的优化","代码很短,全文摘录,以下以注释的方式详细解读。","代码执行结果和消息重定向测试的运行结果一致。_cf_forwarding_prep_0和___forwarding___这两个方法又再次被调用了,之后代码会先执行forwardingtargetforselector:(消息重定向),消息重定向如果失败后调用methodsignatureforselector:和forwardinvocation:方法签名。所以说___forwarding___方法才是消息转发的真正实现。","代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用","代码段","代码段中,@synthesize的作用就是让编译器为你自动生成setter与getter方法,@synthes","代码瘦身实践_","代码的。但它有额外的服务注册过程,可能会影响启动速度,性能弱于基于反射的接口封装方案。这里对启动速度的影响究竟有多少呢?我们做了个测试,在","代码运行结果肯定是","代码隔离的思考","代表意义","以","以afnetworking2.x","以uibutton为例,uibutton也是通过hittest的方式查找第一响应者的。区别在于,如果uibutton是第一响应者,则直接由uiapplication派发事件,不通过respond","以uiimageview为例。当其显示在屏幕上时,需要uiimage作为数据源。","以上三步完成后,dyld","以上两点思路也是","以上仅仅是对该题简单回答,其中的原理以及瓶颈和优化,后面会详细介绍。","以上机型都是","以上流程均无法挽救就崩溃并报错","以上的三个问题都是集中式的主仓库带来的,它们是中心化的系统无法避免的问题,这些集中式版本控制系统的缺点非常影响它的使用体验,这也是为什么","以上的系统,队列的优先级为","以下代码省略不影响阅读","以下代码输出的结果是啥","以下代码运行结果","以下因素都会对任务的执行速度造成影响:","以下图为例,方法","以下的代码会输出什么结果?","以下的系统,通过dispatch_set_target_queue()函数设置优先级为dispatch_queue_priority_default(第二个参数如果使用串行队列会强行将我们创建的所有线程串行执行任务)。","以下的触摸事件更底层的解释:","以下:library/caches/snapshots/${product_bundle_identifier};","以下:png。","以下:无权限。","以关联对象代码为例:","以其使用成本成为大部分用户选择,但是性能问题却一直成为他人的诟病。","以内,因为启动动画时长是","以单","以及","以及indulge_in的yyasynclayer剖析","以及他们的所有子视图的","以及他的子","以及其他元素,可以提高加载","以及其他的版本控制工具。","以打电话给查号台为例:","以执行实际的绘制和调整,并更新","以抖音为例,用户感受到的启动时间:","以按钮点击触发事件为例,点击屏幕的时候,首先系统内部捕获到这个点击事件,这是在source1中处理的,source1会包装成事件丢到事件队列中,交给source0处理。","以明文的形式写在文件里,是一件很危险的事情。","以键值对的形式存储在","任务","任务一个接一个执行,不开辟线程","任务一个接一个执行,不开辟线程(同并发+同步)","任务一个接一个执行,会开辟线程","任务与队列","任务乱序执行,开辟线程","任务乱序执行,开辟线程(同并发+异步)","任务会交给rejectedexecutionhandler来处理","任务执行的复杂度","任务的优先级","任务阻塞队列","优先级从高到低依次为dispatch_queue_priority_high、dispatch_queue_priority_default、dispatch_queue_priority_low、dispatch_queue_priority_background","优势是实现简单,非常适合处理一对多的通讯场景。","优化","优化了加密过程,不会对包大小和启动耗时有影响)。","优化以及","优化后完整流程图如下:","优化器会进行","优化器(optimizer):会进行","优化工作的一个节点,一个节点做些事,一起加起来就构成了","优化方案围绕着","优化的直接插入排序(二分查找插入排序,希尔排序)","优点","会","会产生悬垂指针:仍然指向内存地址,如果没覆盖后还调动变量就会crash","会传递一个","会保证在下一次更新周期中更新约束。它通过标记“updat","会做一些优化工作,在","会判断镜像是否实现了","会占去启动耗时的很大一部分,我们来看看单个","会去调用它。","会发现它创建的子系统都叫","会变成","会合成","会和","会在","会在下一个周期中(重点!!!)被调用,而不需要开发者手动操作。这些自动通知系统","会在图片第一次渲染到屏幕上的时候进行解码,并缓存解码后的图片数据。缓存数据存储在全局缓存中,不会随着uiimag的释放而释放。","会在未来一个预定时间向线程同步分发事件。线程可以用","会在这个阶段执行。","会在这里调用,autolayout","会完成对镜像中所有类的加载和预处理,它最终会调用","会对上传","会将传入对象的地址加以封装起来,并且其中也有访问全局弱引用表的入口。","会将具体操作转换成发送给","会开启线程执行block任务","会影响","会影响被缓存的","会成为启动性能的瓶颈。","会执行","会执行wait之后的代码","会把","会把任务用","会把启动流程交给","会有一些逻辑要在启动之后","会根据滚动方向的变化实时改变缓冲区的位置;在向下滚动时,下面的","会消耗其相当一部分计算时间,并且我们也不愿意因此阻塞用户操作,因此一般来说","会直接将","会破坏各业务模块的完整性,同时也会影响","会立即调用","会自动利用更多的cpu内核(比如双核、四核)","会自动管理线程的生命周期(创建线程、调度任务、销毁线程)","会被裁剪,去掉一些不必要的信息","会触发","会触发该函数","会触发该函数.","会触发该方法.","会让视图在下一周期调用","会话秘钥","会话都使用对称秘钥进行加密,传输应用层(http)内容","会调用","会调用block内部的copy函数","会调用block内部的dispose函数","会调用,autolayout","会调起支付宝","会负责后续的工作","会走到","会返回","会通过","会遵循","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新","会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新/下载","会默认打开),然后打开","传入","传入值为2时,可以通过三次才堵塞","传给","传统操作系统的i/o操作为标准i/o,即缓存i/o。在这种i/o模型下,数据先从磁盘拷贝到内核空间的缓冲区,然后从内核空间缓冲区拷贝到用户的内存空间。这种方式的优点是减少了磁盘操作,提高性能。但因为数据在传输过程中需要在用户内存空间和内核空间间进行多次数据拷贝操作,造成很大的cpu及内存开销。","传统方式","传统的","传统的dns系统存在很多问题,最常见的就是dns劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是dns劫持,因为dns解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按","传统的多处理服务定义了先进先出(fifo)队列抽象,用于管理传入和传出数据。尽管消息队列既简单又方便,但是它们不如其他一些通信技术高效","传输性能的算法。因为网络","传输方式","传送来自其他应用或线程的异步事件/消息;","传送的是基于定时器的同步事件,可以定时或重复发送。","传送门","传递了三个参数","传递给设备显示系统。值得注意的是:当重绘时需要抹除这个上下文重新分配内存。","传递过程","传递链","传递链:有系统向最上层view传递,appl","伪模式,这是一个占位的","但不会使","但不能保证self.index+1也是安全的","但人难免有遗漏)。后来我们是通过","但介于业界习惯称之为组件化,所以我们继续使用这个术语。本文下面所用名词,“模块”","但只有","但如果我们把","但是category则完全不一样,它是在运行期决议的。","但是值得注意的是,在","但是对于一些情况,如文字(coretext","但是对于整个","但是引入了","但是我们看到了这么个东西","但是有些","但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。","但是这时的","但是除了可执行文件外","但是,你现在是[mnteacher","但是,在这段代码运行之后","但系统是如何生成的,调用了什么样的","但编译隔离和代码隔离真的没有价值吗?当然不是,主要是我们当前阶段并不需要。过早的调整增加了成本却没有价值产出,所以并不合适。实际上我们还有一些业务模块是跨","但还没有加载","但这样改造后又发生了一件事。某个新来的同学,直接在","但这种方式存在大量的","位⽤来存储类指针。","位头文件","位来为对象分配地址。而且由于地址要按字节在内存中按字节对齐,所以掩码的后三位都是","位的","位的内存空间,","位的情况","位的指针","位系统了","位置","位置代码独立","位转换成","位还是","位(从","位,对应的处理器是什么、文件类型是什么","位,所以可以使用最后三位来存储关于当前类的其他信息:","住,直到","体会其作用:","体验与成果","体验中通常体验最差的","体验的瓶颈问题,不要随意使用","何时触发","作为","作为ack","作为严选用户体验的重要载体,app","作为主要渲染框架,对于文字和图片的异步渲染操作交由框架来处理。关于这方面可以看我之前的一些介绍","作为分布式的版本控制系统能够让开发者离线工作和本地提交,不仅能够避免直接提交大量代码带来的风险,还能帮助我们限制对主仓库的授权,减少由于命名空间导致的冲突问题;","作为抽象类,它不实现初始化方法,并且会在收到任何它不响应的消息时引发异常。因此,具体子类必须实现一个初始化或者创建方法,并且重写","作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,appl","作为渲染结果的","作为版本号,这一方面是因为一个分布式系统中没有全局时钟和版本的概念,另一个方面","作为版本控制工具的话,你可能无法体会使用集中式版本控制工具的局限性,假设我们使用的是一个集中式的版本控制系统的话,所有的开发者都必须连接到同一个服务器上才能进行开发和提交:","作为编译器前端,llvm(low","作为编译器后端。","作为网络加载时间的开始标志,以","作为自己","作为自己的页面统跳方案,达到解耦的目的。","作为页面加载完毕的标志;","作用。","作用域之后,就会销毁;","作用如上图","作者和提交人的名字、邮件等信息;","作者:shishu","作者:猿人谷","你一定还见过如下代码:","你可以使用如下所示的命令来生成当前仓库","你可以想象内部操作如下:","你可以灵活的控制代码块的编译选项。","你可以通过","你应该知道的常用排序算法之快速排序","你是否也碰到了启动图不更新、未加载等异常问题,今天就给大家带来一个终极解决方案。","使得可以快速确认一些信息,比如当前文件用于","使用","使用cgbitmapcontextcreate()方法创建一个上下文对象","使用cgbitmapcontextcreateimage()生成cgimageref对象。","使用cgcontextdrawimage()方法绘制到上下文","使用context传递信息","使用context传递信息,更安全、更可扩展","使用dispatch_get_main_queue()获取主队列","使用dispatch_queue_create(\"xxx\",","使用dispatch_source自定义定时器注意点:","使用httpdns,可以有效解决传统dns的dns劫持、访问时间延迟等问题。","使用nslock","使用nsoperation和nsoperationqueue的优点:","使用source0的情况:","使用source1的情况:","使用weak","使用weak,在后续operation下载操作回调后,获取这个operation。如果view已经重用或者消失,则不会设置图片避免混乱。","使用串行队列,使用串行队列的话,其实内部是靠dispatch_obj_barrier_bit设置阻塞标志位","使用了","使用了哪些动态链接库,其中各个符号的偏移量,代码签名在哪里等等。","使用互斥锁nslock异步并发调用block块,block块内部递归调用自己,问打印什么?","使用全局队列时由于对全局队列造成堵塞,可能致使系统其他调用全局队列的地方也堵塞从而导致崩溃(并不是只有你在使用这个队列)","使用全局队列起不到栅栏函数的作用","使用原子自增函数osatomicincrement32()对局部静态变量counter进行自增,然后通过取模运算轮询返回队列。","使用哈希表的原因就是为了避免多个obj之间的竞争,其哈希函数是基于obj而不是其他。当我们使用","使用响应者和响应者链来处理事件","使用图层关联的视图而不是单独使用","使用场景都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak","使用多线程调用,合理利用cpu计算位置,布局,层次,解压等,再合理调度gpu进行渲染,gpu负担常常要比cpu大,合理调度cpu进行计算可以减轻gpu渲染负担,使应用更加流畅。","使用如下:","使用当前定并启用的缓存中的数据渲染","使用快慢双指针,快指针在满之后后面遍历数组,由于数组是有序的,快指针向后遍历时,若碰到当前下标与慢指针值不一样时,就将当前值前移到慢指针位置,知道快指针遍历完数组,原理其实就是将不同的数向前提前,不扩大数组空间","使用快速缓存","使用时出错,在本","使用更加面向对象","使用栅栏函数","使用用户身份信息生成数字签名","使用的","使用的是","使用的,比如","使用缓存中的数据。","使用评率","使用起来也很简单:","使用轻量级对象,比如calayer代替uiview","使用递归锁nsrecursivelock替换nslock","使用难度大","使用静态的二进制文件。相比于静态的二进制文件,引入动态链接库可以实现代码共用,节约内存和磁盘空间;各个动态链接库的更新变得比较容易,易于库的维护;动态链接库在构建时不需要合并到可执行文件中去,能大大缩减可执行文件的体积。","使用预加载弹窗的","使用预加载方式","例如","例如下面的图片(注意,图片中黑色的、空的叶子节点没有画出)(图片来自极客时间)","例如可执行文件","例如对于使用","例如工程中有一个","例如用户点击了某个应用程序的","例如,之前写的一个","例如,对于text","例如,我们通过","例如,我的","例如:图一就是一颗平衡树了,而图二则不是(节点右边标的是这个节点的高度)","例如:对于图3.8描述的二叉树:","例题:若一棵二叉树的前序遍历为abcdef,中序遍历为cbaedf,请画出这棵二叉树。","依次画好,然后把四个角","依次类推,平衡二叉树在添加和删除时需要进行旋转保持整个树的平衡,内部做了这么复杂的工作后,我们在使用它时,插入、查找的时间复杂度都是","依次返回给调用方。这方法是不是很机智。这一点也可从请求结果的代码中得到验证:","依次遍历从","依然是self。最终在","依赖于最新加入的","依赖库数量","便利初始化器","便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在初始化时更方便设置相关的属性(成员变量)。既然便利初始化器是为了便利,那么一个类(结构体、枚举)就可以有多个便利初始化器,这些便利初始化器里面最后都需要调用自身的指定初始化器","便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器","保存主线程","保存了失败的请求","保存了当前页所在的线程,自动释放池所属的线程,说明它不能跟多个线程关联。","保存了所有指向指定对象的","保持。","保持一致,如果不同,说明当前的","保持原状即可,从下标","保持界面流畅的技巧","保活原理来说:","保留字段","保证原子操作的自旋锁","保证客户端发送的最后一个ack报文段能够到达服务端。","保证引用对象是否有效","信号后,会通过","信号由硬件时钟生成,每秒钟发出","信号量","信号驱动的,vsync","信息。可执行文件加载完成后,系统会调用","信息上操作的风险。理解","信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如sha1,md5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。","修改","修改图片名,前几次正常,之后依旧偶现;","修改文件路径来控制修改权限才解决了这个问题。后续介绍有赞移动基础设施建设的文章中会有更多相关细节。","修改输入数组","修饰基本数据类型,如int,","修饰对象类型时,不改变其引用计数","修饰属性的关键字","修饰的是一个数组,对数组赋值获取是安全的,但是对数组进行操作(添加对象,移除对象)是不保证线程不安全的.而且采用atomic消耗比较大","修饰符","修饰符(注意是赋值!!,","倍大小","倒序下一个,如此反复,直到遍历到最后","值。可能由","值为","值作为校验","值依托于_selector和_target的内存地址,那就意味着两点:","值就相同。","值得一提的是会调用","值得一提的是,对于","值得一提的是,除了修改","值是否为","值,runtim","值,然后解密客户端发送来的信息,检查这两个值是否对应。如果对应,就向客户端发送一个","假如尚未实现的方法不是实例方法而是类方法,那么","假设rootview、superview、button都实现touches方法,并且button添加buttonaction:的action,点击button后的调用如下。","假设数组","假设有上面的视图结构,superview的subview超出了其视图范围,如果点击subview在父视图外面的部分,则不能响应事件。所以通过重写pointinside:withevent:方法,将响应区域扩大为虚线区域,包含superview的所有子视图,即可让子视图响应事件。","假设这个并发队列创建了两个线程a和b,由于是异步的,可以同时执行。因此会出现这么一个场景,在线程a中,代码执行到了objc_retain(obj),但是在线程b中可能执行到了objc_release(prev),此时prev已经被释放了。那么当a在执行到objc_release(prev)就会过度释放,从而导致程序crash。","偏移","做","做不到的?","做了哪些事?","做了大量的工作,尽量把渲染工作转换成适合","做了转换,将声明方式做出了如下调整。","做任何绘制。ca","做优化,生成机器码","做到服务端可配置","做最终的处理结果","做的事情就是记录一系列事件,并且在合适的时机调用这些事件。","做的组件化,这时候编译选项在对应的.","做的组件化,这时候编译选项在对应的.xcconfig","做的,app","偶尔使用","像","像素数据,已经在渲染中被永久覆盖了。这就意味着,对于每一层","允许","元类是必不可少的,因为它存储了类的类方法。每个类都必须有独一无二的元类,因为每个类都有独一无二的类方法。","元类的类是什么?","元类,就像之前的类一样,它也是一个对象。你也可以调用它的方法。自然的,这就意味着他必须也有一个类。","元素上限阀值。","元素相同时,也插入在后面的位置","充分利用设备的多核","先不用管","先从","先初始化父列","先判断线程池工作队列是否已满","先将前面的lock锁解开","先找基准点","先找第一个中间元素,满足左边的比他小,右边比他大,第二趟就是看第一个元素分割的两半,再同样找是否在子序列中,有一个中间元素满足左边的都比他小,右边的比他大;","先把父","先看编译结果","先编译的类,优先调用","先编译的类,优先调用load","先调用宿主类的","先调用宿主类的+","先调用类的","先调用类的load","光栅化","光栅化(rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。(应用:较为广泛的应用于深度学习卷积神经网络的结构中)","入口","全名","全局","全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的","全局变量、共享内存块和对象:","全局变量不会被block捕获,","全局变量和静态变量在一块区域,","全局哈希表查找","全局声明互斥锁","全局声明读写锁","全局队列","全局队列&同步线程0","全局队列&同步线程1","全局队列&异步线程2","全局队列&异步线程3","全局队列:一个特殊的并发队列","全局队列和自定义并行队列在异步执行的时候会根据任务系统决定开辟线程个数;","全局队列:系统提供的并发队列","全方位解读block","全权负责显示内容","八,xib","六,原因探析","共享缓存","共享缓存功能,访问时先判断是否已缓存到主存中才通过","共同引用计数的变量(对于对象结果,在今后的文中提到)。这里主要看","共同组成了一个链条,我们只要验证当前的提交版本是否合法,就能够信任整条链路上的全部提交,如果本地仓库的磁盘损坏,我们可以通过当前的提交记录从远程仓库上获取相同的代码并且通过下面的命令来验证仓库中的数据是否发生了损坏:","关于","关于_objc_msgforward在objc中并没有其相关实现,只能看到_objc_forward_handler。其实_objc_msgforward的实现是在cfruntime.c中的,但是开源出来的cfruntime.c并没有相关实现,但是也不影响我们对真理的追求。","关于arc下,不显示指定属性关键字时,默认关键字:","关于uiview动画以及calayer的动画这里推荐两篇文章:","关于两种类型优先级的对应关系是这样的:","关于如何用","关于应用的砸壳","关于滨野纯的访谈","关于离屏渲染的深入研究","关于离屏渲染的解释","关于这个","关于这个请看","关联对象","关联对象(二)","关联对象value到object","关联对象其实就是","关联对象就是在不改变类的结构的情况下,将类需要关联的对象存储在关联表中,那么类别中添加的属性的值的存取就可以通过关联来解决","关联对象并不是存储在被关联对象本身内存中","关联对象并不是存储在被关联对象本身的内存中的","关联对象由","关联对象的原理","关联对象的底层数据结构","关联对象的本质","关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略","关联对象,存储在全局的一个统一的associationsmanager中","关联的","关联策略,等价于属性声明","关键字","关键字(使用runtime分析)","关键字修饰的常量","关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为","关键字的底层实现原理","关键点","关键词是从父类的方法列表当中找,调用父类的那个方法。但是这两种方式的事件调用者都是当前的实例","其ios平台渲染核心原理的重点主要围绕前后帧缓存、vsync信号、cadisplaylink","其中","其中,","其中uiview不接受事件处理的情况有","其中在主队列viewdidload里面的任务3执行结束才会执行任务2;而主线程中是执行完sync才会执行任务3。也就是任务2等待任务3执行,任务3再也等待任务2执行,造成死锁","其中它的__forwarding指针指向自身","其中它的__forwarding指针指向自身,","其中最常见的问题就是离屏渲染:","其中浅色结点表示结点不存在。那么图3.8所示的二叉树的顺序存储结构如图3.9所示:","其中的对象指针,就是代码中的","其中第一个成员","其中解密是大头,io","其中还有一个指向常量的指针","其中通过两个宏定义去取得synclist中的data和lock——stat","其中需要重写","其中,superclass","其中,∧表示数组中此位置没有存储结点。此时可以发现,顺序存储结构中已经出现了空间浪费的情况。","其中,段分为两种","其中:[cp]","其他对象的isa指针还是类指针。","其他库链接绑定完成之后","其他方法的替换","其他的都是一些定义,用来通过位运算来获取tag的值、ext","其他还有一些,类似","其他:main","其动态性体现在几个方面:","其它","其它优化","其实","其实不是真正的","其实也很好理解,因为block本身就在栈上,自己都随时可能消失,怎么能保住别人的命呢?","其实从功能角度,远程接口的网络层,完全可以取代路由","其实代码中的slowpath和fastpath删除后并不会影响这段代码的功能,slowpath和fastpath的添加就是为了告诉编译器if条件语句中是大概率事件还是小概率事件,从而让编译器对代码进行优化。","其实内部会调用","其实对","其实是","其实根据二进制顺序有关","其实真正开始读取就是从","其实第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据","其实还有一些文件也是使用的","其实通过","其实除了解决多次离屏渲染的开销,shouldraster","其实,上面我门讨论的这个block外部变量age是一个局部auto变量,也叫自动变量。除了auto变量,c语言里面还有局部static变量(静态变量)和全局变量,接下来我们就看看,block对于这几种变量的使用,做了如何的处理。","其指向的地址设置成符号地址","其本质就是一个哈希表,外层是一个数组,数组里的每个位置存储一个类似链表的结构","其本质应该是一个链表的头结点,因为使用","其次。为什么要解密呢?","其次,将这个operation添加到正在运行的操作容器中:","其流程如下","其渲染层次依次为:图层树","其第二个参数赋值给了","其质量和稳定性难以保障。最终我们采用了一个","具体内容如下","具体内容的显示。","具体可以看下面的例子),","具体可查阅ios底层学习","具体可点击链接查看:https://developer.apple.com/news/?id=03262020b","具体如下(实现为升序):","具体实现:","具体来说就是:","具体查看","具体类型","具体过程","具体过程是系统会把","具备唤醒线程的能力","内","内“领取津贴”弹窗慢的问题时,我思考了这个问题,所以查阅了","内。app","内各子系统之间耦合严重,","内大多是","内存中的5大区","内存中的5大区分别是什么?","内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。","内存地址","内存对齐的原则","内存浪费","内存的管理和保护工具","内存管理","内存管理之weak原理探究","内存管理剖析(四)——autorelease原理分析经历过mrc时代的开发者,肯定都用过autorelease方法,用于","内存缓存","内容","内容传输的协议。","内容包括区域的位置、符号表、动态符号表等。","内容或者是布局,那么就有在过时","内容的下方,那么根据画家算法,下层必须先被渲染,而此时阴影的本体(layer","内容需要添加圆角和裁切,所以可以不需要用到离屏渲染技术。但如果加上了背景色、边框或其他有图像内容的图层,就会产生为","内提交的所有任务。","内核态:","内调用两次","内资源,需要通过","内部","内部会基于nsmethodsignature实例构建一个nsinvocation对象,作为回调","内部函数的日志记录表示形式,它是","内部可以提交结果到另一个空闲的帧缓冲区了;接着","内部并没有属性,当调用属性方法时,它内部是通过运行时","内部方法,用来产生可用的","内部有一持有一个_lock,他其实是一个","内部的函数顺序写函数。","再一次到来的时候,切换帧缓冲区......","再初始化子类(可能最终调用的是父类的初始化方法)","再把结果放到","再来看一下","再次确保是否有同步的方法需要调用","再看一下ktvhcdatasourcemanager的readdataoflength方法:","再看一下yyimage的源码,其流程也大致为:","再继续搜索","再者网络环境时好时坏,但是","再调用分类的的","再调用分类的的+","再调用渲染框架","再调用渲染框架(metal/opengl","写@property声明属性,其实是做了三件事","写入硬盘。","写入辅助信息(.hmap","写操作","写法","写者写者互斥","写者是排他性的,⼀个读写锁同时只能有⼀个写者或多个读者(与cpu数相关),但不能同时既有读者⼜有写者。在读写锁保持期间也是抢占失效的","写起来仍然有些麻烦。而且需要额外写单测保证质量。","冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动","准备syncdata","准备工作","准备提交(prepare)","准备(quartzcore/cor","减少到","减少图层数量","减少重复计算布局,减少修改frame等","几个核心类实现:","几乎不用","出了他们的{}","出现之前,next","出现在","出现时,posix","出现的时候,很多系统还没有使用大型","出错,callcompletionblockforoper","函数","函数。","函数。main","函数中","函数中。它不需要解析","函数中有一系列","函数之前发生了什么","函数之前的一些初始化,主要包括","函数之前的一些初始化,主要包括+load","函数会需要该指针","函数入口","函数内部会判断,是否有程序在前台显示,如果有则通过mach","函数名","函数地址.","函数多了,page","函数将其管理起来,并更新内存分布信息。","函数将可执行文件加载进内存中,加载过程分为三步:","函数属性","函数开始之后的处理流程。","函数执行完毕之后","函数执行这之间的工作:app","函数把心的对象进行注册操作,完成与对应的弱引用表进行绑定操作。","函数指针copy,也就是__main_block_copy_0(),内部调用了_block_object_assign()","函数指针dispose,也就是__main_block_dispose_0(),内部调用了_block_object_dispose()","函数的内存地址","函数的地址,最后","函数的地址,直接调用","函数的地址,首次访问","函数获取确定的","函数调用之前的启动速度瓶颈。","函数转换","函数里要做的最重要的事情就是初始化","函数,但是,还是可以调用的!","函数,它做的是方法查找,因为分类的方法优先放在前面,所以通过选择器查找到分类的方法之后直接调用,宿主类的方法看上去就像被","函数,生产一个","函数,生产一个cpp文件,窥探其底层结构(编译状态)","分为","分为三种:","分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标","分布式","分布式对于一个版本控制工具非常重要,如果你从开发程序以来就一直使用","分布式对象:","分布式对象是一种","分布式的方式更加符合版本控制系统的工作场景;","分开存放的,相当于把以上方案里的","分担一部分工作,提高整体效率。","分支;","分析","分析:","分析:前序遍历第一个输出结点为根结点,故a为根结点。早中序遍历中根结点处于左右子树结点中间,故结点a的左子树中结点有cb,右子树中结点有edf。","分类下:","分类中原理解析","分类中可以添加哪些内容","分类中,设置了一个关联属性","分类也是可以添加属性的","分类将附加到类对象的方法列表中,整合的时候,分类的方法优先放到前面","分类底层原理详细研究","分类的加载处理流程主要有下面三步:","分类的在编译后,方法并不会直接添加到类信息中,而是要在程序运行的时候,通过","分类的方法列表","分类里面,生成属性,只会生成方法的声明,不会生成成员变量","分解体积庞大的类文件","分配","分配新值","分钟理解完全二叉树、平衡二叉树、二叉查找树","切换到","列表。","列表。若有,则返回;否则,到其父类寻找。以此类推,直到根类,若在根类中仍没有该方法,则","列表中。","列表中,之后会遍历","列表赋值。","列表,而不是","列表,里面就是","列表,验证服务器端的证书是否可信。如果认为可信(具体的验证过程在下一节讲解),客户端会生成一串伪随机数,使用服务器的公钥加密它。这串随机数会被用于生成新的对称密钥","则3.13所示二叉树的中序遍历输出为:","则3.13所示二叉树的前序遍历输出为:","则会创建一个新的","则会对通过","则会随","则使用由","则图3.13所示二叉树的后序遍历输出为:","则图3.6所示的二叉树可以采用图3.12表示。","则抛弃下载的","则是用于存储关联对象的数据结构","则有一堆的限制。","则通过设置","则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。","刚开始双方都处于","刚开始客户端处于","创建","创建.","创建response作为loc","创建一个","创建一个cgimageref对象","创建一个dict","创建上下文","创建了一个基于","创建事件源","创建信号量","创建信号量时传入值为1时,可以通过两次才堵塞","创建分页,将代码读取到物理内存中,并且这些分页中的部分代码不会在启动阶段被调用。如下图所示,假设我们在启动阶段需要调用","创建启动闭包","创建多个不同的","创建好之后,以线程为key","创建对象的两种方法","创建源","创建线程执行任务","创建缓存等,最差情况下即","创建自动释放池。其","创建自己的connection类继承自httpconnect","创建调度组","创建队列","初始化","初始化一个","初始化一个新的页","初始化之后,将当前页标记为hotpage,然后会先向这个page中添加一个pool_boundary的标记,来确保在pop调用的时候,不会出现异常。","初始化之后,就进入了我们熟悉的","初始化互斥锁","初始化函数。","初始化完成后调用","初始化时加入参数name,这个方法已经成为新的指定初始化器","初始化时,runtime会调用objc_initweak函数,初始化一个新的weak指针指向对象地址;","初始化构造器保证所有弱引用的","初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值,否则会报错。","初始化的核心规则展开而来,swift","初始化读写锁","初始化过的可变数据","初始化,在","删减了部分代码:","删除object的所有的关联的对象","删除对象的关联对象函数","删除无用的类","删除有序数组中的重复项","删除重复元素,在删除重复元素之后,每个元素只出现一次,并返回新的长度,上述操作必须通过原地修改数组的方法,使用","删除重复出现的元素,使每个元素","判断","判断当前","判断是同步查询还是异步查询","判断消息是否终结。","判断绘制任务是否已经被取消。","利用","利用信号量","利用信号量的api来进行代码改写","利用这个全局声明的变量","到","到了这里","到内核,内核创建进程。接着会把主二进制","到原来的方法列表中","到底能不能预加载?","到来准备切换帧缓冲区时,若空闲的帧缓存区并未收到来自","到自动释放池的栈顶,并且返回这个","到自己模块中,也不需要改名,操作成本非常低。然后商品模块内就可以使用这个","到自己模块内部,就可以直接依赖并调用接口了。而且如果将来需要从服务器拉取相关配置,一个文件会方便很多。但是也需要考虑如果以上内容都放入同一个头文件,会不会导致文件过大的问题。当时分析模块间交互是有限的,否则就需要考虑模块划分是否合适。所以问题应该不大。从结果来看,目前我们最大的","到虚拟内存的时候,起始地址会有一个随机的偏移量","到虚拟内存,找到","到达h,h左子树为空,则返回到h,此时第二次访问h,不输出h;","到达h,h左子树为空,则返回到h,此时第二次访问h,故输出h;","到这里,cocoapod","到这里,我们知道","制定了编译采用的io","制的内存复制数据到分配的内存)。","刷新页面","前三个","前后帧缓存&vsync信号","前帧缓存决定了屏幕上显示的像素颜色,会在适当的时候与后帧缓存切换。","前序遍历","前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。","前文已经提过并发执行异步队列会开辟线程,而任务也会因为任务复杂度和cpu的调度导致各个乱序执行完毕,比如上图中的任务3明明是先于任务4执行,但是晚于任务4执行完毕","前端负责预处理,词法语法分析,生成","前端(frontend):语法分析,语义分析和生成中间代码。在这个过程中,也会对代码进行检查,如果发现出错的或需要警告的会标注出来。","前言","前面。","前面我们说过,synclist","前面提到替换图片时,需保持缓存目录下文件名不变,所以这里最简单的办法就是遍历缓存目录下的文件名,接着以这些文件名直接写入替换的图片。","前面提到过在","前面提过,在","前面讲到的page其实就是hotpage,通过autoreleasepoolpag","前,中,后只是指父节点遍历的顺序,前序就是","剪裁操作。","功能:","功能简介:","加上注释大概是","加个互斥锁","加入到","加入我们","加载也使用","加载共享缓存","加载共享缓存库","加载共享缓存库。","加载到内存中","加载到开始链接主程序的时候","加载到虚拟内存里。接着会对每个","加载到进程的地址空间里,然后把后续的启动过程交给","加载动态库","加载可执行文件。系统会去判断可执行文件的类型,选择相应的","加载命令大小*/","加载命令条数","加载失败,就不会弹出弹窗。","加载插入动态库","加载流程","加载程序","加载程序所需的动态库","加载类、分类的时候调用(只会调用一次)","加载进内存时","加载镜像","加速两部分。","加速(使用预加载)和","加锁","加锁前","加锁后","加锁对象不能为nil,否则加锁无效,不能保证线程安全","加锁操作,防止多线程中竞争冲突","加锁,用汇编指令ldxr来保证原子性","劣势是","劣势是仅适用于简单通讯场景。复杂数据传输,同步调用等方式都不太方便。","动作执行及复杂数据传输。比如商品模块向开单模块传递商品数据模型并进行价格计算。","动态子类观察的是setter方法","动态子类重写了观察属性的setter方法","动态将分类的方法合并到类对象、元类对象中","动态库","动态库一起,链接出最后的","动态库共享缓存区","动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是","动态库,所以","动态方法解析——通过调用resolveinstancemethod和resolveclassmethod来动态方法决议——实现消息动态处理","动态消息转发思想,当切换主题色时候,从","动态链接","动态链接器","动画同时进行的问题。","动画和另外一个","动画需要这个)","劫持:由于","包内容了。","包含","包含哪些接口即可。","包含的所有.o。","包含该二进制文件的一般信息","包就是一个普通的压缩包。","包括触摸事件处理、[performselector:","包的内容","包裹磁盘读取的代码。","包,可以用ar","匹配","区别","区别于功能模块","区域会是非滚动方向(trailing)的两倍,asdk","区域如下,可以看到,代码段的","区域就是上面的两倍,向上滚动时,上面的","区域就是下面的两倍。","十,补记","协议","协议与具体实现绑定起来。","协议中的粘包是如何发生的:","协议以及应用层协议出发,分析我们经常提到的","协议传输数据时,tcp","协议发送","协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从","协议天然支持:","协议头带来的额外开销,但是使用该算法也可能会导致应用层协议多次写入的数据被合并或者拆分发送,当接收方从","协议数据传输的核心机制","协议是基于字节流的传输层协议,其中不存在消息和数据包的概念;","协议是面向字节流的协议,它可能会组合或者拆分应用层协议的数据;","协议是面向连接的、可靠的、基于字节流的传输层通信协议,应用层交给","协议有粘包问题","协议栈中读取数据时会发现不相关的数据出现在了同一个数据段中,应用层协议可能没有办法对它们进行拆分和重组。","协议注册的模块间通讯方式,对开发效率基本无损。","协议的","协议的定义并且缺乏设计应用层协议的经验。本文将从","协议的数据并不会以消息为单位向目的主机传输,这些数据在某些情况下会被组合成一个数据段发送给目标的主机。","协议的错误理解,忽略了","协议粘包问题","协议粘包问题是因为应用层协议开发者的错误设计导致的,他们忽略了","协议造成的,它的出现是因为应用层协议设计者对","协议遵循者的","协议,udp","协议,然后就传递给网络层了","协议:","单一原则,设计模式(负责相应的功能)","单层","单层@autoreleasepool","占1个字节,从12位置开始,此时12是1的整数倍,则","占1个字节,从8位置开始,此时8是1的整数倍,则","占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则","占2个字节,从16位置开始,此时16是2的整数倍,则16","占4个字节,从8位置开始,此时8是4的整数倍,则","占4个字节,从9位置开始,但是此时9不是4的整数倍,因此需要往后继续寻找,找到最接近的能整除4的12位置,则","占8个字节,从0位置开始,则","占用空间很小,一般存放在内存的低地址空间,我们平时编写的所有代码,就是放在这个区域","卡顿,列表卡顿、掉帧原理","即","即使使用_target效果也是一样,因为默认使用strong修饰符隐式修饰;","即使看不懂汇编代码,但是从上面的注释我们可以猜测,消息机制会先从缓存中去查找。","即便是从父类取到的方法,也会存在类本身的方法缓存里。而当用一个父类对象去调用那个方法的时候,也会在父类的metaclass里缓存一份。","即刻大量应用","即刻客户端中有大量的圆角、阴影等效果","即刻的优化","即发出连接释放报文段(fin=1,序号seq=u),并停止再发送数据,主动关闭tcp连接,进入fin_wait1(终止等待1)状态,等待服务端的确认。","即可。","即可。我们","即可响应事件。","即可,这就是二进制文件重排的核心原理。","即多种架构都可读取运行","即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ack=1,seq=u+1,ack=w+1),客户端进入time_wait(时间等待)状态。此时tcp未释放掉,需要经过时间等待计时器设置的时间2msl后,客户端才进入closed状态。","即将进入休眠","即将进入休眠或者即将退出时遍历执行,相同的方法接收者","即将进入休眠(或者退出)时,关注该事件的","即服务端收到连接释放报文段后即发出确认报文段(ack=1,确认号ack=u+1,序号seq=v),服务端进入close_wait(关闭等待)状态,此时的tcp处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入fin_wait2(终止等待2)状态,等待服务端发出的连接释放报文段。","即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(fin=1,ack=1,序号seq=w,确认号ack=u+1),服务端进入last_ack(最后确认)状态,等待客户端的确认。","即用户安装应用后,系统会自动生成启动图并缓存至沙盒目录,接着用户启动应用时,我们通过代码将沙盒目录下缓存的启动图文件全部替换为我们通过代码生成的启动图。","即线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步","即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。像内置的明确的基本类型都属于静态类型(int、nsstring等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run","即针对nsstring、nsnumber、nsdate、nsindexpath这些类型,都支持tag","却少见预加载的策略。极少数场景是这样的:整个界面包含多个","卸载应用重新安装,大概率恢复正常,仍复现;","卸载的机制,比如如果","压缩的图像数据被解码成其未压缩的位图形式","原代码","原因,关联的对象是","原因:","原地","原型","原型引用","原子性","原子性修饰的属性进行了spinlock加锁处理","原文:","原文地址","原文链接","原来的方法列表","原理","原理分析:","原理就是","原生触摸事件从","去做绑定的操作","去加载我们需要的图片,并把获取的结果回调给了上一级调用方。从上面的代码可以看到,获取图片的同时返回了一个operation,这个operation就是标识获取当前url图片的一个操作。之后会把这个operation放在当前view的operationdictionary中:","去寻找","去显示;如果此处有动画,ca","去检测是否兼容","去生成。","去除了判断","参与判断引用计数辅助量","参数","参数。","参数名","参数确定是否需要查找缓存。","参数,是一个回调","参考","参考资料","参考资料:","参考静态链接器的警告,修复所有不对齐的指针","又包含有一个自选锁、一张全局的引用计数表、一张全局的弱引用表。","又被划分成很多个","又通过其","又通过调用","及","及以上,也就是说至少都是每个逻辑像素长度对应两个物理像素长度。所以很多美工会只切","及以上:ktx","及以上:library/splashboard/snapshots/${product_bundle_identifier}","及以上:有权限;","及其以上的","友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含","双击","双向链表","双指针","双方同处于一个流水线中,协作完成整个渲染工作。","反之则交给饱和策略去处理","反射的代码明显会极大损害开发质量与效率,与目标背道而驰。所以,模块化解耦需求的更准确的描述应该是","发布情况下)。","发布至今,苹果对它进行了不断的优化和升级,即迭代出了","发生tcp粘包或拆包有很多原因,现列出常见的几点,","发生在","发起一笔支付交易,此时,第一件事,我们要去我们自己的服务器上创建一个订单信息。同时服务器会组装好一笔交易交给我们。关于组装交易信息,有两种做法,第一种就是支付宝推荐我们做的,由我们服务器来组装交易信息,服务器加密交易信息,并保存签名信息;另一种做法是,服务器返回商品信息给","发送到服务器,","发送方的udp对应用程序交下来的报文,在添加首部后就向下交付ip层。udp对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文","发送消息会有以下⼏个流程:","发送第一个syn的一端将执行主动打开(act","发送网络请求(但是完成加载耗时只少","取值","取出","取到图片后,停止","取差集","取得的cgcontextref就是calayer生成的这个实例。所有的绘制操作也会在这块context上生效。","取消","取消掉正在执行的操作operation如下调用:","变成","变成了","变成根节点,12","变相地实现了操作缓存目录,大家可以查看","变量","变量a","变量a:doubl","变量b:char","变量b:int","变量c:char","变量c:int","变量d:short","变量e:内嵌的lgstruct1结构体,lgstruct1内部最⼤元素的大小是8字节,需要从8的整数倍位置开始存储,存储方式同上lgstruct1结构体,则","变量属性","变量已经销毁了,所以程序崩溃了,这也说明了","变量有值","变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接","变量,dylib","叠在一起,然后在父","另一个是使用","另外","另外,","另外如果使用","另外比较适合","另外,为什么还需要路由","另外,我们发现每个模块对初始化顺序也有需求。比如账号模块的初始化可能要优先于别的模块,以便别的模块在初始化时使用其服务。所以我们也对","另外,每个模块单独","另外,由于","另外,苹果还建议更多使用","只不过这并不包含uicontrol子类以及uigesturerecognizer的子类,这两类会直接打断响应者链。","只会给数据增加一个","只使用了其中的","只出现一次","只剩下一个","只去除","只应该被重载,绝不要在代码中显式地调用。通常你只应该在","只接收按键(锁屏/静音等),触摸,加速,接近传感器等几种","只支持fifo","只是一个命名为自旋锁的互斥锁","只是一般没人手动调用load","只是多了一个保留字段","只是收敛了","只是模块化整体设计的冰山一角。我们也推荐读者所在团队,如果有时间可以尝试自己实现模块化工具,bifrost","只有","只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。","只有在表示创建失败的时候才有返回值,并且返回值为nil。","只有当从磁盘取到缓存时,才会对图片进行解码。","只生成一次或重复多次事件。重复的","只用做参考即可。","只能以声明的形式存在,多数情况下,寄生于宿主类的.","只能以声明的形式存在,多数情况下,寄生于宿主类的.m文件中","只能是一对一通信","只要回调","只要是同步方式提交任务,无论是提交到并发队列还是串行队列,最终都是在当前线程执行","可以为系统类添加分类","可以使某些攻击者无法事先获知地址","可以使用","可以分为三部分:","可以动态地为已有类添加新行为。apple还推荐了category的另外两个使用场景","可以取消操作:在运行任务前,可以在nsoperation对象调用cancel方法,标明此任务不需要执行。但是gcd队列是无法取消的,因为它遵循“安排好之后就不管了(fir","可以处理多个事件。","可以存在多个指定初始化器","可以定位文件位置","可以得出结论:","可以得知:","可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活,也就是为啥","可以把它看作是发送消息的过,其中","可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,","可以指定操作的优先级:操作的优先级表示此操作与队列中其他操作之间的优先关系,我们可以指定它","可以指定操作间的依赖关系:例如从服务器下载并处理文件的动作可以用操作来表示。而在处理其他文件之前必须先下载“清单文件”。而后续的下载工作,都要依赖于先下载的清单文件这一操作。","可以方便的打开相应页面。","可以有更细粒度的权限管理。我们因为在一个","可以猜测主队列的优先级是大于或等于qos_class_user_interactive的,让这些串行队列的优先级低于主队列,避免框架创建的线程和主线程竞争资源。","可以理解为当前正在使用的","可以理解为,因为只有","可以理解成","可以理解成一个字典结构,将","可以直接将","可以直接将从","可以看出其实正常获取数据的是ktvhcdatafilesource和ktvhcdatanetworksource两个类。","可以看出来","可以看出,两个source的实现比较类似,只不过ktvhcdatanetworksource多了一个从网络获取数据写入文件的步骤,其实最终提供数据还是通过文件读取的方式。","可以看出,它是将源视频的url替换成了自己定义格式的url,这时我们其实请求的就是local服务器了。","可以看出,这个函数仅仅是一个深层函数的调用入口,而一般的入口函数中,都会做一些简单的判断(例如","可以看到","可以看到canallocfast返回false,于是来到了下一流程:class_createinstance。","可以看到两个方法,","可以看到我们生成的","可以看到打印代码里面使用的age,实际上就是block内部的成员变量age,不是我们在外面定义的那个age,因此,当block被赋值之后,其成员变量age被赋值成了当时构造函数传进来的参数10,所以最终打印出来值就是10,不论外部的age再如何的修改。外部的age跟block的成员变量age是两个不同的变量,互不影响。","可以看到,block输出的","可以看到,在","可以看到,在对stripecount取余后,所得到的值根据机器不同,会在0","可以看到,控制台的打印结果如下:","可以看到,最终这个方法返回的是,调用这个方法的","可以看到,这个方法里面调用了uiview+webcache分类里面的一个方法:","可以获得以下信息:","可以让图片的size跟frame一致","可以让我们在本地创建分支并且没有命名空间冲突的问题;","可以让我们在本地进行提交以支持离线工作;","可以让提交通过","可以设置是否需要立即进行解码(kcgimagesourceshouldcacheimmediately),如果设置为不需要立刻解码,则会在将图片渲染到屏幕上时才进行解码。(设置为立即解码会阻塞主线程,造成性能问题,详见","可以适当给与帮助","可以通过","可以通过file命令获取到arch。","可以通过touchesbegan、pressesbegan、motionbegan、remotecontrolreceivedwithevent等方法,获取到对应的回调消息。uiresponder不只用来接收事件,还可以处理和传递对应的事件,如果当前响应者不能处理,则转发给其他合适的响应者处理。","可以通过添加符号断点,来直观的查看这几个方法的调用关系,如图","可以通过设置","可以通过设置环境变量objc_disable_tagged_pointers来有开发者决定是否使用这项技术","可以通过重写对应的方法,控制这个遍历过程。通过重写pointinside:withevent:方法,来做自己的判断并返回yes或no,返回点击区域是否在视图上。通过重写hittest:withevent:方法,返回被点击的视图。","可以配置","可以采用使用缓存的@synchronized,因为它对对象进行锁操作,会先从缓存查找是否有锁syncdata存在。如果有,直接返回而不加锁,保证锁的唯一性","可伸缩图片","可变","可失败的初始化器,如果把","可执行文件","可执行文件、mach","可执行文件中会预留出一段空间","可执行文件是包含","可执行文件的支持架构的","可执行文件的格式,典型的","可执行文件被称为","可是又被其他线程所修改","可是这个","可能一直处于忙的状态,所以这个","可能会想到用信号量","可能会有同学想问,我不懂编译的过程,写代码也没问题啊?这点我是不否定的。但是,充分理解了编译的过程,会对你的开发大有帮助。本文的最后,会以以下几个例子,来讲解如何合理利用","可能是因为历史问题,以前cpu是32位的,isa中能存储的引用计数就只有$2^7=128$。因此在arm64下,引用计数通常是存储在isa中的。","可能有人会有疑惑,为什么这里需要使用","可能的绘画操作。","可能还是会有一些问题,所以各个第三方","可靠传输","可靠传输,使用流量控制和拥塞控制","可靠性","可靠性对于一个版本控制系统来说也至关重要,专业的云服务商提供的磁盘都不一定能够保证我们数据的可靠性,避免数据损坏和丢失等问题,我们作为普通用户和开发者,更需要通过一些机制来保护我们的代码不会被损坏,如果版本控制系统不能为我们提供保护或者一致性的校验,我们可能就会遇到只有在编译或者打开文件时才会发现文件损坏的窘境。","可靠性能帮助我们能够及时发现数据因磁盘故障而丢失或者损坏;","右子树","右子树上所有结点值均大于根结点","右斜树","右旋成","右键","右键图中的wechat,选择显示包内容,然后就能够看到实际的","各模块边界已经稳定,即使模块化改造出现问题,也可以用很小的代价将其降级到传统的中介者模式,所以改造开始了。","合并多个分支是一件非常容易并且快速的事情,它能在几秒钟以内将两个复杂的分支进行比较和合并,不需要等待较长的时间。","合并渲染(离屏渲染等)","合成一个大的文件,提高加载性能的缓存文件。","合成器来控制显示的最终外观","合法性判断。因为,这里的","合法性检查。主要是检查可执行文件是否合法,是否能在当前的","合理利用","合适的注册及初始化方式。","同","同一个","同一个程序包中同时为多种架构提供最理想的性能。","同一时间,cpu只能处理一条线程,只有一条线程在工作(执行)","同时为了哈希不冲突,还使用加盐操作进行加锁","同时为新的","同时使用)","同时创建一个特殊的模块","同时平时定期通过自动化工具检测无用资源,以及重复资源的大小,以便及时优化包体积。","同时让项目中的所有开发者具有写权限其实是一件危险的事情,我们并不是知道这些开发者是否有着足够的经验操作主仓库,一旦出现操作上的失误,所有的成员都将面临这一失误带来的风险;","同时还创建了一个yysentinel实例。","同时,root","同时,我们希望各业务模块不需要去理解所依赖模块的内部复杂实现。比如","同样会在图片第一次渲染到屏幕上的时候进行解码。底层会调用到","同样会导致线程安全问题。","同样你可以使用","同样因为","同样的两个","同样的能在swift源码中找到关于nscondition部分","同样的,在被添加到","同样的,将我们刚才讲到的operation传入到这个方法中。我们看一下这个方法中做了什么:","同样,可以在xcode里面通过lldb的bt指令,查看nstimer事件和[performselector:","同样,我们也可以插入自己的脚本,来做一些额外的事情。比如,每次进行","同样,我们再来看看","同样,我们同样也可以定义其他预处理变量,","同样,者也帮我我们理解了为什么对于局部的变量,block需要对其采取“捕获”行为,正是因为局部变量定在与函数内部,无法跨函数使用,所以根据局部变量不同的存储属性,要么将其值直接进行拷贝(auto),要么对其地址进行拷贝(static)。","同步/异步和串行/并发","同步:只能在当前线程中执行任务,不具备开启新线程的能力","同步串行","同步异步","同步执行","同步执行任务:","同步栅栏函数","同步:打电话给查号台,问某个地方的电话号码,接线员会告诉你稍等,然后为你查号,此时你的电话没有挂断,其他的电话也不能打进来,等到接线员查找到了你要找的电话号,告诉你后,才将电话挂断","同理","同理,若是类方法,则从对象所属类的","名称","名称了。","后+load的类的方法,后添加到方法列表,而这时的添加方式又是插入顶部添加,即","后帧缓存绘图,也不会让应用直接复制前帧缓存和后帧缓存之间的切换。操作系统为自","后序遍历","后序遍历中最后访问的为根结点,因此可以按照上述同样的方法,找到根结点后分成两棵子树,进而继续找到子树的根结点,一步步确定二叉树的形态。","后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。","后的","后移赋值。时间复杂度如下:","后端基于","后端(backend):针对不同的架构,生成对应的机器码。","后续更新越狱篇章攻防会详细讲述和演示","后续逆向文章会带着大家自己写一个越狱插件","后续逆向文章越狱篇里会实际操作演练","后续通讯过程是用对称加密","后请求结果仍旧命中了","后面参与编译的category数据,会在数组的前面","后,","后,再和原来的颜色进行对比,结果是否相等?","后,需要再次调用","后,首先将调用其本类的resolveinstancemethod:方法,该方法定义如下:","向e左子树,故输出j;","吗,怎么还能调用这个方法?","否则runtime会使用一张散列表来管理引用计数。","否则可能会导致竞争状况,数据损坏或崩溃。","否则将该synccacheitem存入该线程对应的synccache中","否则类方法,实际方法都在同一个流程中,类对象、元类对象能够复用消息发送流程机制;","否则,编号为","否则,编号为2i+1","否则,重用之前的","启动","启动上做的一系列优化。","启动主线程的","启动之前做完的。在","启动之前完成了。","启动之前,符号解析的结果已经在启动闭包内了,所以","启动优化《原理篇》","启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以","启动到","启动后(唤醒后)会依次处理","启动图未渲染成功,表现为每次启动均为白屏,并且线上也有复现,这是我们遇到的主要问题(该问题我们在某些知名","启动图未能更新,启动后仍展示旧启动图,这个问题相信有不少同学遇到。","启动图相信大家都非常熟悉,版本迭代中不免会遇到更换启动图的需求,本以为这是件很简单的事情,但实际操作时却遇到了各种毫无头绪的异常问题,如启动图不更新、启动图未成功渲染等。","启动时会有性能损耗,不过也为我们做了一个例子——","启动时候需要调用,为了执行对应的代码,系统必须进行两个","启动时矫正这些不对齐的指针,但矫正是一个复杂的工作。所以静态链接器会产生一个","启动时间影响大概是","启动时间:本次讨论的启动时间,指的是","启动时间:过去,现在和未来","启动是","启动有两种定义:","启动流程","启动的定义","启动的时候,mach","启动的时候,才会重新通知我们有未验证的订单。这个周期根本没法想象,如果用户一个月不重启","启动的种类","启动的路径上会触发很多次","启动过程中,会调用各种函数,由于这些函数分布在各个","启动速度优化(二进制重排)","启动速度提升超","启动速度断崖式下降的原因之一。","启动闭包(launch","启用(enable)","启用了","呃。。。还是希望苹果爸爸能够","告诉","告诉链接器如何去加载这个","呢?","呢?如果接触过后端的服务化改造,会发现和移动端的业务模块化很相似。dubbo","呢?我们先来看一下渲染的大致流程","呢?我们看一下使用的","呢?是因为像","周期内可以视为重复调用。","周期多次的绘制请求为一个。","命令。","命令为我们生成","命令可以查看文件类型","命令可以检查下结果","命令对照表,其中包括了两个不同工具对于检出仓库、更新本地仓库、本地提交和向主仓库提交几个最常用的简单命令:","命令将某一个仓库中的全部数据下载到本地并在本地创建分支、修改和提交,也可以选择将新的改动推送到其他的节点上或者等待其他节点的拉取。","命令来检测","命令,将题干的代码转化为如下代码:","命名空间","和","和_objc_sync_exit","和_objc_sync_exit。让我们来看看其具体实现","和layoutsubview","和uiview的指定初始化器","和两个_objc_sync_exit。由此可知,当代码离开","和之前的元素都不同,因此将","和之前的设备都是","和其他编程语言一样","和其子","和其所有子","和其被加的自旋锁","和前面流程图中对应source1。source1和timer都属于端口事件源,不同的是所有的timer都共用一个端口“mod","和图形学等等方面的知识,在实践中也非常考验一个工程师排查问题的基本功、经验和判断能力——如果在不恰当的时候打开了","和它的父","和方法","和每个子","和环境变量;它解析","和生成静态库","和相关的编译检查也复杂了很多。同样的,因为微信商城","和相同的方法","和编译","和联调测试。后期还可以通过单元测试来保障质量。模块化方案中,我们可以称这类","和装载","和设计不符,beehiv","和资源文件一起,打包出最后的.","和资源文件一起,打包出最后的.app","和这些","和阿里的","和静态初始化被调用,除了方法本身耗时,这里还会引起大量","和颜色的实现原理一样,也声明了","哈希函数","哈希数据使用","哈希数组","哈希来保证仓库中数据的可靠性,我们通过","哈希查找","哈希的一致性检查,保证我们能够立刻感知到仓库中的数据损坏和变更,还能够帮助我们抵御来自攻击者对文件的恶意篡改,保证了仓库的安全和可靠性。","哈希的计算同时使用了源代码树、上一次提交的哈希、作者和提交人的信息以及当前提交的消息,所以只要使用的任何信息有所变动,我们就会在校验时发现哈希的不一致,从而检测出当前仓库的数据中包含数据的变更、损坏和丢失,同时这也能够帮助我们阻挡攻击者对仓库的恶意修改,因为即使对仓库修改成功,攻击者也很难保证哈希的不变,虽然在研究中表明这种的哈希冲突攻击是可能的,但是在实践中遇到这种问题的几率还是非常低。","哈希表结构","哈希表结构,内部存synclist","哈希表,key","哈希,你可以在","哈希,例如:e328029255d8f02909ec0cbc16cc74ef4b79e1d0,这个哈希就表示了当前提交的版本号,它是由以下的数据共同计算而来的:","哈希;","响应事件的优先级,以及整体的响应逻辑。","响应者链是由一个不同对象组成的层次结构,其中的每个对象将依次获得响应事件的机会。当发生事件时,事件首先将被发送到第一响应者,第一响应者基本是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并作出处理。","响应连:由最基础的view向系统传递,first","哨兵对象。","哪一个出现问题导致不能及时的提交渲染结果到帧缓冲区,都会导致掉帧。优化界面流畅程度,实际上就是减少掉帧(ios设备上大致是","唤醒是一个被动行为","唱吧ktvhttpcach","商品模块的接口返回的是","善用离屏渲染","四.","四、yytransact","四、总结","四、有赞的模块化实践","四、潜在问题和适配方案","四次挥手","四次挥手释放连接时,等待2msl的意义?","回到类对象结构体,成员变量cache就是用来对方法进行缓存的。","回前台:大多数时候不会被定义为启动,因为此时","回调了,在这些会调里去做一些业务上的初始化:","回调到","回调的优先级避免与系统绘制逻辑竞争资源,使用nsset合并了一次","回调(progressblock,","回顾一下程序的内存布局","回顾方法调用过程:调用方法的时候,需要去方法列表里面进行遍历查找。如果方法不在列表里面,就会通过superclass找到父类的类对象,在去父类类对象方法列表里面遍历查找。","因为","因为m和v之间是完全隔离的,","因为其强大的运行时特性,无论是基于","因为在","因为子线程不会主动创建runloop,performselector:withobject:afterdelay,即使延时0s,也是要创建相应添加到runloop逻辑,如果没有runloop是不会添加到上面,所以不会触发.(创建runloop后也需要run)","因为当服务端收到客户端的syn连接请求报文后,可以直接发送syn+ack报文。其中ack报文是用来应答的,syn报文是用来同步的。但是关闭连接时,当服务端收到fin报文时,很可能并不会立即关闭socket,所以只能先回复一个ack报文,告诉客户端,\"你发的fin报文我收到了\"。只有等到我服务端所有的报文都发送完了,我才能发送fin报文,因此不能一起发送。故需要四次挥手。","因为我们希望一个模块做了接口修改,另一个模块可以存在一种选择,是马上更新接口,还是先完成手头的工作将来再更新。","因为我们每个模块都是基于外观模式设计的。所以每个模块只需要对外暴露一个","因为最后一个节点加到了右子树的右子树,就要想办法给右子树的左子树加点料,因此需要逆时针旋转,将","因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用","因为父","因为父容器有圆角,那么也会需要被裁剪,而这时它们还在渲染队列中排队,尚未被组合到一块画布上,自然也无法统一裁剪","因为磁盘缓存读取时,会产生许多临时变量,为了避免内存过高,使用","因为考虑到每个","因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是","因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大。","因为!当类第一次加载进内存的时候,调用的","因此","因此可以说,一个obj,对应了一个sidetable。但是一个sidetable,会对应多个obj。因为sidetable的数量有限,所以会有很多obj共用同一个sidetable。","因此想要支持多架构的话","因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释","因此,如果在16.7ms内完不成这些操作,比如,cpu做了太多的工作,或者view层次过于多,图片过于大,导致gpu压力太大,就会导致“卡”的现象,也就是丢帧.","因此,当我们从外部修改height的值之后,调用block打印出的height的值也相应的改变了,因为block内部是通过","因此,需要三次握手才能确认双方的接收与发送能力是否正常。","困难、复用困难、启动慢等坏处,不值一提。","图","图3.10","图3.11","图3.12","图3.12中采用一种链表结构存储二叉树,这种链表称为二叉链表。","图3.13所示二叉树中序访问如下:","图3.13所示二叉树后序访问如下:","图3.13所示二叉树访问如下:","图3.14","图3.15.png","图3.2","图3.3","图3.5","图3.6","图3.6所示的一棵完全二叉树采用顺序存储方式,如图3.7表示:","图3.7","图3.8.png","图3.9","图中的member","图例参考","图像渲染流水线","图像渲染流程粗粒度地大概分为下面这些步骤:","图层内容赋值的时候(直接或者间接使用","图层打包","图层蒙版","图形服务接收到","图文详情页秒开实践","图片","图片加载奇淫巧技","图片加载奇淫巧技/)","图片或者使用","图片格式转换;","图片格式:","图片的加载与渲染过程","图片的显示分为三步:加载、解码、渲染。","图片缓存读写原理","图片缓存读写原理/)","图给你,而不切一倍图。","图,当scale为","图,这就意味着,calayer的contentsscale要和设备的scale对应才能达到预期的效果(不同设备显示相同的逻辑像素大小)。","圆角+masktobound","圆角+masktobounds,","圆角(当和","土丘上的蒲公英","在","在__cstring的","在__uiapplicationhandleeventqueue()函数中,会将传递过来的iohidevent转换为uievent对象。","在app","在arc中两个队列不需要考虑释放内存,但是在mrc中并发队列创造出来的需要","在arc环境下,编译器会根据情况自动将栈上的block复制到堆上,例如以下的情况","在arc环境中autoreleasepool(runloop)的研究","在block中执行的代码块","在block之前定义了一个int","在block里面使用的_strong修饰的weakself是为了在函数生命周期中防止self提前释放。strongself是一个自动变量当block执行完毕就会释放自动变量strongself不会对self进行一直进行强引用。","在calayer内部,系统会创建一个backingstore(可以理解为cgcontextref,drawrect中取到的currentref就是这个东西),然后layer回判断是否有delegate,如果没有代理,就调用calayer的drawincontext:方法;如果有代理,则调用layer代理的drawlayer:incontext:方法,这一步发生在系统内部,然后在合适的时间给与我们回调一个熟悉的uiview的drawrect:方法。也就是在系统内部的绘制之上,允许我们再做一些额外的绘制。最后calayer把backt","在document","在dyldstartup.","在forwardingtargetforselector:处打个断点,查看一下调用栈:","在gcd应用篇章已经对信号量进行过讲解","在hittest:withevent:方法中,会从上到下遍历子视图,并调用subviews的pointinside:withevent:方法,来找到点击区域内且最上面的子视图。如果找到子视图则调用其hittest:withevent:方法,并继续执行这个流程,以此类推。如果子视图不在点击区域内,则忽略这个视图及其子视图,继续遍历其他视图。","在ios12系统之前,发现是可以直接打印tag","在ios中锁的基本种类只有两种:互斥锁、自旋锁,其他的比如条件锁、递归锁、信号量都是上层的封装和实现","在ios开发中一般使用nstimer来处理定时逻辑,但nstimer是依赖runloop的,而runloop可以运行在不同的模式下。如果nstimer添加在一种模式下,当runloop运行在其他模式下的时候,定时器就挂机了;又如果runloop在阻塞状态,nstimer触发时间就会推迟到下一个runloop周期。因此nstimer在计时上会有误差,并不是特别精确,而gcd定时器不依赖runloop,计时精度要高很多","在ios探索","在nsoperationqueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而gcd没法停止已经加入queue的block(其实是有的,但需要许多复杂的代码);","在objc中,class存储类的实例方法(","在objc源码中找到objc_sync_enter和objc_sync_exit","在runtime内存空间中,sidetables是一个hash数组,里面存储了sidetable。sidetables的hash键值就是一个对象obj的address。","在set方法中在赋值的前后分别调用:willchangevalueforkey和didchangevalueforkey","在socket编程中,任何一方执行close()操作即可产生挥手操作。","在socket编程中,客户端执行connect()时,将触发三次握手。","在uiapplication向第一响应者派发事件,并且遍历响应者链查找手势时,会开始执行响应者链中的touches系列方法。会先执行touchesbegan和touchesmoved方法,如果响应者链能够继续响应事件,则执行touchesended方法表示事件完成,如果将事件交给手势处理则调用touchescancelled方法将响应者链打断。","在uiapplication接收到响应事件之前,还有更复杂的系统级的处理,处理流程大致如下。","在uiresponder中提供了nextresponder方法,通过这个方法可以找到当前响应环节的上一级响应对象。可以从当前uiview开始不断调用nextresponder,查找上一级响应者链的对象,就可以找到离自己最近的uiviewcontroller。","在valid","在【edit","在一个","在一个分布式的版本控制系统中,所有的节点在实现上都是等同的,只要有权限,它们都可以一次获取其他仓库中的全部数据。不同的节点之间可以互相拉取代码,我们可以使用","在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","在一些边界条件下,某一些操作的行为在今天看来其实是不正确的,苹果收集了这些案例并且在","在上下文中做出对应处理","在上述过程中,","在上面的渲染流水线示意图中我们可以看到,主要的渲染操作都是由","在两个线程之间传递信息的另一种简单方法是使用全局变量,共享对象或共享内存块。尽管共享变量既快速又简单,但是它们比直接消息传递更脆弱。必须使用锁或其他同步机制仔细保护共享变量,以确保代码的正确性。","在严选里弹窗有两种,一种是被动弹窗,比方说从后台数据返回中,得知有弹窗需要显示,nativ","在为对象的属性注册观察者时,将修改观察对象的isa指针,指向中间类而不是真实类。isa指针的值不一定反映实例的实际类","在主线程上执行某","在主线程中,将图片数据赋值给","在主运行循环的下一次迭代中,core","在主队列上提交了","在之前的","在介绍","在优化性能时选择了合并分支作为主要的性能衡量指标,将合并分支变成了成本非常低的操作以鼓励分支的使用;","在传输的过程中,客户端如何获得服务器端的公钥呢?当时是服务器分发给客户端,如果一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。","在保证子类有指定初始化器,才能创建便利初始化器,且在便利初始化器里面必须调用指定初始化器","在元类中获取方法的实现","在入口方法中,传入了","在具体的业务场景中,","在具体的实现中,dmdynamicimageproxi","在内存中","在内存中是不可变的。在运行期间,动态给类添加方法,实质上是更新","在内存中是紧跟在","在内存中的位置是在编译期间决定的,在之后修改代码,也不会改变内存中的位置。","在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。","在函数内部,调用uiapplication的sendevent:方法,将uievent传递给第一响应者或uicontrol对象处理,在uievent内部包含若干个uitouch对象。","在函数里修改输入数组对于调用者是可见的。","在分类中,因为类的实例变量的布局已经固定,使用","在刚启动","在初始化时,会自动给每个属性(成员变量)赋值为","在初步走通了流程,验证了方案的可行性后,我们开始完善设计整套流程,并且测试其性能消耗。如测试发现从storyboard生成截图较为耗时,为此我们做了一个缓存策略,避免每次都去截图。","在原对象释放之后,weak对象就会变成null,防止野指针。所以就输出了null了。","在发送端,应用层将数据传递给传输层的","在取出实例方法的实现中,使用了","在取类地址的时候区分x86_64和arm。","在另一个场景中也可以使用:如果","在同一个","在启动上主要有几点应用:","在启动后会注册对应的","在启动期间所需要的所有信息。比如这个","在和同事解决严选","在子线程完成。","在实例开始真正的图片请求操作之前,会根据","在实际分析的过程中发现,如果一个类的子类被实例化,父类未被实例化,此时父类不会出现在__objc_classrefs这个段里,在未使用的类中需要将这一部分父类过滤出去。使用otool","在对","在工程编译时","在平时的","在应用层协议中,最常见的两种解决方案就是基于长度或者基于终结符(delimiter)。","在开发中,有时会有找到当前view对应的控制器的需求,这时候就可以利用我们上面所学,根据响应者链来找到最近的控制器。","在开发过程中,经常会遇到子视图显示范围超出父视图的情况,这时候可以重写该视图的pointinside:withevent:方法,将点击区域扩大到能够覆盖所有子视图。","在引用计数表中设置若引用标记位","在弹窗出现时使用缩放动画,h5","在当前线程执行block的任务","在性能有了显著提升,所以","在所有的线程安全的方案中,@synchron","在执行hittest:withevent:方法时,如果该视图是hidden等于","在接下来的渲染中是","在接收端,网络层将数据传递给传输层,udp","在操作,而到了","在收到","在数据有所更新时,","在整理出上面的流程结论后,编写了viewcontrollerprerender,虽然不到","在日常使用中的明显差异","在早年的","在本次","在查找到一个可以使用的autoreleasepoolpage之后,会将该页面标记成hotpage,然后调动add()方法添加对象。","在查找第一响应者的过程中,已经形成了一个响应者链。","在此处模拟了","在此背景下,百度","在每个自动释放池初始化调用","在没有手加autoreleas","在没有给所有非可选类型属性赋值(初始化完成)之前,不能调用self相关的任何东西,例如:调用实例属性,调用实例方法。","在滚动方向(leading)上","在用block构造函数生成block的时候,使用了外部定义的","在监听过程中过滤掉不关心的事件源,只专注于某些特定的事件。","在看看block入口静态函数","在研究这个问题的过程中,我有想过去看一下源码,试着去理解在视图完全渲染之前,ipc是如何调度的,可惜苹果并没有开源绘制过程中的代码。这里推荐官方文章给大家了解一下ios中ipc是如何运作的。","在确认报文段中syn=1,ack=1,确认号ack=x+1,初始序号seq=y。","在磁盘中根据","在程序初始化方法_objc_init","在程序启动之后,主线程会创建一个runloop,也会创建两个observer,回调工作都是在_wraprunloopwithautoreleasepoolhandler函数中。","在程序运行过程中只会执行一次","在第一次获取时被创建,在线程结束时被销毁","在类中获取方法的实现","在类的定义里就有cache字段,类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的object都保存一份","在类第一次接收消息的时候会调用,oc","在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程均运行在其专用且受保护的内存空间内。进程是cpu分配资源和调度的单位。","在线程中","在绝大多数的场景下都能让我们的开发和合作变得更加高效。","在继承自","在继续深入理解","在缓存、当前类、父类以及方法决议都没有找到的情况下,object","在缓存中的数据的类型和所有需","在缓存查找阶段是","在编译之后,class_ro_t","在编译期间类的结构中的","在编译期间,以上代码会被转化为","在虚拟内存出现前,程序指令必须都在物理内存内,使得物理内存能存放的进程十分有限,并且由于是相邻存储,容易发生越界访问等情况。","在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(pag","在被添加到","在被苹果推广时没有被提到它预加载的优点,一直没有引起重视。","在规定的16.7ms内,在下一个vsync信号到来之前,cpu和gpu并没有共同完成下一帧视频的合成,就会出现掉帧、卡顿。","在触发离屏渲染时候,会增加gpu工作量,增加gpu工作量,可能会导致gpu和cpu工作耗时的总耗时超出vsync信号(16.7毫秒)时间,导致ui卡顿或者掉帧。","在设计","在设计上有哪些缺点和问题,我们能不能改变它?如果能的话又如何改变它?","在设计上的决策之前,我们首先要回到今天要讨论的问题,也就是『为什么你应该使用","在设计上能避免很多","在该框架中","在调用分类的","在调用分类的load","在调用这些方法时,返回的类型依然为","在运行时重绑定到用户指定的函数地址","在这个示例里,defaultstringencoding被发送给了nsstring类。","在这个链接,你可以找到所有的","在这样的继承体系下,所有实例、类以及元类都继承自一个基类。","在这里会进行相关配置。","在这里同时推荐y大的两篇文章","在这里开始创建对象分配内存空间,hascxxtor()和hascxxdtor()是用来处理c++成员变量的构造和析构的,hascxxtor是判断当前class或者superclass是否有.cxx_construct的实现,hascxxdtor是用来判断当前class或者superclass是否有.cxx_destruct的实现,canallocnonpointer是判断是否可以创建nonpointer。","在这里推荐大家去阅读落影loyinglin的文章ios开发","在这里推荐阅读郭曜源前辈的io","在这里需要先了解几个概念","在通过命令行生成一下编译后的c++文件,同样还是在文件底部去看","在银行(进程)中,有4个工作窗口(线程),而只有一条队伍(队列)","在面对一些大型","地址","地址的调用信息。然后,通过","地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间","地址:https://github.com/iversonxh/dynamiclaunchimag","场景分别是什么情况的:","均无以上情况,如果是通过","坐标系中的位置和具体的大小。uiview","坑爹之处从以下两个方面来理解。","坑爹的","基于","基于gcd(底层是gcd)","基于mach_port的,来自系统内核或者其他进程或线程的事件,可以主动唤醒休眠中的runloop(ios里进程间通信开发过程中我们一般不主动使用)。mach_port大家就理解成进程间相互发送消息的一种机制就好,","基于port的线程通信","基于port的线程间通信、系统事件捕捉","基于port的线程间通信通过下面的图示大致理解即可","基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n","基于以上设计,我们大概花了","基于动态类型,在某个实例对象被确定后,其类型便被确定了。该对象对应的属性和响应的消息也被完全确定,这就是动态绑定。比如我们一般向一个nsobject对象发送","基于反射的远程接口调用封装。","基于反射的远程调用封装","基于字节流,其本身不包含消息、数据包等概念,所有数据的传输都是流式的,需要应用层协议自己设计消息的边界,即消息帧(messag","基于此,虽然多个对象的","基于端口的线程间通信(a线程通过端口发送消息到b线程,这个消息是source1的;","基于系统开的口子","基于路由","基于通知的广播方案。","基于通知的模块间通讯方案,实现思路非常简单,","基于面向协议思想的服务注册方案。","基本上,在响应者链只要有对象处理事件,事件就停止传递。","基本数据类型内存大小","基本概念","基本类型的参数,url","基本过程","基础","基础技术","基础的","堆block","堆上的block被废弃时","堆区","堆区(heap):一般由程序员分配释放,","堆空间的block有一个__block_byref_a_0结构体,","增加一个监听,当内存紧张时,丢弃这些预加载的对象不会造成功能错误,","增加了一个工具,名叫静态初始化程序跟踪器(static","增加了优先级接口。每个模块可以定义自己的初始化优先级。","增加弱引用表于附加对象上","增加最大半连接数","声明两个","声明了dmdynamiccolor","声明了getter和setter方法;","声明了实例变量(默认:下划线+属性名);","声明呢?答案是可行的。而且即使工程中同时存在多个同名的","声明私有属性","声明私有成员变量","声明私有方法","处","处于","处理","处理source0事件","处理source1","处理事件,什么叫非基于port的呢?就是说你这个消息不是其他进程或者内核直接发送给你的。一般是app内部的事件,","处理因timer的唤醒","处理图片的一些小","处理完事件后,asdk","处理并包装成","处理异常\");","处理异步方法唤醒,如dispatch_async","处理打开某个页面需要有回调功能的场景。比如打开会员选择页面,搜索会员,搜到之后点击确定,回传会员数据:","处理文件打包信息,例如在","处理的形式(也就是所谓的硬件加速,如","处理逻辑交给代理处理。","处理非延迟的主线程调用","处,所以","处,经过哈希函数计算得出索引2,起初我们要顺着上面的","复制代码","复制并转换为不可变类型。","复杂对象传输","复杂对象传输优化","复杂对象的处理方式也存在一些问题,比如拷贝粘贴的方式比较丑陋,重复代码会带来包体积的增加。","复杂度分析","复杂类型的参数,可以提供一个额外的字典参数","复用已有的m和v便可快速搭建新的业务场景.","复用时导致的图片展示错乱问题。","复用,分用,差错检测","外","外属性)","外观(facade)模式:","外部传入一个需要缓存的对象时,其引用计数为","多","多了一些规则:","多人,但仍然是一个协作紧密的整体,发版节奏基本一致。各业务模块代码都在同一个","多加一层判断——判断object,显然为了满足业务需求而去增加逻辑判断是不可取的","多层","多次锁同一个对象会有什么后果吗——会从高速缓存中拿到data,所以只会锁一次对象","多线程","多线程中队列分为串行队列(serial","多线程之gcd应用","多线程原理","多线程同步锁中性能最差的一个。但是却是所有锁中使用起来最简单的一个。","多线程并发(同时)执行,其实就是cpu执行快速地在多条线程之间调度(切换)","多线程执行任务分为dispatch_sync同步执行任务和dispatch_async异步执行:","多线程的生命周期是:新建","多行。","多读单写处理","多读单写方案","够的内存(通常是从","大体分为如下步骤:","大大提高了开发效率,","大家可以在如下图中配置玩一玩","大家应该都知道,如果想在block","大家知道,如果我们在","大小","大小是","大概有以下的收获;","大法好。","大的放在右边序列;","大部分","大部分时候,在视图中更新任何","大部分的启动场景都不需要调用这个进程外的","大部分非游戏类应用,支持的界面方向都只有竖屏(portrait),即应用页面不会跟随设备方向旋转,始终以竖屏方向显示。但实际开发时,由于某些特殊需求,我们可能会勾选上横屏(landscap","太多会影响这部分时间","太多的几何结构会影响gpu速度,但这并不是gpu的瓶颈限制原因,但由于图层在显示之前要通过ipc发送到渲染服务器的时候(图层实际上是由很多小物体组成的特别重量级的对象),太多的图层就会引起cpu的瓶颈。","头文件替换;macro","头文件的方式仍然有一些理解成本。移动团队规模快速发展,一些新来的小伙伴还是会提出疑问。18","头文件,不再需要","头标识下是","头部可以进行某些攻击,如果一个","头部解析和符号查找工作完成后,这些执行结果会被作为","头部,也不需要做符号查找。","好吧,算起来有九个比较大的问题了,还有没照顾到的请各位补充。这九个问题,基本上每一个都是致命的。这么多的不确定性,我们应该怎么综合处理,怎么相互平衡?","如log,","如上图,关系也如旧版本一样,","如上图,最底层有一个","如上图所示,响应者链如下:","如上图所示,被atomic修饰的index变量分别在两次并发异步for循环10000次后输出的结果并不等于20000。由此可以得出结论:","如下图,分别为","如下图,编译的时候,字符串","如代码,为线程中runloop添加一个","如何从","如何从sidetables里找到特定的sidetable呢,这就用到了散列函数。runtime是通过这么一个函数来获取到相应的sidetable:","如何从栈指向堆,并建立联系呢?","如何保证可靠传输","如何减少启动时间,最重要的还是尽可能的少做事。比如:尽可能的嵌入更少的动态链接库;尽可能少引入文件、少定义方法;尽可能少执行初始化程序。","如何判断是tag","如何能找到其真实的实现地址呢","如何解决tableviewcel","如何调试第三方统计到的崩溃报告","如何进行优化呢?这其实是各端远程调用都需要解决的问题。移动端最常见的远程调用就是向后端接口发网络请求。针对这类问题,我们很容易想到创建一个网络层,将这类","如何进行缓存","如何避免同一时间多个请求,请求同一张图片下载多次问题。","如何预加载","如图","如图3.14所示:","如图可知,点击应用图标后,springboard找到了一个可用的启动图,无需预热splashboard,直接使用可用的启动图。","如客户端发出连接请求,但因连接请求报文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端共发出了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,但是第一个丢失的报文段只是在某些网络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务端,此时服务端误认为客户端又发出一次新的连接请求,于是就向客户端发出确认报文段,同意建立连接,不采用三次握手,只要服务端发出确认,就建立新的连接了,此时客户端忽略服务端发来的确认,也不发送数据,则服务端一致等待客户端发送数据,浪费资源。","如果","如果+load","如果.m文件中写了@synthes","如果block从堆上移除","如果block是在栈上,将不会对auto变量产生强引用","如果block被拷贝到堆上","如果loop为空,则创建一个新的loop,所以runloop会在第一次获取的时候创建","如果next指向beigin()说明为空","如果next指向end)说明满了","如果textfield未处理事件,则会将事件传递给下一级响应者链,也就是其父视图。","如果weak_entry_t不存在,则会新建一个并插入","如果一个","如果一个block内部没有使用/访问","如果一个block有使用/访问","如果不获取,那子线程就不会创建与之相关联的runloop,并且只能在一个线程的内部获取其","如果你对技术充满热情,欢迎加入抖音基础技术团队,让我们共建亿级全球化","如果你已经做了几年ios开发,相比对于这道题可能已经很熟悉。","如果你的视图层级过于复杂,当视图呈现或者修改的时候,计算图层帧率就会消耗一部分时间。特别是使用ios6的自动布局机制尤为明显,它应该是比老版的自动调整逻辑加强了cpu的工作。","如果你选择使用","如果使用","如果其对象为","如果前台没有程序在显示,则表明springboard的桌面程序在前台显示,也就是用户在桌面进行了操作。","如果只重写main方法,底层控制变更任务执行完成状态,以及任务退出","如果图像数据为未解码的png/jpg,解码为位图数据","如果在","如果在缓存中找到当前对象,就拿出当前被锁的次数lockcount,再根据传入参数类型(获取、释放、查看)对lockcount分别进行操作","如果子树太复杂,会消耗很大,对性能造成影响;","如果子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,则需要新创建一个指定初始化器,或者重写父类的指定初始化器","如果子类没有新的非可选类型属性,或者保证所有非可选类型属性都已经有默认值,则可以直接继承父类的指定初始化器和便利初始化器","如果子线程的","如果存在operation,但是operation没有正在执行,则根据条件调整operation的请求优先级。","如果存在就将指向被弱引用对象地址的指针referrer通过函数append_referrer插入到对应的weak_entry_t引用数组","如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因,可以在博客下面留言,作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容。","如果对视图实现了drawrect:或drawlayer:incontext:方法,或者","如果开启大量的线程,会占用大量的内存空间,降低程序的性能","如果异步操作的过程需要更多的被交互和ui呈现出来,nsoperation更好;底层代码中,任务之间不太互相依赖,而需要更高的并发能力,gcd则更有优势","如果弱引用被释放","如果当创建信号量时传入值为1又会怎么样呢?","如果当前视图在响应者链中,但其没有处理事件,则不考虑其兄弟视图,即使其兄弟视图和其都在点击范围内。","如果当前设备是64位环境并且使用object","如果必须使用,那么请让苹果知道你为什么需要使用","如果想让响应者链中,每一级uiresponder都可以响应事件,可以在每级uiresponder中都实现touches并调用super方法,即可实现响应者链事件逐级传递。","如果想通过runtime的方法class_addivar它只适用于新建一个类的时候增加,对于类别中增加实例就不适用","如果我上面讲的,你都懂,都能够在面试中说出来,应该是足够的了。我当时就是这么回答的。","如果我们的一个","如果我们的代理实现了dispaylay","如果我们要了解具体如何获取到,我们需要查看","如果手势不能处理事件,则交给第一响应者来处理。如果第一响应者也不能响应事件,则顺着响应者链继续向后查找,直到找到能够处理事件的uiresponder对象。如果找到uiapplication还没有对象响应事件的话,则将这次事件丢弃。","如果控制器的view未处理事件,则会交给控制器处理。","如果改成self.index=i是能保证setter方法的线程安全的","如果数组","如果方法需要调用很多次的话,那就相当于每次调用都需要去遍历多次方法列表,为了能够快速查找方法,apple设计了cache_t来进行方法缓存。","如果是","如果是release或check直接goto","如果是release类型直接返回nil","如果是tag","如果是已排序的列表,就采用二分查找,没排序的采用一般遍历","如果是普通类声明生命属性的话","如果是继承自uiresponder的类,则调用第一响应者的touchesbegin,并且不会立即执行touchesended,而是调用之后顺着响应者链向后查找。如果在查找过程中,发现响应者链中有的视图添加了手势,则进入手势的代理方法中,如果代理方法返回可以响应这个事件,则将第一响应者的事件取消,并调用其touchescanceled方法,然后由手势来响应事件。","如果有","如果有一个全局的结构体,它指向一个函数或者另一个全局结构体,那么为了更好的运行性能这个指针必须和系统字长对齐。如果出于某些特殊原因,第三方程序员必须使用","如果有事件到来时,视图有附加的手势识别器,则手势识别器优先处理事件。如果手势识别器没有处理事件,则将事件交给视图处理,视图如果未处理则顺着响应者链继续向后传递。","如果有子线程想通过performselecoronmainthread...","如果有正在执行的operation,不创建新的请求operation,而是给当前operation添加回调对象progressblock","如果某个","如果点击uitextfield后其会成为第一响应者。","如果点击事件是发生在视图外,但在其子视图内部,子视图也不能接收事件并成为第一响应者。这是因为在其父视图进行hittest:withevent:的过程中,就会将其忽略掉。","如果用户后买成功以后,网络就不行了,那么苹果的","如果用户的交易还没有得到验证,就把","如果第一响应者不能处理事件,则调用其nextresponder方法,一直找响应者链中能处理该事件的对象。","如果第二步中有发现第一次使用的的对象就将threadcount标记为1且goto","如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的","如果要绘制一个带有圆角并剪切圆角以外内容的容器,就会触发离屏渲染。我的猜想是(如果读者中有图形学专家希望能指正):","如果视图绘制超出gpu支持的2048x2048或者4096x4096尺寸的","如果该实例对象启用了non","如果该对象不是tag","如果该类","如果该类已经完成执行","如果说,sel","如果读写锁当前没有读者,也没有写者,那么写者可以⽴刻获得读写锁,否则它必须⾃旋在那⾥,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以⽴即获得该读写锁,否则读者必须⾃旋在那⾥,直到写者释放该读写锁","如果重写了start方法,自行控制状态(什么时候是isexecuting,isfinish状态等等)","如果锁的对象obj不存在时分别会走objc_sync_nil()和不做任何操作(源码分析可以先解决简单的逻辑分支)","如果需要动态新增方法,可以在+resolveinstancemethod:阶段完成;如果只是需要篡改","如果非tag","如果验证通过,或用户接受了不受信任的证书,浏览器就会生成一个随机的对称密钥(session","姓名","子元素容器,子元素根据","子树也必须是一颗平衡二叉树","子类","子类可以把父类的可失败的初始化器重写为不可失败的初始化器,但不能把父类的不可失败的初始化器重写为可失败的初始化器","子类实现该初始化器时,也必须加上required修饰符,而不是overrid","子线程autorelease对象何时释放","字典中。","字典时,保证被渲染过","字符串","字符串@\"1234\",编译到最后的二进制的时候是会存储在两个","字符串。无法触发代码自动补全,容易出现拼写错误,而且这类错误只能在运行时触发相关方法后才能发现。无论是开发效率还是开发质量都有较大的影响。","字符串的元数据,每个元数据占用","字符串(cfstringrefs)","字符串,也不需要理解内部麻烦的逻辑。","字节","字节的","字节跳动全链路压测","字节顺序、架构类型、加载指令的数量等。","字节(决定于其中的结构体)","存储","存储。","存储到本地先.","存储协议列表。注意到这里有一个","存储在","存储在全局的一个统一的associationsmanag","存储对象方法,meta","存储属性列表、protocol","存储方法列表、properti","存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写入","存储的位置具体依赖第25行处的哈希函数,如图:","存储空间","存储类方法。","存储类的实例方法(","存储类的类方法(+),class","存储该对象信息,例如引用计数器,弱引用表等)","存入","存在,sidetable中储存着各种类对象,sidetable中包含了weaktable,rc引用计数器表,自选锁,当开发使用","存在page且未满,通过add()方法进行添加;","存在一个自旋锁","存在则会先转换数据格式,最终都调用","存在继承","存在重名覆盖的风险,需要通过开发规范以及一些检查机制来规避。同时","存在,但是线程缓存不存在。如果","存放在","存放属性的;","存放着若干个数据,其余的成员都是用来做哈希定位的,","它会打印出数组中","它会调用起","它具有以下特点","它决定了一些基础架构","它是一种文件格式","它是一种用于可执行文件、目标代码、动态库的文件格式。作为","它是苹果的动态链接器,是苹果操作系统一个重要组成部分","它的内存并不存储在堆中,也不需要","它负责给出当前","安装包,然后实际看看其安装包的内容。","安装或者系统升级的时候构建这个启动闭包。在","完全不同。","完全二叉树","完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1","完全兼容","完全兼容,但在一些极端用例下,从","完全支持了","完全消失第一帧","完全解析","完成的。这样一来既然我们已经得到了想要的效果,就不需要再另外给图片容器设置","完整性的校验","完整的优化和转化。附件:官方","完整的脚本","宏展开;处理预编译指令","官网浏览,或者从","定义","定义两个指针","定义了很多位信息,我们需要关注的几个:","定义结点代码:","定义都放在","定位到","定位到别处:","实例","实例。","实例中有两个属性与之一一对应,方便对两种加载图片的方式进行管理。","实例之后,后续相同的viewcontrol","实例化主程序","实例化主程序,即macho可执行文件。","实例化这个","实例变量","实例变量。","实例变量:","实例变量:是成员变量的一种,实例是针对类而言的,是指对类的声明;由此推理,实例变量是指由类声明的对象。","实例对象。","实例对象可以通过isa指针找到它的类对象,类对象存储实例方法列表等信息。类对象可以通过isa指针找到它的元类对象,从而可以访问类方法列表等相关信息","实例并返回。在","实例方法","实例方法合并到类对象中,类方法合并到元类对象中","实例方法调用时,通过对象的","实例的尺寸。但在预热好的","实例,_selector和_target只要有一个内存地址不同,就会在集合中体现为两个值。","实例,_selector和_target的内存地址都相同,在集合中的体现为一个值。","实例,保存在集合中。图片加载存在两种情况,一种是直接在缓存中获取,一种是通过网络在下载,都会返回一个","实例:","实在忙不过来的情况,而","实战之满地是坑","实战之满地是坑,这一篇是支付基础知识的讲解,主要会详细介绍","实战之见坑填坑,这一篇是高潮性的一篇,主要针对第一篇文章中分析出的","实战之订单绑定,这一篇是关键性的一篇,主要讲述作者探索将自己服务器生成的订单号绑定到","实现","实现willchangevalueforkey和didchangevalueforkey方法","实现了","实现了getter和setter方法。","实现关联对象技术的核心对象有","实现关联对象技术的核心对象有:","实现内存缓存。通过双向链表及字典实现","实现函数","实现协议方法","实现原理","实现原理?","实现回调","实现多继承。object","实现页面跳转,而且没有路由","实质上就是一个","实质上是装满了","实际上","实际开发中,你用","实际执行的二进制文件中,是通过地址来调用方法的。在","实际调用时,调用的是后添加的方法,即后添加的方法在方法列表methodlists的这个数组的顶部","实验证明:宿主类先调用,分类再调用","审核不让过。接不接","审核:gj,zsb,gbn,zjz","客户端发送一个","客户端和插件也降低了","客户端在发送完最后一个ack报文段后,再经过2msl,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,使下一个新的连接中不会出现这种旧的连接请求报文段。","客户端收到服务器的响应后会先验证证书的合法性(证书中包含的地址与正在访问的地址是否一致,证书是否过期)。","客户端根据自己的信任","容器中移除掉。源码如下:","容器的子","容器的子控件在渲染的过程中,","宿主类的方法?","寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取","寄存器来完成的。","寄存器设置成_dyld_start,接下来启动流程交给了","寄存器,pc","寄宿图:你可以给calayer.contents传递一个cgimage来进行渲染,也可以调用","对","对.","对.app","对__nsmallocblock__调用copy方法,就可以转变成__nsmallocblock__,它会被存储在堆区上","对acquire类型和对象的断言判断","对self进行同步锁,这个似乎太臃肿了","对一个具体实现所给定的msl值,处理的原则是:当tcp执行一个主动关闭,并发回最后一个ack,该连接必须在time_wait状态停留的时间为2倍的msl。这样可让tcp再次发送最后的ack以防这个ack丢失(另一端超时并重发最后的fin)。","对一个颜色进行赋值,再取出时类型却变成","对三方","对中心仓库的提交和改动,例如创建分支等操作对于所有的开发人员都是可见的;","对于","对于auto、static变量,为什么block选择用不同方式处理它们呢?","对于c语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。","对于一个较大的分布式开发团队,在实际生产中我们也难以保证所有成员都能同时通过骨干网等高速网络连接到同一个主仓库;","对于不想看我啰里八嗦讲一大堆原理的同学,可以直接跳到本文的最后一个章节。","对于主线程来说,runloop在程序一启动就默认创建好了","对于二叉树的遍历有一类典型题型。","对于使用自动布局的视图来说,这个方法与","对于可靠传输,判断丢包,误码靠的是tcp的段编号以及确认号。tcp为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ack);如果发送端实体在合理的往返时延(rtt)内未收到确认,那么对应的数据(假设丢失了)将会被重传。","对于图二,因为节点9的左孩子高度为2,而右孩子高度为0。他们之间的差值超过1了。","对于图片的圆角,统一采用","对于大部分功能也能而言,","对于子线程来说,runloop是懒加载的——只有当我们使用的时候才会创建,所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调","对于子线程来说,runloop是懒加载的,只有当我们使用的时候才会创建,","对于所有的阴影,使用","对于模糊效果,不采用系统提供的","对于特殊形状的","对于类似这种","对于给定的弱引用查询","对于视频的圆角,由于实时剪切非常消耗性能,我们会创建四个白色弧形的","对于远程接口调用的封装方式,我们没有完全照抄","对任务的管理是使用的一个栈结构,而","对其","对其进行缓存时,会强引用被缓存的对象,使它的引用计数变为","对图片进行了子线程强制解码并将解码后的","对外的表现就是一个","对常用的工具类进行打包(framework/.a)","对应id/build/intermediates/.build/debug","对应了什么呢","对应的imp时,会先找到分类重写的那个,调用执行。然后添加到缓存列表中,这样主类方法实现永远也不会调到。","对应的对象,访问对象内部的","对当前编译环境进行压栈","对每一个版本的提交都会生成一个","对每一种类型的block调用copy后的结果如下","对每个二进制做","对比","对比支付宝和","对称加密","对称加密方式","对称加密算法(私钥加密)","对程序进行","对编译环境进行出栈","对被修饰对象进行原子操作(不负责使用)","对观察者模式的又一实现;","对解密后的页,进行签名验证","对象","对象,","对象。","对象。在","对象与数据结构","对象后,appdeleg","对象回收","对象对外提供所有服务,同时隐藏内部复杂实现。调用方也只需要理解","对象已经在内存内。如果我们要使用","对象并令其为单例。在","对象指针);","对象方法、类方法、属性、协议信息","对象方法:前面提过,调用对象方法,相当于给对象发送消息,","对象的值是什么","对象的值是指针指向的内存区域中的值。","对象的创建、调整、销毁可以放在子线程中去做asdk;","对象的成员变量寻址","对象的指针以及其对应","对象类型","对象都服从这个协议。app","对象(receiver)接收到","对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。","对象)以处理生命周期和接受","对象)再到程序(uiapplic","对象,valu","对象,会轮询所有注册了的业务模块并进行必要的调用。","对象,在调用的","对象,并且其中对于","对象,并放入当前活动application的事件队列中去。接下来开始自uiapplication往下传递,首先会传递给主window,然后按照view的层级结构一层层往下传递,一直找到最合适的view(发生touch的那个view)来处理事件。查找最合适的view的过程是一个递归的过程,其中涉及到两个重要的方法","对象,所以","对象,所以其实没有额外的性能消耗。","对象,这里需要更改指针指向","对这个过程进行了优化,page","对这类的属性进行了替换,例如","对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用","寻址(虚拟地址)访问主存或硬盘。","寻找确定对应值","寻找路径","寻找链表中未使用的syncdata并作标记","导入头文件","导致","导致的","封装为","封装到里面。上层业务调用时网络层接口时,不需要","封装并提交到一个全局的容器去。asdk","将","将a[j]到a[i","将block赋值给__strong指针的时候","将launchscreen.storyboard文件复制到新建的空工程中,仍复现,此时猜测为系统缓存问题;","将oc文件用clang重写","将一个","将上述调度组代码进行改写","将主线程","将事件转发给springboard来处理。","将代码编译成c++源码","将会优先满足,而忽略掉contentsscale。","将全面取代","将其加载进内存空间中。","将分类的方法列表","将原序列分成有序区和无序区。a[0…i","将图片从assets中迁移至工程根目录下,出现空白启动图概率降低,但仍会偶现;","将图片文件映射到虚拟内存,并创建","将复杂参数放到字典中即可:","将引用表中记录为空","将数据存入缓存,并进入","将案例二中的dispatch_barrier_async改成dispatch_barrier_sync","将硬盘数据直接映射到虚拟内存中,应用可以直接访问虚拟内存中对应的地址来读取数据,避免了数据在内核空间和用户空间的相互拷贝,效率更高。在使用这些数据时,虚拟内存管理系统才会根据缺页加载的机制从磁盘加载对应的数据块到物理内存,在这之前不会消耗用户空间的内存。","将编译后系统库函数所指向的符号","将被弱引用对象所在的weak_table中的weak_entry_t哈希数组中取出对应的weak_entry_t","将要结束的时候才会调用","将要结束的时候调用","将解码后的图片缓存到内存缓存中,然后通过","将调度组中的任务未执行完毕的任务数目加减1","将静态变量的地址值拷贝给block内部的这个指针,block代码块执行的时候,通过内部存储的指针间接访问静态变量。","小技巧","小的放在左边序列,比","小结","尝试","尝试加锁","就category和extension的区别来看,我们可以推导出一个明显的事实,extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。","就不会卸载;或者如果","就会去找到","就会在回调中,把所有的中间状态合并提交到","就会强制把","就会执行该","就会触发回调,并调用","就会通过","就作用而言,+resolveinstancemethod:主要用于为类动态增加实例方法;","就做了这种尝试。将代码迁到了很多","就去做加载操作","就可以对数据进行校验,保证整个提交链条上的所有数据的稳定性和可靠性,也帮助我们抵御了来自攻击者的恶意篡改;","就可以影响到应用","就可以直接调用这些方法了。","就可能触发离屏渲染。","就将使用","就已经完成了","就已经确定。当镜像加载的时候,methodizeclass","就开始渲染,","就我经验而言,resolveinstancemethod:的使用场景一般用来动态添加","就指向这个符号","就放在","就是","就是一个","就是一个任务,而全局区的","就是一组.o","就是专门用来加载动态链接库的库。通过回顾","就是存储类的方法、属性、遵循的协议等信息的地方","就是实现了类似的插桩。","就是实现这个功能的。","就是将堆结构体的forwarding指针指向自身","就是将栈结构体的forwarding指针指向堆结构体","就是度为0的结点","就是我们传入的","就是把","就是把一组","就是把指针指向这个地址。","就是把系统库","就是把系统库(uikit","就是指","就是方法的实现。imp","就是服务化的经典框架之一。它是通过服务注册的方式来实现远程接口调用的。即每个模块提供自己对外服务的协议声明,然后将此声明注册到中间层。调用方能从中间层看到存在哪些服务接口,然后直接调用即可。例:","就是用来构造双向链表的指针。","就是触发一个系统调用,让线程休眠,等待事件到来,唤醒","就是说明cls大概率是有值的,告诉编译器编译时优化,下面就到了cl","就是调用函数的指令","就是调用这个事件的接受者","就是通过","就来到了","就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在","就相同,与这个方法属于哪个类没有关系。","就绪","就绪:向线程对象发送start消息,线程对象被加入可调度线程池等待cpu调度。","就被标记为待处理,并被提交到一个全局的容器去。向渲染服务器提交图层树。当这个","就调用了各个类的","就需要根据当前滚动位置渲染整个","尽可能将复杂操作放到进程以外:如果","尽可能的不要使用","尽最大努力交付","尽管离屏渲染开销很大,但是当我们无法避免它的时候,可以想办法把性能影响降到最低。优化思路也很简单:既然已经花了不少精力把图片裁出了圆角,如果我能把结果缓存下来,那么下一帧渲染就可以复用这个成果,不需要再重新画一遍了。","尽量使用自定义的并发队列:","局部变量会被block捕获","层只保留","层和","层因为没有明确的业务组来负责,所以也应该尽量轻薄。各业务模块之间互不可见,但可以直接依赖","层序遍历","层效果的使用,比如圆角,图层遮罩,阴影或者是图层光栅化都会强制core","层次遍历","层次遍历就是按照树的层次自上而下的遍历二叉树。针对图3.13所示二叉树的层次遍历结果为:","层次遍历的详细方法可以参考二叉树的按层遍历法。","层次,特别的,会首先限制","层的目标是相悖的。而且因为","层等等,以便于维护和扩展。但随着业务的发展,系统变得越来越复杂,只做分层就不够了。app","层级,认清这些事件,可以知道哪个阶段做哪些操作是合适的?","层设计。","屏幕上的图层,core","展开而来的多条规则:","属于","属性","属性。","属性中","属性介绍","属性保存了由设备渲染流水线渲染好的位图","属性映射来的,所以对","属性的值","属性)阴影的几何形状,那么阴影当然可以先被独立渲染出来,不需要依赖","属性,完成显示。","属性,用来表示在父","属性,默认声明是@properti","崩溃...","崩溃率下降","嵌套","嵌套autorelesepool很好解释,pop的时候总会释放到上次push的位置为止,多层的pool就是多个哨兵对象而已,就像剥洋葱一样,每次一层,互不影响。","工作年限","工程","工程中所有引用了共享缓存区中的系统库方法","工程中的","工程中,基本每次发版用的都是各个模块的最新版本。而且实际做了几次调查,发现","工程师必须都需要连接网络才能开发,在网络状况不好或者无网络的情况下无法进行提交;","工程的编译产物,包括一些动态链接库、foundat","工程里已经有","工程里注释。","左","左子树","左子树上所有结点值均小于根结点","左斜树","己保留了这些操作,以便它可以随时使用","已满","已经加载完毕了","已经处理过","已经无法向固定的布局中添加新的实例变量(这样做可能会覆盖子类的实例变量),所以我们需要使用关联对象以及两个方法来模拟构成属性的三个要素。","已经缓存的方法数量","已经被渲染完成而子","已经被渲染过后的","已经购买过该商品.","已经释放或者","布局","布局:","布局发生变化的方法,也提供了在","布局和事件处理)。做一些对性能特别挑剔的工作,比如对","布局计算","布局重新计算后调用的可重写的方法。","布局(frame)","布局(layout)","布局,显示,约束","布局,计算完成交由","希望本文能够对碰到此类问题的同学们有所帮助,也欢迎大家对本文指正不足。","带宽有限,它不会将小的数据块直接发送到目的主机,而是会在本地缓冲区中等待更多待发送的数据,这种批量发送数据的策略虽然会影响实时性和网络延迟,但是能够降低网络拥堵的可能性并减少额外开销。","带来一些其他的差异,例如","带来压力,这个时候就很容易掉帧(主要是文本控件,大量文本内容的计算和绘制过程都相当繁琐)。","带来的启示","帧缓存可以同时存在多个,但是屏幕显示像素受到保存在前帧缓存(front","帧缓存:接收渲染结果的缓冲区,为gpu指定存储渲染结果的区域","帮我们生成一个生成变量_properti","常用头文件放到预编译文件里","常见的几种源有基于端口的源、自定义的源、performselect源和计时器源;","常见的防御","常见离屏渲染场景分析","常规的优化方案中,预加载也是极常见的手段,多见于:预加载图片、配置文件、离线包等业务资源。查阅后知,","常量","平台;","平均情况下快速排序的时间复杂度是θ(𝑛log𝑛),最坏情况是n²,但通过随机算法可以避免最坏情况。由于递归调用,快排的空间复杂度是θ(log𝑛)。","平均访问延迟下降:由于是","平时很少会直接使用读写锁pthread_rwlock_t,更多的是采用其他方式,例如使用栅栏函数完成读写锁的需求","平衡","平衡二叉树","平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了,平衡树具有如下特点","平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:","平衡二叉树要么是一棵空树","平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。关于平衡树如何构建、插入、删除、左旋、右旋等操作这里不在说明,具体可以看我之前写的一篇文章:【漫画】以后在有面试官问你avl树,你就把这篇文章扔给他。","年","年以来,苹果也多次发布公告要求更换启动图配置方式:","年优化后的模块化方案,基本算是具有有赞特色的相对成熟的方案了,支撑了包括零售在内的多个大型","年年中我们做了几次检查,发现模块间","年开发出的版本控制系统(version","年的","年的实践,发现一味的追求性能,绝对的追求模块间编译隔离,过早的追求模块代码管理隔离等方式都偏离了模块化设计的真正目的,是得不偿失的。更合适的方式是在可控的改造代价下,一定程度考虑未来的优化方式,更多的考虑当前的实际场景,来设计适合自己的模块化方式。希望通过本文提供的具体案例和思考方式,大家都能找到适合自己应用的业务模块化之路。","年的尝试","年的思考","年的成熟","年的第一版模块化设计方案虽然可行,但还存在两个痛点:","年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出","年起开始实践业务模块化架构方式,大致经历了","年,有赞微信商城、有赞收银等","并","并不会也不可能会在我们自己的工程的","并不会执行任何操作","并不指向真正的","并不擅长做这些工作,不得不先由","并不是分别应用在每一层之上,而是只有到整个","并不是实时的,会有误差。如果一个","并不是必选项,还需要根据自身的业务来决定使用可以","并不清楚具体的响应链,所以不能直接处理触摸事件或者手势。但是它提供了","并不能保证线程安全,当我们使用一个可能变成","并不认为这属于离屏渲染。","并且原数组","并且实现/遵从了","并且当前","并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。","并且通过","并且,dyld","并发&异步线程0","并发&异步线程1","并发队列","并发队列:队列中的任务并发执行","并发队列和全局队列的区别:","并发队列有名称,可以跟踪错误.全局队列没有.","并发队列:线程可以同时一起执行,不需要等待上一个执行完就能执行下一个任务","并在","并在使用","并将","并将返回的","并打开","并未消除","并没有发生当前视图立即绘制工作,打上需要重绘的脏标记,最后是在某个时机完成","并添加到","并行","并行一定并发,并发不一定并行。在单核设备上,cpu通过频繁的切换上下文来运行不同的线程,速度足够快以至于我们看起来它是‘并行’处理的,然而我们只能说这种情况是并发而非并行。例如:你和两个人一起百米赛跑,你一直在不停的切换跑道,而其他两人就在自己的跑道上,最终,你们三人同时到达了终点。我们把跑道看做任务,那么,其他两人就是并行执行任务的,而你只能的说是并发执行任务。","并行队列同步执行,不开辟线程,在当前线程中顺序执行","并行队列异步执行,开辟多个新的线程,并且线程会重用,无序执行","并返回.","并非一定是可执行文件","幸好通过多次尝试,最终解决掉。","幸运的是,uiview和uiimageview默认处理了它们内部calayer的contentsscale,所以除非是直接使用calayer及其衍生类,都不用显式的配置contentsscale。","广义:点击图标到首页数据加载完毕","广播相结合的方式。","序号的","库代码很清晰,就几个文件:","库文件","库时,动态链接非常慢。","库是否存在的代码,实际上那就是作者提取的队列管理封装,思想和以下代码一样。","库进行高效支持。","应属于","应用一般以","应用加密信息","应用变换(transform)","应用场景:gcdtimer","应用场景:同步当锁,","应用场景:同步锁","应用场景:多个接口请求之后刷新页面","应用场景:用来拉取网络数据后提前算出各个控件的大小,防止绘制时计算,提高表单滑动流畅性","应用层协议没有使用基于长度或者基于终结符的消息边界,导致多个消息的粘连;","应用层协议的没有定义消息的边界导致数据的接收方无法拼接数据;","应用时,也抱有相同的意图","应用程序一般都运行在用户态上","应用程序会先调用第一响应者处理事件。","应用程序接收到springboard传来的消息,会唤醒main","应用程序接收到事件后,将事件交给keywindow并转发给根视图,根视图按照视图层级逐级遍历子视图,并且遍历的过程中不断判断视图范围,并最终找到第一响应者。","应用程序通过响应者来接收和处理事件,响应者可以是继承自uiresponder的任何子类,例如uiview、uiviewcontroller、uiapplication等。当事件来到时,系统会将事件传递给合适的响应者,并且将其成为第一响应者。","应用签名","应用签名原理及重签名","应答确认","应该与","应该去获取沙盒中的收据信息(一段","应该属于成员变量还是实例变量呢?","底层","底层代码","底层原理","底层特性的同时,也可以使用","底层转化为如上代码","延时执行","延迟1s的任务2——{number","延迟2s的任务1——{number","建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由tcp的半关闭(half","建议读一读","开关,你会发现这片区域不会被标记为黄色,说明","开单模块内叫","开发中常用的几个:","开发中,编译打包必备的两个命令是:","开发了与","开发方式失败的时候,大部分可需要持续迭代的","开发时,已经到了","开发目前的常用语言是:object","开发),关注仓库,及时获取更新","开启","开启下载","开启了指针优化(nonpoint","开启后,在编译,我们可以在对应的","开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512kb,创建线程大约需要90毫秒的创建时间)","开头的,就是","开始","开始——{number","开始之前,我们需要了解这样几个术语:","开始删除重复元素。","开始加载这个可执行文件","开始启动后,系统首先加载可执行文件,然后加载动态链接库。动态链接库的加载速度直接影响着","开始寻找。","开始所有的应用程序均提供了","开始的地方","开始缓存查询。","开始计)。","开始,app","开始,像","开始,如果没有显式指定,group","开始,沿着响应链从上向下进行传递。","开始,物理内存的","开放使用","开源库,以及美团都是采用类似方案。","开辟独立于","异步:可以在新的线程中执行任务,具备开启新线程的能力","异步串行","异步发起截图请求,接着由","异步并发","异步执行","异步执行(async)和同步执行(sync):使用dispatch_async调用一个block,这个block会被放到指定的queue_1队列尾等待执行,至于这个block是被并行还是串行执行,只和dispatch_async中的指定的queue_1有关,但是dispatch_async会马上返回。使用dispatch_sync同样也是把block放到指定的queue_2上执行,但是会等待这个block执行完毕后才返回,这期间会阻塞当前运行调用dispatch_async或dispatch_sync代码的queue(通常为main_queue)直到sync函数返回。","异步执行:","异步是多线程的代名词","异步栅栏函数","异步绘制","异步绘制原理解析","异步绘制完事之后,回到主线程,把绘制的","异步绘制流程","异步:打电话给查号台,问某个地方的电话号码,接线员知道了你的请求后,会立刻挂断电话,此时其他的电话可以打进来。然后开始为你查号。等到查找到了你要找的电话号,会再打电话通知你。","弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。","引入tag","引入的,它完全取代了预绑定。这是一个包含了大部分系统动态库的文件,正是由于这些都被合入到了一个文件,我们可以做一些优化。比如重新组织","引入,一直持续到","引子","引用","引用了外部的这个static变量height。","引用全局","引用类地址","引用自","引用计数","引用计数和弱引用依赖表","引用计数器","引用计数存在什么地方?","引用计数的","引用计数的存储策略","引用计数的获取","引用计数那张散列表的weak引用对象的引用计数中标识为weak引用","引申:","引言","弱引用位初始化操作","弱引用的实现方式","弱引用表,referent_id","强制解码并返回解码后的图片。","强制转换为","当","当__block修饰外界变量时","当back","当block为__nsmallocblock__类型时候,是在堆空间,block是内部的_block_object_assign函数会根据strong或者","当block为__nsstackblock__类型时候,是在栈空间,无论对外面使用的是strong","当block从栈copy到堆时,","当block内部访问了对象类型的auto变量时","当uiimage被赋值给uiimage时(例如imageview.imag","当uiview被绘制时(从","当ui需要更新的时候,比如改变了frame、更新了uiview/calayer的层次时,或者手动调用了setneedslayout/setneedsdisplay方法后,这个uiview/calayer就被标记为待处理,并被提交到一个全局的容器去。","当一个","当一个硬件事件(触摸/锁屏/摇晃等)发生后,首先由","当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果","当一端为建立连接而发送它的syn时,它为连接选择一个初始序号。isn随时间而变化,因此每个连接都将具有不同的isn。isn可以看作是一个32比特的计数器,每4ms加1","当下载失败之后,如果实现了这个代理,则将失败的","当事件到来时,会通过hittest和pointinside两个方法,从window开始向上面的视图查找,找到第一响应者的视图。找到第一响应者后,系统会判断其是继承自uicontrol还是uiresponder,如果是继承自uicontrol,则直接通过uiapplication直接向其派发消息,并且不再向响应者链派发消息。","当事件发生了,必须知道有谁来响应。在ios中,由响应者链来对事件进行响应。","当你在","当你开辟的线程过多,超过了处理器核心数量,实际上某些并行的线程之间就可能竞争同一个处理器的资源,频繁的切换上下文也会消耗处理器资源。","当你现在再去查阅官方文档时,你会发现苹果官方已经使用metal去替代opengl","当你的主线程操作卡顿超过16.67ms以后,你的应用就会出现掉帧,丢帧的情况。也就是卡顿。","当你给对象发送消息时,消息是在寻找这个对象的类的方法列表;","当你给类发消息时,消息是在寻找这个类的元类的方法列表。","当内存中未命中缓存,则在一个串行队列","当到达叶子结点h,返回到d,此时已经是第二次到达d,故不在输出d,进而向d右子树访问,d右子树不为空,则访问至i,第一次到达i,则输出i;","当前","当前0","当前1","当前2","当前3","当前4","当前5","当前6","当前7","当前8","当前9","当前page已满执行autoreleasefullpage方法;","当前runloop休眠前更新","当前不存在pageautoreleasenopage方法。","当前不存在page执行autoreleasenopage方法。","当前仓库的所有开发者都需要有直接向主仓库提交代码的权限,否则他们就无法进行开发;","当前前台运行中应用接收到uievent以后,当用户对屏幕进行了操作,系统先循环调用hit","当前存在page执行autoreleasefullpage方法;","当前提交的消息;","当前提交的源代码树;","当前类或者父类含有默认的","当前类方法查找","当前类的实例需要","当协议内容改变时,会存在所有服务依赖模块编译失败的风险。同时需要一个注册过程,将","当响应者链和手势同时出现时,也就是既实现了touches方法又添加了手势,会发现touches方法有时会失效,这是因为手势的执行优先级是高于响应者链的。","当图层被成功打包,发送到渲染服务器之后,cpu仍然要做如下工作:为了显示","当在操作","当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union),利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。","当存在一个新的指定初始化器的时候,推荐在方法名后面加上ns_designated_initializer,主动告诉编译器有一个新的指定初始化器,这样就可以使用","当存在缓存时,根据是否支持","当它被添加到当前活动的","当实例方法被调用时,它要通过自己持有的","当客户端发起请求时,服务器将该数字证书发送给客户端,客户端通过ca机构提供的公钥对加密密文进行解密获得散列值(数字签名),同时将证书内容使用相同的散列算法进行hash得到另一个散列值,比对两个散列值,如果两者相等则说明证书没问题。","当对希望通过修改","当应用层协议使用","当引用计数减为0时,调用dealloc函数。","当我们使用sdwebimage加载图片时需要调用如下方法:","当我们使用对象的成员变量时,如","当我们使用时,通过","当我们使用集中式的开发模型时,无论是提交代码还是创建新的实验分支,这些操作其实都会改变所有人共享的代码库,这也就意味着如果某个开发者创建了很多的实验分支,所有开发者的代码库也都会变大;","当我们在测试项目中,键入如下代码:","当我们在调用","当我们想探究某个方法的底层是怎么实现的,我们可以通过汇编部分来探究这部分代码的具体实现。","当我们拿到","当我们操作ui时,例如改变frame、更新uiview/calayer,或者自己去调用setneedslayout/setneedsdisplay方法,uiview会调用","当我们点击屏幕时候的事件传递","当我们点开一个应用","当我们要在屏幕上显示内容,","当我们调用uiview的setneedsdisplay的方法时候,会调用layer的同名方法,相当于在当前layer打上绘制标记,在当前runloop将要结束的时候,才会调用calayer的display方法进入到真正的绘制当中。","当我们谈论最好的版本控制系统时,我们需要为","当我们需要访问一个内存地址时,如果虚拟内存地址对应的物理内存还未分配,cpu","当我接触","当执行","当指尖触碰屏幕的那一刻,一个触摸事件就在系统中生成了。经过ipc进程间通信,事件最终被传递到了合适的应用。在应用内历经峰回路转的奇幻之旅后,最终被释放。大致经过如下图:","当提交的任务数超过maxmumpoolsize与workqueue之和时,","当数组","当无法","当时最纠结的点就是复杂对象的传输。例如商品模型,它包含几十个字段。如果是传字典或传","当显示一个uiimageview时,cor","当某个","当某个特定进程,在存储器中所能够使用与控制的地址空间在运行时随机进行分配","当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter","当没有没有缓存时,我们需要创建对应的缓存。","当满足这两个条件时","当然","当然yyimage不止做了这些,还有解码器编码器,支持webp等多种格式,并且还写了自定义的操作队列,对网络加载图片进行了优化。在此不赘述。","当然更加放心。","当然有些场景会比这个复杂,比如有些页面需要更多参数。","当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。","当然这么说并不严谨,因为我们需要考虑是否是tag","当然,一个新的类也可以不增加新的初始化方法,在","当然,不仅__block修饰的变量会这样,前文的对象类型变量同样会在copy函数内部被转化成类似的结构体进行处理。","当然,首选优化方案是","当用户对屏幕进行了操作,产生了一个用户事件。","当用户操作屏幕,iokit收到屏幕操作,会将这次操作封装为iohidevent对象。通过mach","当网络出现拥塞的时候,tcp能够减小向网络注入数据的速率和数量,缓解拥塞","当视图层次调整时,uiview、calay","当视图需要更新的时候,与","当设置某些ui图层属性时候,如果指定为被未预合成之前,不能直接显示在屏幕上的时候,就触发了离屏渲染。","当调用了","当验证交易成功以后我们去取","影响","影响。","很像,他们同为“事务”,但实际上很不一样。通过","很多人可能认为自己并没有离线工作的需求,但是这实际上在我们的日常工作中也比较常见,百兆带宽虽然已经能够满足日常开发的需求,不过在复杂的网络环境下,很多时候我们还是会遇到无法联网或者网络极差的场景,例如在飞机和火车上;","很多公司和决策者因为不了解工程和版本控制系统,可能非常容易地就低估了集中式仓库带来的『效率降低』程度。","很多关于","很明显,在提交重绘请求时,计数器加一。","很简单,方法接收者","得让位给","循环即将进入休眠或者即将退出的时候。而该","循环等待访问,不释放当前资源(while循环)","循环调用且有线程影响时,请注意死锁,如果有死锁问题请使用@synchron","循环调用时用nsrecursivelock","循环,nsobject","循环,sark","循环,在图中橙色部分的","循环,这里是使用类似两个指针,分别从序列的左右两个端点开始往中间进行遍历,主要进行的第二步比较和赋值的操作。","微信群里听了蘑菇街的组件化方案分享,非常受启发。不过当时还是有一些顾虑,比如微信商城和收银当时都属于中小型项目,每端开发人员都只有","微软的暗黑模式适配框架","必须先渲染将要被","必须在初始化完成后才能调用实例方法","必须实现此初始化器,但由于是可失败的初始化器,所以里面可以不做具体实现","必须把图片数据通过ipc传到渲染服务器。在此基础上,cor","必须是","必须是先设置","必须是显示的","必须等待当前语句执行完毕,才会执行下一条语句","必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)","必须要调用自己的指定初始化器","忙等待,直到锁被释放(区别于互斥锁的休眠等待)。","快速、慢速流程都没找到缓存就会来到这步——在系统保存的哈希表进行链式查找","快速排序","快速排序的算法思想是分而治之,将一个大的待排序列,分成两个子序列,然后采用递归的方式,依次将子序列也分成更小的子序列,依次进行,最后得到排序好的序列。算法的实现主要分成三步","快速排序(英语:quicksort),又称划分交换排序(partit","快速查找流程——通过汇编objc_msgsend查找缓存cache_t是否有imp实现","快速滑动时,会有大量异步绘制任务提交到后台线程去执行。但是有时滑动速度过快时,绘制任务还没有完成就可能已经被取消了。如果这时仍然继续绘制,就会造成大量的","快速缓存的含义为:定义两个变量sync_data_direct_key/sync_count_direct_key,与tsl_get_direct/tls_set_direct配合可以从线程局部缓存中快速取得synccacheitem.data和`synccacheitem.lockcount","快速转发流程——通过corefoundation来触发消息转发流程,forwardingtargetforselector实现快速转发,由其他对象来实现处理方法","忽略","忽略掉一堆","怎么利用gcd实现多读单写?","思考","性能","性能优化实践:头条抖音如何实现","性能对于一个版本控制系统也至关重要,但是更重要的其实是选取合适的指标对性能进行度量,linu","性能差的","性能提升如何?","性能是极其重要一环。我们对弹窗的体验做了少许优化。","性能瓶颈","性能的提升能够鼓励我们做出成本更低的操作;","性能过关,将会直接影响到用户日常的操作体验。渲染技术作为客户端工程师的关键技术能力之一,值得持续研究。","性能问题中,","总共会占据","总结","总结:","总结一下","总结一下上述的适配方案,对于第三方程序员来说,我们在编码时应该做到以下几点:","总结一下:","总结来说:","总结:","总结:预加载利用了并行这一传统性能优化技术,同时对","您永远不应依靠isa指针来确定类成员身份。相反,您应该使用class方法来确定对象实例的类","想要了解一下nslock的底层原理,但发现其是在未开源的foundation源码下面的,但但是swift对foundation却开源了,可以在swift","想要执行什么任务,不需要编写任何线程管理代码","慎用","慢速查找流程——通过c++中lookupimporforward递归查找当前类和父类的rw中methodlist的方法","慢速转发流程——先调用methodsignatureforselector获取到方法的签名,生成对应的invocation;再通过forwardinvocation来进行处理","懒加载符号表","懒加载绑定","成功的,会先将","成员为最低有效位,当其为0的时候,","成员变量:通常是指向对象或是基础类型(int,","成员存储的元素类型,并且其中提供了一个针对于地址的","成员将扩展为多行静态","成员,从字面意思上看,即为弱引用表入口。其实现也是这样的。","成员,用来存储","成员,这个","成圆形,再把结果画到","成熟","成长指北\");","我们以","我们会看到","我们俗称的应用加壳","我们做几个实验来验证消息转发。","我们先不去想那么多,先把支付逻辑跑通再说。下面我们看看","我们先放一放这些问题,下一篇就一起来着手解决这些问题,现在我们先来看一看","我们先来看一个小测试,同一个颜色(实际类型为","我们先查看一下执行[super","我们先看看维基百科的解释:","我们创建一个空工程,设备方向默认不更改,配置好启动图:","我们发现有三处变化","我们可以查找上述两个方法,最终在","我们可以看到,在","我们可通过以下方式来获取runloop对象:","我们在","我们在上一节中已经介绍了版本控制系统必须满足的三个特性:分布式、高性能以及可靠性,在这里我们就会分别从这三个方面介绍","我们在每次编译过后,都会生成一个","我们对于版本控制系统的的要求是什么,又应该如何定义一个更好的版本控制系统呢?linu","我们就看到了","我们常用的","我们建议所有进入业务领域划分稳定期(业务模块基本确定,不会发生较大变动)的团队采用业务模块化架构设计。即使模块划分还没完全明确,也可以考虑对部分明确了模块进行模块化改造。因为迟早要用,晚用不如早用。目前基于路由","我们所熟知的","我们打开源码看一下,","我们接着看loadimagewithurl:方法内部实现:","我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程","我们最终加锁解锁的是","我们有两种方法来查看汇编部分","我们有增加了一个static变量height,并且在同样的地方修改height的值,便于和之前的age进行对比。首先运行代码看一下结果","我们来到测试工程里下一个符号断点","我们来看","我们来看看","我们来稍微看一下","我们用一张图表示整个消息发送的过程:","我们的应用打包出来的","我们看到的就是","我们看看","我们知道","我们知道method_array_t、property_array_t、protocol_array_t中以method_array_t为例,method_array_t中最终存储的是method_t,method_t是对方法、函数的封装,每一个方法对象就是一个method_t。通过源码看一下method_t的结构体","我们知道,图中的block位于test方法里面,实际上任何的oc方法,转换成底层的c函数,里面都有两个默认","我们知道,在类和category中都可以有+load方法,那么有两个问题:","我们触摸屏幕,先摸到硬件(屏幕),屏幕表面的事件会被iokit先包装成event,通过mach_port传给正在活跃的app","我们调用","我们跟进去调用流程","我们还是需要简单总结一下正文中提出的一些观点:","我们选择了路由","我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。","我们非越狱环境重签名都是需要砸过壳的应用才能调试","我们项目里使用的是ktvhttpcache来实现视频缓存,ktvhttpcache的实现方式就是第二种,项目地址:(https://github.com/changbadevs/ktvhttpcache)。","我们首先看一下系统绘制,当[calay","我参考了yyasynclayer,他其中的原理大致是这样的:","我在之前的一篇文章里,详细的介绍了","我查看了较为流行的第三方库源码,例如yyimage、sdwebimage、fastimagecache,其中加载一个图片的流程大致为:","我的订单界面,当用户某个订单有商家已发货未收货时,根据行为统计,用户大概率会打开第一条已发货的订单去查看当前物流(物流数据来自第三方,响应速度没有保证),所以在进入我的订单时,可以预先加载一个查看最新未完成订单的物流的","或","或多或少,你都会在第三方库或者","或是","或者","或者imagewithcontentsoffil","或者一直对","或者其子类需要创建一个等大的寄宿图contents。当基于","或者重新组合的","或者静态库,这样编译的时候这部分代码就不需要重新编译了。","所产生的","所以","所以autoreleasepool的运行过程应该是:","所以push的流程是:","所以一个空的autoreleasepoolpage的结构如下:","所以任何情况下调用","所以作为函数默认参数的self的实际上也是该函数的局部变量,根据我们上面总结的原则,只要是局部变量,block都会对其进行捕获,这就解释通了。","所以在","所以在业务场景切换时,","所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调。","所以我们可以认为","所以我们能理解为什么下面这段代码执行的结果都是aobject了吧。虽然使用[sup","所以接下来我们做了一些尝试来验证是否能够修复我们所遇到的问题:","所以系统就不得不去","所以该函数实际的操作是:从objc_super结构体指向的super_class开始查找,直到会找到","所以调用初始化如下","所以这个警告必须解决。","所以这个过程就没办法实现了","所以这时候,[mnteacher","所以这里预先设置将来真正展示时的尺寸,减少","所以,二分查找排序比较次数为:x=log2n","所以,实际上一个","所以,我们也可以说,红黑树是一种不大严格的平衡树。也可以说是一个折中发方案。","所以,最后的答案是,平衡树是为了解决二叉查找树退化为链表的情况,而红黑树是为了解决平衡树在插入、删除等操作需要频繁调整的情况。","所以,笔者认为:超过处理器核心数量的线程没有处理速度上的优势,只是在业务上便于管理,并且能最大化的利用处理器资源。","所以,若果你的加密","所以:","所做的优化,以及适配","所属的","所持有,就将“外部变量”在栈中的内存地址放到了堆中。进而在block内部也可以修改外部变量的值。","所指对象在释放之后会自动设置为nil","所有业务代码挪入各业务模块的","所有对象的关联内容都在同一个全局容器中。","所有控件设置图片的方法,最终都会来到","所有模块间调用均通过中介者来做(图二)。这时架构逻辑会清晰很多,但因为中介者仍然需要反向依赖业务模块,这并没有从根本上解除循坏依赖等问题。时不时发生一个模块进行改动,多个模块受影响编译不过的情况。进一步的,通过技术手段,消除中介者对业务模块依赖,即形成了业务模块化架构设计(图三)。","所有的","所有的元类都使用根元类(继承体系中处于顶端的类的元类)作为他们的类。这就意味着所有nsobject的子类(大多数类)的元类都会以nsobject的元类作为他们的类","所有的其他规则都根据这两条规则而展开,只是","所有类地址","所有继承自","所示,一个对象(instanc","所组成的形状上,那就只能等全部子","所要完成的最少的任务呢?我们能有更激进的安全性检查么?我们能让","所谓","所谓预处理,就是在编译之前的处理。预处理能够让你定义编译器变量,实现条件编译。","所起到的作用就是只要观察到该变量被","所需要的framework","手动@autoreleasepool","手动autoreleasepool,如下文参考2例子,可以得知这个for循环中,每一次循环会清理掉一次内存,因为完全执行完","手动触发:","手动调用","手指触碰屏幕,屏幕感应到触碰后,将事件交由iokit处理。","才会直接访问","才会触发。如果一个","才获得锁。","才行。","打包layers并发送到渲染server;","打包成","打印当前类的","打印结果","打散耗时的启动预热任务","执行","执行\\队列","执行tabl","执行。如果","执行一次","执行之后,才放到了","执行了","执行完draw","执行完之后调用","执行完毕之后,dyld","执行程序的","执行结果","执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制","执行进组任务","扩容了","扩展标记位能表示的个数","找","找几个用于比较的对手,只有通过对手我们才能更清晰的理解","找到","找到一个时机,在启动结束去执行一些预热任务","找到主程序的入口","找到其","找到基准点:","找到如下代码","找到如下信息:","找到引用计数存储区域,然后+1/","找到弱引用对象的对应的weak_entry哈希数组中插入","找到当前","找到相应的方法入口(method_imp),从而执行方法的代码块。","找到真正","找到空闲的物理内存页面","承载了两种模式下的不同颜色和不同图片。","技术","技术文章","技术文章收集","技术方案","技术,可提供基于端口的通信的高级实现。尽管可以将这种技术用于线程间通信,但是强烈建议不要这样做,因为它会产生大量开销。分布式对象更适合与其他进程进行通信,尽管在这些进程之间进行事务的开销也很高","把","把framework的私有方法公开","把交易信息传给支付宝的服务器。","把没有加载的动态库","把编译信息写入指定的辅助文件","抖音","抖音品质建设","抛弃","抛弃依赖","报文中放入大量的数据。因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发","报文之后才会进入","报文之后,也处于","报文之后,会以自己的","报文之后,会发送一个","报文之后,就处于关闭连接了,处于","报文作为应答,且把服务端的序列号值","报文作为应答,并且也是指定了自己的初始化序列号","报文头就传递给应用层,不会任何拼接操作","报文的序列号值,此时客户端处于","报文的序列号值,表明已经收到客户端的报文了,此时服务端处于","报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。","报文,且把客户端的序列号值","报文,且指定一个序列号。此时服务端处于","报文,并指明客户端的初始化序列号","报文,当然,也是一样把服务器的","报文,报文中会指定一个序列号。此时客户端处于","报文,此时客户端处于","拖动就可以自己调整顺序了","拥塞控制","拥有一个弱引用,方便","拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证","拦截并进行修改。","拷贝","拷贝方式","拷贝类型","拷贝资源文件到目标包","拿到交易信息,开始调起支付宝的","拿到交易信息,然后开始调起","拿到查询结果,然后把这笔交易给","挂起","指令条数等信息.","指令来到入口","指向","指向了下一个为空的内存地址,如果","指向函数的指针(函数地址)","指向外部__block_byref_a_0的地址,","指向实际的内存地址。","指向对应的元类,这样就达到了使类方法和实例方法的调用机制相同的目的:","指向当前类的父类","指向父类,cach","指向的只读区域","指向的地址加入一个","指向的是","指向的是一个","指定了编译的语言","指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。在","指的是分类,基于此,categori","指示对象是否含有关联对象","指针","指针,对象释放时,弱引用表置空","指针。","指针。其中,method_nam","指针。实际上当我们调用","指针。由于","指针。那我们只需要知道在题干中的代码里面最终是谁在调用","指针二维数组。一维","指针到其所属的类(meta","指针加上","指针只存于第","指针可构成一张弱引用散列表,通过第三纬度实现了多张散列表,并且表数量为","指针和自己比较,是否相等。","指针和自己比较,若不等则继续取","指针外,objc_class","指针存在于","指针定义了一个方法的入口,指向了实现方法的代码块的内存地址。","指针开启指针优化,0:纯isa指针,1:不⽌是类对象地址,isa","指针所指的","指针找到对应的","指针指向","指针指向同一个","指针指向它所属的类","指针指向所属的类。","指针指向本身。","指针指向的也是其所属的类。子","指针指向自身。当然,由于苹果进行了封装,在开发中基本不可能直接去使用","指针的","指针的作用与元类","指针的对应绑定。根据函数名,称之为解除注册操作。从源码中,可以知道其功能就是从","指针的时候,获取到的依旧是","指针的绑定。而其中的遍历查询,就是针对于","指针进行初始化","指针进行标记","指针逐级遍历每一个父类","指针,指向其所属的类,即","指针,指向当前对象所属的类。","指针:","指针:meta","按序执行,不开辟线程","按序执行,开辟线程","按照同样的分析方法,对a的左右子树进行划分,最后得出二叉树的形态如图3.15所示:","按照同样的访问规则,继续输出c、f、g;","按照同样规则继续访问,输出j、e、a、f、c、g;","按照同样规则继续访问,输出j、e、b、f、g、c,a;","按照同样规则,输出d,输出h;","按照编译先后顺序调用(先编译,先调用)","按顺序添加","挥手为什么需要四次?","捋一捋category加载流程及+load","捕获基础类型","捕获外部变量","捕获外部变量和","捕获,并通过","换成","掉","掉。","掌管的","排列到一起,那么只需要一次","排列序列,将比基准点小的放在左边的子序列,将比基准点大的放在右边的子序列;","排布到一起,那么只需要一个","排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(d)","掘金","探寻block的本质(6)——","探寻object","探寻runtime本质(二)","探索","接下来会进行","接下来就通过源码探索来看一下@synchronized在使用中的注意事项","接下来我们看一下第三题:在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?","接下来我们看一下这个方法的内部实现:","接下来看看这种情况","接下来,就是判断我们传入的url是否合法,以及设置uiimageview的加载指示器,还有加载进度block,此处不做详细说明了。我们着重看加载图片的方法:","接下来,我们利用","接受系统事件的内部","接口来执行的。通常对于每一层","接口起源于","接收。这个过程的详细情况可以参考这里。springboard","接收事件深度剖析","接收传过来的时钟信号通知,随后","接收到消息之后,若是实例方法,则会从其所属的类","接收到消息后,通过其","接收并处理全局事件。","接收提交的纹理(texture)和顶点描述(三角形)","接收的事件来源","接着我们又做了多次测试,得出了以下结论:","接着我们又测试往缓存目录写入文件,发现也无写入权限:","接着我们想到当启动图出现问题时,系统是否会有一些辅助信息输出呢?果然通过","接着我们点击应用图标启动应用,再次观察控制台应用中输出:","接着我们看一下autoreleasepoolpage的构造函数以及一些操作方法:","接着看一下当对象调用autorelase方法发生了什么。","接着看上面这个方法的内部实现:","控制gcd最大并发数","控制台应用,虽然没有找到明显的异常信息输出,但是我们从中发现了关于启动图生成的关键信息(以下测试基于ios13系统,不同系统上表现存在差异)。","控制器未处理则会交给uiwindow。","控制并发线程数量","控制能否支持下载任务。","推荐两篇文章:","推荐加上ns_designated_initi","推荐文章:","推荐资料","推荐阅读:《ios和macos性能优化》对于图像i/o方面,书中最后有详细解释。","推销","提交。","提交一个命令到","提交到一个中间状态去(catransact","提交流程","提交队列","提交(commit)","提供了","提供了一套拥有将地址作为","提供了单播,多播,广播的功能。","提供了更强的扩展性。","提供拥塞控制","提供消息传递过程当中的缓存方法查找","提供的一种事务机制,把一组","提升了性能,因此预绑定被完全废弃了,取而代之的是","提的","提示:","提高项目编译速度","插入动态缓存库。","插入的脚本。","插入编译期脚本","插入脚本","插桩来实现。llvm","揭秘","搜索","搜索发现","摒弃了系统dns,减少外界干扰,摆脱dns劫持困扰。","摸索","摸索,2017","擅长并行计算,但也有捉襟见肘之时,此时","操作","操作,而全局队列只有一个不需要.","操作。","操作。等到完成以后再次清空,再回到向","操作。这样改造的代价是形成了更多的依赖。本来一个业务模块是可以不依赖","操作方式类似于数据结构中的栈。","操作系统上,但这是得益于人们在后来适配了专门的扩展程序;而","操作系统不会让应用直接向前帧缓存或者","操作,在某个线程中会出现","操作,如果之前有操作存在,则会取消之前的操作,保证当前实例执行的是最新的","支付","支付代码","支付宝的支付流程讲完了,那微信支付也讲完了,因为它们流程相似。","支付的基本代码。","支持","支持一对一,一对多,多对一和多对多交互通信","支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案","支持预热多个","收到一个fin只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入time_wait是正常的,服务端通常执行被动关闭,不会进入time_wait状态。","收尾⼯作:结构体的总⼤⼩,也就是sizeof的结果,必须是其内部最⼤成员的整数倍,不⾜的要补⻬。","收尾:lgstruct1需要的内存大小为18字节,而lgstruct1中最⼤成员变量字节数是8字节,内存大小18字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为24字节","收尾:lgstruct2需要的内存大小为16字节,lgstruct2中最⼤成员变量字节数是8字节,内存大小16字节刚好是内部最⼤成员的整数倍,所以最终大小为16字节","收尾:lgstruct3需要的内存大小为34字节,lgstruct3中最⼤成员变量字节数是8字节,内存大小34字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为40字节","收益还是可观的。","改为","改变其中的某个部分——因为在这一层之前的若干层","攻击。","攻击是一种典型的","攻击的方法有如下几种:","攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源ip地址是随机的,基本上可以断定这是一次syn攻击。在","放⾃旋锁","放入其中。common","放在声明分号","效果图:","教程。","散列表","散列表是有空槽的,会浪费空间","散列表是没有顺序的,object","散列表的长度","散列表(hash","数值","数字签名:当我们去银行办理业务时,会在业务单上签下自己的名字,这个叫签名。而在网络通信中,签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确","数字证书","数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?","数字证书是由权威的ca(certif","数据传输前需要建立连接","数据传输结束后断开连接","数据加密","数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该成员有⼦成员,⽐如说是数组,结构体等)的整数倍开始(⽐如int为4字节,则要从4的整数倍地址开始存储。","数据段","数据段中","数据量较大(形式上一般为解码后的","数据,接收方可以根据接收到的数据是否能够被解析成合法的","数组","数组中,成为一个二维数组)","数量的是","整个场景或者某个场景的一部分。","整体如下图片所示:","文件","文件,","文件.","文件。","文件。dsym","文件。如果使用","文件中","文件中声明:","文件中有个名为","文件中有关编译的基本信息来源。","文件中的","文件中的对于其他库的引用的地方进行引用,生成最后的可执行文件。也包括多个","文件中,存储了","文件中,我们可以看出","文件之后","文件会选择","文件到自身的地址空间","文件和对其签名","文件并对其签名","文件并寻找依赖是安全性敏感的,因为恶意篡改的","文件数据从磁盘读入内存。","文件是预编译文件,这里的内容在执行","文件来分析崩溃位置,可以查看我之前的一篇博客。","文件来降低编译速度。","文件格式探索","文件格式的缩写,是","文件模式开发","文件的","文件类型","文件结构","文件绘制","文件编号","文件编译后的结果。","文件被","文件转化为机器码文件,产生","文件转化为汇编语言,产生","文件进行","文件配置无误,但启动图出现异常可能是无法避免的,所以我们的想法是既然无法从根源上避免启动图异常问题,那么我们是否能够提供补救措施,让其自动恢复正常,下次冷启就显示我们期望的启动图,这样不至于一旦出现异常后后续冷启都异常,对于用户来说也可接受。","文件里。","文件里了。","文件里存储了调试信息,在","文件里就可以找到有哪些文件里包含","文件)。将项目的文件结构对应表、将要执行的脚本、项目依赖库的文件结构对应表写成文件。","文件,使用","文件,我们就可以由地址映射到具体的函数位置。","文件,找到其依赖的库,并且递归的找到所有依赖的库,形成一张动态库的依赖图。io","文件,接着对这个文件进行签名。签名的作用是保证文件内容不多不少,没有被篡改过。接着会把包上传到","文件,然后用","文件,生成可执行文件","文件,解压缩后会得到一个文件夹。所以,ipa","文件,除此之外还包含一些","文字常量区:常量字符串就是放在这里的。","文字简答:","文文件,也就是上文提到的.","文本catextlay","文档和工具链对于一个工具来说十分重要,一个好的文档不仅能够帮助初学者快速上手,还能帮助使用者解决大多数使用过程中的困惑、理解工具背后的设计和实现,git","文章中讨论的","斜树","斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。","新内存空间","新创建一个指定初始化器,会覆盖父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","新增","新增了一个int","新对象添加注册操作","新建一个空","新建线程的工厂","新建:实例化线程对象","新旧散列创建","新的指定初始化器,如果有新的指定初始化器,就不会继承父类的所有初始化器,除非重写","方案。当时非常期望保留模块化的编译隔离属性。比如当","方案小结","方法","方法,","方法。","方法。但是如果你调用了","方法。派生类在被重写的setter方法内实现真正的通知机制","方法。系统会在任何它需要重新计算视图的","方法。若未找着,则到其父类","方法。调用这个方法代表向系统表示视图的布局需要重新计算。setneedslayout","方法一:","方法一:使用两个栈实现","方法中","方法中实现必须要更新的约束。","方法中将自身注册给模块化","方法中注册了","方法中移除监听。同时可以通过","方法中,取出实例的方法变成了","方法中:","方法之前被调用,所有使用到的类的","方法之后,还会调用一次","方法也是在此处调用","方法二:","方法二:使用一个栈实现","方法会在","方法会将","方法会立刻执行并返回,但在返回前不会真正更新视图。视图会在下一个","方法列表","方法可以指定是否需要缓存(kcgimagesourceshouldcache),之后再调用","方法可能被调用多次)","方法名","方法名称","方法名等信息","方法在设置好运行环境后,会调用instantiatefromloadedimag","方法处理支付宝的回调结果,对应的进行刷新","方法实现!","方法将对象添加至","方法就可以找到答案了。","方法并在当前","方法引起的启动速度影响都微乎其微。模块需要监听的全局事件主要为","方法或者显示中的","方法执行过后的类所占用内存的布局","方法找到所有","方法时(等同于uiview","方法时,存在一个_objc_sync_ent","方法是基于","方法是最理想情况","方法是每个镜像加载完毕的回调。","方法是系统调的,这时候不走","方法来初始化一个对象时,也仅仅在内存中生成了一个","方法来对value执行自增。","方法来将类自己实现的方法(包括分类)、属性和遵循的协议加载到","方法查询后台配置的商品信息。通过","方法检查类(包括其父类)中是否含有默认的方法","方法沿视图层级树从底向上(从根视图开始)从后向前(从逻辑上更靠近屏幕的视图开始)进行遍历,最终返回一个适合响应触摸事件的","方法添加断点","方法的内部实现会查询到已经存在的同名任务,并且会取消掉这个任务,并在当前view的operationdictionari","方法的区别是什么,他们在","方法的地址","方法的实现,在","方法的工作机制类似。","方法的执行的流程:","方法的时候。","方法的时候,不会立马发送对应视图的绘制工作,为什么?","方法的注释为:process","方法的调用","方法的调用栈。load_imag","方法签名测试","方法类似,updateconstraints()","方法类型","方法缓存","方法触发生成。)","方法调用之前的时间。","方法调用时,会先看一下字典里有没有存子线程相对用的runloop,如果有则直接返回runloop,如果没有则会创建一个,并将与之对应的子线程存入字典中。当线程结束时,runloop会被销毁。","方法购买产品,购买成功以后,iap","方法返回","方法通知购买进度。","方法通过位运算计算下标,实现了静态的","方法都会被调用。先调用父类的","方法里的内容很简单,会影响启动时间么?比如这样的一个","方法里的内容很简单,会影响启动时间么?比如这样的一个+load","方法里:","方法附带参数数量有限,也没有返回值,所以更适合使用","方法)。mehodwitharg、arg","方法);反之,则是类方法(+","方法,一直找到了","方法,之后通过","方法,会在这个阶段调用","方法,使原队列中","方法,再调用分类的","方法,再调用子类的","方法,再调用自己本身的;","方法,在添加到","方法,将结果从","方法,就算它的函数体内部实际没有代码,系统也会为这个","方法,就需要去系统库中查找到","方法,并且调用","方法,所以同理调用父类的[mnperson","方法,无需导入,无需使用","方法,查询","方法,然后进一步调用","方法,然后进入到视图真正的绘制工作当中。","方法,第一次调用的时候,mnperson","方法,该方法可以指定是否要缓存解码后的数据,在64位机器上默认需要缓存(kcgimagesourceshouldcache)。与上面的方法不同,这种方式创建的缓存会随着uiimage的释放而被释放掉。","方法,这些方法在","方法,那么在绘制任何东","方法,里面包含","方法:","方法;先调用主类的","方法?","旁枝末叶","无","无差错情况","无效对象直接导致指针释放","无法发挥的作用?它有哪些特性是作为分布式系统的","无法在一次遍历就完成绘制,那么就不得不触发离屏渲染","无法找到真正的符号地址后的最终指向","无法结束解锁——形成死锁","无论在","无论是","无论是mac还是arc","无论继承自什么类,都经常需要新的初始化方法,而这个新的初始化方法其实就是新的指定初始化器。如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。为了遵循必须要调用指定初始化器的规则,就必须重写旧的定初始化器,在里面调用新的指定初始化器,这样就能确保所有属性(成员变量)被初始化","无连接","无非就是去解决如何在运行时期找到调用方法这样的问题","既然","既然@synchronized能在任意地方(vc、view、model等)使用,那么底层必然维护着一张全局的表(类似于weak表)。而从synclist和syncdata的结构可以证实系统确实在底层维护着一张哈希表,里面存储着synclist结构的数据。synclist和syncdata的关系如下图所示:","既然要构建,那么必然会有一些地方去定义如何构建,对应","既然顺序存储不能满足二叉树的存储需求,那么考虑采用链式存储。由二叉树定义可知,二叉树的每个结点最多有两个孩子。因此,可以将结点数据结构定义为一个数据和两个指针域。表示方式如图3.11所示:","日志获得。大致过程为:","旧对象以及","旧对象对应的地址","旧对象解除注册操作","旧的指定初始化器就自动退化成便利初始化器,必须在里面调用新的指定初始化器","旨在替代nsthread等线程技术","时","时会优先读取","时候,","时可能就会同时比较","时是如何满足自己提出的这些需求的:","时更新当前模式对应的颜色和图片。","时期不同:dyld","时的那个时间点。正是在这个时间点上系统开始更新布局、显示和设置约束。如果你在处理事件的代码中请求修改了一个","时第进入的第一个","时缺失符号造成","时至今日,当我思考预加载方式在","时调用","时调用_objc_autoreleasepoolpop()","时账号模块发出广播,各业务模块进行","时进行保存。","时都需要进行重复的解码操作。而通过","时间复杂度:o(n),其中","时间复杂度:o(n^2)","时需要注意的问题。","时,_objc_sync_ent","时,timer","时,会发生线程安全问题。","时,会触发","时,会进入如图流程,用户可以在这三个步骤中","时,先从文件反序列化解析得到","时,则需要借⽤该变量存储进位。","时,即完成了一次编译,来看下这个过程做了哪些事情。","时,可以直接从内存里获取,将会获得速度提升","时,增加引用表指针纬度。","时,它的","时,它的生命周期是错误的","时,找到具体代码的汇编写法,如同红框中的示例。","时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此","时,生命周期紊乱导致一些依赖生命周期执行的逻辑失效,如电商行业里很看重的曝光统计数据不正确","时,系统会调用","时,说明有操作在执行。","时,首先先根据hash(obj)","时,,比如修改了frame、调整了ui层级(uiview/calayer)或者手动设置了setneedsdisplay:/setneedslayout:,这些调整操作会触发transact","映射到内存,通过","映射到虚拟内存里的","映射到虚拟内存里的(如下图)。下图中部分页被标记为","映射的给定镜像。它的调用如下:","是","是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动","是一个","是一个全新的动态链接器,它即将成为新的","是一个哈希结构体,其结构如下:","是一个实例变量(nsstring是一个类).至于","是一个成员变量。而","是一个模板类(templat","是一个模板类,在这个类中有一个","是一个系统进程,可以理解为桌面系统,可以统一管理和分发系统接收到的触摸事件。","是一个高级的的编译器指令,它允许开发者指定更更多的编译检查和一些高级的编译期优化。","是一种键值对设计模式,破坏面对对象的编程思想。(不重写特定方法,找不到key情况下会崩溃)","是一篇关于","是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以","是不会触发离屏渲染(单层情况下)","是不是","是不需要","是不需要和","是个懒加载属性,由","是为了效率而设计的,所以在健全性检验上有一些限制。因此它也有安全性问题,所以苹果不断的改进它以适应今天的平台。","是主二进制和动态库。mach","是事件源的集合","是事件驱动的,因此在无事可做时,线程会自动进入睡眠状态,从而提高了线程的效率","是二维","是从","是以“引用”方式传递的。也就是说,不对实参做任何拷贝","是以双向链表的形式连接起来的:","是使用的集合来管理任务。","是具体的消息内容。","是动态分配内存的,用来存放我们代码中通过alloc生成的对象,动态分配内存的特点是需要程序员申请内存和管理内存。例如oc中alloc生成的对象需要调用releas方法释放【mrc下】,c中通过malloc生成的对象必须要通过free()去释放。","是动态生成的。","是单独编译的,输出对应的目标文件(.o)","是另一个会让","是可以更改所生成的","是可以被压入","是同步source/timer/observer到多个mode中的一种技术方案","是否关闭non","是否可以创建nonpoint","是否可以我们自己生成启动图放至缓存目录,让系统认为存在可用的缓存启动图:a.","是否可靠","是否有","是否相等。还是从那张图上面我们可以看到:root","是否相等,之前讲到","是否知道异步绘制?如何进行异步绘制?","是否被","是否连接","是否需要下载。默认为","是启动的时候用到的,为了执行对应的代码,就需要两次","是启动的辅助程序,是","是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~","是固定的,攻击者很容易猜出后续的确认号,因此","是基于","是如何启动一个","是如何存储的。","是如何遵循这些规则来设计和实现的。","是对泛型对象的指针做了一个封装,通过这个泛型类来解决内存泄漏的问题。从注释中写","是将函数及其执行上下文封装起来的对象","是少数不继承自","是应用在","是开源的,我们可以添加一个自定义的","是强引用!","是当应用完成了你的所有事件处理代码后控制流回到主","是性能最差的呢?因为其包含的操作极为复杂,除了常规的加锁解锁操作以外,还需要考虑哈希表寻址,缓存获取","是成员变量相对于对象内存地址的偏移量,正是通过它来完成变量寻址。","是我们传入的一个弱引用指针。而对于","是我们经常需要研究的","是拿到自己的","是指使用苹果内购购买消耗性的项目。","是指由类声明的对象。","是数组的长度。快指针和慢指针最多各移动","是整个框架的中心,所有的处理逻辑都在这里面进行组装、分发。","是方法名,那么","是显示的基础:存储","是有序的,因此对于任意","是根据","是根据函数地址直接调用,initi","是根据当前系统的模式返回的","是用来监听runloop状态的。还可以处理ui界面刷新,那我们些的那些ui界面相关的控制代码,是怎么被执行的呢?图示如下","是由程序员自己管理,如果没有被强引用也会被消耗。nsconcreteglobalblock","是由编译器自动管理,超过作用域之外就会自动释放了。而","是目前最高效的工具,这都是由顶层的设计思想决定的,我们今天就来看一看『为什么你应该使用","是相互扶持的关系。cpu","是类的隐藏参数,指向调用方法的这个类的实例,是一个","是类第一次加载的时候调用,initi","是类第一次接收到消息的时候调用,每个类只会","是类第一次接收到消息的时候调用,每个类只会initialize一次(父类的initialize方法可能被调用多次)","是紧跟在","是编译过程中前端的输出后端的输入。","是苹果公司为多核的并行运算提出的解决方案","是被裁剪过的,","是这样子的:","是通过","是通过objc_msgsend","是链接器加载时最先读取的内容","显然,如果在那种插入、删除很频繁的场景中,平衡树需要频繁着进行调整,这会使平衡树的性能大打折扣,为了解决这个问题,于是有了红黑树,红黑树具有如下特点:","显示帧率","显示汇编,然后挂上断点,运行程序","显示渲染后的数据","显示的内容(包括","显示逻辑","显示(core","显示(display)","显示,过去四年新发布的设备中有","显示:","普通场景下涉及到线程安全,可以用nslock","普通的tile","更严格的链接语法","更便于测试么?这些是苹果一直在思考的问题,也是","更多分享","更多博文可看传送门","更多路由","更好的原理解析如下:","更改指针,获得以","更改新值指针,获得以","更新","更新可能不是你想要的那样。如果你的代码中的某些计算依赖于当下的","更新视图不同,layoutifneed","更新视图的","更重要些。暂时没想到方法","替代存储","替代方案:coreanim","替换","替换启动图","替换的图片名需与对应的缓存图完全一致,包括文件扩展名,但实际其内容格式可以为","替换的图片大小需与当前屏幕大小一致(图片宽高等于屏幕宽高或高宽),如果不一致,系统会重新生成缓存启动图。","替换缓存启动图文件,即保证该目录下所有子文件名不变,但文件内容全部替换,验证方案有效:替换后冷启效果:","替换设置方法","最后一个mnteacher","最后一题:uiview和calayer的区别?","最后交给uiapplicationdelegate,如果其未处理则丢弃事件。","最后会对标记为","最后使用imagewithcgimage()方法将cgimage转化为uiimage。","最后到uiapplication后仍然没有能处理该事件的对象,则该事件被废弃。","最后将渲染结果放到","最后给大家奉上苹果爸爸关于启动图的官方文档,其中一段:","最后设置正确的","最后,将obj添加到自动释放池中。","最后,将最终要显示在画面上的后帧缓存交给gpu,进行采集图片和形状,运行变换,应用纹理和混合。最终显示在屏幕上。","最坏情况:查找的位置是有序区的第一个位置,则需要的比较次数为:log2n,需要的赋值操作次数为n(n","最大不能超过","最大偏移值","最好情况:查找的位置是有序区的最后一位后面一位,则无须进行后移赋值操作,其比较次数为:log2n","最开始讲解","最直接的回答就是uiview可以响应用户事件,而calayer不能处理事件","最简单的是使用dispatch_get_global_queue(0,","最繁忙的时段,达到平滑性能波动的目的。","最终形成的","最终我们决定直接摒弃系统缓存的启动图,完全替换为我们自己生成的启动图。","最终我们决定节省每一份精力,效率最大化。将各业务的","最终结果保存在脚本目录下。","最终,我们总结了所有我们需要的业务模块化需求,沉淀出了轻量级的模块化","最终,生成前后帧缓存会再交由gpu进行最后一步的工作。","最高有效位","月起,提交审核的应用都必须使用","有","有aes、des、3des、tdea、blowfish、rc4、rc5、idea等。加密使用的密钥和解密使用的密钥是同一个密钥。由于加密算法是公开的,若要保证安全性,密钥不能对外公开。通常用来加密消息体。","有md5,sha1,sha256。用来确认信息没有被篡改。主要用来生成签名,签名是加在信息后面的,可以证明信息没有被修改过。一般对信息先做hash计算得到一个hash值,然后用私钥加密(这个加密一般是非对称加密)作为一个签名和信息一起发送。接收方收到信息后重新计算信息的hash值,且和信息所附带的hash值解密后进行对比。如果一样则认为没有被修改,反之则认为修改过,不做处理。可能有一种情况,黑客修改了信息并把hash值也改了,从而让他们相匹配。所以hash值一般都是加密后(生成签名)再和信息一起发送,确保hash值不会被修改。","有rsa、dsa/dss、elgamal、rabin、d","有一个必不可少的东西","有一个标记位来标识指针是否是tag","有一些对象比较小则会使用","有一套很智能的预加载策略;","有两个属性:","有两种。","有个参数","有个比较大的优化是","有了闭包之后,就可以用闭包启动","有些对象如果支持使用tag","有些防护操作就是基于这个原理来做的","有人反馈,iap","有什么优点吗","有什么作用?以下是笔者自身的猜测:","有什么关系和区别","有以下代码:","有单播,多播,广播的功能","有序接受","有扩展标记位的mask","有时候想让指定视图来响应事件,不再向其子视图继续传递事件,可以通过重写hittest:withevent:方法。在执行到方法后,直接将该视图返回,而不再继续遍历子视图,这样响应者链的终端就是当前视图。","有正确的尺寸。","有没有什么方式能够帮助我们发现使用『哈希碰撞』进行的恶意攻击从而保证仓库的安全呢?","有没有办法直接传递模型对象呢?这里涉及到模型的类文件放在哪里。最容易想到的方案是沉入","有没有办法绝对的避免","有点特殊,替换代码如下:","有用","有的同学可能对这个函数比较熟悉了","有能达到预热","有许多事件会自动给视图打上","有赞移动","有赞移动自","有部分防护手段就用到了这个环境变量","有:","服务使用方开单模块可以直接将这个","服务创建订单,并把订单推入支付队列。","服务器发送完syn","服务器回调","服务器查询失败的话,那就要等下次","服务器查询的时候,查不到这笔订单。","服务器查询这个收据对应的已付款的订单号。","服务器端使用自己的私钥解密上面提到的随机数,然后使用这串随机数生成自己的对称主密钥","服务器端向客户端返回一个","服务器端生成自己的","服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到syn洪泛攻击。syn攻击就是client在短时间内伪造大量不存在的ip地址,并向server不断地发送syn包,server则回复确认包,并等待client确认,由于源地址不存在,因此server需要不断重发直至超时,这些伪造的syn包将长时间占用未连接队列,导致正常的syn请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。syn","服务器第一次收到客户端的","服务器通讯,让用户确认购买,输入密码。","服务注册方案","服务,图形界面的","未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。","未引入tag","本体,也就不再需要离屏渲染了。","本地离线缓存文章","本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍","本文可为以下面试题提供参考:","本文回顾了","本文大量借助了引用文章的文字描述,在此感谢各位作者的文章对本问题的理解起了很大的帮助。也希望各位能去原文发表自己的看法。谢谢~","本文将提供一种静态分析的方式,用于查找可执行文件","本文由","本方案主要用于解决启动图无法渲染、不更新等异常问题,能够让应用自动恢复正常的启动图,从用户角度来说最坏的情况是首次启动时展示了异常的启动图,但下次冷启时即可展示正常的启动图了,保证了用户体验。","本来并不复杂,也没有圆角阴影等等,打开这个开关反而会增加一次不必要的离屏渲染","本次","本次使用缓存,同时储备下次","本篇相关文档和","本质上是一个while","本质是创建一个","本身。以","本身。所以第二次循环相等,于是第一行","本身也是一个对象,它的","本身是一块矩形区域,但是阴影的形状却未必是矩形,而是与","本身是一种跨多端的通用协议。使用路由","本身有哪些坑。最大的一个就是,从","机制简析","机器码生成器会针对不同的架构,比如","杂乱知识点","条件执行:","条件是一种同步工具,可用于控制线程何时执行代码的特定部分。您可以将条件视为关守,让线程仅在满足指定条件时运行。","来了\");","来作为数据存储区域","来做","来做渲染,那么就没有理由再触发","来决定","来分配空间,将其","来创建的,但是并没有创建线程缓存,即","来判断编译环境,通过","来到","来到函数实现","来到源码中","来到这里","来加载主程序","来动画到新的状态。","来响应。","来处理好以后,再把结果作为","来处理每一个类,而","来完成渲染任务,而给","来实现kvo.","来实现。","来实现地址空间配置随机加载","来实现端口,因此当端口上没有数据等待时,线程将进入睡眠状态","来实现缓存。","来对渲染结果进行缓存","来对类结构体的","来开发,它的可视化带来的好处相比项目协作迭代里遇到的","来强行指定对齐方式,那么系统会在","来打开离屏渲染检测","来指定在","来控制并发,然而这样只能控制并发的任务数量,而不能控制线程数量,并且使用起来不是很优雅。而使用串行队列就很简单了,我们可以很明确的知道自己创建的线程数量,一切皆在掌控之中。","来控制编译过程。","来构建界面。开发人员创建完","来查找。","来查找对应的类,然后在这里的","来查看二进制顺序","来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。","来比较两个不同版本和不同文件夹之间的差异也是非常迅速的,作为分布式系统,每一个","来渲染界面的。这需要","来源:掘金","来生成","来画出最终结果,那就只能另开一块内存空间来储存中间结果。这些原理并不神秘。","来画图","来看一下官方","来确定触摸事件发生在哪个视图对象上。其中主要用到了两个","来管理三方库,那么你的","来管理图片,这些图片会被编译为机器码,除了","来组装交易信息,并进行加密处理等操作。显然我们应该采用第一种方式。","来自","来获取对应","来获取成员变量的内存地址。其计算公式如下:","来获取的","来规避离屏渲染","来设置模块依赖关系。","来访问这些代码不会有什么问题,通过计算机之外的方式对代码进行控制是一种效率更高的做法。","来说,launch","来进行判断,保证被取消的任务能及时退出,不至于影响后续操作。","来进行绘制,当同一时刻过多组件需要绘制或者组件元素过于复杂时,必然会给","来通知自己做一些事情。比如用户在搜索栏输入一连串字符之后的某个时间自动搜索一次结果。正是因为有了个延时,才让用户有机会在自动搜索发生前尽可能打出想要的搜索字符串。","来配置启动图。而步入","来释放自动释放池。这个","来重定向","来重新定位或更改大小时重载它。然而你不应该在代码中显式调用这个方法。相反,有许多可以在","构建","构建的基本流程,以及这个流程里可用于启动优化的点;最后大篇幅讲解","构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的uirespons","构造函数里面参数尾部多了一个:","构造函数里面多了一个参数","构造方法存储在","果然,按照控制台中所输出的路径,我们找到了系统生成的启动图文件,其格式为","架构上,mac","架构下运行。","架构中有","架构为:","架构关系如图:","架构方面","架构设计更多强调的是分层,基于设计模式六大原则之一的单一职责原则,将系统划分为基础层,网络层,ui","某个对象所有指向它的","某个类的头文件但仍需调用其方法时,最常想到的就是基于反射来实现了。例:","某些环境变量会直接影响该库是否会被加载","查找","查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;","查找第一响应者","查找第一响应者时,有两个非常关键的api,查找第一响应者就是通过不断调用子视图的这两个api完成的。","查看_cfrunloopget0方法内部","查看uiimageview的api我们可以发现,uiimage封装了一个coregraphics/cgimage的对象。","查看函数调用栈","查看包内容。","查看对象实例是否有效","查看编译时间","查看资源check:不操作","查询成功后的回调.","栅栏任务","栅栏函数只能控制同一并发队列:打个比方,平时在使用afnetworking做网络请求时为什么不能用栅栏函数起到同步锁堵塞的效果,因为afnetworking内部有自己的队列","栅栏函数的作用是将队列中的任务进行分组,所以我们只要关注任务1、任务2","栅栏结束——{number","标准库","标准的三个","标准转换运算符","标志位标识二进制文件支持的功能","标记为需要重画(redraw)。在接下来的","标记位标示是否为","标记,因此","栈block","栈上的block复制到堆上","栈中存放的指针指向加入需要release的对象或者pool_sentinel(哨兵对象,用于分隔autoreleasepool)。","栈中指向pool_sentinel的指针就是autoreleasepool的一个标记。当autoreleasepool进行出栈操作,每一个比这个哨兵对象后进栈的对象都会release。","栈区","栈区(stack):由编译器自动分配释放","栈溢出保护","树","树了","树画完之后,再统一加上","树(tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:","核心的流程大概是这样:","核心规则","核心:将所有分类的对象方法,附加到类对象的方法列表中","核设备同一时刻最多能","根","根据","根据isa特性可以解释消息传递与寻找方法列表原理","根据上面的手势和响应者链的处理规则,我们会发现uibutton或者uislider等控件,并不符合这个处理规则。uibutton可以在其父视图已经添加tapgesturerecognizer的情况下,依然正常响应事件,并且tap手势不响应。","根据以上的分析结果,我们知道应用启动时加载启动图的大致流程:","根据传入的","根据传入的主线程获取主线程对应的runloop","根据你的函数返回的长度,","根据全局弹窗排序,决定显示那个——当后台数据返回指定的","根据具体业务和需求的不同,大部分公司会采用以上一种或者某几种的组合。","根据函数调用栈我们发现","根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。","根据当前的模式返回","根据我们上面的测试,推断","根据消息接受者的isa指针找到metaclass(因为类方法存在元类中。如果调用的是实例方法,isa指针指向的是类对象。)","根据环境变量配置打印信息","根据苹果的官方文档,手势不参与响应者链传递事件,但是也通过hittest的方式查找响应的视图,手势和响应者链一样都需要通过hittest方法来确定响应者链的。在uiapplication向响应者链派发消息时,只要响应者链中存在能够处理事件的手势,则手势响应事件,如果手势不在响应者链中则不能处理事件。","根据获取到的","根据计算出来的","根据这个规则,所有的元类使用根元类作为他们的类,根元类的元类则就是它自己。也就是说基类的元类的isa指针指向他自己。","根据这条规则,可以从nsobject、uiview中看出,由于uiview拥有新的指定初始化器","根据首对象查找","根本不在运行,timer","根节点加入队列中","根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的,若终端信任根证书,则信任根证书生成的其他证书。终端没有安装相应https证书则不能访问https网站。","格式","格式来。这会产生一个问题,每次当我们需要从磁盘读取","格式的常见文件","格式的替代,mach","格式的,那么磁盘中的存储则会按","框架。calay","框架下的","框架下的方法,它往往性能比使用各种“锁”更为优越,并且代码优雅。","框架中的方法。虽然在实际的编程中都不会这样做。","框架可以通过图片上下文将绘制内容制作为一张位图,并且这个操作可以在非主线程执行。那么,当有","框架,实际上它是依托于","案例如下","案例解析","检查","检查是否需要开启下载。","检查是否需要缓存原始数据","检查每线程单项快速缓存中是否有匹配的对象","检测","检测共享缓存禁用状态","检测到了","检测到手指触摸操作(touch)时,会将其打包成一个","检测可执行程序格式","检测对象是否生效、以及是否使用了","检测环境变量","检测离屏渲染","检测进程是否受限","检测通过","检索方式,再来看","概念","概述","模块。但一旦这个口子放开,后续会有越来越多的模型放入","模块。通过","模块中写代码通过这些","模块中这些命名有所变化,还会出现调用失败。所以我们对各个模块使用外观(facade)模式进行重构。d","模块依赖","模块内设计及","模块创建一个外观层","模块化通讯方案中,更多的是把通知方案作为以上几种方案的补充。","模块和","模块对上层业务模块的反向依赖。于是我们进一步拆分出了一个新模块","模块对外提供的某个接口发生变化时,不会引发依赖这个接口的模块的编译错误。这样可以避免依赖模块被迫中断手头的工作先去解决编译问题。当时也没有采用","模块是很薄的一层,共同修改维护这个模块也可以接受,所以目前没有将其拆开。将来如果需要,再将其做分拆改造即可,改造工作量很小。","模块没有明确业务组归属,所有小组都能编辑,","模块点击用户头像打开会员模块的用户详情页。","模块的","模块的这些内部信息才能完成反射功能的实现。如果","模块编译产出以及集成到","模块间网络层的封装基于反射代码,","模块间通信方式设计","模块,各业务模块直接依赖","模块,资产模块等等。他们都是独立","模块,通过调用显卡驱动所提供的","模式。这个选项在高版本的","模式下","模式下使用。","模式下,不生成","模式下,关闭编译器优化","模式下,将","模式下,我们可以借助","模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。","模式改造之外,还需要考虑以下问题:","模拟代码","模拟器","模拟器仅支持加载到当前进程","横屏截图是否生成由","横竖屏问题","次。","次。即o(n^2)","次左右,统计表格如下,navigationstart","次比较。在最坏状况下则需要","次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner","次(这个值取决设备硬件,比如","次,并且很可能每一帧有几十张的图片要求这么做,对于","正在调用","正在运行。内部维护了","正如上面所描述,我们的产品页面在","正如我上周展示的,定义一个class有很多种方式,取决于你的运行时库版本,但有一点,它们都以isa字段开始,并且仅跟着一个superclass字段。","正常情况下(obj存在)会通过id2data方法生成一个syncdata对象","正常的情况下,","正常,进入下载。","正忙于执行某个","正是由于红黑树的这种特点,使得它能够在最坏情况下,也能在","此回调是被运行时_objc_init初始化时赋值的一个函数load_imag","此处引用","此处的p就是上面的obj,也就是obj执行上面的哈希函数对应到数组的index","此外,树的定义还需要强调以下两点:","此打断点跟踪汇编信息,可以发现底层库调了objc_initweak函数","此方法在遍历视图时,忽略以下三种情况的视图,如果视图具有以下特征则忽略。但是视图的背景颜色是clearcolor,并不在忽略范围内。","此时gcd就提供了两个api——dispatch_barrier_sync和dispatch_barrier_async,使用这两个api就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务,最后执行栅栏后任务","此时springboard会根据当前桌面的状态,判断应该由谁处理此次触摸事件。因为事件发生时,你可能正在桌面上翻页,也可能正在刷微博。若是前者(即前台无app运行),则触发springboard本身主线程runloop的source0事件源的回调,将事件交由桌面系统去消耗;若是后者(即有app正在前台运行),则将触摸事件通过ipc传递给前台app进程,接下来的事情便是app内部对于触摸事件的响应了。","此时就很清晰了,在异步线程创建一个位图上下文,调用task的display代码块进行绘制(业务代码),然后生成一个位图,最终进入主队列给yyasynclayer的contents赋值cgimage由","此时并没有设置引用计数为1","此时我们就不得不开辟一块独立于","此时看到写入路径正是我们所熟知的沙盒目录,接着我们将应用沙盒目录导出,查看library目录结构如下:","此时通过","步骤越往后,处理消息的代价就越大;最好能在第一步就处理完,这样的话,runtim","步骤,得到最终的顺序序列","步,对不对?看起来比支付宝还简单,有木有?","步,比支付宝少","步;","死亡","死亡:正常死亡,线程执行完毕。非正常死亡,当满足某个条件后,在线程内部中止执行/在主线程中止线程对象","死锁","死锁原因","段","段、","段中且不连续,此时需要执行多次","段中的内容,比如字符串移动到其他的段","段之后的.","段加密。io","段命令数量","段和","段和整个符号表来缩减大小。它能打包二进制段,因此能节约内存空间。实际上它是一种动态库的预链接。它预先构建了","段在运行时是可读可写的","段开始读取的","段的指针指向","段的指针指向就不对了。rebas","段的符号表中","段的页解密很耗时,有没有办法优化呢?","段的页,要进行解密","段进行加密,防止","段里都存放了什么","每","每一个autoreleasepoolpage节点是一个堆栈结,且大小为4096个字节。","每一个uiview都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做back","每一个对象都有一个标记位","每一个线程都会维护自己的autoreleasepool堆栈,也就是说每一个autoreleasepool对应一个线程。","每一个自动释放池都是由一系列的","每个","每个runloop中都会创建一个","每个业务模块的产出包括可执行文件和资源文件两部分。有","每个业务模块都作为一个子","每个分类的结构都一致,都是category_t","每个分类都是独立的","每个模块除了","每个类、分类的","每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法","每个进程之间是独立的,每个进程均运行在专用的且受保护的内存","每当调用方法的时候,会先去cache中查找是否有缓存的方法,如果没有缓存,在去类对象方法列表中查找,以此类推直到找到方法之后,就会将方法直接存储在cache中,下一次在调用这个方法的时候,就会在类对象的cache里面找到这个方法,直接调用了。","每条tcp传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。","每次pop,实际上都会把最近一次push之后添加进去的对象全部release掉。","每次会根据已经编排的触发时间自动重新编排。如果实际的触发时间太过于延迟,甚至是晚了一个或多个周期,那么也只会触发一次,而非连续多次。之后会重新编排下次触发时间。","每次都运行在某个特定的","比gcd多了一些更简单实用的功能","比如","比如2表示是nsstring、6表示是nsdate,我们知道3bit能表示的最大值是7,这个7系统用来预留,用来标记是否有额外的标记位,这样就能支持更多的类支持tag","比如arm64","比如hittest:withevent的处理,","比如公钥加密后只能由私钥解密;私钥加密后只能由公钥解密。且一方加密的内容只能由对方进行解密。","比如屏幕点击,","比如我们加上:testserver,表示在这个宏中的代码运行在测试服务器","比如点击的是","比如这里的","比如,在三方库中最常见的,声明一个属性或者方法在当前版本弃用了","比如,这样的代码很常见","比对一下atomic的逻辑分支:","比目前","比较大小,比","永远都不会触发。","汇编(asembly):把汇编语言","江涛的博客","沉淀","沉淀几个阶段。期间有过对已有","沙盒中。","没价值的隔离?","没啥大毛病,对吧?现在来详细分析一下。","没啥结果了","没有初始化过的常量","没有初始化过的符号声明","没有初始化过程;swift","没有办法进行统一裁剪,","没有开启指针优化的对象直接存在sidetable的refcountmap或者说是densemap中。","没有开源,我从","没有新值,则无需更改","没有绑定","没有被使用,会自动被丢弃","没有路由管理同时不够轻量","没有那么多安全检查,显得比较随意、宽松,而","没被使用过,所以未被初始化,要先调用一下父类的","没被使用,也不要抛出警告","法,也即类的实现是可以动态绑定的;iskindofclass也是一样的道理。","泛型成员,也就是","注","注:","注册","注册完毕继续回到","注册的那个","注册观察者","注册观察者之前:类对象为","注册观察者之后:类对象为","注意","注意:","注意上面内部的两个","注意不是报","注意事项","注意和事件传递是倆概念!!!!","注意点","注意这个过程都是在内核态完成的,这里提到了","注意这里使用了一个判断:if","注意这里没有初始化","注意,并不是所有的","注意,每次重传等待的时间不一定相同,一般会是指数增长,例如间隔时间为","注意:以上为","注意:对于","注意:这种形式,并没有起到命名空间的作用。在代码中,依然可以定义相同的方法:","注:","注:不要将过多的其他操作代码放到锁里面,否则一个线程执行的时候另一个线程就一直在等待,就无法发挥多线程的作用了","注:已知前序遍历序列和后序遍历序列,不可以唯一确定一棵二叉树。","注:满二叉树一定是完全二叉树,但反过来不一定成立。","流程如下","流进行语法静态分析(static","流量控制","流)。","浅拷贝","测试","测试方案:模拟器,每种方式测试时都重启,各测试了","消失就是首页数据加载完成。由于标准很难对齐,所以我们一般使用狭义的启动定义:即启动终点为启动图完全消失的第一帧。","消息。这里","消息中的上下文指针包含任意数据,这些数据将在相应的更改通知中传递回观察者;您可以指定null并完全依赖键路径字符串来确定更改通知的来源,但是这种方法可能会导致对象的父类由于不同的原因而观察到相同的键路径,因此可能会出现问题;一种更安全,更可扩展的方法是使用上下文确保您收到的通知是发给观察者的,而不是超类的。","消息传递","消息到服务器端,消息中同时包含了它的","消息发送","消息发送与转发详解","消息机制和","消息给服务器端,使用对称密钥加密这次通讯的一个散列值","消息转发","消息边界","消息重定向","消息重定向测试","消息队列:","消息,也使用协商好的对称密钥加密","消息,消息中包含了服务器端的","消息,直到第一个","消息:","深入了解","深入学习二叉树(一)","深入探索","深入理解","深入理解ios的block","深入研究","深入解析","深夜暗坑","深拷贝","混写(isa","混合和过度绘制","添加","添加一个autorelease对象,next指向下一个存对象的地址。","添加到","添加到串行队列中——按序执行","添加到主队列中——死锁","添加到全局队列中——乱序执行","添加到并发队列中——乱序执行","添加圆角和裁切,所以还是会触发离屏渲染。","添加引用时,objc_initweak函数会调用objc_storeweak函数,objc_storeweak的作用是更新指针指向,创建对应的弱引用表(hash表)","添加成员变量,但是可以间接实现分类有成员变量的效果","添加方法,也不会影响类的只读结构。","添加至","清理了缓存,被缓存对象的引用计数减一,但是它还在内存中,但是,从","清理及其它相应操作。","清空启动图缓存目录,迫使系统重新生成启动图文件,但仍出现白屏问题,方案无效;","清空缓存目录,直接放入随意命名的图片,验证无效,系统会在应用下次启动时或应用挂起时,根据应用支持的界面方向及设备当前的方向重新生成对应的启动图;b.","清空编译缓存,仍旧复现,故排除编译缓存问题;","清除(delete)","清除旧值","渐进时间复杂度(平均时间复杂度):o(n^2)","渠道分发的","渲染","渲染layer的content纹理,同til","渲染layer的mask纹理,同til","渲染。","渲染不是","渲染可以分为四个步骤","渲染完成的帧缓冲区数据进行绘制的同时,还会通过","渲染就是俗称的","渲染并非真正意义上的离屏渲染。另一个证据是,如果你的","渲染性能的调优,其实始终是在做一件事:平衡","渲染效率不高,但是较为通用灵活;gpu","渲染服务首先将图层数据交给opengl","渲染架构","渲染的流程?","渲染等待","渲染结果先经过了离屏","渲染结果存储的地方)。但是此时出现了特殊情况导致渲染结果无法直接写入","渲染虽然也是","渲染过后提交到显示系统。","渲染速度不够快,因此只适合渲染静态的元素,如文字、图片(想象一下没有硬件加速的视频解码,性能惨不忍睹)","渲染都在后台线程完成(这也是","渲染里。","渲染)和图片(imageio)渲染,由于","渲染,渲染完成提交到帧缓冲区;当","源事件设置数据","源对象类型","源文件","源文件(.m/.c/.swift","源码","源码中可以看出bucket_t中存储着sel和_imp,通过key","源码分析","源码剖析:异步绘制","源码在这里。","源码解析","滑动优化方案思路:","滑动时也会响应该事件并执行指定的","滑动窗口流量控制等机制","满二叉树","满二叉树的特点有:","满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。","演示如下","点击","点击、touchesbegin/move/end/cancel事件都是在这个回调中完成的。","点击到网络加载时间(ms)","点击到页面加载完毕时间(ms)","点击图标,创建进程","点击进入","热启动:如果把","然后会交给uiapplication。","然后会讲一讲越狱环境插件如何防护","然后会调用系统的同名方法","然后判断得知","然后各个业务模块依赖","然后合并到一起进行裁剪,","然后在","然后在加载","然后在回到主线程把","然后对其加一,重新写入。","然后将事件event分发给source0,然后由source0来处理。","然后将原系统函数的真实地址赋值到用户指定的指针上.","然后将处理后的数据输出到界面上做相应展示,","然后找到","然后把这段脚本拷贝进去,并且勾选","然后由","然后设置了背景颜色,","然后跳转去处理消息。","然后轮到[mnstudent","然后,","然后,开始从缓存中读取图片,回调之后判断当前operation是否还存在,以及operation是否被取消,如果取消的话就从runningoperations中移除当前operation并返回,什么也不做。否则,调用下载处理程序:calldownloadprocessforoperation:并把我们读取出来的缓存数据传入该方法。接下来我们看看这个方法的内部实现:","然后,拖动这个脚本的到","然后,搜索这个地址","然后,配合多个","然后,重启","然而『合并分支』的性能对于版本控制系统来说才更加重要,因为我们创建新分支的最终目的就是合并回主干分支,如果合并分支的性能非常差,每次合并可能都需要几十秒甚至几分钟,那么这种昂贵的代价就会使开发者谨慎地使用分支合并操作,很多人可能因为合并分支的复杂和困难选择直接在主干分支上开发,因为他们认为只改一两行代码怎么可能会导致线上事故!","然而在实际场景中,真正需要严格控制的代码都非常少,大多数公司的内部代码都是一些秘密等级非常低的业务代码,不仅代码质量非常差、而且一旦脱离了公司的环境就无法运行,作为公司内部的开发者通过","然而当我们按照以上方案初步开发完成,进行多系统验证时,遇到了一个棘手的问题,测试发现方案在ios10.0及以上工作正常替换成功,但是在ios9.x及以下系统方案无效。通过断点调试发现调用nsfilemanager接口获取缓存目录下的文件名列表为空,再通过观察控制台应用中的输出,发现根本原因是无读取权限:","然而有些场景并没有那么简单。作为","熟悉的支付宝和微信支付","熟悉越狱插件的同学应该很清楚这个机制了","熟悉越狱插件的同学应该都很清楚","父","父类mnperson类调用过initialize了,因此调用自身的就够了,由于他和mnteach","父类和本类的调用:父类的方法优先于子类的方法。一个类的+load方法不用写明[sup","父类引用","父节点","父视图未处理事件则继续向下传递,也就是uiviewcontroller的view。","片分配额外内存,以及切换绘制上下文,这些都会降低gpu性能。对于特定图","片段乃至","版本不一致的情况时有发生。当时零售移动团队虽然达到","版本中,有一个较为重要的成员方法,用来根据对象的地址在缓存中取出对应的","版本号,","版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的","版本控制系统中的开发模型必须是分布式的;","版本控制系统必须保证文件的完整性,提供来自于数据丢失或者损坏的保护;","版本控制系统必须提供足够好的性能支持;","版本改造后,app","版本进行支持了,因此这里我们就统一使用","版本,可用的加密算法和压缩算法。","版本,如果一不小心,就会忘记。这个过程,我们可以通过插入脚本自动化。","版本,服务器所选择的加密和压缩算法,以及数字证书认证机构(certif","物理像素","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。","物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。iphon","物理地址","特点","特点:","特点:","状态","状态。","状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据也没啥毛病。","状态。服务器收到","状态。需要过一阵子以确保服务端收到自己的","状态控制","状态,假如是客户端先发起关闭请求。四次挥手的过程如下:","状态,服务端收到","状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。","状态,此时,双方已建立起了连接。","状态,直接处理这个","独立发版的。编译隔离和代码隔离属性对他们很有效。","狭义:点击图标到","环境下","环境下,性能开销变得更大。","环境变量来决定是否需要加载插入的动态库","现已被广泛应用在各端开发中。","理想情况,应该是先执行","理论上在本方案基础之上还可升级添加更多产品策略,但这里也忠告大家请勿滥用,并且未来苹果可能会修改该系统机制。","理论上,四个报文都发送完毕,就可以直接进入close状态了,但是可能网络是不可靠的,有可能最后一个ack丢失。所以time_wait状态就是用来重发可能丢失的ack报文。","瓶颈),这时可以让","生成","生成(generate)","生成一个","生成可执行文件","生成可执行文件)。使用","生成启动图","生成字节码:如果开启了","生成对应的图片(bitmap)","生成截图,最后写入磁盘。","生成新数据并写入缓存","生成新的启动图,并将其缓存至沙盒目录","生成汇编","生成目标文件","用","用于","用于判断","用于后续访问图片数据。","用于存储与类有关的信息:","用于存储类名、类版本号、方法列表、协议列表等信息,替代了","用于监听runloop的状态","用于缓存指针和","用于轻量级数据访问,简单的int值","用户在","用户在详情页面,点击了我好评率,那么大概率,用户还会打开用户晒单的视频和图片。这时候可以预加载一个视频播放器和图片浏览器,提供用户的响应速度等。","用户态:","用户旋转设备","用户点击图标之后,会发送一个系统调用","用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。","用所有类信息减去引用类的信息,此时我们可以拿到未使用类的地址信息。","用指针去访问","用来保证associationshashmap操作的时候,是线程安全的","用来处理无关类型之间的转换。该关键字会产生一个新值,并保证与原参数(expression)拥有完全相同的比特位。","用来存放任务的","用来存放全局变量","用来接收系统事件,其回调函数为","用来搭建local","用来查找继承的方法。","用老版本打包。我们的微信商城","用途","由","由d返回至b,第二次到达b,故输出b;","由h返回至d,第二次到达d,不输出d;","由二叉树定义以及图示分析得出二叉树有以下特点:","由于","由于osspinlock自旋锁的bug,替代方案是内部封装了os_unfair_lock,而os_unfair_lock在加锁时会处于休眠状态,而不是自旋锁的忙等状态","由于主线程的","由于在","由于在传输层udp已经是不可靠的连接,那就要在应用层自己实现一些保障可靠传输的机制","由于存在于全局区,所以会一直伴随着应用程序。","由于弱引用在析构dealloc时自动置空,所以查看dealloc的底层实现并llvm调试","由于是第一次调用,所以走havenew分支——获取到的是新的散列表sidetable,主要执行了weak_register_no_lock方法来进行插入","由于现在是arc环境,myblock属于强指针,因此在将block对象赋值给myblock指针的时候,编译器会自动对block对象执行copy操作,因此赋值完成后,myblock指向的是一个堆空间上的block对象副本","由于移动端所处的网络环境远远比服务端要复杂,所以,最大可能出现问题的是与移动端的通讯上。对于支付宝,只要移动端确实付款完成,那么接下来的验证工作都是服务器于服务器之间的通讯。这样一来,只要用户确实产生了一笔交易,那么接下来的验证就变得可靠的多,而且支付宝服务器会一直回调我们的服务器,交易的可靠性得到了极大的保证。","由于符号解析的开销很大,dyld","由于给定的数组","由于这些初始化程序是在","由代理决定是否需要新建下载任务。","由以上分析我们知道系统启动应用时会检查当前是否有可用的启动图,所以我们猜想如果当前没有可用的启动图,那么应该会迫使系统重新生成。为此我们清空了缓存启动图,再次冷启应用,果然验证了我们的猜想:","由前面可知","由图3.10可以看出,对于这种右斜树极端情况,采用顺序存储的方式是十分浪费空间的。因此,顺序存储一般适用于完全二叉树。","由图3.7可以看出,当二叉树为完全二叉树时,结点数刚好填满数组。","由显式调用","由此可知,不管是","申请一块内存区域,等待","画图分析","画图分析就是","画完才能得到","画家算法","界面。","界面跟踪","留出足够时间处理各种各样复杂的","疑难解答","百度","的","的)","的+resolveclassmethod:和+resolveinstancemethod:将会被调用,在此时有机会动态地向类或者实例添加新的方","的nsoperation的","的super","的viewdidload","的yytextview中,主要是为了将自定义的绘制逻辑装入transactionset,然后在","的。如果是","的一个","的一个类也是一个对象。这意味着你可以发送消息给一个类。","的一些","的一次全面重写。它拥有正确的","的下标中,这里使用了","的不同工具来测试性能,而不是仅凭猜测来做决定","的不同时间点触发","的不同版本管理及回退的优势也没有体现出来。最终还是将各模块代码迁回了主","的业务模块存在,这种追求没有价值,所以应该问题不大。同时因为下沉的都是一些头文件,没有具体实现,将来如果需要模块间的进一步隔离,比如模块单独打包等,只需要将这些","的个月的时间对已有项目进行了业务模块化改造(边做业务边改造)。因为方案细节考虑的比较多,大家对一些可能存在的问题也都有预期,所以当时改造后大家多持肯定态度,成本","的主旨在于降低性能损失,但总是至少会触发一次离屏渲染。如果你的","的主要函数.","的主要区别就是没有启动闭包,就导致每次启动都要:","的主要原因是我们存在动态化且多端统一的需求。比如消息模块下发的各种消息数据模型完全是动态的。后端配好展示内容以及跳转需求后,客户端不需要理解具体需求,只需要通过统一的路由跳转协议执行跳转动作即可。","的主要思想),然后再回到主线程上,把渲染结果传回","的事件响应链机制?","的事情,但是实质上都属于强收过路费的行为。","的交集","的代价,所以","的代码。","的代码中直接搜索","的代码中,通过","的代码优化流程是一个一个","的代码,并做一个比较。如果发现不一致,则报","的任务并不一定能按时执行。","的优先级是","的优化后:","的优化将不再起作用。","的优化思路。在","的优点是输出在同一个对象内,方便管理。缺点是作为动态库载入,影响加载速度。所以当时选择了静态库","的传输会使用","的位置","的位置和大小。这个方法很开销很大,因为它会在每个子视图上起作用并且调用它们相应的","的位置需要被重新计算,继而会自动转化为一个最终的","的作用","的作用就是将二进制文件加载进内存。dyld::_main()","的使用场景很多,本文只列举","的使用门槛,sourcetre","的修改和提交,总有些任务是必需放入主线程执行的。当出现这种任务时,asnod","的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效果。","的值以及","的值加","的值复制到","的值通常情况下是等于零的,所以弱引用表总是一个","的值,表示已经收到了服务端的","的值,表示自己已经收到了客户端的","的像素进行组合。显然也无法通过一次遍历就得到最终结果。将一对蓝色和红色","的元数据","的入口函数_dyld_start,把","的全称是","的关于显示相关的属性(比如","的关系如图","的其他实现","的其他成员变量皆已被弃用。","的具体数据","的具体编译过程也可以通过","的内存,","的内容裁剪成圆角","的内容裁剪成圆角,可能不存在一次遍历就能完成的方法","的内容(包括子","的写法等同与self","的出现,改变了动态链接的流程,相信","的函数名称","的函数地址。从第二次访问","的函数实现地址","的函数调用底层走的是","的初始化","的初始化.md","的初始化了解","的初始化方法进行了扩展,为了避免冲突,在","的初始化最核心两条的规则:","的初始化没有深入理解的人很头疼。其实核心规则还是一样,只要理解了各个规则的含义和作用,写起来还是没有压力。","的初始视图控制器进行截图,参考以下代码:","的别名,通过一个二维指针地址偏移,用下标作为","的前两个元素被修改为","的前五个元素被修改为","的前端是","的前缀,在","的动态链接库,在程序运行时,会将镜像加载进内存。","的动画与显示。","的区别","的区别与选用","的区别是什么?","的区别:","的区域","的区域就是触发了","的协议","的占位代码,很多地方称之为桩代码。","的卡顿和掉帧","的即将进入休眠和退出状态,则会遍历所有的ui更新并提交进行实际绘制更新。","的历史","的历史和新的","的压力提高性能。","的压缩效果,增加包大小,也会降低启动速度(io","的原理也就大致搞清楚了,通过修改","的原理类似,不得不在离屏渲染中完成。","的原理,我大概画了图例来解释。","的参数,self","的发展过程,我们可以看到苹果在","的右子树,还算平衡:","的名字和它实际的功能是不相符的,在苹果的平台上,它代表的意思其实是","的后面。","的启动","的启动时长","的启动流程。","的启动速度、安全性等方面有着重大影响。本文介绍了","的启动速度。","的启动速度带来明显优化。但是目前只有系统","的启动速度得到明显提升。","的启动速度,而","的启动闭包被构建在一个","的哈希碰撞,所以","的回调会驱动整个","的固定的地址,动态连接器会尝试从这些地址中加载,如果加载成功,就会编辑这些二进制,等到下次他们被放到同样的地址上时,就不需要做任何工作了。这样能大幅优化启动速度,但这意味着二进制文件在每次启动时都被修改,在安全性和其他方面都有隐患。","的图层树(layer","的图片等)绘制在一张画布上,完成后倒出图片赋值给","的图片等)绘制生成的","的圆形边框,如果没有","的地址","的地址,代码签名,符号表…","的地址,每一个","的地址,然后将地址拷贝到","的地方如,","的坑和注意点。","的基于服务注册的方式","的基本过程如下","的基础上添加了面向对象的特性,同时它是一种动态编程语言,将静态语言在编译和链接时需要做的一些事情给延后到运行时执行。例如方法的调用,只有在程序执行的时候,才能具体定位到哪个类的哪个方法。这就需要一个运行时库,就是","的基础上,维护了一个","的声明","的处理是不一样的,有的和被赋予的值一致,有的则不一致。(应该是有些赋值会对颜色进行拷贝)","的大小","的大小都是","的大部分属性都是由","的头文件","的头文件中,见到过","的头结点时,我们需要查找链表中对应的","的头节点syncdata,那么后续做什么呢?","的好处在于,你能在使用所","的子","的子view","的子类,当它需要显示内容(比如调用了","的子结构非常复杂,渲染一次所需时间较长,同样可以打开这个开关,把","的字符串","的字符串(__cfstring),以及运行时的元数据:class/protocol/method…","的字符串字面量发消息的原因。","的存储区域。","的完成回调中,可以看到也使用了","的完整流程:前端(词法分析","的完整过程需要三个算法(协议),密钥交互算法,对称加密算法,和消息认证算法(tl","的定义如下:","的定义(只截取关键代码,下文同)","的实现其实不难。通过前面的介绍,可以发现其中并没有什么黑魔法,代码量也不多,实现成本很低。模块化过程更多精力花在了全局架构设计,与之配合的开发规范,以及结合自己团队情况的一些取舍。模块化","的实现者就是这个","的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会包含三篇。","的实现:","的实践","的实际模块数量大概是","的寄宿图属性。","的对象。所以,当调用类方法是,例如","的对象作为","的封装之后,最终图片的加载逻辑会来到","的尺寸","的尺寸多少为合适。我自己做了下实验","的尺寸无关。","的尺寸是正确的和","的尾部。","的层级,除了显示第一个","的属性仍然可以正常使用。如果直接弃用,会导致开发者在更新","的属性,负责","的嵌套用法猜测","的工程会执行","的左子树,就变成了这样(有点丑哈哈):","的左子树:","的布局信息,比如","的布局发生变化的方式有:","的底层都是","的开发。","的开发者也应该对适配有所留意,按照苹果提供的建议进行检查。","的开发者,因为它们选择将『创建分支』作为度量版本控制系统的重要性能,还在自己的官网上以此进行宣传(具体界面已经不可考证)。","的引入,能让","的引用计数表","的弱变量,没有弱引⽤的对象可以更快释放。","的弱引用表","的强项,调用","的形式。不过个人感觉这块还是需要具体测一下会慢做少再做决定更合适。但因为二者差别不大,所以后续我们也一直没作调整。","的影子","的待验证交易列表的时候,这个列表没有数据。","的思想。劣势是如果服务提供方和使用方依赖的是公共模块中的同一份协议(protocol),","的思想。当然,针对","的思想解决","的性能冲击可想而知(gpu","的性能比较差,日常开发中要尽量避免直接在主线程使用。通常情况下,直接给","的性能,所以这个链接器标志应该只在","的情况,而","的情景,而这正是开发者需要极力避免的。针对这种情况,xcode","的成员和作用。","的成对调用。从汇编调用上看,似乎并不是?","的所有元素。","的所有版本号都是串行的递增数字,版本号不会有冲突的可能也更利于沟通和交流,git","的所有质量及效率方面的隐患,业务模块化方案趋近成熟。","的执行过程是拿到自己的","的拷贝资源就是通过脚本的方式完成的。","的指针地址,找到","的指针表,每个表项中的指针都指向一个在装载过程中,被动态链机器搜索完成的符号","的指针表,表中的指针一开始都指向","的接口","的提交版本号,这个命令通过以上信息重新计算出了","的提交,此次切换就会作罢,设备显示系统会放弃此次绘制,从而引起掉帧。","的操作优先级。","的操作是高度流水线化的。本来所有计算工作都在有条不紊地正在向","的操作队列。","的改革方向。","的效果。","的数据,","的整个启动流程,该函数最终返回应用程序","的文件格式","的文字,uiimageview","的文档略有提到这些内容,但并不完整)。当上面所有操作结束后,runloop","的新","的方式发给","的方式进行管理。但后续开发中体验并不是很好。当时微信商城","的方式进行,不需要所有的开发者都有主仓库的写权限;","的方式通知外部执行到了哪里。","的方式通知外部执行到了哪里。那么,runloop","的方案。因为下沉入","的方案,把要传递的复杂模型的代码复制一份放在使用方模块中,同时通过修改类名前缀加以区分,这样就可以避免打包时的链接冲突错误。比如商品模块内叫","的方法","的方法。","的方法。所以resolveinstancemethod:的一般使用套路是:","的方法中返回值为","的方法为止。找到后以receiver去调用。当然整个查找的过程还是和消息发送的流程一样。","的方法也添加到","的方法会执行一个","的方法实现是不同的。一个是根据","的方法是如何存储的,我们再来看看","的方法,它会去调用","的早期版本叫做","的时候不需要解密了。","的时候会比","的时候放了一张很详细的图,从图上我们也可以看出,nsobject","的时候调用这个方法,所以你应该在需要更新","的时候(快捷键","的时候,代码无法运行了。","的时候,会将该记录从表中移除。","的时候,其实是访问了","的时候,我们提到","的时候,我们都必须手动调整","的时候,我们需要传一个obj","的时候,本质是在调用","的时候,第三方工具(fabric,","的时候,都会把一个","的时候:","的时机","的时间复杂度查找到某个节点。至于为什么就能够保证时间复杂度为","的显存共享物理内存,这样可以省去一些数据传输开销)。","的显示系统是由","的显示,将异步加载数据也放到并行逻辑了,这对有性能瓶颈的界面优化不失为一种方式","的替换速度。","的最大区别在于一个是只读的,一个是可读写的,实质上","的最开始是","的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。","的服务器远在美国,我们的服务器去查询延时相当严重,这是其二。","的服务注册方式,也是因为同样的原因。","的末尾。","的构建流程,以及两个典型的利用编译器来优化启动的方案,最后详细的讲解了","的构造方法","的析构器,如果有析构函数,则需要做析构逻辑,如果没有,则可以更快的释放对象。","的架构的","的某个时机回调,用于处理异步绘制事件。","的标志。","的栈","的栈中","的核心组件","的格式的","的概念,是希望","的模块化改造,也试过直接应用于新起项目。模块化方案经历过几次改版,踩过一些坑,也收获了很多宝贵的经验。","的模块数量比开发同学数量多很多,每个同学都同时维护着多个模块。有时一个项目,一个人需要同时在多个","的次数,从而优化启动时间:","的每个位置,对于每个位置,如果","的每个元素都不相同且包含原数组中的每个不同的元素,因此新的长度即为","的流程","的流程.","的消息转发机制","的渲染是在一个单独的进程","的渲染流程,肯定有错误和遗漏,仅供理解本文使用。","的渲染结果(包括其子","的源码去分析,可以通过","的父类为","的特点","的状态。","的状态,服务端处于","的环境下不做懒惰符号解析,来帮助第三方程序员及时发现符号缺失的问题。当然,由于","的生命周期也提出更高的要求,譬如:","的生态目前建设的也非常好,github","的生态走的更加成熟,也是为什么我们应该使用","的生成,链接期优化等工作。","的生成,链接期优化等等。","的的路径。然后","的目的是使线程在没有事情可做时进入休眠状态,避免","的相关方法,进而避免doesnotrecognizeselector:异常。","的真实地址写到","的离屏渲染。","的离屏渲染了,否则会同时存在两块内容相同的内存,而且","的空白内存,先把容器以及其所有子","的空间复杂度完成。","的符号","的符号上面","的第一次启动才会创建。闭包存储在沙盒的","的第一次启动,会创建启动闭包","的策略,也就是不经由容器来做剪切,而是预先使用","的签名信息,包括参数类型、返回值类型和长度等。runtim","的签字从而信任","的简写。","的简写,rw","的类","的类/方法名等信息","的类。通过进行位运算可以得到一个","的类名。","的类型。","的类实例化后的对象都会包含一个类型为","的类方法等信息,是因为启动闭包的缓存数据已经包含了","的线程即将进入休眠(sleep)。","的线程缓存,并返回对应的","的组合之上的,而且可能带有透明度,那么其实和","的组成结构如图所示包括了","的结构中,disguisedptr","的结构体。","的结构体,其中只含有一个","的结点为其双亲结点;","的结点为其右孩子结点。","的结点为其左孩子结点;","的结点有如下特性:","的缓存策略。内存清理策略:对象数量","的编号,则对完全二叉树中任意一个编号为","的编译设置里可以设置优化级别","的编译过程","的编译过程后,我们可以从以下角度来优化编译速度:","的编译过程,后端的处理如下","的耗时比想象的要多:","的能力。","的行为也将和","的衍生类就能实现大部分需求,还能充分利用硬件支持,图像处理交给","的表现就是","的解析。","的解释","的警告相关内容。本文篇幅限制,就不详细讲解了。","的设备是","的证书(含公钥),用以验证它所签发的证书。","的试题欢迎补充~","的读写安全,也使用了","的调用,如果不想调用怎么办?没怎么办,只要确保","的调试,我们会发现右边的那一组确实是离屏渲染了。","的负载","的负载,让他们尽量做各自最擅长的工作。","的质量。经过讨论后,决定把资源分为三类:","的资源消耗要小得多。","的路径","的软件绘制。在实现calayerdeleg","的软件绘制完成,还需要通过","的过程就是把指针从","的过程:","的运行时数据(class/method**…)解析非常**慢。","的返回值(nsinvocation#setreturnvalue:)的类型和长度一致即可。","的这个方法:","的这个机制:所有针对","的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。","的连接的拆除需要发送四个包,因此称为四次挥手(four","的选项,帮助我们查看缓存的使用是否符合预期","的透明度、为视图添加一个动画;这些操作最终都会被","的递归互斥的锁","的速度展示动画,就是说每个更新周期只需要","的那三种被忽略的情况,则改视图返回nil。","的重写源码里试图还原真实的","的重新绘制,因此一旦存在离屏渲染,上面提到的上下文切换就会每秒发生","的重要原因。","的锁","的错误","的长度为","的长度大于","的问题","的问题。而且路由","的问题进行具体解决。","的问题都罗列解决了一下,如果还有其他常见的","的队列,而nsoperationqueue可以调整队列的执行顺序(通过调整权重)。nsoperationqueue可以方便的管理并发、nsoperation之间的优先级。","的陷阱;swift","的集合,它是不能有重复元素的,而判断是否重复毫无疑问是使用","的集成也不再需要我们直接使用命令行来进行操作(作者还是倾向于使用命令行),这些都帮助","的页面优化。","的预加载并没有太多可参考的案例,不过对于某些场景优化还是有指导意义。在本文开始时提到的严选商品详情页里领取津贴是弹窗,常规情况下弹出是比较慢的,经过讨论后,我们决定对津贴弹窗做两个优化","的额外开销,那么可能就会导致","的高级api(比如自动排版,","的默认动态链接器,在未来也会被用于第三方","的,dmdynamiccolorproxi","的,dmdynamicimageproxi","的,但现在就必须依赖了。但考虑到实际情况,还没有不依赖","的,即启动的时候会把","的,它就丢失了","的,所以在","的,所以在+load","的,这也是预加载的关键。","的:","监听","监听了主线程","监听队列组执行完毕","监听,回调的时机是","监控nsoperation对象的属性:可以通过kvo来监听nsoperation的属性:可以通过iscancelled属性来判断任务是否已取消;通过isfinished属性来判断任务是否已经完成。","监控的","监视了两个事件:","监视的事件是","盖住四个角,从视觉上制造圆角的效果","目前ios端比较常见的视频缓存的实现方式主要有两种:","目前天猫和蘑菇街都有使用路由","目前的","目录下看到对应的","目录,清理缓存的时候切记不要清理这个目录。","目标对象类型","目标文件","目标文件和静态库","目标文件和静态库/动态库一起,链接出最后的","目标是严选商城的","直到处理完该事件,如果该事件含有异步操作,runloop","直到找到点击区域内,且处于最上方的视图,将视图逐步返回给uiapplication。","直接基于系统的","直接将全部的类加载到内存中,肯定最先输出;","直接本文件搜索","直接消息传递:","直接点击","直接点击跳转到","直接访问省掉了一次","直接请求","直接返回全新创建的对象,同时也预热一个相同类的对象,供下次使用。","相互等待,造成死锁","相信大家也注意到上图红框中的写入路径(路径较长截图中未能完全显示),查看完整输出如下:","相关例子,可以参考","相关框架","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,上面的问题以及解答已经把比较常见的","相关的问题一般初中级问的比较多,一般最深的就问到关联对象,本文把比较常见的","相关考点","相关考点(article文件夹有收藏)","相关链接","相关面试题","相同的","相同的一个uiviewcontrol","相对于被观察者和观察者之间的关系,kvo是一对一的,nsnotificatiocenter是一对多的","相对空闲(gpu","相当于","相比","相比之下,预加载方式提前","相比组件(component),个人感觉称之为模块(module)更为合适。组件强调物理拆分,以便复用;模块强调逻辑拆分,以便解耦。而且如果用过","相绑定。block","相较于","看一下苹果官方文档","看下ktvhcdatanetworksource:","看下这个方法的内部实现:","看函数调用栈","看到ktvhcdatasourcemanager的初始化过程,","看到如下","看得出来,还是进行了捕获,在图中标明的黄色框框,就很好理解了,block最终访问clperson的成员变量_age的时候,是通过self","看看什么时候被赋的值","看看其在什么时候被调用的","看看这个代码块的实现:","真机","真机上通常是","真正实例化主程序是用","知乎","知识小集推荐","知识点","确定最终查找时使用的","确定用于下载的实例对象。默认的","确定用于查找缓存的实例对象。默认的","确定缓存查找的范围。默认为","确实出现在了一部分","确认丢失","确认报文段ack=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ack报文段可以携带数据,不携带数据则不消耗序号。","确认迟到","磁盘缓存","示例","示例代码:","社区也在考虑使用更加复杂的哈希算法来替代","离屏渲染","离屏渲染。","离屏渲染会创建新的渲染缓冲区,导致内存上的开销,有多通道渲染管线,最终要把多通道的渲染结果进行合成,所有会有上下文的切换,就有","离屏渲染发生在gpu层面上,因为离屏渲染使gpu触发opengl多通道渲染管线,产生额外开销,所以要避免。","离屏渲染是在哪一步进行的?为什么?","离屏渲染是基于gpu层面上的,指gpu在当前屏幕缓冲区外开辟了一个缓冲区,进行渲染操作。","离屏渲染牵涉了很多","离屏渲染的定义","离屏渲染的开销主要在与","离屏渲染的性能影响","离屏渲染缓存有空间上限,最多不超过屏幕总像素的","离屏渲染:离屏绘制发生在基于cpu或者是gpu的渲染,或者是为离屏图","离开a_view","离开c_view","离开d_view","离开e_view","种选择:生成","秒。这个更新的过程很快,所以用户在和应用交互时感觉不到","移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”。有赞移动团队通过过往","移动端图片格式调研","移除时","移除观察者","程序中使用的","程序代码区:存放函数体的二进制代码。","程序可控的。","程序启动会默认开启一条线程,这条线程被成为主线程或ui线程","程序员只需要告诉","程序员管理","程序执行从_dyld_star开始","程序整个运行期间都存在","程序的渲染结果通常保存在后帧缓存(back","程序结束后由系统释放。","程序设计更加复杂,比如线程间的通信、多线程的数据共享","程序需要等到下次才会通过","程序,这个","稳定性等方面不断探索,努力为全球数亿用户提供最极致的基础体验。","究其根本原因就是weakself之后,无法控制什么时候会被释放,为了保证在block内不会被释放,需要添加_strong。","空转。","空间复杂度:o(1)","空间复杂度:o(1)。只需要使用常数的额外空间。","窗口(线程)只负责为排队的人办理业务,并不会管队伍(队列)是怎么排的","窥探其底层结构","立即重新布局视图(下一个runloop)","章节中所讲的共享缓存绑定的过程","端动态拉取放在本地缓存中。","端口。自定义输入源监视自定义事件源。基于端口的源由内核自动发出信号,自定义源必须从另一个线程手动发出信号。","符号化","符号的地址","符号表","符号表文件","符的重载定义中,会返回这个","第15讲","第一个","第一个observer监听的是entry(即将进入loop),回调是在_objc_autoreleasepoolpush()中创建自动释放池的,优先级是最高的,保证创建释放池是在所有回调之前。","第一个参数是优先级枚举值,默认优先级为dispatch_queue_priority_default=0","第一响应者未处理的事件,将会在响应者链中进行传递,传递规则由uiresponder的nextresponder决定,可以通过重写该属性来决定传递规则。当一个事件到来时,第一响应者没有接收消息,则顺着响应者链向后传递。","第一方面,app","第一次加完锁之后还没出锁就进行递归调用","第一次挥手:客户端发送一个","第一次握手:客户端发送网络包,服务端收到了。","第一次握手:客户端给服务端发一个","第一次结束——{number","第一步,根据validoperationkey","第一步:我们的","第一步:用户开始购买,首先会去我们自己的服务器创建一个交易订单,返回给","第一篇:[ios]","第七步:我们自己的服务器拿到这个收据对应的已付款的订单号以后,就去校验当前的已付款订单中是否有要查询的那一笔,如果有,就告诉","第七步:支付成功,支付宝服务器回调支付宝","第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给","第三次握手:客户端发包,服务端收到了。","第三次握手:客户端收到","第三步情况均不满足(即链表不存在——对象对于全部线程来说是第一次加锁)就会创建syncdata并存在result里,方便下次进行存储","第三步:app","第三步:iap","第三篇:[ios]","第九步:支付宝服务器会回调我们的服务器并把收据传给我们服务器,如果我们的服务器没有确认已经收到支付宝的收据信息,那么支付宝服务器就会一直回调我们的服务器,只是回调时间间隔会越来越久。","第二个","第二个observer监听有两个事件:beforewaiting(进入休眠)时调用_objc_autoreleasepoolpop和_objc_autoreleasepoolpush释放旧的释放池以及创建新的释放池;exit(退出loop)调用_objc_autoreleasepoolpop来释放自动释放池。这个优先级是最低的,保证释放池发生在所有回调之后调用。","第二方面,坑开发人员。下面开始数坑。","第二次加锁就堵塞了线程(因为不会查询缓存)","第二次挥手:服务端收到","第二次握手:服务器收到客户端的","第二次握手:服务端发包,客户端收到了。","第二次结束——{number","第二步:app","第二步:服务器创建好交易信息以后,返回给","第二篇:[ios]","第五步:此时,app","第五步:验证通过以后,我们的","第八步:app","第八步:支付宝回到我们自己的","第六步:在支付宝","第六步:服务器拿到收据以后,就应该去","第十步:我们的服务器收到支付宝的回调,并回调支付宝,确认已经收到收据信息,此时早餐买完了。","第四次挥手:客户端收到","第四步:iap","第四步:验证通过以后,支付宝服务器会告诉支付宝","等","等)","等)合成一个大的文件,提高加载性能的缓存文件。","等)是单独编译的,输出对应的目标文件(.o)","等。通常事件比如","等于说要在传输层的上一层(或者直接在应用层)实现tcp协议的可靠数据传输机制,比如使用udp数据包+序列号,udp数据包+时间戳等方","等价。它会检查","等优化方式无法从全局层面解决这些问题。后来在","等元数据,对大型工程来说,这部分耗时会很长","等全局类和","等同于","等基础概念,接下来介绍了","等外部函数,只有运行时才知道它的地址是什么,bind","等库每个应用都会通过","等待。。。","等待信号量","等待内核mach_msg事件","等待验证结果.","等成员变量。","等操作。","等新的协议来提供uitableview\\uicollectionview","等服务商提供个人版和企业版的","等机制多次触发相关流程。","等机制通知","等架构的支持,并且增加了","等标志位。其中","等特殊配置,基本没有任何业务代码。common","等生成不同的机器码。","等等","等等。","等等也可能会触发离屏渲染,原理也都是类似:如果你无法仅仅使用","等等)。","等等)保存在一块内存中,这样一来在下一帧仍然可以被复用,而不会再次触发离屏渲染。有几个需要注意的点:","等等,前面不是刚说osspinlock因为安全问题被废弃了吗,但是苹果源码怎么还在使用呢?其实点进去就会发现用os_unfair_lock替代了osspinlock(ios10之后替换)","等等,是一些二进制文件。","等等,记得只开启","等系统库就不提供完整的","等都有较高的效率,非常实用。","等链接期间的优化是基于符号的,如果把符号裁剪掉,那么这些优化也就不会生效了。","答案出现!!!","答案是为了解决在同一时间,多个请求同时下载一张图片的时候,对该图片请求只下载一次。也就是请求只发送一次,而请求有结果的时候根据存储的多个返回block","答案是和产品形态有关系,打开频次越高,热启动比例就越高。","答案:可以被预加载,除了本文尝试的多个navig","答案:大概率地发生crash。","答:","策略也不再被需要。这时,如果有符号缺失的情况,app","签名","签名,防篡改","简书","简介","简化问题:假设我们只有两个","简单举个例子:一个app在前台静止着,此时,用户用手指点击了一下app界面,那么过程就是下面这样的:","简单很多,因为它是一个内存映射文件,解析和验证都非常简单,并且经过了良好的性能优化。所以","简单易用,可直接操作线程对象","简单来讲,要使用udp来构建可靠的面向连接的数据传输,就要实现类似于tcp协议的","简单来说就是:","简单来说,opengl","简单的编译过程如图","简悦","简答","简述tcp的三次握手过程","算法","算法是一种通过减少数据包的方式提高","算法确实能够在数据包较小时提高网络带宽的利用率并减少","算法,用作存储","算法:","管理并在","管理的三方库是否需要更新","管理的绘制任务)之后做异步绘制的事情,这也是作者对优先级的权衡考虑。","篇幅限制,本文只关注","类","类中的属性、方法还有遵循的协议等信息都保存在","类似","类似。","类似于","类似的,我可以将模块间通讯也封装到一个","类列表","类别是运行时装载到类中的,当类realizeclass之后它的instancesize就已经确定无法修改了,这些操作都是在load之前,main函数之前","类名","类名称","类和元类的继承","类型","类型属性","类型指针。","类型指针,我们会在下文详细介绍。","类型指针,是根据特定规则生成的方法的唯一标识。需要注意的是,只要方法名相同,生成的","类型的","类型的指针。","类型的结构体,其中的","类型结构体对象作为","类型,应该填","类对象和元类对象分别是什么,他们之间有什么区别?","类对象或是元类对象都是objc_class数据结构的,objc_class由于继承自objc_object,所以他们都有isa指针,所有实例可以找到类,类可以找到元类","类开始找","类或者","类方法","类方法的实现又是如何查找并且调用的呢?这时,就需要引入元类来保证无论是类还是对象都能通过相同的机制查找方法的实现。","类方法调用时,通过类的","类方法:","类是一个计数的类,是为了记录最新的布局请求标识,便于及时的放弃多余的绘制逻辑以减少开销。","类是事务类,捕获主线程","类用super_class指针指向了父类,同样的,元类用super_class指向类的super_class的元类。","类的load方法中,能调用分类的方法。","类的基础信息,包含了类的方法列表,协议列表等。","类的成员变量","类的方法、属性以及协议在编译期间存放到了“错误”的位置,直到","类的方法列表","类的理解与方法的调用","类的结构和定义","类第一次加载进内存的时候,会调用","类第一次接收到消息的时候,会调用该方法,需导入,并使用","类结构里面,有个properti","类继承自","类自己了,由于他内部没有实现","类重写了","类默认的","类(class)而言的。实例是指类的声明;由此推理,实例变量(inst","类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(design","类,","类,dylib","类:","粘包和分包问题","粘包并不是","精准统计启动时间","系统下,进程申请内存并不是直接物理内存给我们运行,而是只标记当前进程拥有该段内存,当真正使用这段段内存时才会分配,此时的内存是虚拟内存。","系统中","系统为程序启动做好准备","系统事件捕捉","系统事件的捕捉,先触发是source1,接着分发到source0去处理。","系统会在","系统会调用另外一个与resolveinstancemethod:类似的方法resolveclassmethod:。","系统会问它:可否把这条消息转给其他对象处理?该步骤对应的处理方法是forwardingtargetforselector:,定义于中:","系统内核会开启一个进程","系统响应阶段","系统对tag","系统将控制权交给","系统就可以将此方法缓存起来,进而提高效率。若想在第三步里把消息转发给备援的","系统层面,io","系统怎么移除一个","系统根据","系统版本以下","系统的动态链接器,","系统的桌面程序。springboard收到mach","系统类型","系统绘制流程","系统绘制的流程","系统绘制:","系统缓存图目录读写权限:","系统自动分配和销毁内存,用于存放函数内生成的局部变量","系统调用,需要使用到一些操作系统以及一些底层内核指令或者api","系统通过","系统通过3bit的标记位来标识tag","系统通过iokit.framework来处理硬件操作,其中屏幕处理也通过iokit完成","系统默认注册了5个mode:","约束:","级关系中有太多的图层,就会导致cpu没一帧的渲染,即使这些事情不是你的应用","纹理渲染。避免离屏渲染","纹理的概念:纹理是一个用来保存图像的颜色元􏰈值的","纹理,就必须要用cpu在图层每次显示之前对图片预处理,同样也会降低性能。","线对list进行查找,没找到,将当前的obj插入到最前面,也是为了更快的找到当前使用的对象而这么设计。","线程1中加锁1、同时线程2中加锁2","线程:","线程{number","线程上的任务执行完成后,线程会自动销毁","线程与进程","线程和","线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,runloop","线程是处理器调度的基本单位,但进程不是","线程是进程的基本执行单元,一个进程的所有任务都在线程中执行","线程池中超过corepoolsize树木的空闲线程的最大存活时间","线程池的基本大小(核心线程池大小)","线程池的最大大小","线程生命周期","线程的区别:","线程的执行速率","线程第一个申请锁,却在","线程调度过于频繁,影响交互性能。","线程越多,cpu在调用线程上的开销就越大","组件化(模块化)架构设计实践","组件的绘制是在主线程进行,需要","组件都会把相应的视图标记为“dirty”,通过设置视图“内部更新标记”,在下一次","组件(比如图片库,网络库),本文讨论的是业务模块","组件(比如订单模块,商品模块)相关的架构设计。","组成的,并且每一个","组透明度","细数ios中的那些锁","细节优化","终点:第一个ca::transaction::commit()","经历了初期的功能快速迭代,内部依赖混乱,耦合严重,急需优化重构。传统的","经历了整个方案从调研到开发完成,以及多机型多系统的测试,我们对缓存启动图在不同系统版本上的表现差异性做了个简单归纳:","经常使用","经测试,这里因为单例造成的内存占用以及","经过一系列的初始化函数最终调用notifsingle函数。","经过一系列的测试,我们排除了人为因素、编译问题等可能出现问题的点,最终认定是系统问题导致。","经过一系列调用,最终调用了c函数calloc,此时并没有设置引用计数为1","经过以上优化改造,基本解决了","经过以上步骤","经过深度调研及不断地分析测试,我们终于得出一个可行方案,那就是替换系统生成的缓存启动图。","经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个","经过讨论,当时选择参考网络层封装方式,在每个模块中设计一个对外的","绑定(bind)","绑定和变基:由于","绑定的过程就是我们上述","绑定,比如在","结合函数调用栈","结合阅读","结束下载。","结构","结构体","结构体.","结构体lgstruct1,通过内存对齐规则计算过程如下:","结构体lgstruct2,通过内存对齐规则计算过程如下:","结构体lgstruct3,通过内存对齐规则计算过程如下:","结构体中只有一个","结构体中查找对应方法的实现。同时,每一个","结构体中的注释写到","结构体作为成员:如果⼀个结构⾥有某些结构体成员,则结构体成员要从其内部最⼤元素⼤⼩的整数倍地址开始存储。(struct","结构体保存,定义如下:","结构体内的a变量存放的是外部变量a的值","结构体就是","结构体的定义如下","结构体的指针。","结构体的指针,它指向当前类的","结构体类型__block_byref_a_0","结构体,其定义如下:","结构体,并根据其","结构体,是利用","结构图(注意下图的","结构调整","结构,所以需要使用变量来记录数目。","结构,此结构定义如下:","结果如下:","结果是block中打印出的a是10,我们在block外部对age的修改结果并没有对block的内部打印产生影响","结果:","结点拥有的子树数目称为结点的度。","结点的左右子树本身又是一颗二叉查找树","结点的度","结论","结论:","结论:dispatch_barrier_async可以控制队列中任务的执行顺序,而dispatch_barrier_sync不仅阻塞了队列的执行,也阻塞了线程的执行(尽量少用)","结论:由于串行队列异步执行任务是一个接一个执行完毕的,所以使用栅栏函数没意义","结论:由于并发队列异步执行任务是乱序执行完毕的,所以使用栅栏函数可以很好的控制队列内任务执行的顺序","绕了这么大一圈,你可能会问,为什么一上来要调用sd_cancelimageloadoperationwithkey:这个方法?通过上面的源码分析sdwebimage这样设计是为了解决tableviewcell复用时,如果被复用的cell的imageview请求的图片没有回调时展示图片错乱的问题。原理就是如果被复用的cell的imageview之前请求的图片还没有回调,而此时需要请求新的图片,那么就取消掉之前的请求operation,并从operationdictionary中移除掉。然后去加载需要加载的新图片。如果说,之前的图片请求在这之后回调回来的话,会判断之前请求的operation是否存在,以及operation的iscancel属性,如果不存在或者iscancel=yes的话,就不会回调到ui界面。也就是如下代码逻辑:","绘制","绘制string(字符串);","绘制到一块缓存,然后在接下来复用这个结果,这样就不需要每次都重新绘制整个","绘制渲染机制","绘制的","绘制的工作,如果要绘制的元素过多,过于频繁,就会造成卡顿。","绘制等视图属性,不包括其本身和子视图的大小和位置。和布局的方法类似,显示也有触发更新的方法,它们由系统在检测到更新时被自动调用,或者我们可以手动调用直接刷新。","绘图(draw)","给","给imageview添加背景色,启动时正常显示imageview的背景色,但图片内容未显示,故排除了布局问题;","给你一个有序数组","给你提供了用来通知系统某个","给卸载了,以后要怎么恢复那些没有被验证的订单?","给图片加上圆角(将图片中圆角以外的部分渲染成透明)。整个过程全部是由","给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。","绝大多数情况下,得益于","统跳方案","统跳方案的优势是动态性及多端统一","统跳路由是页面解耦的最常见方式,大量应用于前端页面。通过把一个","继承于","继承子","继承自","继续","继续向左访问,第一次访问结点b,故输出b;","继续往","继续访问至i,i左右子树均为空,故第三次访问i时,输出i;","继续阅读","维护了一个","缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。","缓冲区被分配用于管理文件io和解压缩操作。","缓存启动图的文件名具有规则,但其规则我们不得而知。","缓存指针、方法入口等,用于提高效率。bit","缓存数据","缓存数据(buffer","缓存查询","缓存查询结束后。","缓存结果","缓存路径:","缓存,从而提高访问效率。","缓存,则不会调用","缓存,可以简单理解为一个单位。","缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名","编码打包给","编码的数据),并将收据信息上传给服务器。","编码(返回值类型,参数类型)","编译","编译之后,底层结构是","编译产物","编译代码","编译信息写入辅助文件(如entitlements.plist),创建编译后的文件架构","编译信息写入辅助文件,创建编译后的文件架构","编译前脚本","编译各个.","编译器优化","编译器会将__block变量包装成一个结构体__block_byref_age_0,结构体内部*__forwarding是指向自身的指针,内部还存储着外部auto变量的值","编译器会把@autoreleasepool{}改写成:","编译器修饰符","编译器前端","编译器前端的任务是进行:语法分析,语义分析,生成中间代码","编译器可以分为两大部分:前端和后端,二者以","编译器后端","编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。io","编译器在生成","编译器在生成二进制代码的时候,默认按照链接的","编译器的作用是把我们的高级语言转换成机器可以识别的机器码,经典的设计结构如下:","编译器的概述","编译器选项优化","编译器:它处理了所有可能影响启动速度的","编译完","编译完了之后,这个函数会在二进制中的","编译文件","编译时","编译时决议,categori","编译生成","编译结果显示block对self进行了捕获。but","编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","编译过程","编译过程分为四个步骤:","编译过程梳理","编译过程的原理和应用","编译隔离的思考","编译顺序就会根据这个顺序来","编译(compliling):把前面生成的","缩小。","缩短超时(syn","缺少服务管理,ctmediat","缺点","缺点是能处理的交互场景偏简单。所以一般更适用于简单","网络","网络数据的传输都会触发sourse1。","罢了。","置空,但这解决不了启动图不更新或无法渲染问题。","考虑到实现的灵活性,提供路由服务的页面,会将","而","而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&fast_data_mask操作","而kvo和nsnotificatiocenter都是ios观察者模式的一种实现,两者的区别在于:","而osspinlock忙等的机制就可能造成高优先级一直running等待,占用cpu时间片;而低优先级任务无法抢占时间片,变成迟迟完不成,不释放锁的情况","而不是","而且对于内存而言,尺寸越小内存占用越少,理论上","而且栈上的block从未被我们利用过。","而且由于执行中只调用一部分代码,运行起来也不需要额外的内存。","而串行队列中只有一个线程,","而在上面","而对于局部静态变量(static),c语法下static会改变所修饰的局部变量的生命周期,使其在","而对于用户主动弹出的弹窗,如用户在详情页点击","而对应的","而对应的物理内存却不存在时,会触发一次缺页中断(page","而当方法","而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。","而是需要先暂存到另外的区域进行处理,","而最终的用户界面需要等待网络返回真实数据后重新渲染,在此期间,显示静态的等待界面。所以在需要被缓存的","而没有生效","而言,预初始化","而这些配置信息都存储在这个文件","而针对","耗时,有没有什么办法优化呢?","背后的设计哲学为它带来了怎样与众不同的功能,而我们今天在介绍","背景色不是透明,","能否添加成员变量,如果可以,如何添加?","能够作为","能够在哪些场景下发挥出","能对","能扩充一个类的方法。这是开发时经常需要使用到。","能找到备援对象,则将其返回,当然,备援对象必须能够响应","能适当提高程序的执行效率","能适当提高资源的利用率(cpu、内存)","脚本","脚本化编译打包对于","脚本编译打包","脚本,将在编译项目前已编译好的依赖库和相关资源拷贝到包中。","自从osspinlock出现了安全问题之后就废弃了。自旋锁之所以不安全,是因为自旋锁由于获取锁时,线程会一直处于忙等待状态,造成了任务的优先级反转","自动刷新触发器","自动化下载生成即可,改造成本非常小。","自动变量(auto变量),那么它的类型即为__nsglobalblock__,它会被存储在应用程序的","自动变量(auto变量),那么它的类型即为__nsstaticblock__,它会被存储在应用程序的","自动变量(auto),block通过值拷贝方式捕获,在其内部创建一个同类型变量,并且将自动变量的值拷贝给block的内部变量,block代码块执行的时候,直接访问它的这个内部变量。","自动管理","自动释放池中的","自动释放池中的栈","自己在早期推广","自己的","自带的analysis功能分析,找出初始化过程中可能存在的漏洞","自带的工具otool打印mach","自建dns更新时机可以控制。","自旋锁","自旋锁的线程则会一直处于等待状态(忙等待)不会进入休眠——因此效率高","自旋锁,而且是","自旋锁:线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏,","自然我们会认为,因为","自行创建弱引用表","自身调用,由于他自己没有实现","至","至于该类的实际作用后文会解释。","至少需要一块与屏幕像素数据量一样大的","至此","节","节中.","节点是数据结构中的基础,是构成复杂数据结构的基本组成单位。","节点概念","节点的度:结点拥有的子树数目称为结点的度,叶子结点","节的地址是","若","若命中,且","若已满时,且maximumpoolsize>corepoolsize,将创建新的线程来执行任务","若当前","若未命中,或者","若没满就将任务push进队列","若用户未开启系统旋转锁定,且横置手机启动应用,这会使得应用启动时显示横屏方向的启动图,而部分应用并未考虑适配横屏场景启动图,从而可能导致该场景下启动图拉伸或压缩等显示异常,比如在","若程序员不释放,程序结束时可能由os回收","若线程池大小大于等于核心线程池大小时","若线程池大小小于核心线程池大小时","苹果公司提出的一种程序代码。能同时适用多种架构的二进制文件","苹果创建用来接受系统发出事件,当手机发生一个触摸,摇晃或锁屏等系统,这时候系统会发送一个事件到app进程(进程通信),这也就是为什么叫基于port传递source1的原因;","苹果官方文档","苹果官方文章","苹果官方视频","苹果将metal作为新的渲染引擎,更好的利用了gpu的性能,同时保证了低内存占用和省电,但我个人并没有深入研究metal,这里可以有兴趣的同学可以看一下落影前辈的文章:","苹果将这些系统库放在了一个地方","苹果曾在","苹果注册了一个","苹果注册了一个observer监听beforewaiting(即将进入休眠)","获取","获取sidet","获取主队列","获取事件源数据","获取全局队列","获取关联的对象函数","获取图片二进制数据","获取对应","获取服务器","获取某一个分类","获取源事件数据","获取程序架构","获取该线程下的synccach","获取资源acquire:lockcount++并根据key值存入被锁次数","获取锁的顺序和申请的顺序无关,即可能","获得主线程的runloop对象","获得当前线程的runloop对象","获得新值和旧值的锁存位置(用地址作为唯一标示)","获得新对象的","获得锁之后","萧玉大佬在其《关于","落影loyinglin的文章ios开发","著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。","虚拟内存","虚拟内存是作为","虚拟地址","虽然","虽然二叉树的遍历过程看似繁琐,但是由于二叉树是一种递归定义的结构,故采用递归方式遍历二叉树的代码十分简单。","虽然分布式的版本控制系统能够为我们带来各种各样的好处,但是这并不是说集中式的系统就不能用,正相反在一些代码需要严格控制的项目中,集中式的版本控制系统却能更好的工作,这是因为企业或者项目在做决策时认为『代码需要非常严格的控制』,由此带来的效率降低等问题是可以接受的,所以这其实是对开发效率与权限审核的权衡。","虽然可以一层一层往画布上进行输出,但是无法在某一层渲染完成之后,再回过头来擦除","虽然在实现上所有的节点都是等同的,但是在实际操作中我们还可能会有一个或者多个主仓库帮助多个开发者同步代码,各个节点之间的关系更像一个可以分叉的树形结构,与中心化的版本控制系统相比,通过分布式的模型:","虽然平衡树解决了二叉查找树退化为近似链表的缺点,能够把查找时间控制在","虽然我们不能看到苹果内部是如何实现的,但是苹果官方也提供了我们可以参考的对象,也就是vsync信号和cadisplaylink对象。","虽然我们能在中心仓库中创建分支,但是由于中心仓库中不存在名空间,如果开发者创建分支没有遵循特定的命名规则,就非常容易出现命名冲突的问题,例如各种","虽然是编译器警告,实际上","虽然说这两个版本控制系统有很多等价的功能,但是从两者不同的地方我们就能看到它们在设计上的不同抉择,例如:svn","行","行,前后却花了一周,主要是为了解决下面这个","补充:","补充介绍","表","表。因为散列表检索起来更快,","表。在","表中删除","表的结构与作用。","表示","表示read","表示x的值为假的可能性更大","表示x的值为真的可能性更大","表示了一个autoreleasepoolpage节点开始存autorelease对象的位置。","表示代码段中的代码内容。","被","被分割成很多个","被初始化在内存的","被初始化好的","被加载完毕之后,才弹出遮罩,显示被加载好的","被加载的整个流程","被唤醒,app","被引用对象的","被引用对象的内存地址作为","被添加到","被添加到当前工作的","被添加到活动","被添加链接标志符中","被调用","被预加载的","被预热的","裁切","裁剪","裁剪完二进制后,会和编译好的资源文件一起打包成.","装载于","西之前都会产生一个巨大的性能开销。为了支持对图层内容的任意绘制,core","要么保证左右子树的高度之差不大于","要么至死也没能找到能够响应的对象,最终释放。","要低。当","要再造个轮子呢?主要有三个原因:一是我们开始尝试模块化改造时,业界还没有相关框架开源出来,所以需要自己实现。二是我们的需求和业界的开源库不完全相符。mgjrouter","要声明一下的是","要多两个","要求讲到进程间通信?出处","要注意的有两点:","要点","要特别提一下","要由cpu做这些事情。这里cpu涉及的工作和图层个数成正比,所以如果在你的层","要的数据的内存移值。","要结束时统一执行,runloop","要访问的图片文件通过系统调用","要首先获取","视图加载","视图懒加载","视图混合。减少视图层级的复杂性,减少透明视图;不透明的opaque设置为y","视图渲染与性能优化","视图渲染优化&卡顿优化","视图的alpha小于等于","视图的hidden等于","视图的userinteractionenabled为","视频缓存ktvhttpcache原理和实现","觉得不平衡了,我左孩子一个都没有,右边都有俩了,超过了之前说的最大为","解决","解决:","解决方案使用异步绘制就是:","解决方案,而该方案采用了模板类,是拥有泛型性的。","解决方案:","解决方法:","解决的问题","解决:","解压图片","解密runloop","解析","解析动态库的依赖关系","解析器","解析器。而启动闭包又比","解析过程,所以从根本避免了劫持问题。","解析过程,通过智能算法排序后找到最快节点进行访问。","解码图片;","解码是一个计算量较大的任务,且需要cpu来执行;并且解码出来的图片体积与图片的宽高有关系,而与图片原来的体积无关。","解读","解释:","解释:函数应该返回新的长度","解锁","解锁1等待解锁2","解锁2等待解锁1","触发","触发的三个回调介绍完毕,简单总结一下。","触发的时候恰巧","触发磁盘","触摸事件处理","触摸事件处理、[performselector:","触摸事件处理;","警告","警告。","警告处理","警告来提高代码质量","计算","让","让self.target成为消息的receiv","让每一个类的","让进程中的需要执行的动态链接操作尽可能少:这样可以减少","记一次腾讯面试:有了二叉查找树、平衡树(avl)为啥还需要红黑树?","记录","记录地址,不存在向本地运营商询问","记录并存储对应引用表","记录插入动态库的数量","讲","讲解及使用","设备scale为","设备scale都是","设备是双缓存+垂直同步);在读取经","设备显示器每绘制完一帧画面,复位时就会发送一个","设数组为a[0…n]。","设置","设置上下文信息","设置为dispatch_time_forever则会阻塞当前调度组,直到调度组执行完毕","设置为dispatch_time_now意味着不等待直接判定调度组是否执行完毕","设置事件源数据","设置关联对象为nil,就相当于是移除关联对象","设置关联对象函数","设置占位图。","设置好上下文","设置指针(set","设置数据源回调","设置源事件回调","设置的时候,记录","设置的环境变量方便我们打印出更多的信息。","设置等待时间(成功为0)","设置结构体","设置背景色","设计","设计上的坑","设计模式","访问图像数据,创建cgimageref。","访问效率","证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循x.509国际标准。","识别可以被缓存的部分:符号查找就是其中一个,因为在一个特定的库中,除非软件更新或者这个库被改变,不然每个符号都应该有固定的偏移量。","识别安全性敏感的组件:解析","词法分析:预处理完成后进入词法分析,将输入的代码转化为一系列符合特定语言的词法单元(token","试想如果是用两次握手,则会出现下面这种情况:","诞生的,为每个进程提供了一片连续完整的虚拟内存空间,使用时先通过界限寄存器判断访问是否越界,再通过基址寄存器转换为实际内存地址。降低了内存管理的复杂度,保护每个进程的内存地址空间不会被其它进程破坏,并且实现了","该函数是加载","该方法主要作用是将旧对象在","该方法的参数就是那个","该框架中,作者使用和处理器核心相同数量的串行队列来轮询处理异步任务,有效的减少了线程调度操作。","该流程主要步骤如下","该类非常简单:","该过程用来更新弱引用指针的指向","该长度范围内","详细保存着加载指令的内容","详细回顾下整个启动过程,以及各个阶段耗时的影响因素:","详细触摸事件","详见","语句只能被用在","语法分析","语法分析:将词法分析得到的","语法支持,能对","语法结构","语法,也就是说它抛弃了旧时期的接口。dyld","语言","语言字符串","语言家族的前端是","语言,并且提供了非常多强大的函数","说了这么多,相信应该清楚为什么要调用sd_cancelimageloadoperationwithkey:方法了,我们接着回到sd_internalsetimagewithurl:方法中,cancel之后就会清掉当前imageview上次下载的图片:","说明","说明:","说白了就是通过一个随机值","说的更拗口一点就是,根元类把它自己的基类设置成了super_class。","请","请求一个异步绘制的任务。在异步绘制时,layer","请求一完成","请求二完成","请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。","读uiimag","读uistoryboard","读人数据。","读入物理内存,为了打印字符串,要访问__cstring,还会触发一次","读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少","读写权限","读写锁","读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的cpu数","读写锁更多使用栅栏函数来实现","读取macho文件信息,设置虚拟地址偏移量,用于重定向。","读懂「","读操作","读者写者互斥","读者读者并发","谁先会被加载","调度组要注意搭配使用,必须先进组再出组,缺一不可","调用","调用[calay","调用addsubview:方法","调用class_addmethod为该类添加一个处理aselector的方法,譬如:","调用dyld::_main方法进入macho文件的主程序。","调用gethostinfo()来获取macho头部获取当前运行架构的信息。","调用layoutsubviews方法","调用performselector:onthread:withobject:waituntildone:方法;","调用。当然,也有直接触发","调用一个方法时具体做了什么?","调用一次initialize,输出第一个","调用了","调用了上层业务模块的功能,形成了底层","调用到","调用子类的","调用子类的+load之前会先调用父类的+load","调用子类的load之前,会先调用父类的load","调用所有的","调用方式也不一样,load","调用方法时,只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用,是去父类找实现,sup","调用方法是从该类的方法列表当中找对应方法调用,如果没有就从父类当中找;而","调用方法,获取到被点击的视图,也就是第一响应者。","调用时","调用时刻,load","调用时刻,load是runtime加载类、分类的时候调用(只会调用一次)","调用时机","调用时,就会向自动释放池中的对象发送","调用父类的initialize,","调用的时候,要先实现自己父类的","调用的时候,都会先调用父类对应的","调用的最省资源的方法就是在你的视图上调用","调用的机制,这些触发机制比直接调用","调用都可以看成","调用顺序","调用顺序:","调用,而是找到","调试的","貌似和系统的","贝聊","负责。","负责将语法树自顶向下遍历翻译成","负责测试服务器。这样我们就不用每次切换测试服务器都要修改代码了。","负责获取输入的业务数据,","负责调度可调度线程池中线程的执行。线程执行完成之前,状态可能会在就绪和运行之间来回切换。就绪和运行之间的状态变化由cpu负责,程序员不能干预。","负责链接","购买操作后的回调.","资源","资源。当然,这种场景主要是出现在列表界面快速滚动时,由于视图的复用机制,导致重新绘制的请求非常频繁。","资源拥有:同一进程内的线程共享本进程的资源如内存、i/o、cpu等,但是进程之间的资源是独立的","资源文件如","资源浪费,甚至阻塞线程并造成后续的绘制任务迟迟无法完成。我的做法是尽量快速、提前判断当前绘制任务是否已经被取消;在绘制每一行文本前,我都会调用","资源的。","资源调度问题)。以上数据只作为性能提升参考,对于加载","赋予的是一个","赋值","赋值≠使用)","赋值给","走到了这里","走的不是消息发送的","走的是消息发送的","起显著的不同","起来也简单,只需要把这个","起源于","起点:进程创建的时间","超时","超时重传","超时重传(定时器)","超时问题,客户端超时重传策略,又发一次sync,造成多次建立连接","超类/子类:","超类引用","越狱手机有无数奇葩的收据丢失或无效或被替换的问题,应该怎样酌情处理?","越狱的插件就是基于这个原理来实现只需要下载插件","跟","跟我们上面截图的函数调用栈一模一样","跨平台/可移植","跨模块进行方法调用和数据读取非常便捷:","路由","转化","转发给需要的app进程。随后苹果注册的那个","转场(segue)和按钮动作跳转","转换为","转换成纹理三角板。由于gpu并不知晓cor","转码,","转自:","软件。而问题是,它们的语义并不完全一致,所以会出现一些怪异的边界案例,并且效率很慢。","较为糟糕的性能。然而可喜的是,市面上的设备都已经不是单核了,这就意味着可以通过后台线程处理耗时任务,主线程只需要负责调度显示。","较大体积的资源放到服务端,app","输入源sourc","输入源是指事件的来源,输入源将事件异步传送到您的线程。事件的来源取决于输入源的类型,通常是两个类别之一。基于端口的输入源监视应用程序的","输入:num","输出为","输出应该为yes。","输出的正常流程。","输出第","输出第一个mnperson","输出第二个","输出第二个mnperson","输出结果","输出结果如下","输出结果并没有按代码表面的想法去走,而是只打印了一次value值","输出结果:","输出,此时突然收到指令,需要输出到另一块内存,那么流水线中正在进行的一切都不得不被丢弃,切换到只能服务于我们当前的","输出:","输出:2,","输出:5,","边界越来越模糊,经常发生你中有我我中有你的情况(图一)。这对代码质量,功能扩展,以及开发效率都会造成很大的影响。此时,一般会将各个子系统划分为相对独立的模块,通过中介者模式收敛交互代码,把模块间交互部分进行集中封装,","迁移到更复杂的哈希的提案,感兴趣的读者可以简单阅读一下。","过渡动画。","过滤","过滤网关防护","过程的每个阶段的设置选项(包含编译、链接、代码签名、打包)。","运用场景","运行","运行主程序","运行代码会崩溃,并会提示野指针错误","运行初始化函数","运行初始化程序,之后运行","运行在一个支持这个","运行在与其匹配的","运行时","运行时决议","运行时的过程中在","运行来到断点","运行程序","运行结果显示堆上的block使用弱指针__weak","运行结果显示栈上的block使用弱指针__weak","运行结果显示栈上的block使用强指针clperson","运行结果:","运行预设的脚本。如","运行:cpu","返回","返回nil","返回。","返回主程序的入口函数,开始进入主程序的main()函数。","返回值不为0——在指定时间内调度组没有按时完成任务","返回值为0——在指定时间内调度组完成了任务","返回值:为","返回的","返回的图像被分配给uiimageview。","返回至d,此时第三次到达d,故输出d;","还为开发者新增了uitableviewdatasourceprefetch","还为我们提供了最后一次翻身的机会,调用_objc_msgforward_impcache进行方法转发,如果找到便加入缓存;如果没有就","还会将其转换为","还会进行签名验证,所以一次","还在队列中,","还是","还是weak","还是上面的视图结构,我们给rootview加上uitapgesturerecognizer手势,并且通过tapaction:方法接收回调,点击上面的superview后,方法调用如下。","还是其他的版本控制系统,它们绝大多数的功能都是重叠的,所以很多时候我们也能找到不同工具之间命令的对照表,下面就是一个","还是基于","还是由","还是选择远程接口的困惑。这里选择支持路由","还有一个作用,可以指定与属性对应的实例变量,例如@synthes","还有个原因,就是服务提供方和使用方共同依赖同一个","还有就是runloop对象内部还包括一个线程对象_pthread,这就是跟它一一对应的那个线程对象。","还有第二次机会能处理","还有结构体共用同一块地址空间。而","还没有被标准化。现在","还看到一个","这一层中主要是","这一层,coreanim","这一步与上一步相反,通过","这一部分看的比较多,主要归纳了一下,分5条。","这三个分别代表","这两篇文章","这个ack报文段有可能丢失,使得处于last","这个代理实际上就是框架和业务交互的桥梁,不过这个设计笔者个人认为有一些冗余,这里如果直接通过代理方法与业务交互而不使用中间类可能看起来更舒服。","这个作用域里的","这个例子会发生崩溃,是因为","这个例子来自于参考资料","这个全局的镜像列表中去","这个其实就是","这个函数主要流程如下","这个函数也就是我们","这个函数到底做了什么呢","这个函数去做的","这个函数就是根据","这个函数第一次执行","这个函数调用","这个函数里会遍历所有待处理的uiview/calayer以执行实际的绘制和调整,并更新界面。","这个函数里面调用了","这个函数首先有两个参数我们要说明一下","这个区域提供了各个段(segment)和节(section)在可执行文件中的位置和大小。这个区域完整的描述克可执行文件中的全部内容。","这个区域的存储内容比较简单:前面是文件的编号,后面是文件的路径。文件的编号在后续会用到","这个参数就是","这个命名空间作用域里的","这个很简单","这个思路在一定程度上能够减少代码的冗余,减小包的体积。因为是静态分析,不能包括动态调用的情况,对于需要删除的类需要进一步的确认。","这个方法。在进行编译过程前,clang","这个方法。我们可以去子线程里面进行异步绘制。子线程主要做的工作:","这个方法会注册3个事件并给出回调。","这个方法就是我们加载图片的正式入口方法。下面我们看一下这个方法里面都主要做了什么。","这个方法用来在自动布局中动态改变视图约束。和布局中的","这个方法类似于布局中的","这个方法,会调用","这个方法,我们就可以进行异步绘制:","这个映射文件的主要包含以下部分:","这个是什么意思呢","这个空间其实就是符号表","这个结构体,我给他起名引用计数和弱引用依赖表,因为它主要用于管理对象的引用计数和","这个过程被称为","这个逻辑分支是找不到确切的线程标记只能进行所有的缓存遍历","这个部分包括的内容","这个问题。","这么做的意义是什么呢?","这也是@synchronized作为递归锁但能防止死锁的原因所在:在不断递归的过程中如果对象不存在了就会停止递归从而防止死锁","这也是程序一开始时,能够取消掉同名operation的原因。就是同一个view发送一个图片请求就会记录在operationdictionary中来标识有请求正在执行。","这些方式都会告知系统","这些问题的根本原因还是存在效率损失,\"不方便\",怎么优化呢?","这其中的工作都是在主线程中完成的,这就导致了主线程频繁的处理","这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,提供一种思路,对遇到类似问题的同学能有所启发。","这四个是在","这就引出了元类的定义:元类是class的类。","这就是yysentinel计数类起作用的时候了,这里用一个局部变量value来保持当前绘制逻辑的计数值,保证其他线程改变了全局变量_sentinel的值也不会影响当前的value;若当前value不等于最新的_sentinel","这就是为什么需要离屏渲染。","这就是消息传递的一个流程,首先查缓存,无缓存,查方法列表,依然没命中,再顺次查找各个父类方法列表,如果都没有名字,就转到消息转发流程","这意味着对于继承于nsobject的所有实例、类和元类,他们可以使用nsobject的所有实例方法,类和元类可以使用nsobject的所有类方法","这时又恢复了平衡,再添加","这时如果再添加一个","这时我们可以看到这个树又不平衡了,以","这时根节点","这是一个全局弱引用表。使用不定类型对象的地址作为","这是个回调函数的调用","这是从用户感知维度定义启动,那么代码上如何定义启动呢?appl","这样也要求","这样可以避免重复的方法调用。加入transactionset中的事件会在","这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。","这样就可以保证","这样就覆盖了","这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。","这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。","这样的","这样的好处是:给开发者一个过渡的版本,让开发者知道这个属性被弃用了,应当使用最新的","这样,当本地发生请求时,就会获取ktvhchttpresponse内部方法返回的数据。","这样,苹果工程师在背后悄悄地将block","这次为大家带来我司","这段代码的作用是","这段脚本其实很简单,读取当前","这种","这种2msl等待的另一个结果是这个tcp连接在2msl等待期间,定义这个连接的插口(客户的ip地址和端口号,服务器的ip地址和端口号)不能再被使用。这个连接只能在2msl结束后才能再被使用。","这种二进制文件是可以完全拆分开来","这种情况也是满足二叉查找树的条件,然而,此时的二叉查找树已经近似退化为一条链表,这样的二叉查找树的查找时间复杂度顿时变成了","这种情况处理就十分简单,自己里面的init方法就是它的指定初始化器,而且可以随意创建多个它的指定初始化器。如果需要创建便利初始化器,则在方法名前面加上convenience,且在里面必须调用其他初始化器,使得最后肯定调用指定初始化器","这种情况就称之为","这种方式。查看方法的实现,发现了如下函数:","这种方式的优势也包括调用简单方便。代码自动补全和编译时检查都有效。实现起来也简单,协议的所有实现仍然在模块内部,所以不需要写反射代码了。同时对外暴露的只有协议,符合团队协作的","这种方式虽然比较粗暴,但考虑到两个模块间交互的复杂对象应该不会很多(如果太多则应考虑这两个模块是否划分合适),同时拷贝粘贴操作起来成本可控,所以可以接受。同时这种方法也能达到预期的编译隔离的效果。但两边模型定义及实现还是有不一致的风险。为了解决一致性问题,我们做了个检查脚本工具,在编译时触发。会根据命名规则查找这类","这种方案的优势是调用简单方便,代码自动补全和编译时检查都仍然有效。","这篇文章","这篇文章中","这篇文章中有非常详细的讲述","这类资源主要包括图片、音视频,数据模型等等。","这道题实际上考的就是关联对象","这道题目的要求是:对给定的有序数组","这道题看着虽然是多线程范围的,但是解题的最重要思路确是在引用计数上,更准确的来说是看对强引用的理解程度。关键知识点如下:","这里不会设置","这里也是经过不断调试,找到了如下","这里介绍一下synccache和synccacheitem","这里以method_array_t为例,图示其中的结构。","这里传递了三个","这里做需要线程安全操作","这里几个参数我们稍微说明下","这里包含一个陷阱——","这里可以解释,复用的时候,已经展示过图片的imageview为什么在被复用的时候没有展示之前存在的图片而是展示placeholer或者不展示的原因。","这里在主线程的","这里在补充一点关于syn","这里如果想要绘制一个带有圆角并剪切圆角的容器","这里就不贴了.*/","这里当前view利用前面生成的manag","这里我们主要分析下第三种情况。","这里我们还是要强调,集中式的版本控制系统在一些需要严格控制源代码的公司中还是有着一席之地,不过我们总是可以通过将代码分到多个仓库来分别限制权限,但是如果这一操作并不可行,选择集中式的版本控制系统可能就是最后不得不做的选择。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细想一下下面的问题:","这里推荐大家去看《opengl","这里提出一个假想,如果父类中有个name属性,子类中也有个name属性,两者都注册对name的观察,那么仅通过keypath已经区分不了是哪个name发生变化了,现有两个解决办法:","这里有个重要的知识点——tls:tls全称为thread","这里有几个需要注意的点:","这里的","这里的methodtablelookup里涉及到objc","这里的mnperson","这里的事务包含之前没有完成的.","这里设置了yyasynclayer的contentsscale为屏幕的scale,该属性是","这里设置的尺寸会影响被缓存的","这里需要说明一下:[self","这里,我们使用第二种方法来查看汇编部分,使用第二种方式有便于我们查找代码的具体位置。当我们搜索","进不去了","进入","进入a_view","进入c_view","进入cachelookup流程,这一步会去寻找方法缓存,如果缓存命中则直接调用方法的实现,如果缓存不存在则进入objc_msgsend_uncached流程。","进入d_view","进入e_view","进入休眠前、ca","进入方法决议(method","进制的内存地址,这里作者将_selector和_target的内存地址进行一个位异或处理,意味着只要_selector和_target地址都相同时,hash","进制的函数地址映射。","进来,动态库的数量会影响这个阶段","进来,读取","进程:","进程、线程与队列","进程中。","进程切换时,消耗的资源大、效率高。所以设计到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程而不能用进程","进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。为了提高效率和方便管理,又对虚拟内存和物理内存又进行分页(page)。当进程访问一个虚拟内存","进程想要执行任务,必须得有线程,进程至少要有一条线程","进程是指在系统中正在运行的一个应用程序,如微信、支付宝app都是一个进程","进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在","进程端口,各进程之间通过它进行通信。","进程间通信)","进程,可以使用通常的测试架构。","进程,用标准化的测试工具就可以测试。","进行","进行三次握手:","进行下一步","进行下沉到","进行了一定的封装,类的信息并未全部对开发者开放。我们不妨通过阅读","进行位运算,只取其中的","进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成","进行动画时,这个方法特别有用。你需要在","进行变换。开始查找缓存。","进行哈希查找的时候,会将要查找的对象地址作为参数,通过","进行处理或分发,其中包括识别","进行完整性检查)。","进行常量参数传递是为了优化性能","进行弱绑定","进行提交。(explicit","进行比较。如此循环。","进行版本控制","进行版本控制』。","进行版本控制』,我们可以换一种方式思考这个问题","进行版本控制了,分支的创建和合并是非常常用的功能,这其实是因为使用","进行的光栅化操作(如文字渲染、图片解码),都无法直接绘制到由","进行符号查找:比如","进行缓存,而当我们使用其他图片格式进行传输时,例如","进行编译的。我们可以通过","进行调试。所以,不需要生成额外的","远程接口存在一定的功能重合,还会造成后续实现新功能时,分不清应选择路由","远程接口封装优化","远程接口调用封装","连接对象个数","连接建立过程中是用非对称加密,非对称加密很耗时","连接经历流程是怎么样的","迭代结束?当前runloop","追踪触摸滑动,保证界面滑动时不受其他","退出;","适宜的场景","适用于unix/linux/windows等系统","适用于实时应用(ip电话、视频会议、直播等)","适用于要求可靠传输的应用,例如文件传输","适用场景","适配方案的最佳实践","选中","选择","选择使用分布式的设计思想指导其实现,正是版本控制系统的场景其实与分布式的模型更加相似,所以通过分布式的模型能够很好地解决上述的关键问题。","选择添加","选择集中式的版本控制工具意味着我们必须接受以下的几个缺点:","逐级父类方法查找","递归下一次调用","递归实现代码如下:","递归左右序列。","递归执行hittest","递归提交子树的layers;","递归调用","递归调用,先将父类添加到load方法列表中,再将自己加进去","递归锁","递归锁在使用时需要注意死锁问题——前后代码相互等待便会产生死锁","递归锁:可重入锁,同一个线程在锁释放前可再次获取锁,即可以递归调用","通常只需要替换相应的c,","通常所说的runloop指的是nsrunloop或者cfrunloopref,cfrunloopref是纯c的函数,而nsrunloop仅仅是cfrunloopref的oc封装,并未提供额外的其他功能","通常是对象文件中最大的部分","通常,如果你使用","通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了","通常,我们操作的只有加载,解码和渲染是由uikit进行。","通用二进制文件","通用二进制文件通常被称为","通用功能所用资源,将相关代码整理为功能组件后一起放入","通知","通知到","通知即将进入runloop","通知即将退出runloop","通知将要处理timer和sourc","通知已经交易成功了,此时去沙盒里取收据数据,发现为空,或者出现通知交易成功那笔交易没有被及时的写入到沙盒数据中,导致我们服务器去","通知广播方案","通知我们支付成功,我们驱动服务器去","通过","通过cache_getimp从缓存中获取方法,有则返回,否则进入第","通过clang也能得到一些信息:","通过clang重写","通过drawrect绘制视图;","通过getmethodnosuper_nolock从类的方法列表中获取,有加入缓存中并返回,否则进入第","通过info命令,可以查看到详细的文档","通过ipc提交(打包好的图层树以及动画属性)","通过kvo","通过nm","通过otool","通过performselector的一系列方法,可以实现由某一线程指定在另外的线程上执行任务。因为任务的执行上下文是目标线程,这种方式发送的消息将会自动的被序列化","通过retaincount可以获取到引用计数器,其定义:","通过一张图来展示一下cache_t的结构。","通过上层","通过上面的代码我们知道当前页是存在tls(线程私有数据)里面的。所以说第一次调用push的时候,没有page自然连hotpage也没有。","通过上面的例子来看,虽然subview1在subview3的下面,并且添加了手势,点击区域是在subview1和subview3两个视图上的。但是由于经过hittest和pointinside之后,响应者链中并没有subview1,所以subview1的手势并没有被响应。","通过上面结构体的初始化和结构体的构造,","通过业务模块化架构,一般可以达到明确模块职责及边界,提升代码质量,减少复杂依赖,优化编译速度,提升开发效率等效果。很多文章都有相关分析,在此不再累述。","通过以上说明,可以了解","通过位运算获取标识位的值来确定是否是tag","通过地址来建立索引标志,防止桶重复","通过地址来解除引用关联","通过当前栈空间主结构体上的__block_byref_a_0结构体指针,访问指向堆空间的__forwarding成员,并获取堆空间上变量的值。","通过方法名我们可以知道,没有缓存的时候应该会执行__objc_msgsend_uncached。","通过查看内存地址我们发现","通过查看源码查看","通过汇编能发现@synchronized就是实现了objc_sync_enter和","通过父类的缓存和父类的方法列表中寻找是否有对应的","通过符号断点能知道这两个方法都是在objc源码中的","通过解析","通过这个编译的命令,我们可以看到","逻辑。为此","逻辑像素,这样可以充分利用不同设备的显示器分辨率,绘制更清晰的图像。但是若contentsgravity设置了可拉伸的类型,coreanim","遍历常考考点","遍历结束之后,从","遮罩(mask)","避免线程冲突重处理","那么也就是说","那么也需要被裁剪;","那么包含了支持多架构的","那么可以看到,block内部的函数也是通过block所存储的地址值*height访问了外部的static变量height的值。","那么和nscondition的区别在于哪里呢?接下来看一下nsconditionlock源码","那么在了解ios视图渲染流程以后,再来看一下第二题:","那么在有效位未生效的时候,out_of_lin","那么如何利用编译优化启动速度呢?","那么如何在需要渲染大量视图的情况下,还能保证流畅度,也就是保证fps。","那么对于图3.3所示的右斜树极端情况对应的顺序存储结构如图3.10所示:","那么就不做任何处理","那么应该如何做到以上这些呢?","那么当二叉树不为完全二叉树时,采用顺序存储形式如何呢?","那么怎么办","那么我们回到函数调用栈看下","那么我们怎么才能在weakself之后,block里面还能继续使用weakself之后的对象呢?","那么我们搜索一下","那么我们的工程想要调用","那么接下来","那么数据提供方(商品模块)和使用方(开单模块)都需要专门理解并实现一下这种模型的各种字段,对开发效率影响很大.","那么每一条到底对应着什么呢","那么编译时就会在","那么这个","那么这些","那么这些步骤在性能、安全性和可测试性上应该如何被优化呢?苹果提出了这样两点思路:","那么问题来了,sdwebimage为什么会这么设计呢?","那么,runloop","那么,何时改变这个计数?","那么,如何找到代码里有哪些","那么,实际上核心代码可以更少:","那么,线上用户的冷启动多还是热启动多呢?","那些你想到和想不到的应用场景","那就代表一定是有值的","那我们接着看前面的极端情况的二叉排序树,现在用它来构造一棵平衡二叉树。","那我们搜索一下","那讲到这插一句题外话","部分包含了实际的代码和数据,data","部分将二进制文件进行了一级划分。而,symbol","部分接口的性能","部分进行分拆,每个业务模块都有一个。这种方式的优点是职责明确,大家不用同时对一个公共模块进行修改,同时可以做到依赖关系很清晰;劣势是模块的数量增加了一倍,维护成本增加很多。考虑到我们目前的情况,mediat","郭曜源前辈的文章:io","都不会对外面的对象进行强引用","都会带来性能上的较大开销。所以","都会得到通知。这时","都会来","都会比较辛苦","都依赖","都可以很很容易做到这一点。但不能为了解耦而解耦,提升质量与效率才是我们的目的。直接基于","都应该被认为是一个无效的方法。","都是强引用,除了某些情况下不一样,比如修饰block,其他的时候也是可以通用的。","都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为","都是系统自动调用的话,都只会调用一次","都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在","都是采用的这个方案。","都有一个","都有自己的","都能正确处理资源释放","都说@synchronized性能低——是因为在底层增删改查消耗了大量性能","都进行了实现,目的就是当","配置一些环境变量","配置可以让一个线程上收到特定的应用程序消息。由于","配置环境变量","配置相关环境变量","采用","采用这种结构的原因也是基于内存优化的考虑(即二进制中每一位均可表示不同的信息)。通常来说,isa指针占用的内存大小是8字节,即64位,已经足够存储很多的信息了,这样可以极大的节省内存,以提高性能。","采用递归,依次重新选取基准点,在重复进行","释放信号量","释放旧的池并创建新池;exit(即将退出loop)","释放时,调用cleardeallocating函数。cleardeallocating函数首先根据对象地址获取weak指针地址的数组,然后遍历这个数组把其中指向空对象的指针设为nil,最后把这个指针从weak表中删除,最后清理对象的记录。","释放资源release:lockcount++并根据key值存入被锁次数。如果次数变为0,此时锁也不复存在,需要从快速缓存移除并清空线程数threadcount","释放锁","释放锁,使用汇编指令clrex","里","里uikit","里。所以我们创建子线程runloop时,只需在子线程中获取当前线程的runloop对象即可[nsrunloop","里做以下操作;","里可以配置","里如果调用了","里对启动终点定义是第一个ca::transaction::commit()。","里就会通过","里并没有找到","里拿到的数据实现为报表,方便你测试自己的页面性能加载提升对比。","里有详细描述","里注册好的回调函数进行调用","里的","里的seturl用来使用业务数据渲染页面。","里的情况,在","里绘制的静态数据","里被执行","里还要多少操作空间时,我发现","里面传两个参数,第一个参数objc_super结构体中有两个成员:","里面的","里面调用一个方法[object","里面,所有类都继承自nsobject。当自定义一个类的时候,要么直接继承自nsobject,要么继承自uiview或者其他类。","里面,无论是","里,同时还会通知","里,对应会有一些地方读取这些注册的数据,如果在","里,对应会有一些地方读取这些注册的数据,如果在+load","里,用户输入密码进行交易,和支付宝服务器进行通讯。","里,第","里,视图控件类,如果:uiview、uiviewcontroller就有两个指定初始化器,分别代表从代码初始化、从nib初始化","重传次数的问题:","重写","重写子类方法,返回相应的response类","重写父类的指定初始化器,如果不重写,则子类不存在这个方法","重写父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器","重写监听属性的set、get方法","重写绘制方法","重启手机","重启手机/更新/下载","重复步骤2~3,直到无序区元素为0。","重复资源处理","重头戏来了","重排","重新分配内存","重新尝试","重新认识core","重点来看一下map_images和load_images;","重点概念","重画间存在着一个间隔,runloop","重绑定符号","重绘。主要由重叠的半透明图层引起。gpu的填充比率(用颜色填充像素的比率)是有限的,所以要避免重绘。","重置","针对","针对static变量height,","针对同一个yyasynclayer,很有可能新的绘制请求到来时,当前的绘制任务还未完成,而当前的绘制任务是无用的,会继续消耗过多的","针对图形处理的优化,我们都会倾向于让","链接","链接主程序","链接主程序。","链接动态库","链接器","链接所需要的framework","链接需要的","链接需要的库。如","链接(link):对","链接:https://juejin.cn/post/6844903958624878606","锁","锁。","锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(acquire)锁,并在访问结束之后释放(release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用","镜像","镜像信息","长","闭包时,会再执行一次","闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:","问题出现:以下会输出什么结果","问题出现:以下会输出什么结果?","队列","队列中存放的任务最后都要由线程来执行!","队列分类:","队列和执行方式组合的效果:","队列引起的循环等待","队列情况","队列的原则:先进先出,后进后出","队列负责调度任务,线程执行任务","队列,又称为伫列(queue),是先进先出(fifo:","队列:队列分为串行和并行。串行队列按照a、b、c、d的顺序添加四个任务,这四个任务按照顺序执行,结束顺序也肯定是a、b、c、d,而并行队列同时执行这四个任务,完成的顺序因此也是随机的。","防止“已失效的连接请求报文段”出现在本连接中。","防止多线程竞争。","防止弱引用间死锁","阴影","阴影、圆角、边框、蒙版、拉伸、transform、动画。","阴影会作用在所有子","阶段,后续主要都由","阻塞","阻塞是一个主动行为","阻塞:当满足某个预定条件时,可以使用休眠或锁,阻塞线程执行。sleepfortimeinterval(休眠指定时长),sleepuntildate(休眠到指定日期),@synchronized(self):(互斥锁)。","阿里","除了不在不合适的阶段追求编译隔离,我们还发现代码隔离并不适合我们。","除了模块间通讯的实现,业务模块化架构还需要考虑每个模块内部的设计,比如其生命周期控制,复杂对象传输,重复资源的处理等。可能因为每个公司都有自己的实际场景,业界方案里对这些问题描述的并不是很多。但实际上他们非常重要,有赞在模块化过程中做了很多相关思考和尝试,会在后面环节进行介绍。","除了这两种方式之外,我们可以基于特定的规则实现消息的边界,例如:使用","除以前生成的缓存并释相关的资源。","除此之外,使用","随即开展了相关的更换工作,具体的launchscreen.storyboard配置方式不再赘述,我们直接说配置后出现的问题:","随后","隐式catransaction捕获到uiimageview","隐式绘制","集中式和分布式系统的特性也为","集合就是用来存储这些任务。提交方法","集合查询。","集合,当数量大于","集成入","需要","需要了解","需要修正不对齐指针","需要完全兼容","需要手动唤醒线程","需要手动对其增加保护策略,并设置","需要查找缓存。","需要注意的是,dyld2和dyld3的加载方式略有不同。dyld2是纯粹的in","需要注意的是,如果子类重写父类所有指定初始化器,则会继承父类的便利初始化器。原因也是很简单,因为父类的便利初始化器,依赖于自己的指定初始化器","需要注意的是,当修改弱引用的变量时,这个方法非线程安全。所以切记选择竞争带来的一些问题。","需要的信息。","需要的信息,如","需要的数据结构,这节约了内存和时间。","需要被分配的新值,当前值可能为","需要被及时清理,当前值可能为","需要解决符号缺失问题","需要让地址空间配置随机加载,所以所有的指针都需要加上一个基地址","需要遍历至少三次","静态初始化是从哪来的呢?以下几种代码会导致静态初始化","静态变量(static),block通过地址拷贝方式捕获,在其内部创建一个指向同类型变量的指针,","静态字符串常量","静态库文件.a","非","非tag","非公平","非公平锁","非原子性的属性除了没加锁,其他逻辑与atomic一般无二","非对称加密","非对称加密算法(公钥加密)","非常少。","非常干净。","非常擅长大规模并行计算,但是我想频繁的上下文切换显然不在其设计考量之中)","非懒加载符号表","非空且已经初始化","非空指向","非透明区域","非递归锁:不可重入,必须等锁释放后才能再次获取锁","面向字节流","面向报文","面向报文(既不合并,也不拆分)","面向无连接","面向连接","面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。","面试中,我们经常会考察有关离屏渲染(offscreen","面试题","面试驱动技术","面试驱动技术合集(初中级","页面上显示的","页面的速度。","页面统跳管理。","页面跳转。一些复杂操作和数据传输,虽然也可以通过此方式实现,但都不是很效率。","页面跳转。比如","顶点着色,图元装配,光栅化,片段着色,片段处理,最后提交帧缓冲区","项目中的","项目结构如图:","顺带测试了下在","顺序存储","顾名思义,isa指针指向维护分配表的对象的类,该分派表实质上包含指向该类实现的方法的指针以及其他数据","顾名思义,就是nscondit","预主秘钥","预加载","预加载与智能预加载(ios)","预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后一页的分页数据,在用户继续翻页时,能极大提升响应速度;在微信公众号列表,不仅预加载了多个分页数据,还加载了某个公众文章的文字部分,所以当列表加载完毕之后,你走到了没有网络的电梯里,依然可以点击某个文字,阅读文字部分,图片是空白。","预加载方案浅谈","预处理","预处理阶段:import","预排班。布局计算、文本计算等事先放到子线程中去做;","预渲染。文本等异步绘制,图片编解码等。","预编译(pre","预计还得等待一些时日。","题外话","题外话,app","题目","题目出现","颜色","颜色呈现","额外空间的条件下完成。","饱和策略有如下四个:","首先","首先一个视图由cpu进行frame布局,准备视图和图层的层级关系,查询是否有重写drawrect:或drawlayer:incontext:方法,注意:如果有重写的话,这里的渲染是会占用cpu进行处理的。","首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。","首先从它的注释中recurs","首先判断url是否合法,如果合法,从下载器的urloperations属性中读取该url对应的operation,如果operation不存在,或者已经取消或者已经完成,则根据url重新生成一个operation,同时记录该operation到urloperations中,并把该operation添加到下载队列中去:","首先判断是否需要下载图片,如果不需要就判断缓存数据如果缓存有值就直接返回给调用方,如果需要就先看一下之前读取的缓存数据是否有值,如果有值,就直接返回给调用方。如果没有的话,就使用imageloader下载图片:","首先判断是否需要从缓存中读取图片,如果需要,就处理url,处理后得到我们读取缓存的key。","首先在主线程调用","首先处理一些下载器选项,然后调用下载图片方法:","首先将","首先我们定义了三个结构体lgstruct1、lgstruct2和lgstruct3,然后通过控制台打印出三个结构体类型的内存大小。","首先我们将上面的oc代码改造如下","首先我们怀疑是配置方式有误、编译缓存等导致的问题,所以针对这些猜测我们做了以下测试:","首先我们排除了无脑放入","首先找到数据栈中data","首先明确几个概念","首先是如何避免反射及","首先是梳理我们的模块间通信需求,主要包括以下三种:","首先要明白,并发","首先要知道,isa指针已经不一定是类指针了,所以需要用isa()获取类指针;","首先要讲一下app中的事件响应链,它分为两部分:hit","首先,判断url是否合法,然后生成一个请求图片的operation,这个和我们刚才讲到的operation在内存中是同一个,因为是从该方法中返回出去的。","首先,我们先去查看一下题干中两个方法的源码:","首帧渲染是基于","首部开销","首部开销小,仅8字节","首部最小20字节,最大60字节","首部的同步位syn=1,初始序号seq=x,syn=1的报文段不能携带数据,但要消耗掉一个序号。","验证crash","验证一下","验证仓库中的内容是否被更改,我们会在『可靠性』一节中详细介绍这一特性。","验证完服务端身份后,客户端生成一个对称加密的算法和对应密钥,以公钥加密之后发送给服务端。此时被黑客截获也没用,因为只有服务端的私钥才可以对其进行解密。之后客户端与服务端可以用这个对称加密算法来加密和解密通信内容了。","验证消息重定向","验证通过。","魔数,快速定位64位/32位","黄色","黑幕背后的autoreleas","默认布局","默认是开启的,其他线程如果希望持续存活下去,就需要手动开启runloop。","默认的目录在","默认采取的是懒惰的符号解析(lazi","","!","(1)如果c的左孩子不为空,并且h不等于c的左孩子,也不等于c的右孩子,则把c的左孩子压入stack中。","(1,1,1,1)","(2)如果情况1不成立,并且c的右孩子不为空,并且h不等于c的右孩子,则把c的右孩子压入stack中。","(3)如果情况1和情况2都不成立,那么从stack中弹出c并打印,然后令h等于c。","(dispatch_semaphore_t)线程锁。","(function","(seq/ack应答机制)","(void","(void)fetchproductinfowithproductidentifiers:(nsset","(下面以set方法为例","(参考","(取自","(所有指向被引用对象的)弱引用指针","(添加包序号)","(滑动窗口协议)",")",")、便利初始化器(conveni","),meta",",",",callcompletionblock",",http://m.you.163.com,分别以传统的,每次都新创建",",不同的是作者封装了异步绘制的逻辑便于使用。",",交由",",令攻击者难以通过固定地址获取函数或者内存值进行攻击",",任何人都可以得到",",其中的优化包括:",",其表达方式为:",",出于渲染性能考虑,",",即是主线程",",可以指派",",否则会崩溃;而来自不同",",在应用被编译打包成可执行文件格式的",",如果不合理的使用",",存放函数的参数值,局部变量的值等。其",",实例对象isa指向",",寻找对应的",",并且原数组",",并且此时切换帧缓冲区",",并加递归互斥锁。",",并输出日志",",当cur自增越界时就会变为负数最大值(在二进制层面,是用正整数的反码加一来表示其负数的)。",",所以block选择持有它的指针,在block被调用时,通过该指针访问这个变量的内容就行。",",是根据",",最后这两个方法都是调用了",",用",",稍微修改了一下创建的次数,如果是真机调试可能需要更少的调试次数,模拟器的话其支持的次数会比较多一点。",",编译器会将其转化为",",而",",而autorelease操作插入的是一个具体的autoreleased对象即autoreleasepoolpage入栈操作。",",而不会等到",",而如果设置了",",请你",",返回删除后数组的新长度。",",这个警告必须解决,否则会导致被缓存的",",预加载其他的",":",":tag的值是7表示有扩展的tag位",":业界有些方案是把",":串行队列数量和处理器数量相同",":创建串行队列,设置优先级",":标记位标记该指针是否是tag",":轮询返回队列",";邮件标题:","=","?注意,这里我们有一个?"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"iOS RoadMap\n\n更多博文可看传送门 ↓\n传送门\niOS\niOS\n架构方面\n1. 设计模式\nMVC\n什么是MVC?\nMVC最早存在于桌面程序中的, M是指业务数据, V是指用户界面, C则是控制器. 在具体的业务场景中, C作为M和V之间的连接, 负责获取输入的业务数据, 然后将处理后的数据输出到界面上做相应展示, 另外, 在数据有所更新时, C还需要及时提交相应更新到界面展示. 在上述过程中, 因为M和V之间是完全隔离的, 所以在业务场景切换时, 通常只需要替换相应的C, 复用已有的M和V便可快速搭建新的业务场景. MVC因其复用性, 大大提高了开发效率, 现已被广泛应用在各端开发中。\n2.设计模式\n网络\n1. 简述TCP的三次握手过程\n2. 4次挥手过程详解\n3. TCP/UDP区别以及UDP如何实现可靠传输\n4. Http 和 Https 有什么关系和区别\n5. get 和 post 区别\n6. 什么是Http协议无状态协议?怎么解决Http协议无状态协议?\n7. 一次完整的HTTP请求所经历的7个步骤\n8. Socket\n9. Socket & Http\n10.OSI\n一些推荐阅读\n\n《图解HTTP》知识点摘录\niOS 消息发送与转发详解\n\n\n杂乱知识点\n 1.App启动过程 - 链接\n2.Cocoapods原理总结 - 链接\n3.内联函数,与宏的区别 - 链接\n4.单链表与顺序结构\n5.static区别\n"},"iOS/ReadME.html":{"url":"iOS/ReadME.html","title":"iOS技术总结","keywords":"","body":"iOS技术总结\n1. UI视图\n2.OC语言基础\n3.Runtime\n4.Block\n5.Runloop\n6.Memory内存管理\n7. Autoreleasepool \n8.Thread\n"},"iOS/UIKit/UIResponder.html":{"url":"iOS/UIKit/UIResponder.html","title":"UI触摸事件与事件响应","keywords":"","body":"iOS 事件响应链\niOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的UIResponse\n\n响应连:由最基础的view向系统传递,first view -> super view -> ... -> view controller -> window -> Application -> AppDelegate\n\n传递链:有系统向最上层view传递,Application -> window -> root view -> ... -> first view\n\n\n注意和事件传递是倆概念!!!!\n什么是 iOS 的事件响应链机制?\n当事件发生了,必须知道有谁来响应。在iOS中,由响应者链来对事件进行响应。\n响应者链是由一个不同对象组成的层次结构,其中的每个对象将依次获得响应事件的机会。当发生事件时,事件首先将被发送到第一响应者,第一响应者基本是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并作出处理。\n一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象 ViewController(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top view)到窗口(UIWindow 对象)再到程序(UIApplication 对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。\n基本上,在响应者链只要有对象处理事件,事件就停止传递。\nFirst Response -> Window -> Application -> nil\n\n事件传递\nFirst Response(第一响应者),指的是当前接受触摸的响应者对象,是响应者的开端。响应者链和事件分发的使命都是找出第一响应者。\niOS 检测到手指触摸操作(Touch)时,会将其打包成一个 UIEvent 对象,并放入当前活动Application的事件队列中去。接下来开始自UIApplication往下传递,首先会传递给主window,然后按照view的层级结构一层层往下传递,一直找到最合适的view(发生touch的那个view)来处理事件。查找最合适的view的过程是一个递归的过程,其中涉及到两个重要的方法 hitTest:withEvent:和pointInside:withEvent:方法寻找出操作初始点所在视图。查找最合适的view的过程是一个递归的过程。\n当我们点击屏幕时候的事件传递\n从逻辑上来说,探测链是最先发生的机制,当触摸事件发生后,iOS 系统根据 Hit-Testing 来确定触摸事件发生在哪个视图对象上。其中主要用到了两个 UIView 中的方法:\nUIApplication -> UIWindow -> hitTest:withEvent:\n\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event\n//返回最终响应的事件\n//指定想要响应事件的 View, 比如点击的是 A ,可以指派 B 来响应。\n\n- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event\n//判断点击位置是否在当前范围内\n//控制响应的范围,扩大 or 缩小。\n\n其中UIView不接受事件处理的情况有\n1. hidden = YES,隐藏的视图.\n2. userInteractionEnabled = NO,禁止用户操作的视图.\n3. alpha \n\n更好的原理解析如下:\n\nExample:\n点击 View D\n\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event\n{\n NSLog(@\"进入A_View---hitTest withEvent ---\");\n UIView * view = [super hitTest:point withEvent:event];\n NSLog(@\"离开A_View--- hitTest withEvent ---hitTestView:%@\",view);\n return view;\n}\n\n- (BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event\n{\n NSLog(@\"A_view--- pointInside withEvent ---\");\n BOOL isInside = [super pointInside:point withEvent:event];\n NSLog(@\"A_view--- pointInside withEvent --- isInside:%d\",isInside);\n return isInside;\n}\n\n- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event\n{\n NSLog(@\"A_touchesBegan\");\n [super touchesBegan:touches withEvent:event];\n}\n\n- (void)touchesMoved:(NSSet *)touches withEvent:(nullable UIEvent *)event\n{\n NSLog(@\"A_touchesMoved\");\n [super touchesMoved:touches withEvent:event];\n}\n\n- (void)touchesEnded:(NSSet *)touches withEvent:(nullable UIEvent *)event\n{\n NSLog(@\"A_touchesEnded\");\n [super touchesEnded:touches withEvent:event];\n}\n\n-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event\n{\n NSLog(@\"A_touchesCancelled\");\n [super touchesCancelled:touches withEvent:event];\n}\n\n\n\n进入A_View---hitTest withEvent ---\nA_view--- pointInside withEvent ---\nA_view--- pointInside withEvent --- isInside:1\n进入C_View---hitTest withEvent ---\nC_view---pointInside withEvent ---\nC_view---pointInside withEvent --- isInside:1\n进入E_View---hitTest withEvent ---\nE_view---pointInside withEvent ---\nE_view---pointInside withEvent --- isInside:0\n离开E_View---hitTest withEvent ---hitTestView:(null)\n进入D_View---hitTest withEvent ---\nD_view---pointInside withEvent ---\nD_view---pointInside withEvent --- isInside:1\n离开D_View---hitTest withEvent ---hitTestView:>\n离开C_View---hitTest withEvent ---hitTestView:>\n离开A_View--- hitTest withEvent ---hitTestView:>\n\n如上图,最底层有一个 AView, 按顺序添加 A 的子View B C, CView 按顺序添加 D E\n如Log, 从底到高传递事件(addSubView顺序倒序遍历 Subviews)\n递归执行hitTest withEvent 与 pointInside withEvent \n如果在 hitTest 后的 pointInside检测到该 View 不是触点View,则 pointInside返回 NO,hitTest 返回nil ,继续遍历 Subviews 倒序下一个,如此反复,直到遍历到最后\n要么至死也没能找到能够响应的对象,最终释放。\n1. 系统通过 hitTest:withEvent: 方法沿视图层级树从底向上(从根视图开始)从后向前(从逻辑上更靠近屏幕的视图开始)进行遍历,最终返回一个适合响应触摸事件的 View。\n2. 原生触摸事件从 Hit-Testing 返回的 View 开始,沿着响应链从上向下进行传递。\n详细触摸事件\n以下的触摸事件更底层的解释:\n事件的生命周期\n当指尖触碰屏幕的那一刻,一个触摸事件就在系统中生成了。经过IPC进程间通信,事件最终被传递到了合适的应用。在应用内历经峰回路转的奇幻之旅后,最终被释放。大致经过如下图:\n\n系统响应阶段\n\n手指触碰屏幕,屏幕感应到触碰后,将事件交由IOKit处理。\nIOKit将触摸事件封装成一个IOHIDEvent对象,并通过mach port传递给SpringBoard进程。\nSpringBoard进程因接收到触摸事件,触发了主线程runloop的source1事件源的回调。\n\n此时SpringBoard会根据当前桌面的状态,判断应该由谁处理此次触摸事件。因为事件发生时,你可能正在桌面上翻页,也可能正在刷微博。若是前者(即前台无APP运行),则触发SpringBoard本身主线程runloop的source0事件源的回调,将事件交由桌面系统去消耗;若是后者(即有app正在前台运行),则将触摸事件通过IPC传递给前台APP进程,接下来的事情便是APP内部对于触摸事件的响应了。\n\nmach port 进程端口,各进程之间通过它进行通信。\nSpringBoard.app 是一个系统进程,可以理解为桌面系统,可以统一管理和分发系统接收到的触摸事件。\n\nAPP响应阶段\n1.APP进程的mach port接受到SpringBoard进程传递来的触摸事件,主线程的runloop被唤醒,触发了source1回调。\n2.source1回调又触发了一个source0回调,将接收到的IOHIDEvent对象封装成UIEvent对象,此时APP将正式开始对于触摸事件的响应。\n3.source0回调内部将触摸事件添加到UIApplication对象的事件队列中。事件出队后,UIApplication开始一个寻找最佳响应者的过程,这个过程又称hit-testing 。接下来如上面 事件传递 的解释\n4.寻找到最佳响应者后,接下来的事情便是事件在响应链中的传递及响应了,关于响应链相关的内容详见[事件的响应及在响应链中的传递]一节。事实上,事件除了被响应者消耗,还能被手势识别器或是target-action模式捕捉并消耗掉。其中涉及对触摸事件的响应优先级\n5.触摸事件历经坎坷后要么被某个响应对象捕获后释放,要么致死也没能找到能够响应的对象,最终释放。至此,这个触摸事件的使命就算终结了。runloop若没有其他事件需要处理,也将重归于眠,等待新的事件到来后唤醒。\nReference\niOS触摸事件全家桶\n深入理解 iOS 事件机制\niOS事件处理,看我就够了~\n"},"iOS/UIKit/UIOffScreenRendering.html":{"url":"iOS/UIKit/UIOffScreenRendering.html","title":"iOS 离屏渲染","keywords":"","body":"iOS 离屏渲染\n什么是离屏渲染?\n离屏渲染是基于GPU层面上的,指GPU在当前屏幕缓冲区外开辟了一个缓冲区,进行渲染操作。\n当设置某些UI图层属性时候,如果指定为被未预合成之前,不能直接显示在屏幕上的时候,就触发了离屏渲染。\n当我们要在屏幕上显示内容, 至少需要一块与屏幕像素数据量一样大的 frame buffer 来作为数据存储区域 (GPU 渲染结果存储的地方)。但是此时出现了特殊情况导致渲染结果无法直接写入 frame buffer, 而是需要先暂存到另外的区域进行处理, 之后再写入到 frame buffer, 这种情况就称之为 离屏渲染。\n检测离屏渲染\n模拟器 可以通过设置 Debug -> Color Off-screen Rendered 来打开离屏渲染检测\n真机 则通过设置 Debug -> View Debugging -> Rendering -> Color Off-screen Rendered 来打开离屏渲染检测\n颜色呈现 黄色 的区域就是触发了 离屏渲染 的区域\n为什么会产生离屏渲染?\n正常的情况下, OpenGL 提交一个命令到 Command Buffer , 随后 GPU 就开始渲染, 最后将渲染结果放到 Render Buffer 中。\n这里如果想要绘制一个带有圆角并剪切圆角的容器 (maskToBounds 为 YES, 背景色不是透明, 具体可以看下面的例子), 就可能触发离屏渲染。\n\n首先将 layer 的内容裁剪成圆角\n容器的子控件在渲染的过程中, 因为父 layer 是被裁剪过的, 那么也需要被裁剪; 但是这时的 父 layer 已经被渲染完成而子 layer 还在队列中, 没有办法进行统一裁剪, 所以这个过程就没办法实现了\n\n所以系统就不得不去 开辟独立于 frame buffer 的内存, 先把父 layer 以及他的子 layer依次画好, 然后合并到一起进行裁剪, 再把结果放到 frame buffer 中, 这就是为什么需要离屏渲染。\n何时触发\n\n圆角(当和 makeToBounds 或者 clipToBounds 同时使用) iOS9后, 圆角+maskToBounds, 然后设置了背景颜色, 产生了离屏渲染,但是 圆角+maskToBounds 不设置背景色 , 是不会触发离屏渲染(单层情况下)\n图层蒙版\n阴影\n光栅化\n光栅化(Rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。(应用:较为广泛的应用于深度学习卷积神经网络的结构中)\n\n关于 iOS 9 的优化后:\n可以理解为,因为只有 单层 内容需要添加圆角和裁切,所以可以不需要用到离屏渲染技术。但如果加上了背景色、边框或其他有图像内容的图层,就会产生为 多层 添加圆角和裁切,所以还是会触发离屏渲染。\n为何要避免离屏渲染\n离屏渲染发生在GPU层面上,因为离屏渲染使GPU触发Opengl多通道渲染管线,产生额外开销,所以要避免。 在触发离屏渲染时候,会增加GPU工作量,增加GPU工作量,可能会导致GPU和CPU工作耗时的总耗时超出Vsync信号(16.7毫秒)时间,导致UI卡顿或者掉帧。\n离屏渲染会创建新的渲染缓冲区,导致内存上的开销,有多通道渲染管线,最终要把多通道的渲染结果进行合成,所有会有上下文的切换,就有 GPU 的额外开销,那么可能就会导致 UI 的卡顿和掉帧\nReference:\niOS 探索--离屏渲染\n"},"iOS/UIKit/UIViewRender.html":{"url":"iOS/UIKit/UIViewRender.html","title":"iOS UIView刷新与渲染机制","keywords":"","body":"iOS UIView刷新与渲染机制\n1. UIView 与 CALayer\n\nUIView 为 CALayer提供内容,专门负责处理触摸等事件,参与响应链\nCALayer基于CoreAnimation, 全权负责显示内容 contents\n单一原则,设计模式(负责相应的功能)\n\n2. 图像渲染流水线\n\n图像渲染流程粗粒度地大概分为下面这些步骤:\n\n上述图像渲染流水线中,除了第一部分 Application 阶段,后续主要都由 GPU 负责。\nCALayer 是显示的基础:存储 bitmap\nCALayer 中的 contents 属性保存了由设备渲染流水线渲染好的位图 bitmap(通常也被称为 backing store),而当设备屏幕进行刷新时,会从 CALayer 中读取生成好的 bitmap,进而呈现到屏幕上\nCPU和GPU通过总线连接,CPU中计算出的往往是bitmap位图,通过总线由合适的时机传递给GPU,GPU拿到位图后,渲染到帧缓存区FrameBuffer,然后由视频控制器根据Vsync信号在指定时间之前去帧缓冲区提取内容,显示到屏幕上。\nCPU工作内容:\n\nlayout(UI布局,文本计算)\ndisplay(绘制 drawRect)\nprepare(图片解码)\ncommit(提交位图)\n\nGPU工作内容: 顶点着色,图元装配,光栅化,片段着色,片段处理,最后提交帧缓冲区\n3. UIView的绘制原理\n\n\n[UIView setNeedsDisplay] 并没有发生当前视图立即绘制工作,打上需要重绘的脏标记,最后是在某个时机完成\n[UIView setLayoutIfNeed] 立即重新布局视图(下一个Runloop)\n[view layouIfNeeded] 当前RunLoop休眠前更新\n当我们调用UIView的setNeedsDisplay的方法时候,会调用layer的同名方法,相当于在当前layer打上绘制标记,在当前runloop将要结束的时候,才会调用CALayer的display方法进入到真正的绘制当中。\nCALayer的display方法中,首先会判断layer的delegate方法displayLayer:是否实现,如果代理没有响应这个方法,则进入到系统绘制流程;如果代理响应了这个方法,则进入到异步绘制流程\n3.1 系统绘制流程\n\nDrawrect方法内为何第一行代码总要获取图形的上下文?\n系统绘制的流程 本质是创建一个 backing storage 的流程.\nCGContextRef con = UIGraphicsGetCurrentContext();\n\n\n每一个UIView都有一个layer,每一个layer都有个content,这个content指向的是一块缓存,叫做backing store\n当UIView被绘制时(从 CA::Transaction::commit:以后),CPU执行drawRect,通过context将数据写入backing store\n当backing store写完后,通过render server交给GPU去渲染,将backing store中的bitmap数据显示在屏幕上\n所以在 drawRect 方法中 要首先获取 context\n在CALayer内部,系统会创建一个backingStore(可以理解为CGContextRef,drawRect中取到的currentRef就是这个东西),然后layer回判断是否有delegate,如果没有代理,就调用CALayer的drawInContext:方法;如果有代理,则调用layer代理的drawLayer:inContext:方法,这一步发生在系统内部,然后在合适的时间给与我们回调一个熟悉的UIView的drawRect:方法。也就是在系统内部的绘制之上,允许我们再做一些额外的绘制。最后CALayer把backting store(位图)传给GPU。\n3.2 异步绘制流程\n\nUIView 中有一个 CALayer 的属性,负责 UIView 具体内容的显示。\n具体过程是系统会把 UIView 显示的内容(包括 UILabel 的文字,UIImageView 的图片等)绘制在一张画布上,完成后倒出图片赋值给 CALayer 的 contents 属性,完成显示。\n\n这其中的工作都是在主线程中完成的,这就导致了主线程频繁的处理 UI 绘制的工作,如果要绘制的元素过多,过于频繁,就会造成卡顿。\n解决方案使用异步绘制就是:\n\n把 UIView 显示的内容(包括 UILabel 的文字,UIImageView 的图片等)绘制生成的 bitmap 在子线程完成。\n然后在回到主线程把 bitmap 赋值给 view.layer.content 属性。\n\n \n\n\n首先在主线程调用 setNeedsdispay 方法\n系统会在 runloop 将要结束的时候调用 [CAlayer display] 方法\n如果我们的代理实现了dispayLayer 这个方法,会调用 dispayLayer 这个方法。我们可以去子线程里面进行异步绘制。子线程主要做的工作:\n创建上下文\nUI控件的绘制工作\n生成对应的图片(bitmap)\n\n\n主线程可以做其他工作\n异步绘制完事之后,回到主线程,把绘制的 bitmap 赋值 view.layer.contents 属性中\n\n\n▐ 是否知道异步绘制?如何进行异步绘制?\n\n基于系统开的口子 [layer.delegate dispayLayer:] 方法。\n并且实现/遵从了 dispayLayer 这个方法,我们就可以进行异步绘制: \n1)代理负责生产对应的 bitmap \n2)设置 bitmap 作为 layer.contents 属性的值\n\n\n\n4. View布局与约束时机\n一个视图的布局指的是它在屏幕上的的大小和位置。每个 view 都有一个 frame 属性,用来表示在父 view 坐标系中的位置和具体的大小。UIView 给你提供了用来通知系统某个 view 布局发生变化的方法,也提供了在 view 布局重新计算后调用的可重写的方法。\nUpdate Cycle\nUpdate cycle 是当应用完成了你的所有事件处理代码后控制流回到主 RunLoop 时的那个时间点。正是在这个时间点上系统开始更新布局、显示和设置约束。如果你在处理事件的代码中请求修改了一个 view,那么系统就会把这个 view 标记为需要重画(redraw)。在接下来的 Update cycle 中,系统就会执行这些 view 上的更改。用户交互和布局更新间的延迟几乎不会被用户察觉到。iOS 应用一般以 60 fps 的速度展示动画,就是说每个更新周期只需要 1/60 秒。这个更新的过程很快,所以用户在和应用交互时感觉不到 UI 中的更新延迟。但是由于在处理事件和对应 view 重画间存在着一个间隔,RunLoop 中的某时刻的 view 更新可能不是你想要的那样。如果你的代码中的某些计算依赖于当下的 view 内容或者是布局,那么就有在过时 view 信息上操作的风险。理解 RunLoop、update cycle 和 UIView 中具体的方法可以帮助避免或者可以调试这类问题。下面的图展示出了 update cycle 发生在 RunLoop 的尾部。\n\n布局:\nlayoutSubviews()\n它负责给出当前 view 和每个子 view 的位置和大小。这个方法很开销很大,因为它会在每个子视图上起作用并且调用它们相应的 layoutSubviews 方法。系统会在任何它需要重新计算视图的 frame 的时候调用这个方法,所以你应该在需要更新 frame 来重新定位或更改大小时重载它。然而你不应该在代码中显式调用这个方法。相反,有许多可以在 run loop 的不同时间点触发 layoutSubviews 调用的机制,这些触发机制比直接调用 layoutSubviews 的资源消耗要小得多。\n自动刷新触发器\n有许多事件会自动给视图打上 “update layout” 标记,因此 layoutSubviews 会在下一个周期中(重点!!!)被调用,而不需要开发者手动操作。这些自动通知系统 view 的布局发生变化的方式有:\n\n修改 view 的大小\n新增 subview\n用户在 UIScrollView 上滚动(layoutSubviews 会在 UIScrollView 和它的父 view 上被调用)\n用户旋转设备\n更新视图的 constraints\n\n这些方式都会告知系统 view 的位置需要被重新计算,继而会自动转化为一个最终的 layoutSubviews 调用。当然,也有直接触发 layoutSubviews 的方法。\nsetNeedsLayout()\n触发 layoutSubviews 调用的最省资源的方法就是在你的视图上调用 setNeedsLaylout 方法。调用这个方法代表向系统表示视图的布局需要重新计算。setNeedsLayout 方法会立刻执行并返回,但在返回前不会真正更新视图。视图会在下一个 update cycle 中更新,就在系统调用视图们的 layoutSubviews 以及他们的所有子视图的 layoutSubviews 方法的时候。\nlayoutIfNeeded()\nlayoutIfNeeded 是另一个会让 UIView 触发 layoutSubviews 的方法。 当视图需要更新的时候,与 setNeedsLayout() 会让视图在下一周期调用 layoutSubviews 更新视图不同,layoutIfNeeded 会立即调用 layoutSubviews 方法。但是如果你调用了 layoutIfNeeded 之后,并且没有任何操作向系统表明需要刷新视图,那么就不会调用 layoutsubview。如果你在同一个 run loop 内调用两次 layoutIfNeeded,并且两次之间没有更新视图,第二个调用同样不会触发 layoutSubviews 方法。\n使用 layoutIfNeeded,则布局和重绘会立即发生并在函数返回之前完成(除非有正在运行中的动画)。这个方法在你需要依赖新布局,无法等到下一次 update cycle 的时候会比 setNeedsLayout 有用\n当对希望通过修改 constraint 进行动画时,这个方法特别有用。你需要在 animation block 之前对 self.view 调用 layoutIfNeeded,以确保在动画开始之前传播所有的布局更新。在 animation block 中设置新 constrait 后,需要再次调用 layoutIfNeeded 来动画到新的状态。\n(注: Masonry 动画需要这个)\n显示:\n一个视图的显示包含了颜色、文本、图片和 Core Graphics 绘制等视图属性,不包括其本身和子视图的大小和位置。和布局的方法类似,显示也有触发更新的方法,它们由系统在检测到更新时被自动调用,或者我们可以手动调用直接刷新。\nsetNeedsDisplay()\n这个方法类似于布局中的 setNeedsLayout 。它会给有内容更新的视图设置一个内部的标记,但在视图重绘之前就会返回。然后在下一个 update cycle 中,系统会遍历所有已标标记的视图,并调用它们的 draw 方法。\n大部分时候,在视图中更新任何 UI 组件都会把相应的视图标记为“dirty”,通过设置视图“内部更新标记”,在下一次 update cycle 中就会重绘,而不需要显式的 setNeedsDisplay 调用\n约束:\nupdateConstraints()\n这个方法用来在自动布局中动态改变视图约束。和布局中的 layoutSubviews() 方法或者显示中的 draw 方法类似,updateConstraints() 只应该被重载,绝不要在代码中显式地调用。通常你只应该在 updateConstraints 方法中实现必须要更新的约束。\nsetNeedsUpdateConstraints()\n调用 setNeedsUpdateConstraints() 会保证在下一次更新周期中更新约束。它通过标记“update constraints”来触发 updateConstraints()。这个方法和 setNeedsDisplay() 以及 setNeedsLayout() 方法的工作机制类似。\nupdateConstraintsIfNeeded()\n对于使用自动布局的视图来说,这个方法与 layoutIfNeeded 等价。它会检查 “update constraints”标记(可以被 setNeedsUpdateConstraints 或者 invalidateInstrinsicContentSize方法自动设置)。如果它认为这些约束需要被更新,它会立即触发 updateConstraints() ,而不会等到 RunLoop 的末尾。\n如下图,分别为 布局,显示,约束 3个阶段方法;不同方法在不同周期会刷新布局显示出来。\n\n▐ 我们调用 [UIView setNeedsDisplay] 方法的时候,不会立马发送对应视图的绘制工作,为什么?\n\n调用 [UIView setNeedsDisplay] 后,\n然后会调用系统的同名方法 [view.layer setNeedsDisplay] 方法并在当前 view 上面打上一个脏标记\n当前 Runloop 将要结束的时候才会调用 [CALyer display] 方法,然后进入到视图真正的绘制工作当中。\n\n5. View绘制渲染机制和Runloop什么关系\n底层原理\n当在操作 UI 时,,比如修改了frame、调整了UI层级(UIView/CALayer)或者手动设置了setNeedsDisplay:/setNeedsLayout:,这些调整操作会触发transaction commit,这个 UIView/CALayer 就被标记为待处理,并被提交到一个全局的容器去。向渲染服务器提交图层树。当这个 Observer 监听了主线程 RunLoop 的即将进入休眠和退出状态,则会遍历所有的UI更新并提交进行实际绘制更新。\n苹果注册了一个 Observer 监听 BeforeWaiting(即将进入休眠) 和 Exit (即将退出Loop) 事件,回调去执行一个很长的函数:\n_ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()。这个函数里会遍历所有待处理的 UIView/CAlayer 以执行实际的绘制和调整,并更新 UI 界面。\n\n_ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()\nQuartzCore:CA::Transaction::observer_callback:\nCA::Transaction::commit();\nCA::Context::commit_transaction();\nCA::Layer::layout_and_display_if_needed();\nCA::Layer::layout_if_needed();\n[CALayer layoutSublayers];\n[UIView layoutSubviews];\nCA::Layer::display_if_needed();\n[CALayer display];\n[UIView drawRect];\n\n6. UI 卡顿,列表卡顿、掉帧原理\n\niOS的 mainRunloop是一个60fps的回调,也就是说每16.7ms(VSync信号时间)会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawRect),这些CPU的工作。然后将这个缓冲区交给GPU渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(Texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。 因此,如果在16.7ms内完不成这些操作,比如,CPU做了太多的工作,或者view层次过于多,图片过于大,导致GPU压力太大,就会导致“卡”的现象,也就是丢帧.\n\n在规定的16.7ms内,在下一个VSync信号到来之前,CPU和GPU并没有共同完成下一帧视频的合成,就会出现掉帧、卡顿。\n\n滑动优化方案思路:\n\nCPU:\n对象的创建、调整、销毁可以放在子线程中去做ASDK;\n预排班。布局计算、文本计算等事先放到子线程中去做;\n使用轻量级对象,比如CALayer代替UIView\n预渲染。文本等异步绘制,图片编解码等。\n控制并发线程数量\n减少重复计算布局,减少修改frame等\nautolayout比frame更消耗资源\n可以让图片的size跟frame一致\n\n\nGPU:\n纹理渲染。避免离屏渲染\n视图混合。减少视图层级的复杂性,减少透明视图;不透明的opaque设置为YES\nGPU能处理的最大纹理是4096 * 4096,一旦超过这个尺寸就会调用CPU进行资源处理,所以纹理尽量不要超过这个尺寸\n\n\n\n7. 结合阅读\nYYAsyncLayer基于异步绘制:\nYYAsyncLayer 异步绘制原理解析\nReference:\n[译] 揭秘 iOS 布局\niOS-[渲染原理]当你被问到下面问题,你能够回答出来么? 1、app从点击屏幕到完成渲染,中间发生了什么? 2、当一个 - 掘金 (juejin.cn)\nUIView 绘制渲染机制\n"},"iOS/UIKit/UIViewRenderProcess.html":{"url":"iOS/UIKit/UIViewRenderProcess.html","title":"iOS界面渲染流程分析","keywords":"","body":"iOS界面渲染流程分析\n面试题\n本文可为以下面试题提供参考:\n\napp从点击屏幕(硬件)到完全渲染,中间发生了什么?越详细越好 要求讲到进程间通信?出处\n一个UIImageView添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?\n在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?\nUIView与CALayer的区别?\n\n简答\niOS渲染视图的核心是Core Animation\n 其渲染层次依次为:图层树->呈现树->渲染树\n\nCPU阶段\n布局(Frame)\n显示(Core Graphics)\n准备(QuartzCore/Core Animation)\n通过IPC提交(打包好的图层树以及动画属性)\n\n\nOpenGL ES阶段\n生成(Generate)\n绑定(Bind)\n缓存数据(Buffer Data)\n启用(Enable)\n设置指针(Set Pointers)\n绘图(Draw)\n清除(Delete)\n\n\nGPU阶段\n接收提交的纹理(Texture)和顶点描述(三角形)\n应用变换(transform)\n合并渲染(离屏渲染等)\n\n\n\n其iOS平台渲染核心原理的重点主要围绕前后帧缓存、Vsync信号、CADisplayLink\n文字简答:\n\n首先一个视图由CPU进行Frame布局,准备视图和图层的层级关系,查询是否有重写drawRect:或drawLayer:inContext:方法,注意:如果有重写的话,这里的渲染是会占用CPU进行处理的。\nCPU会将处理视图和图层的层级关系打包,通过IPC(内部处理通信)通道提交给渲染服务,渲染服务由OpenGL ES和GPU组成。\n渲染服务首先将图层数据交给OpenGL ES进行纹理生成和着色。生成前后帧缓存,再根据显示硬件的刷新频率,一般以设备的VSync信号和CADisplayLink为标准,进行前后帧缓存的切换。\n最后,将最终要显示在画面上的后帧缓存交给GPU,进行采集图片和形状,运行变换,应用纹理和混合。最终显示在屏幕上。\n\n以上仅仅是对该题简单回答,其中的原理以及瓶颈和优化,后面会详细介绍。\n\n知识点\n\n重新认识Core Animation\nCPU渲染职能\nOpenGL ES渲染职能\nGPU渲染职能\nIPC内部通信(进程间通信)\n前后帧缓存&Vsync信号\n视图渲染优化&卡顿优化\nMetal渲染引擎\n事件响应链&Runloop原理\nCALayer的职能\n\n重新认识Core Animation\n苹果官方文档-Core Animation\n Core Animation并仅仅是字面意思的核心动画,而是整个显示核心都是围绕QuartzCore框架中的Core Animation\n\nCore Animation是依赖于OpenGL ES做GPU渲染,CoreGraphics做CPU渲染,但在本文中,以及官方文档都是将OpenGL与GPU分开说明。\n\nCore Animation 在 RunLoop 中注册了一个 Observer,监听了 BeforeWaiting 和 Exit 事件。这个 Observer 的优先级是 2000000,低于常见的其他 Observer。当一个触摸事件到来时,RunLoop 被唤醒,App 中的代码会执行一些操作,比如创建和调整视图层级、设置 UIView 的 frame、修改 CALayer 的透明度、为视图添加一个动画;这些操作最终都会被 CALayer 捕获,并通过 CATransaction 提交到一个中间状态去(CATransaction 的文档略有提到这些内容,但并不完整)。当上面所有操作结束后,RunLoop 即将进入休眠(或者退出)时,关注该事件的 Observer 都会得到通知。这时 CA 注册的那个 Observer 就会在回调中,把所有的中间状态合并提交到 GPU 去显示;如果此处有动画,CA 会通过 DisplayLink 等机制多次触发相关流程。\nCPU渲染职能\n在这里推荐大家去阅读落影loyinglin的文章iOS开发-视图渲染与性能优化\n\n显示逻辑\nCoreAnimation提交会话,包括自己和子树(view hierarchy)的layout状态等;\nRenderServer解析提交的子树状态,生成绘制指令\nGPU执行绘制指令\n显示渲染后的数据\n\n\n\n\n\n提交流程\n布局(Layout)\n调用layoutSubviews方法\n调用addSubview:方法\n\n\n显示(Display)\n通过drawRect绘制视图;\n绘制string(字符串);\n\n\n准备提交(Prepare)\n解码图片;\n图片格式转换;\n\n\n提交(Commit)\n打包layers并发送到渲染server;\n递归提交子树的layers;\n如果子树太复杂,会消耗很大,对性能造成影响;\n\n\n\n\n\nCPU渲染职能主要体现在以下5个方面:\n\n布局计算\n 如果你的视图层级过于复杂,当视图呈现或者修改的时候,计算图层帧率就会消耗一部分时间。特别是使用iOS6的自动布局机制尤为明显,它应该是比老版的自动调整逻辑加强了CPU的工作。\n视图懒加载\n iOS只会当视图控制器的视图显示到屏幕上时才会加载它。这对内存使用和程序启动时间很有好处,但是当呈现到屏幕上之前,按下按钮导致的许多工作都会不能被及时响应。比如控制器从数据库中获取数据,或者视图 从一个nib文件中加载,或者涉及IO的图片显示,都会比CPU正常操作慢得多。\nCore Graphics绘制\n 如果对视图实现了drawRect:或drawLayer:inContext:方法,或者 CALayerDelegate 的 方法,那么在绘制任何东 西之前都会产生一个巨大的性能开销。为了支持对图层内容的任意绘制,Core Animation必须创建一个内存中等大小的寄宿图片。然后一旦绘制结束之后, 必须把图片数据通过IPC传到渲染服务器。在此基础上,Core Graphics绘制就会变得十分缓慢,所以在一个对性能十分挑剔的场景下这样做十分不好。\n解压图片\n PNG或者JPEG压缩之后的图片文件会比同质量的位图小得多。但是在图片绘制到屏幕上之前,必须把它扩展成完整的未解压的尺寸(通常等同于图片宽 x 长 x 4个字节)。为了节省内存,iOS通常直到真正绘制的时候才去解码图片。根据你加载图片的方式,第一次对 图层内容赋值的时候(直接或者间接使用 UIImageView )或者把它绘制到 Core Graphics中,都需要对它解压,这样的话,对于一个较大的图片,都会占用一定的时间。\n图层打包\n 当图层被成功打包,发送到渲染服务器之后,CPU仍然要做如下工作:为了显示 屏幕上的图层,Core Animation必须对渲染树种的每个可见图层通过OpenGL循环 转换成纹理三角板。由于GPU并不知晓Core Animation图层的任何结构,所以必须 要由CPU做这些事情。这里CPU涉及的工作和图层个数成正比,所以如果在你的层 级关系中有太多的图层,就会导致CPU没一帧的渲染,即使这些事情不是你的应用 程序可控的。\n\nOpenGL ES渲染职能\n这里推荐大家去看《OpenGL ES应用开发实践指南:iOS卷》,因为篇幅过长,就不赘述OpenGL的原理。\n\n简单来说,OpenGL ES是对图层进行取色,采样,生成纹理,绑定数据,生成前后帧缓存。\n纹理的概念:纹理是一个用来保存图像的颜色元􏰈值的 OpenGL ES 缓存,可以简单理解为一个单位。\n1)生成(Generate)— 请 OpenGL ES 为图形处理器制的缓存生成一个独一无二的标识符。 \n2)绑定(Bind)— 告诉 OpenGL ES 为接下来的运算使用一个缓存。 \n3)缓存数据(Buffer Data)— 让 OpenGL ES 为当前定的缓存分配并初始化 够的内存(通常是从 CPU 制的内存复制数据到分配的内存)。 \n4)启用(Enable)或者(Disable)— 告诉 OpenGL ES 在接下来的渲染中是 使用缓存中的数据。 \n5)设置指(Set Pointers)— 告诉 Open-GL ES 在缓存中的数据的类型和所有需 要的数据的内存移值。 \n6)绘图(Draw) — 告诉 OpenGL ES 使用当前定并启用的缓存中的数据渲染 整个场景或者某个场景的一部分。 \n7)删除除(Delete)— 告诉 OpenGL ES 除以前生成的缓存并释相关的资源。\n\n当显示一个UIImageView时,Core Animation会创建一个OpenGL ES纹理,并确保在这个图层中的位图被上传到对应的纹理中。当你重写-drawInContext方法时,Core Animation会请求分配一个纹理,同时确保Core Graphics会将你在-drawInContext中绘制的东西放入到纹理的位图数据中。\n\niOS 操作系统不会让应用直接向前帧缓存或者 后帧缓存绘图,也不会让应用直接复制前帧缓存和后帧缓存之间的切换。操作系统为自 己保留了这些操作,以便它可以随时使用 Core Animation 合成器来控制显示的最终外观\n最终,生成前后帧缓存会再交由GPU进行最后一步的工作。\nGPU渲染职能\nGPU会根据生成的前后帧缓存数据,根据实际情况进行合成,其中造成GPU渲染负担的一般是:离屏渲染,图层混合,延迟加载。\n\n\n普通的Tile-Based渲染流程\nCommandBuffer,接受OpenGL ES处理完毕的渲染指令;\nTiler,调用顶点着色器,把顶点数据进行分块(Tiling);\nParameterBuffer,接受分块完毕的tile和对应的渲染参数;\nRenderer,调用片元着色器,进行像素渲染;\n -RenderBuffer,存储渲染完毕的像素;\n\n\n离屏渲染 —— 遮罩(Mask)\n渲染layer的mask纹理,同Tile-Based的基本渲染逻辑;\n渲染layer的content纹理,同Tile-Based的基本渲染逻辑;\nCompositing操作,合并1、2的纹理;\n\n\n离屏渲染 ——UIVisiualEffectView\n渲染等待\n光栅化\n组透明度\n\nGPU用来采集图片和形状,运行变换,应用文理和混合,最终把它们输送到屏幕上。\n太多的几何结构会影响GPU速度,但这并不是GPU的瓶颈限制原因,但由于图层在显示之前要通过IPC发送到渲染服务器的时候(图层实际上是由很多小物体组成的特别重量级的对象),太多的图层就会引起CPU的瓶颈。\n重绘。主要由重叠的半透明图层引起。GPU的填充比率(用颜色填充像素的比率)是有限的,所以要避免重绘。\n\nIPC内部通信(进程间通信)\n在研究这个问题的过程中,我有想过去看一下源码,试着去理解在视图完全渲染之前,IPC是如何调度的,可惜苹果并没有开源绘制过程中的代码。这里推荐官方文章给大家了解一下iOS中IPC是如何运作的。\n苹果官方文档-Mach内核编程 IPC通信\n前后帧缓存&Vsync信号\n虽然我们不能看到苹果内部是如何实现的,但是苹果官方也提供了我们可以参考的对象,也就是VSync信号和CADisplayLink对象。\niOS 的显示系统是由 VSync 信号驱动的,VSync 信号由硬件时钟生成,每秒钟发出 60 次(这个值取决设备硬件,比如 iPhone 真机上通常是 59.97)。iOS 图形服务接收到 VSync 信号后,会通过 IPC 通知到 App 内。App 的 Runloop 在启动后会注册对应的 CFRunLoopSource 通过 mach_port 接收传过来的时钟信号通知,随后 Source 的回调会驱动整个 App 的动画与显示。\n\n帧缓存:接收渲染结果的缓冲区,为GPU指定存储渲染结果的区域\n帧缓存可以同时存在多个,但是屏幕显示像素受到保存在前帧缓存(front frame buffer)的特定帧缓存中的像素颜色元素的控制。\n 程序的渲染结果通常保存在后帧缓存(back frame buffer)在内的其他帧缓存,当渲染后的后帧缓存完成后,前后帧缓存会互换。(这部分操作由操作系统来完成)\n前帧缓存决定了屏幕上显示的像素颜色,会在适当的时候与后帧缓存切换。\nCore Animation的合成器会联合OpenGL ES层和UIView层、StatusBar层等,在后帧缓存混合产生最终的颜色,并切换前后帧缓存;\n OpenGL ES坐标是以浮点数来存储,即使是其他数据类型的顶点数据也会被转化成浮点型;\n\n视图加载\n那么在了解iOS视图渲染流程以后,再来看一下第二题:\n 一个UIImageView添加到视图上以后,内部是如何渲染到手机上的,请简述其流程?\n\n图片的显示分为三步:加载、解码、渲染。\n 通常,我们操作的只有加载,解码和渲染是由UIKit进行。\n 以UIImageView为例。当其显示在屏幕上时,需要UIImage作为数据源。\n UIImage持有的数据是未解码的压缩数据,能节省较多的内存和加快存储。\n 当UIImage被赋值给UIImage时(例如imageView.image = image;),图像数据会被解码,变成RGB的颜色数据。\n 解码是一个计算量较大的任务,且需要CPU来执行;并且解码出来的图片体积与图片的宽高有关系,而与图片原来的体积无关。\n 此处引用-->iOS性能优化——图片加载和处理\n\n我查看了较为流行的第三方库源码,例如YYImage、SDWebImage、FastImageCache,其中加载一个图片的流程大致为:\n\n查看UIImageView的API我们可以发现,UIImage封装了一个CoreGraphics/CGImage的对象。\n 1.+[UIImage imageWithContentsOfFile:]使用Image I/O创建CGImageRef内存映射数据。此时,图像尚未解码。\n返回的图像被分配给UIImageView。\n如果图像数据为未解码的PNG/JPG,解码为位图数据\n隐式CATransaction捕获到UIImageView layer树的变化\n在主运行循环的下一次迭代中,Core Animation提交隐式事务,这会涉及创建已设置为层内容的所有图像的副本,根据图像:\n缓冲区被分配用于管理文件IO和解压缩操作。\n文件数据从磁盘读入内存。\n压缩的图像数据被解码成其未压缩的位图形式\nCore Animation使用未压缩的位图数据来渲染图层。\n\n\n\n再看一下YYImage的源码,其流程也大致为:\n\n获取图片二进制数据\n创建一个CGImageRef对象\n使用CGBitmapContextCreate()方法创建一个上下文对象\n使用CGContextDrawImage()方法绘制到上下文\n使用CGBitmapContextCreateImage()生成CGImageRef对象。\n最后使用imageWithCGImage()方法将CGImage转化为UIImage。\n\n当然YYImage不止做了这些,还有解码器编码器,支持webP等多种格式,并且还写了自定义的操作队列,对网络加载图片进行了优化。在此不赘述。\n推荐文章:\n 苹果官方文档-CGImage位图\n iOS图片加载速度极限优化—FastImageCache解析\n Image I/O详解的文章\n 在这里同时推荐Y大的两篇文章\n 移动端图片格式调研\n iOS 处理图片的一些小 Tip\n视图渲染优化&卡顿优化\n接下来我们看一下第三题:在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题?\n什么是卡顿?苹果官方文章-显示帧率\n\n当你的主线程操作卡顿超过16.67ms以后,你的应用就会出现掉帧,丢帧的情况。也就是卡顿。\n一般来说造成卡顿的原因,就是CPU负担过重,响应时间过长。主要原因有以下几种:\n\n隐式绘制 CGContext\n文本CATextLayer 和 UILabel\n光栅化 shouldRasterize\n离屏渲染\n可伸缩图片\nshadowPath\n混合和过度绘制\n减少图层数量\n裁切\n对象回收\nCore Graphics绘制\n-renderInContext: 方法\n\n其中最常见的问题就是离屏渲染:\n\n离屏渲染:离屏绘制发生在基于CPU或者是GPU的渲染,或者是为离屏图 片分配额外内存,以及切换绘制上下文,这些都会降低GPU性能。对于特定图 层效果的使用,比如圆角,图层遮罩,阴影或者是图层光栅化都会强制Core Animation提前渲染图层的离屏绘制。\n\n如果视图绘制超出GPU支持的2048x2048或者4096x4096尺寸的 纹理,就必须要用CPU在图层每次显示之前对图片预处理,同样也会降低性能。\n那么如何在需要渲染大量视图的情况下,还能保证流畅度,也就是保证FPS。\n 在这里推荐阅读郭曜源前辈的iOS 保持界面流畅的技巧\n 以及indulge_in的YYAsyncLayer剖析\n 我参考了YYAsyncLayer,他其中的原理大致是这样的:\nYYAsyncLayer原理\nYYAsyncLayer 是 CALayer 的子类,当它需要显示内容(比如调用了 [layer setNeedDisplay])时,它会向 delegate,也就是 UIView 请求一个异步绘制的任务。在异步绘制时,Layer 会传递一个 BOOL(^isCancelled)() 这样的 block,绘制代码可以随时调用该 block 判断绘制任务是否已经被取消。\n当 TableView 快速滑动时,会有大量异步绘制任务提交到后台线程去执行。但是有时滑动速度过快时,绘制任务还没有完成就可能已经被取消了。如果这时仍然继续绘制,就会造成大量的 CPU 资源浪费,甚至阻塞线程并造成后续的绘制任务迟迟无法完成。我的做法是尽量快速、提前判断当前绘制任务是否已经被取消;在绘制每一行文本前,我都会调用 isCancelled() 来进行判断,保证被取消的任务能及时退出,不至于影响后续操作。\nAsyncDisplayKit原理\nASDK 在此处模拟了 Core Animation 的这个机制:所有针对 ASNode 的修改和提交,总有些任务是必需放入主线程执行的。当出现这种任务时,ASNode 会把任务用 ASAsyncTransaction(Group) 封装并提交到一个全局的容器去。ASDK 也在 RunLoop 中注册了一个 Observer,监视的事件和 CA 一样,但优先级比 CA 要低。当 RunLoop 进入休眠前、CA 处理完事件后,ASDK 就会执行该 loop 内提交的所有任务。\nTips\n优化方案围绕着 使用多线程调用,合理利用CPU计算位置,布局,层次,解压等,再合理调度GPU进行渲染,GPU负担常常要比CPU大,合理调度CPU进行计算可以减轻GPU渲染负担,使应用更加流畅。\n\nMetal渲染引擎\n当你现在再去查阅官方文档时,你会发现苹果官方已经使用Metal去替代OpenGL ES作为Core Animation的渲染。\n 看一下苹果官方文档-Metal可以发现,早在\n\n苹果将Metal作为新的渲染引擎,更好的利用了GPU的性能,同时保证了低内存占用和省电,但我个人并没有深入研究Metal,这里可以有兴趣的同学可以看一下落影前辈的文章:\n Metal入门教程总结\n Metal入门教程(八)Metal与OpenGL ES交互\n OpenGL 专题\n\n事件响应链&原理\n最后一题:UIView和CALayer的区别?\n如果你已经做了几年iOS开发,相比对于这道题可能已经很熟悉。\n 最直接的回答就是UIView可以响应用户事件,而CALayer不能处理事件\n首先要讲一下App中的事件响应链,它分为两部分:Hit-Testing事件传递 & Runloop原理\n当用户对屏幕进行了操作,产生了一个用户事件。\n\n苹果注册了一个 Source1 (基于 mach port 的) 用来接收系统事件,其回调函数为 __IOHIDEventSystemClientQueueCallback()\n当一个硬件事件(触摸/锁屏/摇晃等)发生后,首先由 IOKit.framework 生成一个 IOHIDEvent 事件并由 SpringBoard 接收。这个过程的详细情况可以参考这里。SpringBoard 只接收按键(锁屏/静音等),触摸,加速,接近传感器等几种 Event,随后用 mach port 转发给需要的App进程。随后苹果注册的那个 Source1 就会触发回调,并调用 _UIApplicationHandleEventQueue()进行应用内部的分发。\n_UIApplicationHandleEventQueue()会把 IOHIDEvent 处理并包装成 UIEvent 进行处理或分发,其中包括识别 UIGesture/处理屏幕旋转/发送给 UIWindow 等。通常事件比如 UIButton 点击、touchesBegin/Move/End/Cancel事件都是在这个回调中完成的。\n 此处引用-->深入理解Runloop-事件响应\n\n\n当前前台运行中应用接收到UIEvent以后,当用户对屏幕进行了操作,系统先循环调用Hit-test遍历视图栈里的视图,顺序为视图层次的逆顺序,用Responder Chain响应链传递一层层给根视图AppDelegate处理。-->苹果官方文档-使用响应者和响应者链来处理事件\n\n推荐两篇文章:\n iOS 事件处理机制与图像渲染过程\n iOS事件响应链中Hit-Test View的应用\nCALayer的职能\nCALayer 并不清楚具体的响应链,所以不能直接处理触摸事件或者手势。但是它提供了-containsPoint:和-hitTest:来判断是否一个触点在图层的范围之内。\n与UIView不同,CALayer着重于图层的绘制,大致为以下职能:\n\n阴影、圆角、边框、蒙版、拉伸、transform、动画。\n寄宿图:你可以给CALayer.contents传递一个CGImage来进行渲染,也可以调用- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;方法进行绘制。但通常我们会使用UIView的drawRect方法\nCATextLayer:直接将字符串使用Core Graphics写入图层\nCATransformLayer:能够用于构造一个层级的3D结构\n\n\nCALayer 内部并没有属性,当调用属性方法时,它内部是通过运行时 resolveInstanceMethod为对象临时添加一个方法,并把对应属性值保存到内部的一个 Dictionary 里,同时还会通知 delegate、创建动画等等,非常消耗资源。UIView 的关于显示相关的属性(比如 frame/bounds/transform)等实际上都是 CALayer 属性映射来的,所以对 UIView 的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。\n当视图层次调整时,UIView、CALayer 之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。\n\n使用图层关联的视图而不是单独使用 CALayer 的好处在于,你能在使用所\n 有 CALayer 底层特性的同时,也可以使用 UIView 的高级API(比如自动排版, 布局和事件处理)。做一些对性能特别挑剔的工作,比如对 UIView 一些可忽略不计的操作都会引 起显著的不同\n关于UIView动画以及CALayer的动画这里推荐两篇文章:\n iOS-UIView与CALayer动画原理\n CALayer与iOS动画 讲解及使用\n参考\n本文大量借助了引用文章的文字描述,在此感谢各位作者的文章对本问题的理解起了很大的帮助。也希望各位能去原文发表自己的看法。谢谢~\n\n苹果官方视频-WWDC2014-Session419\n苹果官方文章-显示帧率\n落影loyinglin的文章iOS开发-视图渲染与性能优化\n郭曜源前辈的文章:iOS 保持界面流畅的技巧\niOS 事件处理机制与图像渲染过程\n推荐阅读:《iOS和MacOS性能优化》对于图像I/O方面,书中最后有详细解释。\n\n"},"iOS/UIKit/UIImageRender.html":{"url":"iOS/UIKit/UIImageRender.html","title":"iOS 图片的加载与渲染过程","keywords":"","body":"iOS 图片的加载与渲染过程\n\n要访问的图片文件通过系统调用 mmap() 映射到内存,通过 CGImageSourceRef 访问图像数据,创建CGImageRef。\n\n传统操作系统的I/O操作为标准I/O,即缓存I/O。在这种I/O模型下,数据先从磁盘拷贝到内核空间的缓冲区,然后从内核空间缓冲区拷贝到用户的内存空间。这种方式的优点是减少了磁盘操作,提高性能。但因为数据在传输过程中需要在用户内存空间和内核空间间进行多次数据拷贝操作,造成很大的CPU及内存开销。\n\nmmap() 将硬盘数据直接映射到虚拟内存中,应用可以直接访问虚拟内存中对应的地址来读取数据,避免了数据在内核空间和用户空间的相互拷贝,效率更高。在使用这些数据时,虚拟内存管理系统才会根据缺页加载的机制从磁盘加载对应的数据块到物理内存,在这之前不会消耗用户空间的内存。 iOS中,使用 imageNamed 或者imageWithContentsOfFile 时,系统会调用 mmap() 将图片文件映射到虚拟内存,并创建 CGImageRef 用于后续访问图片数据。\n\n\n在主线程中,将图片数据赋值给 UIImageView 。在保存图片时,为了节省空间,通常会将图片编码(压缩)后再进行存储。如果读取的图片数据为压缩后的数据的话,那就需要对其进行解码成位图(Bitmap)数据。 不同加载图片的方式,在这一步的操作上会有一定的差异。\n\nimageNamed: 会在图片第一次渲染到屏幕上的时候进行解码,并缓存解码后的图片数据。缓存数据存储在全局缓存中,不会随着UIImag的释放而释放。\n\nimageWithContentsOfFile: 或 imageWithData: 同样会在图片第一次渲染到屏幕上的时候进行解码。底层会调用到 CGImageSourceCreateWithData() 方法,该方法可以指定是否要缓存解码后的数据,在64位机器上默认需要缓存(kCGImageSourceShouldCache)。与上面的方法不同,这种方式创建的缓存会随着UIImage的释放而被释放掉。\n\n手动调用 CGImageSourceCreateWithData() 方法可以指定是否需要缓存(kCGImageSourceShouldCache),之后再调用 CGImageSourceCreateImageAtIndex() 可以设置是否需要立即进行解码(kCGImageSourceShouldCacheImmediately),如果设置为不需要立刻解码,则会在将图片渲染到屏幕上时才进行解码。(设置为立即解码会阻塞主线程,造成性能问题,详见 https://www.objc.io/issues/5-ios7/iOS7-hidden-gems-and-workarounds/)\n\nUIImageView 的图层树(Layer Tree)发生变化,会生成一个 Implicit Transaction,这个transaction会自动在主线程的下一个 Runloop 进行提交。(Explicit Transaction 由显式调用 begin() 和 commit() 方法触发生成。)\n下一个Main Runloop中,Core Animation会提交这个 Implicit Transaction。如果用户内存中的位图数据没有字节对齐 ,出于渲染性能考虑, Core Animation会对数据进行拷贝,以进行字节对齐。 之后,GPU会渲染对齐后的位图数据,展示在屏幕上。\n\n"},"iOS/Memory/StructMemoryAligned.html":{"url":"iOS/Memory/StructMemoryAligned.html","title":"iOS结构体内存对齐","keywords":"","body":"iOS结构体内存对齐\n首先我们定义了三个结构体LGStruct1、LGStruct2和LGStruct3,然后通过控制台打印出三个结构体类型的内存大小。\nstruct LGStruct1 {\n double a; \n char b; \n int c; \n short d; \n}struct1;\n\nstruct LGStruct2 {\n double a; \n int b; \n char c; \n short d; \n}struct2;\n\nstruct LGStruct3 {\n double a; \n int b; \n char c; \n short d; \n struct LGStruct1 e;\n}struct3;\n\nNSLog(@\"%lu-%lu-%lu\",sizeof(struct1),sizeof(struct2),sizeof(struct3));\n\n可以看到,控制台的打印结果如下:\n\nLGStruct1、LGStruct2两个结构体拥有的变量数量跟类型都大同小异,到底是什么原因导致两个结构体在内存大小的表现上会有截然不同的结果?LGStruct3的内存大小又是如何计算出来的?\n基本数据类型内存大小\n\n内存对齐的原则\n\n数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该成员有⼦成员,⽐如说是数组,结构体等)的整数倍开始(⽐如int为4字节,则要从4的整数倍地址开始存储。 \n结构体作为成员:如果⼀个结构⾥有某些结构体成员,则结构体成员要从其内部最⼤元素⼤⼩的整数倍地址开始存储。(struct a⾥存有struct b,b⾥有char、int 、double等元素,那b应该从8的整数倍开始存储。)\n收尾⼯作:结构体的总⼤⼩,也就是sizeof的结果,必须是其内部最⼤成员的整数倍,不⾜的要补⻬。\n\n案例解析\n了解系统对结构体内存对齐的原则后,我们回过头再看一下文章一开头的三个结构体LGStruct1、LGStruct2和LGStruct3。\n结构体LGStruct1,通过内存对齐规则计算过程如下:\n\n变量a:double 占8个字节,从0位置开始,则 0-7 存储 a \n变量b:char 占1个字节,从8位置开始,此时8是1的整数倍,则 8 存储 b \n变量c:int 占4个字节,从9位置开始,但是此时9不是4的整数倍,因此需要往后继续寻找,找到最接近的能整除4的12位置,则 12-15 存储 c \n变量d:short 占2个字节,从16位置开始,此时16是2的整数倍,则16-17 存储 d \n收尾:LGStruct1需要的内存大小为18字节,而LGStruct1中最⼤成员变量字节数是8字节,内存大小18字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为24字节\n\n结构体LGStruct2,通过内存对齐规则计算过程如下:\n\n变量a:double 占8个字节,从0位置开始,则 0-7 存储 a\n变量b:int 占4个字节,从8位置开始,此时8是4的整数倍,则 8-11 存储 b \n变量c:char 占1个字节,从12位置开始,此时12是1的整数倍,则 12 存储 c \n变量d:short 占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则 14-15 存储 d \n收尾:LGStruct2需要的内存大小为16字节,LGStruct2中最⼤成员变量字节数是8字节,内存大小16字节刚好是内部最⼤成员的整数倍,所以最终大小为16字节\n\n结构体LGStruct3,通过内存对齐规则计算过程如下: \n\n变量a:double 占8个字节,从0位置开始,则 0-7 存储 a\n变量b:int 占4个字节,从8位置开始,此时8是4的整数倍,则 8-11 存储 b \n变量c:char 占1个字节,从12位置开始,此时12是1的整数倍,则 12 存储 c \n变量d:short 占2个字节,从13位置开始,但是此时13不是2的整数倍,因此需要往后继续寻找,找到最接近的能整除2的14位置,则 14-15 存储 d\n变量e:内嵌的LGStruct1结构体,LGStruct1内部最⼤元素的大小是8字节,需要从8的整数倍位置开始存储,存储方式同上LGStruct1结构体,则 16-33 存储 e\n收尾:LGStruct3需要的内存大小为34字节,LGStruct3中最⼤成员变量字节数是8字节,内存大小34字节不是内部最⼤成员的整数倍,所以必须向上补齐,补齐后的最终大小为40字节\n\nReference\niOS底层探索:结构体内存对齐\n"},"iOS/Memory/MemoryFiveMainSection.html":{"url":"iOS/Memory/MemoryFiveMainSection.html","title":"内存中的5大区","keywords":"","body":"内存中的5大区分别是什么?\n\n栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。\n堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。\n全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放。\n文字常量区:常量字符串就是放在这里的。 程序结束后由系统释放。\n程序代码区:存放函数体的二进制代码。\n\n\n"},"iOS/Memory/ReferenceCounting.html":{"url":"iOS/Memory/ReferenceCounting.html","title":"ReferenceCounting","keywords":"","body":"引用计数器\n引用计数的存储策略\n\n有些对象如果支持使用Tagged Pointer,苹果会直接将其指针值作为引用计数返回;\n如果当前设备是64位环境并且使用Objective-C 2.0,那么“一些”对象会使用其isa指针的一部分空间来存储它的引用计数;\n否则Runtime会使用一张散列表来管理引用计数。\n\nTagged Pointer\nTagged Pointer\nisa指针\nisa\n为什么既要使用一个extra_rc又要使用SideTables?\n可能是因为历史问题,以前cpu是32位的,isa中能存储的引用计数就只有$2^7=128$。因此在arm64下,引用计数通常是存储在isa中的。\nSideTable\nSideTable\nalloc实现\n经过一系列调用,最终调用了C函数calloc,此时并没有设置引用计数为1\n此时并没有设置引用计数为1\nretain实现\nSideTable &table = SideTables()[this];\n//在tables里面,根据当前对象指针获取对应的sidetable\n\nsize_t &refcntStorage = table.refcnts[this];\n//获得引用计数\n\n//添加引用计数\nrefcntStorage += SIDE_TABLE_RC_ONE(4,位计算)\nrelease 实现\nSideTable &table = SideTables()[this];\nRefcountMap::iterator it = table.refcnts.find[this];\nit->second -= SIDE_TABLE_RC_ONE\nretianCount\nSideTable &table = SideTables()[this];\nsize_t refcnt_result = 1;\nRefcountMap::iterator it = table.refcnts.find[this];\nrefcnt_result += it->second >> SIDE_TABLE_RC_SHIFT;(将向右偏移操作)\n引用计数的获取\n通过retainCount可以获取到引用计数器,其定义:\n- (NSUInteger)retainCount {\n return ((id)self)->rootRetainCount();\n}\n\ninline uintptr_t objc_object::rootRetainCount() {\n if (isTaggedPointer()) return (uintptr_t)this;\n\n sidetable_lock();\n // 加锁,用汇编指令ldxr来保证原子性\n isa_t bits = LoadExclusive(&isa.bits);\n // 释放锁,使用汇编指令clrex\n ClearExclusive(&isa.bits);\n if (bits.nonpointer) {\n uintptr_t rc = 1 + bits.extra_rc;\n if (bits.has_sidetable_rc) {\n rc += sidetable_getExtraRC_nolock();\n }\n sidetable_unlock();\n return rc;\n }\n\n sidetable_unlock();\n return sidetable_retainCount();\n}\n\n//sidetable_retainCount()函数实现\nuintptr_t objc_object::sidetable_retainCount() {\n SideTable& table = SideTables()[this];\n\n size_t refcnt_result = 1;\n\n table.lock();\n RefcountMap::iterator it = table.refcnts.find(this);\n if (it != table.refcnts.end()) {\n // this is valid for SIDE_TABLE_RC_PINNED too\n refcnt_result += it->second >> SIDE_TABLE_RC_SHIFT;\n }\n table.unlock();\n return refcnt_result;\n}\n从上面的代码可知,获取引用计数的时候分为三种情况:\n\nTagged Pointer的话,直接返回isa本身;\n非Tagged Pointer,且开启了指针优化,此时引用计数先从extra_rc中去取(这里将取出来的值进行了+1操作,所以在存的时候需要进行-1操作),接着判断是否有SideTable,如果有再加上存在SideTable中的计数;\n非Tagged Pointer,没有开启了指针优化,使用sidetable_retainCount()函数返回。\n\n总结\n\n引用计数存在什么地方?\n\nTagged Pointer不需要引用计数,苹果会直接将对象的指针值作为引用计数返回;\n开启了指针优化(nonpointer == 1)的对象其引用计数优先存在isa的extra_rc中,大于524288便存在SideTable的RefcountMap或者说是DenseMap中;\n没有开启指针优化的对象直接存在SideTable的RefcountMap或者说是DenseMap中。\n\n\nretain/release的实质\n\nTagged Pointer不参与retain/release;\n找到引用计数存储区域,然后+1/-1,并根据是否开启指针优化,处理进位/借位的情况;\n当引用计数减为0时,调用dealloc函数。\n\n\nisa是什么\n// ISA() assumes this is NOT a tagged pointer object\nClass ISA();\n\n// getIsa() allows this to be a tagged pointer object\nClass getIsa();\n\n首先要知道,isa指针已经不一定是类指针了,所以需要用ISA()获取类指针;\nTagged Pointer的对象没有isa指针,有的是isa_t的结构体;\n其他对象的isa指针还是类指针。\n\n\n对象的值是什么\n\n如果是Tagged Pointer,对象的值就是指针;\n如果非Tagged Pointer, 对象的值是指针指向的内存区域中的值。\n\n\n\n补充: 一道多线程安全的题目\n以下代码运行结果\n@property (nonatomic, strong) NSString *target;\n//....\n\ndispatch_queue_t queue = dispatch_queue_create(\"parallel\", DISPATCH_QUEUE_CONCURRENT);\nfor (int i = 0; i 答案:大概率地发生Crash。\nCrash的原因:过度释放。\n这道题看着虽然是多线程范围的,但是解题的最重要思路确是在引用计数上,更准确的来说是看对强引用的理解程度。关键知识点如下:\n\n全局队列和自定义并行队列在异步执行的时候会根据任务系统决定开辟线程个数;\ntarget使用strong进行了修饰,Block是会截获对象的修饰符的;\n即使使用_target效果也是一样,因为默认使用strong修饰符隐式修饰;\nstrong的源代码如下:\n\nobjc_storeStrong(id *location, id obj) {\n id prev = *location;\n if (obj == prev) {\n return;\n }\n objc_retain(obj);\n *location = obj;\n objc_release(prev);\n}\n假设这个并发队列创建了两个线程A和B,由于是异步的,可以同时执行。因此会出现这么一个场景,在线程A中,代码执行到了objc_retain(obj),但是在线程B中可能执行到了objc_release(prev),此时prev已经被释放了。那么当A在执行到objc_release(prev)就会过度释放,从而导致程序crash。\n解决方法:\n\n加个互斥锁\n使用串行队列,使用串行队列的话,其实内部是靠DISPATCH_OBJ_BARRIER_BIT设置阻塞标志位\n使用weak\nTagged Pointer,如果说上面的self.target指向的是一个Tagged Pointer技术的NSString,那程序就没有问题。\n\nReference\n1.iOS引用计数管理之揭秘计数存储\nOC内存管理-引用计数器 | NeroXie的个人博客\n"},"iOS/Memory/TaggedPointer.html":{"url":"iOS/Memory/TaggedPointer.html","title":"Tagged Pointer","keywords":"","body":"Tagged Pointer\nTagged Pointer是苹果在64bit设备提出的一种存储小对象的技术,用于优化NSNumber、NSDate、NSString等小对象的储存\n主要解决 内存浪费 和 访问效率 的问题\n它具有以下特点\n\nTagged Pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。\n它的内存并不存储在堆中,也不需要 malloc 和 free,不走引用计数那一套逻辑,由系统来处理释放\n可以通过设置环境变量OBJC_DISABLE_TAGGED_POINTERS来有开发者决定是否使用这项技术\n专门用于储存小对象\n\n未引入Tagged Pointer\n\n引入Tagged Pointer\n\n从32位迁移到64位CPU,逻辑上虽然不会有任何变化,但是所占有的内存空间却会翻倍。下面以NSNumber对象为例,大家可以清晰看出NSNumber对象在内存空间上的变化情况:\n\n源码\n#if (TARGET_OS_OSX || TARGET_OS_IOSMAC) && __x86_64__\n // 64-bit Mac - tag bit is LSB\n# define OBJC_MSB_TAGGED_POINTERS 0\n#else\n // Everything else - tag bit is MSB\n# define OBJC_MSB_TAGGED_POINTERS 1 // 最高有效位\n#endif\n\n#define _OBJC_TAG_INDEX_MASK 0x7 // 0b111表示有扩展的标记位,扩展标记位占8位\n// array slot includes the tag bit itself\n#define _OBJC_TAG_SLOT_COUNT 16\n#define _OBJC_TAG_SLOT_MASK 0xf // 0b1111 taggedpointer + 有扩展标记位的mask\n\n#define _OBJC_TAG_EXT_INDEX_MASK 0xff\n// array slot has no extra bits\n#define _OBJC_TAG_EXT_SLOT_COUNT 256 // 扩展标记位能表示的个数\n#define _OBJC_TAG_EXT_SLOT_MASK 0xff // 0b1111 1111\n\n#if OBJC_MSB_TAGGED_POINTERS\n# define _OBJC_TAG_MASK (1UL\n定义了很多位信息,我们需要关注的几个:\n\n_OBJC_TAG_MASK :标记位标记该指针是否是tagged pointer\n_OBJC_TAG_INDEX_MASK :tag的值是7表示有扩展的tag位\n其他的都是一些定义,用来通过位运算来获取tag的值、ext tag的值的mask以及一些其他的左移右移位\n\n如何判断是tagged pointer\n有一个标记位来标识指针是否是tagged pointer的\nstatic inline bool \n_objc_isTaggedPointer(const void * _Nullable ptr)\n{\n return ((uintptr_t)ptr & _OBJC_TAG_MASK) == _OBJC_TAG_MASK;\n}\n\n通过位运算获取标识位的值来确定是否是tagged pointer;需要留意的是不同的架构标记位不太一样,有的是用最低位、有的使用最高位。\n支持 Tagged Pointer 对象类型\n系统通过3bit的标记位来标识tagged pointer对象的类,它的定义在objc_tag_index_t中 比如2表示是NSString、6表示是NSDate,我们知道3bit能表示的最大值是7,这个7系统用来预留,用来标记是否有额外的标记位,这样就能支持更多的类支持tagged pointer\n#if __has_feature(objc_fixed_enum) || __cplusplus >= 201103L\nenum objc_tag_index_t : uint16_t\n#else\ntypedef uint16_t objc_tag_index_t;\nenum\n#endif\n{\n // 60-bit payloads\n OBJC_TAG_NSAtom = 0, \n OBJC_TAG_1 = 1, \n OBJC_TAG_NSString = 2, \n OBJC_TAG_NSNumber = 3, \n OBJC_TAG_NSIndexPath = 4, \n OBJC_TAG_NSManagedObjectID = 5, \n OBJC_TAG_NSDate = 6,\n\n // 60-bit reserved\n OBJC_TAG_RESERVED_7 = 7, \n\n // 52-bit payloads\n OBJC_TAG_Photos_1 = 8,\n OBJC_TAG_Photos_2 = 9,\n OBJC_TAG_Photos_3 = 10,\n OBJC_TAG_Photos_4 = 11,\n OBJC_TAG_XPC_1 = 12,\n OBJC_TAG_XPC_2 = 13,\n OBJC_TAG_XPC_3 = 14,\n OBJC_TAG_XPC_4 = 15,\n OBJC_TAG_NSColor = 16,\n OBJC_TAG_UIColor = 17,\n OBJC_TAG_CGColor = 18,\n OBJC_TAG_NSIndexSet = 19,\n\n OBJC_TAG_First60BitPayload = 0, \n OBJC_TAG_Last60BitPayload = 6, \n OBJC_TAG_First52BitPayload = 8, \n OBJC_TAG_Last52BitPayload = 263, \n\n OBJC_TAG_RESERVED_264 = 264\n};\n#if __has_feature(objc_fixed_enum) && !defined(__cplusplus)\ntypedef enum objc_tag_index_t objc_tag_index_t;\n#endif\n\n即针对NSString、NSNumber、NSDate、NSIndexPath这些类型,都支持Tagged Pointer技术。\n系统对tagged pointer的加密\n在iOS12系统之前,发现是可以直接打印tagged pointer的值的,可读性非常好,但是12之后再打印就发现完全看不懂了。\n- (void)testCase {\n NSString *stringWithFormat1 = [NSString stringWithFormat:@\"y\"];\n [self formatedLogObject:stringWithFormat1];\n}\n\n- (void)formatedLogObject:(id)object {\n if (@available(iOS 12.0, *)) {\n NSLog(@\"%p %@ %@\", object, object, object_getClass(object));\n } else {\n NSLog(@\"0x%6lx %@ %@\", object, object, object_getClass(object));\n }\n}\n\n复制代码\n\n上面的测试代码,在12之前输出: 0x79是ASCII对应的y字符的值\n0xa000000000000791 y NSTaggedPointerString\n\niOS12之后输出:\n0xcb47b8d98a2fa15f y NSTaggedPointerString\n\niOS12之前打印指针的值能很清晰的看到数据等信息,iOS12之后系统则打印的完全看不懂了,看了源代码发现苹果是做了混淆,让我们不能直接得到值,从而避免我们去很容易就伪造出一个tagged pointer对象\n内存管理\n\n结论\n1、Tagged Pointer有长度限制,过长会依然会采用对象的形式保存\n2、Tagged Pointer没有isa指针,它不是一个对象,只是一个伪装成对象的普通变量而已。\n3、Tagged Pointer是一个特殊的指针,不指向任何实质地址。 \nReference\n1.iOS特有概念TaggedPointer\n2.OC内存管理-Tagged Pointer初探\n"},"iOS/Memory/SideTables.html":{"url":"iOS/Memory/SideTables.html","title":"SideTables","keywords":"","body":"SideTables 散列表\nSideTables\n简介\nSideTables 是一个 哈希数组 包含 64 个元素,里面存储了SideTable,元素的内容为 SideTable 的地址,每一个 SideTable 又包含有一个自选锁、一张全局的引用计数表、一张全局的弱引用表。\n在runtime内存空间中,SideTables是一个hash数组,里面存储了SideTable。SideTables的hash键值就是一个对象obj的address。 因此可以说,一个obj,对应了一个SideTable。但是一个SideTable,会对应多个obj。因为SideTable的数量有限,所以会有很多obj共用同一个SideTable。\n结构\n如果该对象不是Tagged Pointer且关闭了Non-pointer,那该对象的引用计数就使用SideTable来存。\n\nSideTable的结构\nstruct SideTable {\n spinlock_t slock; // 自旋锁\n RefcountMap refcnts; //引用计数的Map表 key-value\n weak_table_t weak_table; //弱引用表\n\n\nSideTable 的锁 slock\nspinlock_t slock;\n使用的是 自旋锁,而且是 非公平 unfair 锁。\n自旋锁 - 忙等待,直到锁被释放(区别于互斥锁的休眠等待)。\n非公平锁 - 获取锁的顺序和申请的顺序无关,即可能 A 线程第一个申请锁,却在 B、C 获得锁之后 A 才获得锁。\nSideTable 的引用计数表 refcnts\nRefcountMap refcnts;\n哈希表,key 为 objc_object,即 OC 对象,value 为引用计数。\n当 value 为 0 的时候,会将该记录从表中移除。\nSideTable 的弱引用表 weak_table\nweak_table_t weak_table;\nweak_table_t 是一个哈希结构体,其结构如下:\n1/**\n2 * The global weak references table. Stores object ids as keys,\n3 * and weak_entry_t structs as their values.\n4 */\n5struct weak_table_t {\n6 weak_entry_t *weak_entries;\n7 size_t num_entries;\n8 uintptr_t mask;\n9 uintptr_t max_hash_displacement;\n10};\n其中第一个成员 weak_entries 存放着若干个数据,其余的成员都是用来做哈希定位的,\n哈希数据使用 weak_entry_t 结构体保存,定义如下:\n1struct weak_entry_t {\n2 DisguisedPtr referent;\n3 union {\n4 struct {\n5 weak_referrer_t *referrers;\n6 uintptr_t out_of_line_ness : 2;\n7 uintptr_t num_refs : PTR_MINUS_2;\n8 uintptr_t mask;\n9 uintptr_t max_hash_displacement;\n10 };\n11 struct {\n12 // out_of_line_ness field is low bits of inline_referrers[1]\n13 weak_referrer_t inline_referrers[WEAK_INLINE_COUNT];\n14 };\n15 };\n16 ......\n17}\n\nreferent 被引用对象的 内存地址\nreferrers & inline_referrers (所有指向被引用对象的)弱引用指针\n\n可以看出来 weak_entry_t 可以理解成一个字典结构,将 被引用对象的内存地址作为 key,所有指向它的弱引用指针数组作为 value,保存着 某个对象所有指向它的 weak 指针。\n在对 weak_table_t 进行哈希查找的时候,会将要查找的对象地址作为参数,通过 mask,去对比表中每个 weak_entry_t 的 referent,找到对应的 weak_entry_t,然后对其弱引用指针进行操作。\n获取SideTable\n如何从sideTables里找到特定的sideTable呢,这就用到了散列函数。runtime是通过这么一个函数来获取到相应的sideTable:\n\ntable = &SideTables()[obj];\n\n\nstatic StripedMap& SideTables() {\n return *reinterpret_cast*>(SideTableBuf);\n}\n\ntemplate\nclass StripedMap {\n#if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR\n enum { StripeCount = 8 }; // iPhone时这个值为8\n#else\n enum { StripeCount = 64 }; //否则为64\n#endif\n\n struct PaddedT {\n T value alignas(CacheLineSize);\n };\n\n PaddedT array[StripeCount];\n\n static unsigned int indexForPointer(const void *p) {\n //这里是做类型转换\n uintptr_t addr = reinterpret_cast(p);\n\n //这就是哈希算法了\n return ((addr >> 4) ^ (addr >> 9)) % StripeCount;\n }\npublic:\n T& operator[] (const void *p) { \n //返回sideTable\n return array[indexForPointer(p)].value; \n }\n\n可以看到,在对StripeCount取余后,所得到的值根据机器不同,会在0-7或者0-63之间,这就是通过哈希函数来获取到了sideTable的下标,然后再根据value取到所需的sideTable。\n执行table = &SideTables()[obj];之后,执行到了array[indexForPointer(p)].value;,然后进行哈希算法获取到下标,再返回所需的sideTable\n\n为什么不直接用一张SideTable,而是用SideTables去管理多个SideTable?\nSideTable里有一个自旋锁,如果把所有的类都放在同一个SideTable,有任何一个类有改动都会对整个table做操作,并且在操作一个类的同时,操作别的类会被锁住等待,这样会导致操作效率和查询效率都很低。而有多个SideTable的话,操作的都是单个Table,并不会影响其他的table,这就是分离锁。\nReference\n1. NONPOINTER_ISA和散列表 \n2. Exploring the nature of Objective-C reference counting\n3. 探寻Objective-C引用计数本质\n"},"iOS/Memory/WeakTable.html":{"url":"iOS/Memory/WeakTable.html","title":"WeakTable","keywords":"","body":"weak的实现原理\n\n使用场景都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak 关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为 nil。\n\n下面的一段代码是在开发中常见的weak的使用\n NSObject *p = [[NSObject alloc] init];\n __weak NSObject *p1 = p;\n\n此打断点跟踪汇编信息,可以发现底层库调了objc_initWeak函数\n\nobjc_initWeak() 这个方法。在进行编译过程前,clang 其实对 __weak 做了转换,将声明方式做出了如下调整。\nNSObject objc_initWeak(&p1, 对象指针);\n\nobjc_initWeak()\n其中的对象指针,就是代码中的 [[NSObject alloc] init] ,而 p1 是我们传入的一个弱引用指针。而对于 objc_initWeak() 方法的实现,在 runtime 中的源码如下:\nid objc_initWeak(id *location, id newObj) {\n // 查看对象实例是否有效\n // 无效对象直接导致指针释放\n if (!newObj) {\n *location = nil;\n return nil;\n }\n\n // 这里传递了三个 bool 数值\n // 使用 template 进行常量参数传递是为了优化性能\n return storeWeak\n (location, (objc_object*)newObj);\n}\n\n可以看出,这个函数仅仅是一个深层函数的调用入口,而一般的入口函数中,都会做一些简单的判断(例如 objc_msgSend 中的缓存判断),这里判断了其指针指向的类对象是否有效,无效直接释放,不再往深层调用函数。\n需要注意的是,当修改弱引用的变量时,这个方法非线程安全。所以切记选择竞争带来的一些问题。\n继续阅读 objc_storeWeak() 的实现:\n// HaveOld: true - 变量有值\n// false - 需要被及时清理,当前值可能为 nil\n// HaveNew: true - 需要被分配的新值,当前值可能为 nil\n// false - 不需要分配新值\n// CrashIfDeallocating: true - 说明 newObj 已经释放或者 newObj 不支持弱引用,该过程需要暂停\n// false - 用 nil 替代存储\ntemplate \nstatic id storeWeak(id *location, objc_object *newObj) {\n // 该过程用来更新弱引用指针的指向\n\n // 初始化 previouslyInitializedClass 指针\n Class previouslyInitializedClass = nil;\n id oldObj;\n\n // 声明两个 SideTable\n // ① 新旧散列创建\n SideTable *oldTable;\n SideTable *newTable;\n\n // 获得新值和旧值的锁存位置(用地址作为唯一标示)\n // 通过地址来建立索引标志,防止桶重复\n // 下面指向的操作会改变旧值\n retry:\n if (HaveOld) {\n // 更改指针,获得以 oldObj 为索引所存储的值地址\n oldObj = *location;\n oldTable = &SideTables()[oldObj];\n } else {\n oldTable = nil;\n }\n if (HaveNew) {\n // 更改新值指针,获得以 newObj 为索引所存储的值地址\n newTable = &SideTables()[newObj];\n } else {\n newTable = nil;\n }\n\n // 加锁操作,防止多线程中竞争冲突\n SideTable::lockTwo(oldTable, newTable);\n\n // 避免线程冲突重处理\n // location 应该与 oldObj 保持一致,如果不同,说明当前的 location 已经处理过 oldObj 可是又被其他线程所修改\n if (HaveOld && *location != oldObj) {\n SideTable::unlockTwo(oldTable, newTable);\n goto retry;\n }\n\n // 防止弱引用间死锁\n // 并且通过 +initialize 初始化构造器保证所有弱引用的 isa 非空指向\n if (HaveNew && newObj) {\n // 获得新对象的 isa 指针\n Class cls = newObj->getIsa();\n\n // 判断 isa 非空且已经初始化\n if (cls != previouslyInitializedClass && \n !((objc_class *)cls)->isInitialized()) {\n // 解锁\n SideTable::unlockTwo(oldTable, newTable);\n // 对其 isa 指针进行初始化\n _class_initialize(_class_getNonMetaClass(cls, (id)newObj));\n\n // 如果该类已经完成执行 +initialize 方法是最理想情况\n // 如果该类 +initialize 在线程中 \n // 例如 +initialize 正在调用 storeWeak 方法\n // 需要手动对其增加保护策略,并设置 previouslyInitializedClass 指针进行标记\n previouslyInitializedClass = cls;\n\n // 重新尝试\n goto retry;\n }\n }\n\n // ② 清除旧值\n if (HaveOld) {\n weak_unregister_no_lock(&oldTable->weak_table, oldObj, location);\n }\n\n // ③ 分配新值\n if (HaveNew) {\n newObj = (objc_object *)weak_register_no_lock(&newTable->weak_table, \n (id)newObj, location, \n CrashIfDeallocating);\n // 如果弱引用被释放 weak_register_no_lock 方法返回 nil \n\n // 在引用计数表中设置若引用标记位\n if (newObj && !newObj->isTaggedPointer()) {\n // 弱引用位初始化操作\n // 引用计数那张散列表的weak引用对象的引用计数中标识为weak引用\n newObj->setWeaklyReferenced_nolock();\n }\n\n // 之前不要设置 location 对象,这里需要更改指针指向\n *location = (id)newObj;\n }\n else {\n // 没有新值,则无需更改\n }\n\n SideTable::unlockTwo(oldTable, newTable);\n\n return (id)newObj;\n}\n\n引用计数和弱引用依赖表 SideTable\nSideTable 这个结构体,我给他起名引用计数和弱引用依赖表,因为它主要用于管理对象的引用计数和 weak 表。在 NSObject.mm 中声明其数据结构:\nstruct SideTable {\n // 保证原子操作的自旋锁\n spinlock_t slock;\n // 引用计数的 hash 表\n RefcountMap refcnts;\n // weak 引用全局 hash 表\n weak_table_t weak_table;\n}\n\n在之前的 runtime 版本中,有一个较为重要的成员方法,用来根据对象的地址在缓存中取出对应的 SideTable 实例:\nstatic SideTable *tableForPointer(const void *p);\n\n而在上面 objc_storeWeak 方法中,取出实例的方法变成了 &SideTables()[xxxObj]; 这种方式。查看方法的实现,发现了如下函数:\nstatic StripedMap& SideTables() {\n return *reinterpret_cast*>(SideTableBuf);\n}\n\n在取出实例方法的实现中,使用了 C++ 标准转换运算符 reinterpret_cast ,其表达方式为:\nreinterpret_cast (expression)\n\n用来处理无关类型之间的转换。该关键字会产生一个新值,并保证与原参数(expression)拥有完全相同的比特位。\n而 StripedMap 是一个模板类(Template Class),通过传入类(结构体)参数,会动态修改在该类中的一个 array 成员存储的元素类型,并且其中提供了一个针对于地址的 hash 算法,用作存储 key。可以说, StripedMap 提供了一套拥有将地址作为 key 的 hash table 解决方案,而该方案采用了模板类,是拥有泛型性的。\n介绍了与对象相关联的 SideTable 检索方式,再来看 SideTable 的成员和作用。\n对于 slock 和 refcnts 两个成员不用多说,第一个是为了防止竞争选择的自旋锁,第二个是协助对象的 isa 指针的 extra_rc 共同引用计数的变量(对于对象结果,在今后的文中提到)。这里主要看 weak 全局 hash 表的结构与作用。\nstruct weak_table_t {\n // 保存了所有指向指定对象的 weak 指针\n weak_entry_t *weak_entries;\n // 存储空间\n size_t num_entries;\n // 参与判断引用计数辅助量\n uintptr_t mask;\n // hash key 最大偏移值\n uintptr_t max_hash_displacement;\n};\n\n这是一个全局弱引用表。使用不定类型对象的地址作为 key ,用 weak_entry_t 类型结构体对象作为 value 。其中的 weak_entries 成员,从字面意思上看,即为弱引用表入口。其实现也是这样的。\ntypedef objc_object ** weak_referrer_t;\n\nstruct weak_entry_t {\n DisguisedPtr referent;\n union {\n struct {\n weak_referrer_t *referrers;\n uintptr_t out_of_line : 1;\n uintptr_t num_refs : PTR_MINUS_1;\n uintptr_t mask;\n uintptr_t max_hash_displacement;\n };\n struct {\n // out_of_line=0 is LSB of one of these (don't care which)\n weak_referrer_t inline_referrers[WEAK_INLINE_COUNT];\n };\n }\n\n在 weak_entry_t 的结构中,DisguisedPtr referent 是对泛型对象的指针做了一个封装,通过这个泛型类来解决内存泄漏的问题。从注释中写 out_of_line 成员为最低有效位,当其为0的时候, weak_referrer_t 成员将扩展为多行静态 hash table。其实其中的 weak_referrer_t 是二维 objc_object 的别名,通过一个二维指针地址偏移,用下标作为 hash 的 key,做成了一个弱引用散列。\n那么在有效位未生效的时候,out_of_line 、 num_refs、 mask 、 max_hash_displacement 有什么作用?以下是笔者自身的猜测:\n\nout_of_line:最低有效位,也是标志位。当标志位 0 时,增加引用表指针纬度。\nnum_refs:引用数值。这里记录弱引用表中引用有效数字,因为弱引用表使用的是静态 hash 结构,所以需要使用变量来记录数目。\nmask:计数辅助量。\nmax_hash_displacement:hash 元素上限阀值。\n\n其实 out_of_line 的值通常情况下是等于零的,所以弱引用表总是一个 objc_objective 指针二维数组。一维 objc_objective 指针可构成一张弱引用散列表,通过第三纬度实现了多张散列表,并且表数量为 WEAK_INLINE_COUNT 。\n总结一下 StripedMap[] : StripedMap 是一个模板类,在这个类中有一个 array 成员,用来存储 PaddedT 对象,并且其中对于 [] 符的重载定义中,会返回这个 PaddedT 的 value 成员,这个 value 就是我们传入的 T 泛型成员,也就是 SideTable 对象。在 array 的下标中,这里使用了 indexForPointer 方法通过位运算计算下标,实现了静态的 Hash Table。而在 weak_table 中,其成员 weak_entry 会将传入对象的地址加以封装起来,并且其中也有访问全局弱引用表的入口。\n旧对象解除注册操作 weak_unregister_no_lock\n#define WEAK_INLINE_COUNT 4\n\nvoid weak_unregister_no_lock(weak_table_t *weak_table, id referent_id, \n id *referrer_id) {\n // 在入口方法中,传入了 weak_table 弱引用表,referent_id 旧对象以及 referent_id 旧对象对应的地址\n // 用指针去访问 oldObj 和 *location \n objc_object *referent = (objc_object *)referent_id;\n objc_object **referrer = (objc_object **)referrer_id;\n\n weak_entry_t *entry;\n // 如果其对象为 nil,无需取消注册\n if (!referent) return;\n // weak_entry_for_referent 根据首对象查找 weak_entry\n if ((entry = weak_entry_for_referent(weak_table, referent))) {\n // 通过地址来解除引用关联 \n remove_referrer(entry, referrer);\n bool empty = true;\n // 检测 out_of_line 位的情况\n // 检测 num_refs 位的情况\n if (entry->out_of_line && entry->num_refs != 0) {\n empty = false;\n }\n else {\n // 将引用表中记录为空\n for (size_t i = 0; i inline_referrers[i]) {\n empty = false; \n break;\n }\n }\n }\n // 从弱引用的 zone 表中删除\n if (empty) {\n weak_entry_remove(weak_table, entry);\n }\n }\n\n // 这里不会设置 *referrer = nil,因为 objc_storeWeak() 函数会需要该指针\n}\n\n该方法主要作用是将旧对象在 weak_table 中接触 weak 指针的对应绑定。根据函数名,称之为解除注册操作。从源码中,可以知道其功能就是从 weak_table 中接触 weak 指针的绑定。而其中的遍历查询,就是针对于 weak_entry 中的多张弱引用散列表。\n新对象添加注册操作 weak_register_no_lock\nid weak_register_no_lock(weak_table_t *weak_table, id referent_id,\n id *referrer_id, bool crashIfDeallocating) {\n // 在入口方法中,传入了 weak_table 弱引用表,referent_id 旧对象以及 referent_id 旧对象对应的地址\n // 用指针去访问 oldObj 和 *location\n objc_object *referent = (objc_object *)referent_id;\n objc_object **referrer = (objc_object **)referrer_id;\n\n // 检测对象是否生效、以及是否使用了 tagged pointer 技术\n if (!referent || referent->isTaggedPointer()) return referent_id;\n\n // 保证引用对象是否有效\n // hasCustomRR 方法检查类(包括其父类)中是否含有默认的方法\n bool deallocating;\n if (!referent->ISA()->hasCustomRR()) {\n // 检查 dealloc 状态\n deallocating = referent->rootIsDeallocating();\n }\n else {\n // 会返回 referent 的 SEL_allowsWeakReference 方法的地址\n BOOL (*allowsWeakReference)(objc_object *, SEL) = \n (BOOL(*)(objc_object *, SEL))\n object_getMethodImplementation((id)referent, \n SEL_allowsWeakReference);\n if ((IMP)allowsWeakReference == _objc_msgForward) {\n return nil;\n }\n deallocating =\n ! (*allowsWeakReference)(referent, SEL_allowsWeakReference);\n }\n // 由于 dealloc 导致 crash ,并输出日志\n if (deallocating) {\n if (crashIfDeallocating) {\n _objc_fatal(\"Cannot form weak reference to instance (%p) of \"\n \"class %s. It is possible that this object was \"\n \"over-released, or is in the process of deallocation.\",\n (void*)referent, object_getClassName((id)referent));\n } else {\n return nil;\n }\n }\n\n // 记录并存储对应引用表 weak_entry\n weak_entry_t *entry;\n // 对于给定的弱引用查询 weak_table\n if ((entry = weak_entry_for_referent(weak_table, referent))) {\n // 增加弱引用表于附加对象上\n append_referrer(entry, referrer);\n } \n else {\n // 自行创建弱引用表\n weak_entry_t new_entry;\n new_entry.referent = referent;\n new_entry.out_of_line = 0;\n new_entry.inline_referrers[0] = referrer;\n for (size_t i = 1; i \n这一步与上一步相反,通过 weak_register_no_lock 函数把心的对象进行注册操作,完成与对应的弱引用表进行绑定操作。\n总结来说:\nweaktable在每个sidetable中以结构体 weak_entry_t 存在,sidetable中储存着各种类对象,sidetable中包含了weaktable,rc引用计数器表,自选锁,当开发使用 __weak typeof(self)weakSelf = self; 时候, weak_table_t 保存了所有指向指定对象的 weak 指针,对象释放时,弱引用表置空\n1、weak的原理在于底层维护了一张weak_table_t结构的hash表,key是所指对象的地址,value是weak指针的地址数组。\n2、weak 关键字的作用是弱引用,所引用对象的计数器不会加1,并在引用对象被释放的时候自动被设置为 nil。\n3、对象释放时,调用clearDeallocating函数根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。\n4、文章中介绍了SideTable、weak_table_t、weak_entry_t这样三个结构,它们之间的关系如下图所示。\n\n\nweak置空原理\n1.weak创建过程\n①objc_initWeak\n\nlocation:表示__weak指针的地址(我们研究的就是__weak指针指向的内容怎么置为nil)\nnewObj:所引用的对象,即例子中的person\n\nid\nobjc_initWeak(id *location, id newObj)\n{\n if (!newObj) {\n *location = nil;\n return nil;\n }\n\n return storeWeak\n (location, (objc_object*)newObj);\n}\n复制代码\n②storeWeak\n\nHaveOld:weak指针之前是否已经指向了一个弱引用\nHaveNew:weak指针是否需要指向一个新引用\nCrashIfDeallocating:如果被弱引用的对象正在析构,此时再弱引用该对象,是否应该crash\n\nstoreWeak最主要的两个逻辑点(源码太长,这里不贴了)\n\n\n由于是第一次调用,所以走haveNew分支——获取到的是新的散列表SideTable,主要执行了weak_register_no_lock方法来进行插入\n\n③weak_register_no_lock\n\n主要进行了isTaggedPointer和deallocating条件判断\n将被弱引用对象所在的weak_table中的weak_entry_t哈希数组中取出对应的weak_entry_t\n如果weak_entry_t不存在,则会新建一个并插入\n如果存在就将指向被弱引用对象地址的指针referrer通过函数append_referrer插入到对应的weak_entry_t引用数组\n\n\n④append_referrer\n找到弱引用对象的对应的weak_entry哈希数组中插入\n\n2.weak创建流程\n\n3.weak销毁过程\n\n由于弱引用在析构dealloc时自动置空,所以查看dealloc的底层实现并LLVM调试\n\n\n_objc_rootDealloc->rootDealloc\nrootDealloc->object_dispose\nobject_dispose->objc_destructInstance\nobjc_destructInstance->clearDeallocating\nclearDeallocating->sidetable_clearDeallocating\nsidetable_clearDeallocating3->table.refcnts.erase(it)\n\n4.weak销毁流程\n具体可查阅iOS底层学习 - 内存管理之weak原理探究\n\nReference\n1.iOS底层原理:weak的实现原理\n2.weak 弱引用的实现方式\nhttps://juejin.cn/post/6844904079957688328\n"},"iOS/Objc_Object/Property.html":{"url":"iOS/Objc_Object/Property.html","title":"Propety属性","keywords":"","body":"iOS 属性\n1.成员变量 实例变量 属性\n\n图中的Member Variable declarations翻译过来就是成员变量的声明\n类: Class (description/template for an object)\n实例: Instance (manifestation of a class)\n消息: Message (sent to object to make it act)\n方法: Method (code invoked by a Message)\n实例变量: Instance Variable (object-specific storage)\n超类/子类: Superclass/Subclass (Inheritance)\n协议: Protocol (non-class-specific methods)\n\n从给出的英文说明,可以看出:实例(Instance)是针对 类(class)而言的。实例是指类的声明;由此推理,实例变量(Instance Variable) 是指由类声明的对象。\n 严格说来,上图中的 int count; 是一个成员变量。而 NSString name; 是一个实例变量(NSString是一个类).至于 id data 应该属于成员变量还是实例变量呢? 因为 id 是 OC特有的类型。从本质上讲, id 等同于 (void *)。 所以 id data 应属于 实例变量。\n成员变量:通常是指向对象或是基础类型(int, float)的简单指针。可以在.h 或是 .m 文件中声明:\n实例变量:是成员变量的一种,实例是针对类而言的,是指对类的声明;由此推理,实例变量是指由类声明的对象。\n2. @synthesizer\n@synthesize 语句只能被用在 @implementation 代码段中,@synthesize的作用就是让编译器为你自动生成setter与getter方法,@synthesize 还有一个作用,可以指定与属性对应的实例变量,例如@synthesize myButton = xxx;那么self.myButton其实是操作的实例变量xxx,而不是_myButton了。\n如果.m文件中写了@synthesize myButton;那么生成的实例变量就是myButton;如果没写@synthesize myButton;那么生成的实例变量就是_myButton。\n3. @property\nObjective-C2.0中的新语法:Properties。它帮我们自动生成getter和setter\n写@property声明属性,其实是做了三件事\n\n.h: 声明了getter和setter方法;\n.h: 声明了实例变量(默认:下划线+属性名);\n.m: 实现了getter和setter方法。\n@property = Ivar + getter + setter\n\n\n4. property 关键字\n读写权限\n\nreadonly\nreadwrite √默认关键字\n\n引用计数\n\nretain / strong\n都是强引用,除了某些情况下不一样,比如修饰block,其他的时候也是可以通用的。\n(external 为 Block 外属性)\n\n\nweak / assign\nassign:\n修饰基本数据类型,如int, bool等\n修饰对象类型时,不改变其引用计数\n会产生悬垂指针:仍然指向内存地址,如果没覆盖后还调动变量就会crash\nweak:\n不改变修饰对象的引用计数\n所指对象在释放之后会自动设置为nil\n\ncopy\n\n\n\n\n\nname\n浅拷贝\n深拷贝\n\n\n\n\n新内存空间\n不分配\n分配\n\n\n引用计数\n影响\n不影响\n\n\n\n\n\n\n源对象类型\n拷贝方式\n目标对象类型\n拷贝类型\n\n\n\n\nmutable对象\ncopy\n不可变\n深拷贝\n\n\nmutable对象\nmutableCopy\n可变\n深拷贝\n\n\nimmutable对象\ncopy\n不可变\n浅拷贝\n\n\nimmutable对象\nmutableCopy\n可变\n深拷贝\n\n\n\n原子性\n\natomic √默认关键字\nnonatomic\n\natomic保证赋值获取是线程安全,是对成员属性的直接的获取安全,并不代表操作和访问安全.\natomic是自旋锁,即当上一线程没有执行完毕(被锁住),下一线程会一直等待(不会进入睡眠状态),当上一线程执行完毕,下一线程立即执行。他区别于互斥锁,互斥锁在等待的时候,会进入睡眠状态,当上一个线程执行完毕,睡眠状态就会被唤醒,然后再执行。\n比如 atomic 修饰的是一个数组,对数组赋值获取是安全的,但是对数组进行操作(添加对象,移除对象)是不保证线程不安全的.而且采用atomic消耗比较大\narray = [[NSArray alloc]init]; //安全\n[array addobject:obj]; //也会存在不安全\n\n补充介绍 weak关键字:\n实现原理 weak修饰时,runtime会维护一个hash表(也称为weak表),用于存储对象的所有weak指针,hash表的key是该对象的地址,value为weak指针的地址(这个地址的值是所指对象的地址)数组。(备注strong是通过runtime维护的一个自动引用计数表) \nweak的实现原理总结:\n\n初始化时,runtime会调用objc_initWeak函数,初始化一个新的weak指针指向对象地址;\n添加引用时,objc_initWeak函数会调用objc_storeWeak函数,objc_storeWeak的作用是更新指针指向,创建对应的弱引用表(hash表)\n释放时,调用clearDeallocating函数。clearDeallocating函数首先根据对象地址获取weak指针地址的数组,然后遍历这个数组把其中指向空对象的指针设为nil,最后把这个指针从weak表中删除,最后清理对象的记录。\n\n关于ARC下,不显示指定属性关键字时,默认关键字:\n1.基本数据类型:atomic readwrite assign\n2.普通OC对象: atomic readwrite strong\n"},"iOS/Objc_Object/isa.html":{"url":"iOS/Objc_Object/isa.html","title":"isa","keywords":"","body":"isa\nisa指针是什么?\nisa指针保存着指向类对象的内存地址,类对象全局只有一个,因此每个类创建出来的对象都会默认有一个isa属性,保存类对象的地址,也就是class,通过class就可以查询到这个对象的属性和方法,协议等;\n当 ObjC 为为一个对象分配内存,初始化实例变量后,在这些对象的实例变量的结构体中的第一个就是 isa。(isa 存储该对象信息,例如引用计数器,弱引用表等)\n注: 有一些对象比较小则会使用 TaggedPointer技术,不使用isa\nisa本质是一个isa_t的类型,那isa_t是一个联合体位域结构\nunion isa_t {\n isa_t() { }\n isa_t(uintptr_t value) : bits(value) { }\n\n Class cls;\n uintptr_t bits;\n#if defined(ISA_BITFIELD)\n struct {\n ISA_BITFIELD; // defined in isa.h\n };\n#endif\n};\n\n什么是联合体?\n当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union),利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。\n采用这种结构的原因也是基于内存优化的考虑(即二进制中每一位均可表示不同的信息)。通常来说,isa指针占用的内存大小是8字节,即64位,已经足够存储很多的信息了,这样可以极大的节省内存,以提高性能。\nOC源码:\n\n\n\n\n结构体 isa_t\nisa_t 是一个 union 类型的结构体,其中的 isa_t、cls、 bits 还有结构体共用同一块地址空间。而 isa 总共会占据 64 位的内存空间, 8 字节(决定于其中的结构体)\n\nstruct {\n uintptr_t nonpointer : 1;\n uintptr_t has_assoc : 1;\n uintptr_t has_cxx_dtor : 1;\n uintptr_t shiftcls : 44;\n uintptr_t magic : 6;\n uintptr_t weakly_referenced : 1;\n uintptr_t deallocating : 1;\n uintptr_t has_sidetable_rc : 1;\n uintptr_t extra_rc : 8;\n};\n\n\nnonpointer:表示是否对 isa 指针开启指针优化,0:纯isa指针,1:不⽌是类对象地址,isa 中包含了类信息、对象的引⽤计数等。 如果该实例对象启用了Non-pointer,那么会对isa的其他成员赋值,否则只会对cls赋值。\n\n 是否关闭Non-pointer目前有这么几个判断条件,这些都可以在runtime源码objc-runtime-new.m中找到逻辑。\n 1:包含swift代码;\n 2:sdk版本低于10.11;\n 3:runtime读取image时发现这个image包含__objc_rawisa段;\n 4:开发者自己添加了OBJC_DISABLE_NONPOINTER_ISA=YES到环境变量中;\n 5:某些不能使用Non-pointer的类,GCD等;\n 6:父类关闭。\n\n\nhas_assoc:关联对象标志位,0没有,1存在。\n\nhas_cxx_dtor:该对象是否有 C++ 或者 Objc 的析构器,如果有析构函数,则需要做析构逻辑,如果没有,则可以更快的释放对象。\n\nshiftcls:存储类指针的值。开启指针优化的情况下,在 arm64 架构中有 33 位⽤来存储类指针。\n\nmagic:⽤于调试器判断当前对象是真的对象还是没有初始化的空间。\n\nweakly_referenced:对象是否被指向或者曾经指向⼀个 ARC 的弱变量,没有弱引⽤的对象可以更快释放。\n\ndeallocating:标志对象是否正在释放内存。\n\nhas_sidetable_rc:当对象引⽤技术⼤于 10 时,则需要借⽤该变量存储进位。\n\nextra_rc:当表示该对象的引⽤计数值,实际上是引⽤计数值减 1,例如,如果对象的引⽤计数为 10,那么 extra_rc 为 9。如果引⽤计数⼤于 10,则需要使⽤到上⾯的 has_sidetable_rc。\n\n\n\n整体如下图片所示:\n\nisa 指针的作用与元类\nObjective-C 中类也是一个对象。\n因为在 Objective-C 中,对象的方法并没有存储于对象的结构体中(如果每一个对象都保存了自己能执行的方法,那么对内存的占用有极大的影响)。\n当实例方法被调用时,它要通过自己持有的 isa 来查找对应的类,然后在这里的 class_data_bits_t 结构体中查找对应方法的实现。同时,每一个 objc_class 也有一个指向自己的父类的指针 super_class 用来查找继承的方法。\n类方法的实现又是如何查找并且调用的呢?这时,就需要引入元类来保证无论是类还是对象都能通过相同的机制查找方法的实现。\n\n让每一个类的 isa 指向对应的元类,这样就达到了使类方法和实例方法的调用机制相同的目的:\n\n实例方法调用时,通过对象的 isa 在类中获取方法的实现\n类方法调用时,通过类的 isa 在元类中获取方法的实现\n\n\n什么是元类(meta-class)?\nObjective-C 的一个类也是一个对象。这意味着你可以发送消息给一个类。\nNSStringEncoding defaultStringEncoding = [NSString defaultStringEncoding];\n在这个示例里,defaultStringEncoding被发送给了NSString类。\n之所以能成功是因为 Objective-C 中每个类本身也是一个对象。如上面所看到的,这意味着类结构也必须以一个isa指针开始,从而可以和objc_object在二进制层面兼容,之后这个结构的下一字段必须是一个指向父类的指针(对于基类则为nil)。\n正如我上周展示的,定义一个Class有很多种方式,取决于你的运行时库版本,但有一点,它们都以isa字段开始,并且仅跟着一个superclass字段。\ntypedef struct objc_class *Class;\nstruct objc_class {\n Class isa;\n Class super_class;\n /* followed by runtime specific details... */\n};\n为了调用Class里的方法,该Class的isa指针也必须指向一个包含了该Class方法列表的Class。\n这就引出了元类的定义:元类是Class的类。\n简单来说就是:\n\n当你给对象发送消息时,消息是在寻找这个对象的类的方法列表;\n当你给类发消息时,消息是在寻找这个类的元类的方法列表。\n\n元类是必不可少的,因为它存储了类的类方法。每个类都必须有独一无二的元类,因为每个类都有独一无二的类方法。\n元类的类是什么?\n元类,就像之前的类一样,它也是一个对象。你也可以调用它的方法。自然的,这就意味着他必须也有一个类。\n所有的元类都使用根元类(继承体系中处于顶端的类的元类)作为他们的类。这就意味着所有NSObject的子类(大多数类)的元类都会以NSObject的元类作为他们的类\n根据这个规则,所有的元类使用根元类作为他们的类,根元类的元类则就是它自己。也就是说基类的元类的isa指针指向他自己。\n类和元类的继承\n类用super_class指针指向了父类,同样的,元类用super_class指向类的super_class的元类。\n说的更拗口一点就是,根元类把它自己的基类设置成了super_class。\n在这样的继承体系下,所有实例、类以及元类都继承自一个基类。\n这意味着对于继承于NSObject的所有实例、类和元类,他们可以使用NSObject的所有实例方法,类和元类可以使用NSObject的所有类方法\n为什么要设计metaclass\nmetaClass是单一职责和扩展性: instance的信息由Class所有; Class的信息则由metaClass所有;\n否则类方法,实际方法都在同一个流程中,类对象、元类对象能够复用消息发送流程机制;\n\n根据消息接受者的isa指针找到metaclass(因为类方法存在元类中。如果调用的是实例方法,isa指针指向的是类对象。) \n进入CacheLookup流程,这一步会去寻找方法缓存,如果缓存命中则直接调用方法的实现,如果缓存不存在则进入objc_msgSend_uncached流程。\n\n类对象和元类对象分别是什么,他们之间有什么区别?\n实例对象可以通过isa指针找到它的类对象,类对象存储实例方法列表等信息。类对象可以通过isa指针找到它的元类对象,从而可以访问类方法列表等相关信息\n类对象或是元类对象都是objc_class数据结构的,objc_class由于继承自objc_object,所以他们都有isa指针,所有实例可以找到类,类可以找到元类\nReference\n从 NSObject 的初始化了解 isa\niOS底层探索:isa结构分析\n【译】Objective-C 中的元类(meta-class) | 土丘上的蒲公英 (dracarys.github.io)\n"},"iOS/Objc_Object/ObjectClass.html":{"url":"iOS/Objc_Object/ObjectClass.html","title":"ObjectClass","keywords":"","body":"iOS 对象与数据结构\n不管是类对象还是元类对象,类型都是 Class,class 和 mete-class 的底层都是 objc_class 结构体的指针。\ntypedef struct objc_class *Class;\n\nOBJC2 结构\nobjc_class的真实定义实际的代码我们可以从 objc-runtime-new.h 中看到(中间代码省略):\n\nobjc_object的真实定义 详见 objc-private.h文件\n\n如上图,关系也如旧版本一样, objc_class 继承于 objc_object\nobjc_object中有一个isa指针,那么objc_class继承objc_object,也就同样拥有一个isa指针\n所有继承自 NSObject 的类实例化后的对象都会包含一个类型为 isa_t 的结构体。\n\nsuper_class 指向当前类的父类\ncache 用于缓存指针和 vtable,加速方法的调用\nbits 就是存储类的方法、属性、遵循的协议等信息的地方\n\nclass_rw_t\nobjc_class 中的 data 返回 class_rw_t 结构,此结构定义如下:\n\n\n而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&FAST_DATA_MASK操作\n\n而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。\nclass_rw_t 表示read write,class_ro_t 表示 read only。\n\n总结\n\n一个类的内部结构如下,\n\n\n\n\n\nsuperClass 指向当前类的父类\ncache_t 提供消息传递过程当中的缓存方法查找 , 实质上是装满了 bucket_t 的一个 hash 表。因为散列表检索起来更快,\nclass_data_bits_t 类的基础信息,包含了类的方法列表,协议列表等。\n\nmethod_t是一个方法的封装,里面包括了名称(SEL),返回值,参数,与函数体(实现)\n"},"iOS/Objc_Object/ClassRWT.html":{"url":"iOS/Objc_Object/ClassRWT.html","title":"ClassRWT","keywords":"","body":"class_data_bits_t\n由前面可知 ObjectClass.md\nobjc_class的真实定义实际的代码我们可以从 objc-runtime-new.h 中看到(中间代码省略):\n\nstruct class_data_bits_t {\n\n // Values are the FAST_ flags above.\n uintptr_t bits;\nprivate:\n bool getBit(uintptr_t bit)\n {\n return bits & bit;\n }\n\n ...\n}\n\n ObjC 中 class_data_bits_t 的结构体,其中只含有一个 64 位的 bits 用于存储与类有关的信息:\n\nobjc_class 结构体中的注释写到 class_data_bits_t 相当于 class_rw_t 指针加上 rr/alloc 的标志。\nclass_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n\n为我们提供了便捷方法用于返回其中的 class_rw_t * 指针:\nobjc_class 中的 data 返回 class_rw_t 结构,此结构定义如下:\n\n\n而class_rw_t是通过bits调用data方法得来的,来到data方法内部实现。我们可以看到,data函数内部仅仅对bits进行&FAST_DATA_MASK操作\n\n将 bits 与 FAST_DATA_MASK 进行位运算,只取其中的 [3, 47] 位转换成 class_rw_t * 返回。\n\n在 x86_64 架构上,Mac OS 只使用了其中的 47 位来为对象分配地址。而且由于地址要按字节在内存中按字节对齐,所以掩码的后三位都是 0。\n\n因为 class_rw_t * 指针只存于第 [3, 47] 位,所以可以使用最后三位来存储关于当前类的其他信息:\n\n#define FAST_IS_SWIFT (1UL\n\nisSwift()\n\nFAST_IS_SWIFT 用于判断 Swift 类\n\n\nhasDefaultRR()\n\nFAST_HAS_DEFAULT_RR 当前类或者父类含有默认的 retain/release/autorelease/retainCount/_tryRetain/_isDeallocating/retainWeakReference/allowsWeakReference 方法\n\n\nrequiresRawIsa()\n\nFAST_REQUIRES_RAW_ISA 当前类的实例需要 raw isa\n\n\n\n所以调用初始化如下\n// objc_class 中的 data() 方法\nclass_data_bits_t bits;\n\nclass_rw_t *data() {\n return bits.data();\n}\n\n// class_data_bits_t 中的 data() 方法\nuintptr_t bits;\n\nclass_rw_t* data() {\n return (class_rw_t *)(bits & FAST_DATA_MASK);\n}\n\n\n而成员变量信息则是存储在class_ro_t内部中的,我们来到class_ro_t内查看。\nclass_rw_t 表示read write,class_ro_t 表示 read only。\n\nclass_rw_t 和 class_ro_t\nObjC 类中的属性、方法还有遵循的协议等信息都保存在 class_rw_t 中:\nstruct class_rw_t {\n uint32_t flags;\n uint32_t version;\n\n const class_ro_t *ro;\n\n method_array_t methods;\n property_array_t properties;\n protocol_array_t protocols;\n\n Class firstSubclass;\n Class nextSiblingClass;\n};\n\n其中还有一个指向常量的指针 ro,其中存储了当前类在编译期就已经确定的属性、方法以及遵循的协议。(如果是当前类有Category扩展,则新增的属性方法会放在 class_rw_t 的 methods 、properties 数组中,成为一个二维数组)\nstruct class_ro_t {\n uint32_t flags;\n uint32_t instanceStart;\n uint32_t instanceSize;\n uint32_t reserved;\n\n const uint8_t * ivarLayout;\n\n const char * name;\n method_list_t * baseMethodList;\n protocol_list_t * baseProtocols;\n const ivar_list_t * ivars;\n\n const uint8_t * weakIvarLayout;\n property_list_t *baseProperties;\n};\n\n在编译期间类的结构中的 class_data_bits_t *data 指向的是一个 class_ro_t * 指针:\n\n然后在加载 ObjC 运行时的过程中在 realizeClass 方法中:\n\n从 class_data_bits_t 调用 data 方法,将结果从 class_rw_t 强制转换为 class_ro_t 指针\n初始化一个 class_rw_t 结构体\n设置结构体 ro 的值以及 flag\n最后设置正确的 data。\n\nconst class_ro_t *ro = (const class_ro_t *)cls->data();\nclass_rw_t *rw = (class_rw_t *)calloc(sizeof(class_rw_t), 1);\nrw->ro = ro;\nrw->flags = RW_REALIZED|RW_REALIZING;\ncls->setData(rw);\n\n下图是 realizeClass 方法执行过后的类所占用内存的布局\n\n但是,在这段代码运行之后 class_rw_t 中的方法,属性以及协议列表均为空。这时需要 realizeClass 调用 methodizeClass 方法来将类自己实现的方法(包括分类)、属性和遵循的协议加载到 methods、 properties 和 protocols 列表中。\n小结\n\n在内存中的位置是在编译期间决定的,在之后修改代码,也不会改变内存中的位置。\n类的方法、属性以及协议在编译期间存放到了“错误”的位置,直到 realizeClass 执行之后,才放到了 class_rw_t 指向的只读区域 class_ro_t,这样我们即可以在运行时为 class_rw_t 添加方法,也不会影响类的只读结构。\n在 class_ro_t 中的属性在运行期间就不能改变了,再添加方法时,会修改 class_rw_t 中的 methods 列表,而不是 class_ro_t 中的 baseMethods,\n\nReference\n深入解析 ObjC 中方法的结构\n"},"iOS/Objc_Object/OCAllocInit.html":{"url":"iOS/Objc_Object/OCAllocInit.html","title":"AllocInit","keywords":"","body":"OC对象创建过程\n创建对象的两种方法\n[[Class alloc] init]\n+ (id)alloc { \n return _objc_rootAlloc(self);\n}\n// Base class implementation of +alloc. cls is not nil.\n// Calls [cls allocWithZone:nil].\nid_objc_rootAlloc(Class cls){ \n return callAlloc(cls, false/*checkNil*/, true/*allocWithZone*/);\n}\n\n// Replaced by CF (throws an NSException)\n+ (id)init { \n return (id)self;\n}\n\n- (id)init { \n return _objc_rootInit(self);\n}\n\nid_objc_rootInit(id obj){ \n // In practice, it will be hard to rely on this function. \n // Many classes do not properly chain -init calls. \n return obj;\n}\n\n[Class new]\n+ (id)new { \n return [callAlloc(self, false/*checkNil*/) init];\n}\n\n- (id)init { \n return _objc_rootInit(self);\n}\n\n从上面两种创建对象的方法可以看出第一种方式对象的创建是在alloc中,init方法只是返回已经创建的对象。通过new方法创建的对象本质还是alloc和init的结合。\ncallAlloc\n\n// Call [cls alloc] or [cls allocWithZone:nil], with appropriate \n\n// shortcutting optimizations.\nstatic ALWAYS_INLINE id\ncallAlloc(Class cls, bool checkNil, bool allocWithZone=false)\n{\n if (slowpath(checkNil && !cls)) return nil;\n\n#if __OBJC2__\n if (fastpath(!cls->ISA()->hasCustomAWZ())) {\n // No alloc/allocWithZone implementation. Go straight to the allocator.\n // fixme store hasCustomAWZ in the non-meta class and \n // add it to canAllocFast's summary\n if (fastpath(cls->canAllocFast())) {\n // No ctors, raw isa, etc. Go straight to the metal.\n bool dtor = cls->hasCxxDtor();\n id obj = (id)calloc(1, cls->bits.fastInstanceSize());\n if (slowpath(!obj)) return callBadAllocHandler(cls);\n obj->initInstanceIsa(cls, dtor);\n return obj;\n }\n else {\n // Has ctor or raw isa or something. Use the slower path.\n id obj = class_createInstance(cls, 0);\n if (slowpath(!obj)) return callBadAllocHandler(cls);\n return obj;\n }\n }\n#endif\n // No shortcuts available.\n if (allocWithZone) return [cls allocWithZone:nil];\n return [cls alloc];\n}\n\nslowpath和fastpath\n// 表示x的值为真的可能性更大\n#define fastpath(x) (__builtin_expect(bool(x), 1))\n// 表示x的值为假的可能性更大\n#define slowpath(x) (__builtin_expect(bool(x), 0))\n__builtin_expect是GCC提供给程序员使用,目的是将“分支转移”的信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。\n其实代码中的slowpath和fastpath删除后并不会影响这段代码的功能,slowpath和fastpath的添加就是为了告诉编译器if条件语句中是大概率事件还是小概率事件,从而让编译器对代码进行优化。\n代码中,if (slowpath(checkNil && !cls)) return nil; 就是说明cls大概率是有值的,告诉编译器编译时优化,下面就到了cls->ISA()->hasCustomAWZ()。\nhasCustomAWZ\nasCustomAWZ作用是判断当前类有没有实现allocWithZone方法。它是通过类的结构体objc_class中的hasCustomAWZ方法判断的:\nstruct objc_class : objc_object { \n // Class ISA; \n Class superclass; \n cache_t cache; // formerly cache pointer and vtable \n class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n class_rw_t *data() { \n return bits.data(); \n } \n bool hasCustomAWZ() { \n return ! bits.hasDefaultAWZ(); \n }\n\nhasDefaultAWZ()的方法实现如下:\n#else \nbool hasDefaultAWZ() { \n return data()->flags & RW_HAS_DEFAULT_AWZ; \n} \nvoid setHasDefaultAWZ() { \n data()->setFlags(RW_HAS_DEFAULT_AWZ); \n } \nvoid setHasCustomAWZ() { \n data()->clearFlags(RW_HAS_DEFAULT_AWZ); \n }\n#endif\n\nRW_HAS_DEFAULT_AWZ是用来标记用户有没有自己实现allocWithZone方法。由于类是有懒加载的概念的,所以第一次给该类发送消息之前,该类是没有加载的,因此当类收到alloc消息的时候,进入到hasCustomAWZ时并没有默认实现allocWithZone方法,所以hasCustomAWZ返回true,因此会直接进入到[cls alloc]。当再次调用callAlloc时候DefaultAWZ为ture,hasCustoAWZ为false这样会进入到下一个流程。\ncanAllocFast\ncanAllocFast作用是判断当前类是否可以快速开辟内存,需要注意的是这里永远不会调用,因为canAllocFast内部返回的是false。具体实现如下:\nbool canAllocFast() { \n assert(!isFuture()); \n return bits.canAllocFast(); \n} \n\nbool canAllocFast() { \n return false; \n}\n\n可以看到canAllocFast返回False,于是来到了下一流程:class_createInstance。\nclass_createInstance\nid class_createInstance(Class cls, size_t extraBytes){ \n return _class_createInstanceFromZone(cls, extraBytes, nil);\n}\n\nstatic __attribute__((always_inline))id_class_createInstanceFromZone(Class cls, size_t extraBytes, void *zone,bool cxxConstruct = true,size_t *outAllocatedSize = nil){ \n if (!cls) return nil;\n assert(cls->isRealized()); // Read class's info bits all at once for performance bool hasCxxCtor = cls->hasCxxCtor(); \n bool hasCxxDtor = cls->hasCxxDtor(); \n bool fast = cls->canAllocNonpointer(); //!! 是否可以创建NonPointer\n size_t size = cls->instanceSize(extraBytes); \n if (outAllocatedSize) *outAllocatedSize = size;\n id obj; \n if (!zone && fast) { \n obj = (id)calloc(1, size); \n if (!obj) return nil; \n obj->initInstanceIsa(cls, hasCxxDtor); \n } else { \n if (zone) { \n obj = (id)malloc_zone_calloc ((malloc_zone_t *)zone, 1, size); \n } else { \n obj = (id)calloc(1, size); \n } \n if (!obj) return nil;\n\n // Use raw pointer isa on the assumption that they might be \n // doing something weird with the zone or RR. \n obj->initIsa(cls); \n }\n if (cxxConstruct && hasCxxCtor) { \n obj = _objc_constructOrFree(obj, cls); \n }\n return obj;\n}\n\nhasCxxtor()和hasCxxDtor\n在这里开始创建对象分配内存空间,hasCxxtor()和hasCxxDtor()是用来处理C++成员变量的构造和析构的,hasCxxtor是判断当前class或者superclass是否有.cxx_construct的实现,hasCxxDtor是用来判断当前class或者superclass是否有.cxx_destruct的实现,canAllocNonpointer是判断是否可以创建Nonpointer。\n\nReference\n1.带你深入了解OC对象创建过程\n"},"iOS/Objc_Object/Category.html":{"url":"iOS/Objc_Object/Category.html","title":"Category","keywords":"","body":"Category\n可以动态地为已有类添加新行为。Apple还推荐了category的另外两个使用场景\n\n可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,\na)可以减少单个文件的体积\nb)可以把不同的功能组织到不同的category里 \nc)可以由多个开发者共同完成一个类 \nd)可以按需加载想要的category 等等。\n\n\n声明私有方法\n\nExtension && Category\n1.Category的特点\n\n运行时决议\n通过 runtime 动态将分类的方法合并到类对象、元类对象中\n实例方法合并到类对象中,类方法合并到元类对象中\n\n\n可以为系统类添加分类\n\n2.分类中可以添加哪些内容\n\n实例方法\n类方法\n协议\n属性\n\nClass Extension(扩展)\n\n声明私有属性\n声明私有方法\n声明私有成员变量\n编译时决议,Category 运行时决议\n不能为系统类添加扩展\n只能以声明的形式存在,多数情况下,寄生于宿主类的.m文件中\n\n extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随之一起消亡。extension一般用来隐藏类的私有信息,你必须有一个类的源码才能为一个类添加extension,所以你无法为系统的类比如NSString添加extension。\n但是category则完全不一样,它是在运行期决议的。 就category和extension的区别来看,我们可以推导出一个明显的事实,extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。\nCategory Runtime 结构\n使用 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc MNPerson+Test.m 函数,生产一个cpp文件,窥探其底层结构(编译状态)\nstruct _category_t {\n //宿主类名称 - 这里的MNPerson\n const char *name;\n\n //宿主类对象,里面有isa\n struct _class_t *cls;\n\n //实例方法列表\n const struct _method_list_t *instance_methods;\n\n //类方法列表\n const struct _method_list_t *class_methods;\n\n //协议列表\n const struct _protocol_list_t *protocols;\n\n //属性列表\n const struct _prop_list_t *properties;\n};\n\n//_class_t 结构\nstruct _class_t {\n struct _class_t *isa;\n struct _class_t *superclass;\n void *cache;\n void *vtable;\n struct _class_ro_t *ro;\n};\n\n\n每个分类都是独立的\n每个分类的结构都一致,都是category_t\n\n-category如何加载\nvoid _objc_init(void)\n{\n static bool initialized = false;\n if (initialized) return;\n initialized = true;\n\n // fixme defer initialization until an objc-using image is found?\n environ_init();\n tls_init();\n static_init();\n runtime_init();\n exception_init();\n cache_init();\n _imp_implementationWithBlock_init();\n\n _dyld_objc_notify_register(&map_images, load_images, unmap_image);\n}\n\n忽略掉一堆 init ,重点来看 \n_dyld_objc_notify_register(&map_images, load_images, unmap_image);\n这个方法会注册3个事件并给出回调。\n重点来看一下map_images和load_images;\n从这俩个回调方法里看,你会发现Category在map_images会加载完毕,而load_images会调用+load方法。\n类的load方法中,能调用分类的方法。\n\nstatic void \nattachCategories(Class cls, category_list *cats, bool flush_caches)\n{\n if (!cats) return;\n if (PrintReplacedMethods) printReplacements(cls, cats);\n\n bool isMeta = cls->isMetaClass();\n\n // fixme rearrange to remove these intermediate allocations\n\n /* 二维数组( **mlists => 两颗星星,一个)\n [\n [method_t,],\n [method_t,method_t],\n [method_t,method_t,method_t],\n ]\n\n */\n method_list_t **mlists = (method_list_t **)\n malloc(cats->count * sizeof(*mlists));\n property_list_t **proplists = (property_list_t **)\n malloc(cats->count * sizeof(*proplists));\n protocol_list_t **protolists = (protocol_list_t **)\n malloc(cats->count * sizeof(*protolists));\n\n // Count backwards through cats to get newest categories first\n int mcount = 0;\n int propcount = 0;\n int protocount = 0;\n int i = cats->count;//宿主类,分类的总数\n bool fromBundle = NO;\n while (i--) {//倒序遍历,最先访问最后编译的分类\n\n // 获取某一个分类\n auto& entry = cats->list[i];\n\n // 分类的方法列表\n method_list_t *mlist = entry.cat->methodsForMeta(isMeta);\n if (mlist) {\n //最后编译的分类,最先添加到分类数组中\n mlists[mcount++] = mlist;\n fromBundle |= entry.hi->isBundle();\n }\n\n property_list_t *proplist = \n entry.cat->propertiesForMeta(isMeta, entry.hi);\n if (proplist) {\n proplists[propcount++] = proplist;\n }\n\n protocol_list_t *protolist = entry.cat->protocols;\n if (protolist) {\n protolists[protocount++] = protolist;\n }\n }\n\n auto rw = cls->data();\n\n prepareMethodLists(cls, mlists, mcount, NO, fromBundle);\n\n // 核心:将所有分类的对象方法,附加到类对象的方法列表中\n rw->methods.attachLists(mlists, mcount);\n free(mlists);\n if (flush_caches && mcount > 0) flushCaches(cls);\n\n rw->properties.attachLists(proplists, propcount);\n free(proplists);\n\n rw->protocols.attachLists(protolists, protocount);\n free(protolists);\n}\n\nvoid attachLists(List* const * addedLists, uint32_t addedCount) {\n if (addedCount == 0) return;\n\n if (hasArray()) {\n // many lists -> many lists\n uint32_t oldCount = array()->count;\n uint32_t newCount = oldCount + addedCount;\n\n //realloc - 重新分配内存 - 扩容了\n setArray((array_t *)realloc(array(), array_t::byteSize(newCount)));\n array()->count = newCount;\n\n //memmove,内存挪动\n //array()->lists 原来的方法列表\n memmove(array()->lists + addedCount,\n array()->lists,\n oldCount * sizeof(array()->lists[0]));\n\n //memcpy - 将分类的方法列表 copy 到原来的方法列表中\n memcpy(array()->lists,\n addedLists,\n addedCount * sizeof(array()->lists[0]));\n }\n ...\n}\n\n画图分析\n\n\n\n\n\ncategory被附加到类上面是在map_images的时候发生的\n要注意的有两点:\n1)、category的方法没有“完全替换掉”原来类已经有的方法,也就是说如果category和原来类都有methodA,那么category附加完成之后,类的方法列表里会有两个methodA\n2)、category的方法被放到了新方法列表的前面,而原来类的方法被放到了新方法列表的后面,这也就是我们平常所说的category的方法会“覆盖”掉原来类的同名方法,这是因为运行时在查找方法的时候是顺着方法列表的顺序查找的,它只要一找到对应名字的方法,就会罢休,殊不知后面可能还有一样名字的方法。\n \nCategory的加载处理流程\n分类的加载处理流程主要有下面三步:\n1.通过Runtime加载某个类的所有Category数据\n 2.把所有Category的方法、属性、协议数据,合并到一个大数组中 后面参与编译的Category数据,会在数组的前面 \n3.将合并后的分类数据(方法、属性、协议),插入到类原来数据的前面\n旁枝末叶-category和+load方法\nload实现原理\n\n\n类第一次加载进内存的时候,会调用 + load 方法,无需导入,无需使用\n每个类、分类的 + load 在程序运行过程中只会执行一次\n+ load 走的不是消息发送的 objc_msgSend 调用,而是找到 + load 函数的地址,直接调用\n\n\nvoid call_load_methods(void)\n{\n static bool loading = NO;\n bool more_categories;\n\n loadMethodLock.assertLocked();\n\n // Re-entrant calls do nothing; the outermost call will finish the job.\n if (loading) return;\n loading = YES;\n\n void *pool = objc_autoreleasePoolPush();\n\n do {\n // 1. Repeatedly call class +loads until there aren’t any more\n while (loadable_classes_used > 0) {\n //先加载宿主类的load方法(按照编译顺序,调用load方法)\n call_class_loads();\n }\n\n // 2. Call category +loads ONCE\n more_categories = call_category_loads();\n\n // 3. Run more +loads if there are classes OR more untried categories\n } while (loadable_classes_used > 0 || more_categories);\n\n objc_autoreleasePoolPop(pool);\n\n loading = NO;\n}\n\nstatic void schedule_class_load(Class cls)\n{\n if (!cls) return;\n assert(cls->isRealized()); // _read_images should realize\n\n if (cls->data()->flags & RW_LOADED) return;\n\n // Ensure superclass-first ordering\n // 递归调用,先将父类添加到load方法列表中,再将自己加进去\n schedule_class_load(cls->superclass);\n\n add_class_to_loadable_list(cls);\n cls->setInfo(RW_LOADED); \n}\n\n调用顺序\n\n先调用宿主类的 + load\n 函数\n\n按照编译先后顺序调用(先编译,先调用)\n调用子类的+load之前会先调用父类的+load\n\n\n再调用分类的的 + load\n 函数\n\n按照编译先后顺序调用(先编译,先调用)\n\n\n\n实验证明:宿主类先调用,分类再调用\n2019-02-27 17:28:00.519862+0800 load-Initialize-Demo[91107:2281575] MNPerson + load\n2019-02-27 17:28:00.520032+0800 load-Initialize-Demo[91107:2281575] MNPerson (Play) + load\n2019-02-27 17:28:00.520047+0800 load-Initialize-Demo[91107:2281575] MNPerson (Eat) + load\n\n\n2019-02-27 17:39:10.354050+0800 load-Initialize-Demo[91308:2303030] MNDog + load (宿主类1)\n2019-02-27 17:39:10.354237+0800 load-Initialize-Demo[91308:2303030] MNPerson + load (宿主类2)\n2019-02-27 17:39:10.354252+0800 load-Initialize-Demo[91308:2303030] MNDog (Rua) + load (分类1)\n2019-02-27 17:39:10.354263+0800 load-Initialize-Demo[91308:2303030] MNPerson (Play) + load(分类2)\n2019-02-27 17:39:10.354274+0800 load-Initialize-Demo[91308:2303030] MNPerson (Eat) + load(分类3)\n2019-02-27 17:39:10.354285+0800 load-Initialize-Demo[91308:2303030] MNDog (Run) + load(分类4)\n\n父类和本类的调用:父类的方法优先于子类的方法。一个类的+load方法不用写明[super load],父类就会收到调用。\nInitialize实现原理\n\n\n类第一次接收到消息的时候,会调用该方法,需导入,并使用\n+ Initialize 走的是消息发送的 objc_msgSend 调用\n\n\ninitialize 与 load 的区别\n\nload 是类第一次加载的时候调用,initialize 是类第一次接收到消息的时候调用,每个类只会initialize一次(父类的initialize方法可能被调用多次)\nload 和 initialize,加载or调用的时候,都会先调用父类对应的 load or initialize 方法,再调用自己本身的;\nload 和 initialize 都是系统自动调用的话,都只会调用一次\n调用方式也不一样,load 是根据函数地址直接调用,initialize 是通过objc_msgSend\n调用时刻,load是runtime加载类、分类的时候调用(只会调用一次)\n调用顺序:\nload:\n先调用类的load\n先编译的类,优先调用load\n调用子类的load之前,会先调用父类的load\n\n\n在调用分类的load\n\n\ninitialize:\n先初始化父列\n再初始化子类(可能最终调用的是父类的初始化方法)\n\n\n\n\n\n我们知道,在类和category中都可以有+load方法,那么有两个问题:\n1)、在类的+load方法调用的时候,我们可以调用category中声明的方法么?\n2)、这么些个+load方法,调用顺序是咋样的呢?\n答:\n 1)、可以调用,因为附加category到类的工作会先于+load方法的执行 \n2)、加载顺序是父类先+load,然后子类+load,然后分类+load,+load的执行顺序是先类,后category,而category的+load执行顺序是根据编译顺序决定的。\n实际调用时,调用的是后添加的方法,即后添加的方法在方法列表methodLists的这个数组的顶部\n后+load的类的方法,后添加到方法列表,而这时的添加方式又是插入顶部添加,即\n[methodLists insertObject:category_method atIndex:0];所以objc_msgSend遍历方法列表查找SEL 对应的IMP时,会先找到分类重写的那个,调用执行。然后添加到缓存列表中,这样主类方法实现永远也不会调到。\n(后编译的Category,插入的方法在每个类大方法数组最前面)\nReference\n1.深入理解Objective-C:Category\n2. 面试驱动技术 - Category 相关考点(Article文件夹有收藏)\n3.iOS 捋一捋Category加载流程及+load\n"},"iOS/Objc_Object/AssociatedObject.html":{"url":"iOS/Objc_Object/AssociatedObject.html","title":"AssociatedObject","keywords":"","body":"AssociatedObject关联对象的内部实现\nAssociatedObject关联对象\n为什么要引入关联对象?\n\n\n一般我们需要对现有的类做扩展,可以通过继承、类别等方式去实现;当我们使用类别的方式扩展,如果对现有的类增加属性的话,编译器是不会生成实例变量;类别的结构体中没有ivar的结构体,同时类的ivar设计的是一个const\n类别是运行时装载到类中的,当类realizeClass之后它的instanceSize就已经确定无法修改了,这些操作都是在load之前,main函数之前\n如果想通过runtime的方法class_addIvar它只适用于新建一个类的时候增加,对于类别中增加实例就不适用\n关联对象就是在不改变类的结构的情况下,将类需要关联的对象存储在关联表中,那么类别中添加的属性的值的存取就可以通过关联来解决\n\n\n主要函数\n// 设置关联对象函数\nOBJC_EXPORT void\nobjc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key,\n id _Nullable value, objc_AssociationPolicy policy)\n OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);\n// 获取关联的对象函数\nOBJC_EXPORT id _Nullable\nobjc_getAssociatedObject(id _Nonnull object, const void * _Nonnull key)\n OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);\n// 删除对象的关联对象函数\nOBJC_EXPORT void\nobjc_removeAssociatedObjects(id _Nonnull object)\n OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);\n\n\nobjc_setAssociatedObject -- 关联对象value到object\n object:宿主对象\n key:关联对象的key,一般传入一个常量的地址作为唯一标识\n value:被关联的对象\n policy:关联的规则,主要是内存管理的规则\nobjc_getAssociatedObject -- 从object中根据key获取关联的对象的value\n object:宿主对象\n key:关联对象的key,传入设置时候传入的key\nobjc_removeAssociatedObjects -- 删除object的所有的关联的对象\n object:宿主对象\n\n实现关联对象技术的核心对象有:\n\nAssociationsManager\nAssociationsHashMap\nObjectAssociationMap\nObjcAssociation\n\n源码 (下面以set方法为例 get类似\nvoid objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy) {\n _object_set_associative_reference(object, (void *)key, value, policy);\n}\n\nvoid _object_set_associative_reference(id object, void *key, id value, uintptr_t policy) {\n // retain the new value (if any) outside the lock.\n ObjcAssociation old_association(0, nil);\n id new_value = value ? acquireValue(value, policy) : nil;\n {\n AssociationsManager manager;\n AssociationsHashMap &associations(manager.associations());\n disguised_ptr_t disguised_object = DISGUISE(object);\n if (new_value) {//如果set方法传值不是nil\n // break any existing association.\n AssociationsHashMap::iterator i = associations.find(disguised_object);\n if (i != associations.end()) {\n //如果AssociationsHashMap已经存在 进行下一步\n // secondary table exists\n ObjectAssociationMap *refs = i->second;\n ObjectAssociationMap::iterator j = refs->find(key);\n if (j != refs->end()) {\n //更改值\n old_association = j->second;\n j->second = ObjcAssociation(policy, new_value);\n } else {\n //添加新值\n (*refs)[key] = ObjcAssociation(policy, new_value);\n }\n } else {\n //AssociationsHashMap不存在 创建 并 添加\n // create the new association (first time).\n ObjectAssociationMap *refs = new ObjectAssociationMap;\n associations[disguised_object] = refs;\n (*refs)[key] = ObjcAssociation(policy, new_value);\n object->setHasAssociatedObjects();\n }\n } else {\n //如果set方法传值是nil\n // setting the association to nil breaks the association.\n AssociationsHashMap::iterator i = associations.find(disguised_object);\n if (i != associations.end()) {\n ObjectAssociationMap *refs = i->second;\n ObjectAssociationMap::iterator j = refs->find(key);\n if (j != refs->end()) {\n old_association = j->second;\n refs->erase(j);//擦除\n }\n }\n }\n }\n // release the old value (outside of the lock).\n if (old_association.hasValue()) ReleaseValue()(old_association);\n}\n\n\n\n\n\n\n可以得出结论:\n\n关联对象并不是存储在被关联对象本身内存中\n关联对象由 AssociationsManager 管理并在 AssiciationsHashMap 存储。\n所有对象的关联内容都在同一个全局容器中。\n设置关联对象为nil,就相当于是移除关联对象\n\n\n\n关联对象的释放时机与移除时机并不总是一致,比如实验中用关联策略 OBJC_ASSOCIATION_ASSIGN 进行关联的对象,很早就已经被释放了,但是并没有被移除,而再使用这个关联对象时就会造成 Crash 。[注意是用Assign关联对象(@property中用assign也会导致崩溃)]\n\n \nReference\n1.探索AssociatedObject关联对象的内部实现\n2.Objective - C 关联对象(二) 关联对象的底层数据结构\n"},"iOS/OCFoundation/Runtime.html":{"url":"iOS/OCFoundation/Runtime.html","title":"Runtime","keywords":"","body":"RunTime\nRuntime简介\n\nRunTime简称运行时,其中最主要的是消息机制。\n对于C语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何二义性。\nOC的函数调用成为消息发送,属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而C语言在编译阶段就会报错)。\n只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。\n\n\n\n其动态性体现在几个方面:\n\n1.动态类型:\n 即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。像内置的明确的基本类型都属于静态类型(int、NSString等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。\n 2.动态绑定:\n 基于动态类型,在某个实例对象被确定后,其类型便被确定了。该对象对应的属性和响应的消息也被完全确定,这就是动态绑定。比如我们一般向一个NSObject对象发送-respondsToSelector:或者 -instancesRespondToSelector:等来确定对象是否可以对某个SEL做出响应,而在OC消息转发机制被触发之前,对应的类 的+resolveClassMethod:和+resolveInstanceMethod:将会被调用,在此时有机会动态地向类或者实例添加新的方 法,也即类的实现是可以动态绑定的;isKindOfClass也是一样的道理。\n\n\n\n"},"iOS/OCFoundation/Block.html":{"url":"iOS/OCFoundation/Block.html","title":"Block","keywords":"","body":"Block\nBlock本质\n\nIn programming languages, a closure is a function or reference to a function together with a referencing environment—a table storing a reference to each of the non-local variables (also called free variables or upvalues) of that function.\n\n\n\nBlock 是将函数及其执行上下文封装起来的对象\nBlock的调用即是函数的调用\nBlock本质上也是一个OC对象,它内部也有个isa指针\nBlock是封装了函数调用以及函数调用环境的OC对象\n\nblock地层结构图中的第一个成员就是一个isa指针,所以我们可以将block当成一个对象来看待。isa常见的就是_NSConcreteStackBlock,_NSConcreteMallocBlock,_NSConcreteGlobalBlock这3种\nBlock 写法\n\n@property (nonatomic, copy)void (^addBlockResult)(BOOL) ;\n\nint multiplier = 6\nint(^Block)(int) = ^int(int num){\n return num * multiplier;\n}\n\nBlock 结构\n//如下代码\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n int a = 10;\n void (^block)(int, int) = ^(int c, int b){\n NSLog(@\"I am a block!\");\n NSLog(@\"I am a block!\");\n NSLog(@\"c = %d\",c);\n NSLog(@\"b = %d\",b);\n NSLog(@\"a的值为%d\",a);\n };\n block(50,100);\n }\n return 0;\n}\n\n通过\n xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main.cpp\n\n将OC文件用Clang重写\n#import \n\n//将block的底层结构struct __main_block_impl_0直接般到main.m里面\n\nstruct __block_impl {\n void *isa;\n int Flags;\n int Reserved;\n void *FuncPtr;\n};\n\nstruct __main_block_desc_0 {\n size_t reserved;\n size_t Block_size;\n};\n\nstruct __main_block_impl_0 {\n struct __block_impl impl;\n struct __main_block_desc_0* Desc;\n int a;\n\n};\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n\n int a = 10;\n\n void (^block)(int, int) = ^(int c, int b){\n NSLog(@\"I am a block!\");\n NSLog(@\"I am a block!\");\n NSLog(@\"c = %d\",c);\n NSLog(@\"b = %d\",b);\n NSLog(@\"a的值为%d\",a);\n\n };\n\n struct __main_block_impl_0 *tmpBlock = (__bridge struct __main_block_impl_0 *)block;\n\n block(50,100);\n\n\n }\n return 0;\n}\n\n\nBlock 底层代码\n\nBlock 捕获外部变量\nBlock 捕获基础类型\nBlock捕获auto变量\n接下来看看这种情况\n#import \n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n int age = 10;\n //Block的定义\n void (^block)(void) = ^(){\n NSLog(@\"Age is %d\", age);\n };\n //先修改age的值\n age = 20;\n //Block的调用\n block();\n }\n return 0;\n}\n\n在block之前定义了一个int a = 10,然后在block内部使用了这个age,而且我在调用block之前,先将age的值修改成了20,那么此时程序运行会是什么结果呢\nInterview03-block[4064:375528] Age is 10\nProgram ended with exit code: 0\n\n结果是block中打印出的a是10,我们在block外部对age的修改结果并没有对block的内部打印产生影响\n(1)首先看一下此时block对应的结构体\n \n我们发现有三处变化\n\n新增了一个int age成员变量\n构造函数里面多了一个参数 int _age\n构造函数里面参数尾部多了一个: age(_age),这是c++的语法,作用时将参数_age自动赋值给成员变量age\n\n(2)再看一下main函数中的block定义以及赋值的代码\n\n在用block构造函数生成block的时候,使用了外部定义的 int a = 10,因为c函数的参数都是值传递,所以这里是将此时外部变量a的值10传给了block的构造函数__main_block_impl_0,因此block内部的成员变量age会被赋值成10。\n(3)再看一下block内部封装的函数\n可以看到打印代码里面使用的age,实际上就是block内部的成员变量age,不是我们在外面定义的那个age,因此,当block被赋值之后,其成员变量age被赋值成了当时构造函数传进来的参数10,所以最终打印出来值就是10,不论外部的age再如何的修改。外部的age跟block的成员变量age是两个不同的变量,互不影响。\n其实,上面我门讨论的这个block外部变量age是一个局部auto变量,也叫自动变量。除了auto变量,C语言里面还有局部static变量(静态变量)和全局变量,接下来我们就看看,Block对于这几种变量的使用,做了如何的处理。\nBlock捕获局部static变量\n首先我们将上面的OC代码改造如下\n#import \n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n int age = 10;\n static int height = 10;\n //Block的定义\n void (^block)(void) = ^(){\n NSLog(@\"Age is %d, height is %d\", age, height);\n };\n //先修改age和height的值\n age = 20;\n height = 20;\n //Block的调用\n block();\n }\n return 0;\n}\n\n我们有增加了一个static变量height,并且在同样的地方修改height的值,便于和之前的age进行对比。首先运行代码看一下结果\nInterview03-block[4725:476530] Age is 10, height is 20\nProgram ended with exit code: 0\n\n可以看到,block输出的 height值是我们在外部重新为其赋的20。 \n(1)借用上面的分析流程一样,先看一下block对应的结构体\n\n针对static变量height, block内部为其增加了一个int *height;成员变量,构造函数里面对应的参数是int *_height。看到这里这里要存储的是一个地址,该地址应该就是外部static变量height的地址值。\n(2)main函数里的block赋值过程\n\nblock构造函数里面传入的,就是外部的这个height的地址值。\n(3)block内部的函数\n\n那么可以看到,block内部的函数也是通过block所存储的地址值*height访问了外部的static变量height的值。\n因此,当我们从外部修改height的值之后,调用block打印出的height的值也相应的改变了,因为block内部是通过 指针 引用了外部的这个static变量height。\n对于auto、static变量,为什么block选择用不同方式处理它们呢?\n一个自动变量(auto)的存储空间位于函数栈空间上,在函数开辟栈空间时被创建,在函数结束时销毁,而block的调用时机有可能发生在函数结束之后的,因此就无法使用自动变量了,所以在block一开始定义赋值的过程里,就将自动变量的值拷贝到他自己的存储空间上。 而对于局部静态变量(static),C语法下static会改变所修饰的局部变量的生命周期,使其在 程序整个运行期间都存在 ,所以block选择持有它的指针,在block被调用时,通过该指针访问这个变量的内容就行。\nBlock使用全局变量\n上面讨论block对于局部变量的处理,在看一看对于全局变量,情况又是如何\n\n输出结果如下\nInterview03-block[13997:1263406] Age is 20, height is 20\nProgram ended with exit code: 0\n\n在通过命令行生成一下编译后的C++文件,同样还是在文件底部去看\n\nblock没有对全局变量进行捕获行为,只需要在要用的时候,直接通过变量名访问就行了,因为全局变量时跨函数的,可以直接通过变量的名字直接访问。 同样,者也帮我我们理解了为什么对于局部的变量,block需要对其采取“捕获”行为,正是因为局部变量定在与函数内部,无法跨函数使用,所以根据局部变量不同的存储属性,要么将其值直接进行拷贝(auto),要么对其地址进行拷贝(static)。\n总结\n\n\n局部变量会被block捕获\n\n自动变量(auto),block通过值拷贝方式捕获,在其内部创建一个同类型变量,并且将自动变量的值拷贝给block的内部变量,block代码块执行的时候,直接访问它的这个内部变量。\n\n静态变量(static),block通过地址拷贝方式捕获,在其内部创建一个指向同类型变量的指针, 将静态变量的地址值拷贝给block内部的这个指针,block代码块执行的时候,通过内部存储的指针间接访问静态变量。\n\n全局变量不会被block捕获, block代码块执行的时候,通过全局变量名直接访问。\n\n\nBlock对于self的处理\n \n\n编译结果显示block对self进行了捕获。But why? 我们知道,图中的block位于test方法里面,实际上任何的oc方法,转换成底层的c函数,里面都有两个默认\n的参数,self 和 _cmd\n\n所以作为函数默认参数的self的实际上也是该函数的局部变量,根据我们上面总结的原则,只要是局部变量,block都会对其进行捕获,这就解释通了。\n下面的情况呢\n \n先看编译结果\n\n看得出来,还是进行了捕获,在图中标明的黄色框框,就很好理解了,block最终访问CLPerson的成员变量_age的时候,是通过self +_age偏移量,获得_age的地址后从而进行间接访问的,所以在oc代码中,_age 的写法等同与self->_age,说白了,这里还是需要用到self,因此block还是需要对self进行捕获的。\nBlock捕获对象类型\n有以下代码:\ntypedef void(^CLBlock)(void);//➕➕➕\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n CLBlock myBlock;\n {//临时作用域开始\n CLPerson *person = [[CLPerson alloc] init];\n person.age = 10;\n\n myBlock = ^{\n NSLog(@\"---------%d\",person.age);\n };\n }//临时作用域结束\n\n NSLog(@\"-----------flag1\");\n }\n return 0;\n}\n\n由于现在是ARC环境,myBlock属于强指针,因此在将block对象赋值给myBlock指针的时候,编译器会自动对block对象执行copy操作,因此赋值完成后,myBlock指向的是一个堆空间上的block对象副本\n通过Clang重写\nstruct __main_block_impl_0 {\n struct __block_impl impl;\n struct __main_block_desc_0* Desc;\n CLPerson *person;\n\n __main_block_impl_0(void *fp, struct __main_block_desc_0 *desc, CLPerson *_person, int flags=0) : person(_person) {\n impl.isa = &_NSConcreteStackBlock;\n impl.Flags = flags;\n impl.FuncPtr = fp;\n Desc = desc;\n }\n};\n\n\nstatic void __main_block_func_0(struct __main_block_impl_0 *__cself) {\n CLPerson *person = __cself->person; // bound by copy\n\n NSLog((NSString *)&__NSConstantStringImpl__var_folders_7__p19yp82j0xd2m_1k8fpr77z40000gn_T_main_2cca58_mi_0,((int (*)(id, SEL))(void *)objc_msgSend)((id)person, sel_registerName(\"age\")));\n }\n\n\n\nstatic void __main_block_copy_0(struct __main_block_impl_0*dst, struct __main_block_impl_0*src) {\n _Block_object_assign((void*)&dst->person, (void*)src->person, 3/*BLOCK_FIELD_IS_OBJECT*/);\n}\n\n\n\n\nstatic void __main_block_dispose_0(struct __main_block_impl_0*src) {\n _Block_object_dispose((void*)src->person, 3/*BLOCK_FIELD_IS_OBJECT*/);\n}\n\n\n\n\nstatic struct __main_block_desc_0 {\n size_t reserved;\n size_t Block_size;\n void (*copy)(struct __main_block_impl_0*, struct __main_block_impl_0*);\n void (*dispose)(struct __main_block_impl_0*);\n} __main_block_desc_0_DATA = { \n 0, \n sizeof(struct __main_block_impl_0), \n __main_block_copy_0, \n __main_block_dispose_0\n };\n\n\n\nint main(int argc, const char * argv[]) {\n /* @autoreleasepool */ { __AtAutoreleasePool __autoreleasepool; \n CLBlock myBlock;\n\n {\n CLPerson * person = objc_msgSend(objc_msgSend(objc_getClass(\"CLPerson\"), \n sel_registerName(\"alloc\")\n ), \n sel_registerName(\"init\")\n );\n\n\n objc_msgSend(person, \n sel_registerName(\"setAge:\"), \n 30\n );\n\n\n myBlock = objc_msgSend(&__main_block_impl_0(__main_block_func_0, \n &__main_block_desc_0_DATA, \n person, \n 570425344), \n sel_registerName(\"copy\")\n );\n\n\n }\n\n\n }\n\n\n return 0;\n}\n\n__main_block_desc_0结构体里面多了两个彩蛋\n\n函数指针copy,也就是__main_block_copy_0(),内部调用了_Block_object_assign()\n函数指针dispose,也就是__main_block_dispose_0(),内部调用了_Block_object_dispose()\n\n\nARC 下CLPerson *person被认为是强指针,等价于_strong CLPerson *person,而弱指针需要显式地表示为__weak CLPerson *person。通过终端命令xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc -fobjc-arc -fobjc-runtime=ios-9.0.0 main.m -o main.cpp,可以看到block的内捕获到的person指针如下\n\n为了对比,我们再分别看一下下面三种 场景分别是什么情况的:\n\nARC环境-->堆上的block-->弱指针__weak CLPerson *person\nARC环境-->栈上的block-->强指针CLPerson *person\nARC环境-->栈上的block-->弱指针__weak CLPerson *person\n\n【ARC环境-->堆上的block-->弱指针__weak CLPerson *person】 案例如下\n***********************main.m*************************\n#import \n#import \"CLPerson.h\"\n\ntypedef void(^CLBlock)(void);\n\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n CLBlock myBlock;\n\n {//临时作用域开始\n __weak CLPerson * person = [[CLPerson alloc] init];\n person.age = 30;\n\n myBlock = ^{\n NSLog(@\"---------%d\",person.age);\n } ;\n\n }//临时作用域结束\n\n NSLog(@\"-------------\");\n\n }\n\n NSLog(@\"------main autoreleasepool end-------\");\n\n return 0;\n}\n\nblock的底层结构如下\n \n堆block->弱指针运行结果\"> \n运行结果显示堆上的block使用弱指针__weak CLPerson *person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。\n【ARC环境-->栈上的block-->强指针CLPerson *person】\n***********************main.m*************************\n#import \n#import \"CLPerson.h\"\n\ntypedef void(^CLBlock)(void);\n\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n CLBlock myBlock;\n\n {//临时作用域开始\n CLPerson * person = [[CLPerson alloc] init];\n person.age = 30;\n\n ^{\n NSLog(@\"---------%d\",person.age);\n } ;\n\n }//临时作用域结束\n\n NSLog(@\"-------------\");\n\n }\n\n NSLog(@\"------main autoreleasepool end-------\");\n\n return 0;\n}\n\nblock底层结构如下 \n栈block->强指针运行结果\">\n运行结果显示栈上的block使用强指针CLPerson *person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。\n【ARC环境-->栈上的block-->弱指针__weak CLPerson *person】\n***********************main.m*************************\n#import \n#import \"CLPerson.h\"\n\ntypedef void(^CLBlock)(void);\n\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n CLBlock myBlock;\n\n {//临时作用域开始\n __weak CLPerson * person = [[CLPerson alloc] init];\n person.age = 30;\n\n ^{\n NSLog(@\"---------%d\",person.age);\n } ;\n\n }//临时作用域结束\n\n NSLog(@\"-------------\");\n\n }\n\n NSLog(@\"------main autoreleasepool end-------\");\n\n return 0;\n}\n\nblock底层结构为 \n\n栈block->弱指针运行结果\">\n运行结果显示栈上的block使用弱指针__weak CLPerson *person,没有影响person所指向对象的生命周期,出了临时作用域的之后就被释放了。\nBlock类型\nBlock有3种类型\n\n回顾一下程序的内存布局\n\n\n代码段 占用空间很小,一般存放在内存的低地址空间,我们平时编写的所有代码,就是放在这个区域\n数据段 用来存放全局变量\n堆区 是动态分配内存的,用来存放我们代码中通过alloc生成的对象,动态分配内存的特点是需要程序员申请内存和管理内存。例如OC中alloc生成的对象需要调用releas方法释放【MRC下】,C中通过malloc生成的对象必须要通过free()去释放。\n栈区 系统自动分配和销毁内存,用于存放函数内生成的局部变量\n\n\n\n(1) NSGlobalBlock(也就是_NSConcreteGlobalBlock)\n\n如果一个block内部没有使用/访问 自动变量(auto变量),那么它的类型即为__NSGlobalBlock__,它会被存储在应用程序的 数据段\n\n(2) NSStaticBlock(也就是_NSConcreteStaticBlock)\n\n如果一个block有使用/访问 自动变量(auto变量),那么它的类型即为__NSStaticBlock__,它会被存储在应用程序的 栈区\n\n(3) NSMallocBlock(也就是_NSConcreteMallocBlock)\n\n对__NSMallocBlock__调用copy方法,就可以转变成__NSMallocBlock__,它会被存储在堆区上\n\n总结\n \n对每一种类型的block调用copy后的结果如下\n\n在ARC环境下,编译器会根据情况自动将栈上的block复制到堆上,例如以下的情况\n\nblock作为函数参数返回的时候\n将block赋值给__strong指针的时候\nblock作为Cocoa API中方法名里面含有usingBlock的方法参数时\nblock作为GCD API的方法参数的时候\n\nBlock生命周期\nNSConcreteStackBlock 是由编译器自动管理,超过作用域之外就会自动释放了。而 NSConcreteMallocBlock 是由程序员自己管理,如果没有被强引用也会被消耗。NSConcreteGlobalBlock 由于存在于全局区,所以会一直伴随着应用程序。\n无论是MAC还是ARC\n\n当block为__NSStackBlock__类型时候,是在栈空间,无论对外面使用的是strong 还是weak 都不会对外面的对象进行强引用\n当block为__NSMallocBlock__类型时候,是在堆空间,block是内部的_Block_object_assign函数会根据strong或者 weak对外界的对象进行强引用或者弱引用。\n\n其实也很好理解,因为block本身就在栈上,自己都随时可能消失,怎么能保住别人的命呢?\n\n当block内部访问了对象类型的auto变量时\n如果block是在栈上,将不会对auto变量产生强引用\n如果block被拷贝到堆上\n会调用block内部的copy函数\ncopy函数内部会调用_Block_object_assign函数\n_Block_object_assign函数会根据auto变量的修饰符(__strong、__weak、__unsafe_unretained)做出相应的操作,形成强引用(retain)或者弱引用\n\n\n如果block从堆上移除\n会调用block内部的dispose函数\ndispose函数内部会调用_Block_object_dispose函数\n_Block_object_dispose函数会自动释放引用的auto变量(release)\n\n\n\n\n\n\n函数\n调用时机\n\n\n\n\ncopy函数\n栈上的Block复制到堆上\n\n\ndispose函数\n堆上的block被废弃时\n\n\n\nweak的实现原理\n在原对象释放之后,weak对象就会变成null,防止野指针。所以就输出了null了。\n那么我们怎么才能在weakSelf之后,block里面还能继续使用weakSelf之后的对象呢?\n究其根本原因就是weakSelf之后,无法控制什么时候会被释放,为了保证在block内不会被释放,需要添加_strong。\n在block里面使用的_strong修饰的weakSelf是为了在函数生命周期中防止self提前释放。strongSelf是一个自动变量当block执行完毕就会释放自动变量strongSelf不会对self进行一直进行强引用。\n__block 修饰符\n__block修饰符原理:\n编译器会将__block变量包装成一个结构体__Block_byref_age_0,结构体内部*__forwarding是指向自身的指针,内部还存储着外部auto变量的值\n一开始,栈空间的block有一个__Block_byref_a_0结构体,\n 指向外部__Block_byref_a_0的地址,\n 其中它的__forwarding指针指向自身,\n当block从栈copy到堆时,\n堆空间的block有一个__Block_byref_a_0结构体,\n 指向外部__Block_byref_a_0的地址,\n 其中它的__forwarding指针指向自身\n一般情况下,对被截获变量进行赋值操作需要添加 __block 修饰符(注意是赋值!!, 赋值≠使用)\nNSMutableArray *array = [NSMutableArray array];\nvoid(^Block)(void) = ^{\n [array addObject:@123];\n}\n\n//不需要添加 __block,因为是使用\n \n当__block修饰外界变量时\nint main(){\n\n __block int a = 10;\n void(^block)(void) = ^{\n printf(\"Felix %d \", a);\n };\n\n block();\n return 0;\n}\n将代码编译成C++源码\n\n// 原代码\n__block int a = 10;\n// c++源码\n__attribute__((__blocks__(byref))) __Block_byref_a_0 a = {\n (void*)0,\n (__Block_byref_a_0 *)&a, \n 0, \n sizeof(__Block_byref_a_0), \n 10\n};\n\n可以看到 变量a 变成了 结构体类型__Block_byref_a_0\n下面再看看结构体__Block_byref_a_0的构造\nstruct __Block_byref_a_0 {\n void *__isa;\n__Block_byref_a_0 *__forwarding;\n int __flags;\n int __size;\n int a;\n};\n\n通过上面结构体的初始化和结构体的构造,\n 可以获得以下信息:\n\n\n__forwarding存放的是自己本身的地址\n结构体内的a变量存放的是外部变量a的值\n\n\n主结构体__main_block_impl_0的变化\n\n\n如何从栈指向堆,并建立联系呢?\napple源码,如图:\n\ncopy->forwarding = copy;\n 就是将堆结构体的forwarding指针指向自身\n src->forwarding = copy;\n 就是将栈结构体的forwarding指针指向堆结构体\n这样,苹果工程师在背后悄悄地将block copy到了堆上,\n 而且栈上的block从未被我们利用过。\n在看看block入口静态函数\nstatic void __main_block_func_0(struct __main_block_impl_0 *__cself) {\n __Block_byref_a_0 *a = __cself->a; // bound by ref\n (a->__forwarding->a)++;\n}\n\n通过当前栈空间主结构体上的__Block_byref_a_0结构体指针,访问指向堆空间的__forwarding成员,并获取堆空间上变量的值。\n当然,不仅__block修饰的变量会这样,前文的对象类型变量同样会在copy函数内部被转化成类似的结构体进行处理。\n__block修饰的属性在底层会生成响应的结构体,保存原始变量的指针,并传递一个指针地址给block——因此是指针拷贝\n__block 所起到的作用就是只要观察到该变量被 block 所持有,就将“外部变量”在栈中的内存地址放到了堆中。进而在block内部也可以修改外部变量的值。\n__block修饰的变量成了对象\n__forwarding存在意义\n不论在任何内存位置,都可以顺利访问同一个__block变量.\n\n\n\nReference\n1 深入研究 Block 捕获外部变量和 __block 实现原理\n2 深入理解iOS的block\n3 iOS中__block 关键字的底层实现原理\n4 iOS探索 全方位解读Block\n5 iOS - block原理解读(三)\n探寻Block的本质(6)—— block的深入分析block的使用场景 大家应该都知道,如果想在block - 掘金 (juejin.cn)\n"},"iOS/OCFoundation/Method.html":{"url":"iOS/OCFoundation/Method.html","title":"Method","keywords":"","body":"Method\nOC 是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以 Runtime 无非就是去解决如何在运行时期找到调用方法这样的问题\n\ninstance -> class -> method -> SEL -> IMP -> 实现函数\n\n根据isa特性可以解释消息传递与寻找方法列表原理\n\n发送消息会有以下⼏个流程:\n\n快速查找流程——通过汇编objc_msgSend查找缓存cache_t是否有imp实现\n慢速查找流程——通过C++中lookUpImpOrForward递归查找当前类和父类的rw中methodlist的方法\n动态方法解析——通过调用resolveInstanceMethod和resolveClassMethod来动态方法决议——实现消息动态处理\n快速转发流程——通过CoreFoundation来触发消息转发流程,forwardingTargetForSelector实现快速转发,由其他对象来实现处理方法\n慢速转发流程——先调用methodSignatureForSelector获取到方法的签名,生成对应的invocation;再通过forwardInvocation来进行处理\n以上流程均无法挽救就崩溃并报错\n\n这就是消息传递的一个流程,首先查缓存,无缓存,查方法列表,依然没命中,再顺次查找各个父类方法列表,如果都没有名字,就转到消息转发流程\n\n在缓存查找阶段是 哈希查找\n当前类方法查找 , 如果是已排序的列表,就采用二分查找,没排序的采用一般遍历\n逐级父类方法查找 ,是根据 superClass 指针逐级遍历每一个父类\n\n\n上述源码中,method_array_t、property_array_t、protocol_array_t其实都是二维数组,来到method_array_t、property_array_t、protocol_array_t内部看一下。这里以method_array_t为例,method_array_t本身就是一个数组,数组里面存放的是数 method_list_t,method_list_t里面最终存放的是method_t\nclass method_array_t : \n public list_array_tt \n{\n typedef list_array_tt Super;\n\n public:\n method_list_t **beginCategoryMethodLists() {\n return beginLists();\n }\n\n method_list_t **endCategoryMethodLists(Class cls);\n\n method_array_t duplicate() {\n return Super::duplicate();\n }\n};\n\n\nclass property_array_t : \n public list_array_tt \n{\n typedef list_array_tt Super;\n\n public:\n property_array_t duplicate() {\n return Super::duplicate();\n }\n};\n\n\nclass protocol_array_t : \n public list_array_tt \n{\n typedef list_array_tt Super;\n\n public:\n protocol_array_t duplicate() {\n return Super::duplicate();\n }\n};\n\nclass_rw_t里面的methods、properties、protocols是二维数组,是可读可写的,其中包含了类的初始内容以及分类的内容。\n这里以method_array_t为例,图示其中的结构。\n\nclass_rw_t中是如何存储方法的\nmethod_t\n我们知道method_array_t、property_array_t、protocol_array_t中以method_array_t为例,method_array_t中最终存储的是method_t,method_t是对方法、函数的封装,每一个方法对象就是一个method_t。通过源码看一下method_t的结构体\nstruct method_t {\n SEL name; // 函数名\n const char *types; // 编码(返回值类型,参数类型)\n IMP imp; // 指向函数的指针(函数地址)\n};\n\nmethod_t结构体中可以看到三个成员变量,我们依次来看三个成员变量分别代表什么。\nSEL\nSEL代表方法\\函数名,一般叫做选择器,底层结构跟char *类似\n typedef struct objc_selector *SEL;,可以把SEL看做是方法名字符串。\nSEL可以通过@selector()和sel_registerName()获得\nSEL sel1 = @selector(test);\nSEL sel2 = sel_registerName(\"test\");\n\n也可以通过sel_getName()和NSStringFromSelector()将SEL转成字符串\nchar *string = sel_getName(sel1);\nNSString *string2 = NSStringFromSelector(sel2);\n\n不同类中相同名字的方法,所对应的方法选择器是相同的。\nNSLog(@\"%p,%p\", sel1,sel2);\nRuntime-test[23738:8888825] 0x1017718a3,0x1017718a3\n\nSEL仅仅代表方法的名字,并且不同类中相同的方法名的SEL是全局唯一的。\ntypes\ntypes包含了函数返回值,参数编码的字符串。通过字符串拼接的方式将返回值和参数拼接成一个字符串,来代表函数返回值及参数。\n\nIMP\nIMP代表函数的具体实现,存储的内容是函数地址。也就是说当找到imp的时候就可以找到函数实现,进而对函数进行调用。\n方法缓存 cache_t\n回到类对象结构体,成员变量cache就是用来对方法进行缓存的。\nstruct objc_class : objc_object {\n // Class ISA;\n Class superclass;\n cache_t cache; // formerly cache pointer and vtable\n class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n\n class_rw_t *data() { \n return bits.data();\n }\n void setData(class_rw_t *newData) {\n bits.setData(newData);\n }\n}\n\ncache_t cache;用来缓存曾经调用过的方法,可以提高方法的查找速度。\n回顾方法调用过程:调用方法的时候,需要去方法列表里面进行遍历查找。如果方法不在列表里面,就会通过superclass找到父类的类对象,在去父类类对象方法列表里面遍历查找。\n如果方法需要调用很多次的话,那就相当于每次调用都需要去遍历多次方法列表,为了能够快速查找方法,apple设计了cache_t来进行方法缓存。\n每当调用方法的时候,会先去cache中查找是否有缓存的方法,如果没有缓存,在去类对象方法列表中查找,以此类推直到找到方法之后,就会将方法直接存储在cache中,下一次在调用这个方法的时候,就会在类对象的cache里面找到这个方法,直接调用了。\ncache_t 如何进行缓存\nstruct cache_t {\n struct bucket_t *_buckets; // 散列表 数组\n mask_t _mask; // 散列表的长度 -1\n mask_t _occupied; // 已经缓存的方法数量\n};\n\nbucket_t是以数组的方式存储方法列表的\nstruct bucket_t {\nprivate:\n cache_key_t _key; // SEL作为Key\n IMP _imp; // 函数的内存地址\n};\n\n源码中可以看出bucket_t中存储着SEL和_imp,通过key->value的形式,以SEL为key,函数实现的内存地址 _imp为value来存储方法。\n通过一张图来展示一下cache_t的结构。\n\n上述bucket_t列表我们称之为散列表(哈希表)\n 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。\n1.方法缓存存在什么地方?\n在objc中,class存储类的实例方法(-),meta class存储类的类方法(+),class的isa指针指向meta class。\n在类的定义里就有cache字段,类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的object都保存一份\n2.父类方法的缓存只存在父类么,还是子类也会缓存父类的方法?\n即便是从父类取到的方法,也会存在类本身的方法缓存里。而当用一个父类对象去调用那个方法的时候,也会在父类的metaclass里缓存一份。\n3.为什么 类的方法列表 不直接做成散列表呢,做成list,还要单独缓存,多费事?\n\n散列表是没有顺序的,Objective-C的方法列表是一个list,是有顺序的;Objective-C在查找方法的时候会顺着list依次寻找,并且category的方法在原始方法list的前面,需要先被找到,如果直接用hash存方法,方法的顺序就没法保证。\nlist的方法还保存了除了selector和imp之外其他很多属性\n散列表是有空槽的,会浪费空间\n\nReference\n1.iOS底层原理总结 - 探寻Runtime本质(二)\n"},"iOS/OCFoundation/MessageForwarding.html":{"url":"iOS/OCFoundation/MessageForwarding.html","title":"MessageForwarding","keywords":"","body":"Message Forwarding\n\n发送消息会有以下⼏个流程:\n\n快速查找流程——通过汇编objc_msgSend查找缓存cache_t是否有imp实现\n慢速查找流程——通过C++中lookUpImpOrForward递归查找当前类和父类的rw中methodlist的方法\n动态方法解析——通过调用resolveInstanceMethod和resolveClassMethod来动态方法决议——实现消息动态处理\n快速转发流程——通过CoreFoundation来触发消息转发流程,forwardingTargetForSelector实现快速转发,由其他对象来实现处理方法\n慢速转发流程——先调用methodSignatureForSelector获取到方法的签名,生成对应的invocation;再通过forwardInvocation来进行处理\n以上流程均无法挽救就崩溃并报错\n\n当一个 OC 对象(receiver)接收到 Unknown selector 时,会进入如图流程,用户可以在这三个步骤中 override receiver 的相关方法,进而避免doesNotRecognizeSelector:异常。\n《Effective Objective-C 2.0》的描述是:\n\n步骤越往后,处理消息的代价就越大;最好能在第一步就处理完,这样的话,runtime 系统就可以将此方法缓存起来,进而提高效率。若想在第三步里把消息转发给备援的 receiver,那还不如把转发操作提前到第二步。因为第三步只是修改了调用目标,这项改动放在第二步会更为简单,不然的话,还得创建并处理完整的NSInvocation。\n\n+resolveInstanceMethod\nReceiver 在收到 unknown selector 后,首先将调用其本类的resolveInstanceMethod:方法,该方法定义如下:\n+ (BOOL)resolveInstanceMethod:(SEL)sel;\n\n该方法的参数就是那个 unknown selector,其返回值为Boolean类型,表示这个类是否能新增一个实例方法用以处理该 unknown selector。在继续往下执行转发机制之前,本类有机会新增一个处理此 selector 的方法。所以resolveInstanceMethod:的一般使用套路是:\n+ (BOOL)resolveInstanceMethod:(SEL)aSelector {\n if (/* aSelector满足某个条件 */) {\n /*\n 调用class_addMethod为该类添加一个处理aSelector的方法,譬如:\n class_addMethod(self, aSelector, aImp, @\"v@:@\");\n */\n return YES;\n }\n return [super resolveInstanceMethod:aSelector];\n}\n\n假如尚未实现的方法不是实例方法而是类方法,那么 runtime 系统会调用另外一个与resolveInstanceMethod:类似的方法resolveClassMethod:。\n就我经验而言,resolveInstanceMethod:的使用场景一般用来动态添加 setter 和 getter。\n#-forwardingTargetForSelector\n当前 receiver 还有第二次机会能处理 unknown selector,在这一步中,runtime 系统会问它:可否把这条消息转给其他对象处理?该步骤对应的处理方法是forwardingTargetForSelector:,定义于中:\n- (id)forwardingTargetForSelector:(SEL)aSelector;\n\n若当前 receiver 能找到备援对象,则将其返回,当然,备援对象必须能够响应 aSelector,否则依然会抛出doesNotRecognizeSelector:异常;若找不到,则返回nil。\n-forwardingTargetForSelector:的使用逻辑非常简单,应用场景包括:\n\n实现多继承。Objective-C 不允许多继承,基于-forwardingTargetForSelector:,可以通过组合的方式,模拟出多继承的某些特性。\n为协议遵循者提供默认实现。譬如某个协议定义了多个方法,有必要为这几个方法提供默认实现;具体做法是定义一个类(假设为 Implement),用于实现这几个方法,然后 override 协议遵循者的-forwardingTargetForSelector:方法,将协议方法的 receiver 定位到 Implement 对象。\n\n#-forwardInvocation\n-forwardInvocation:要和-methodSignatureForSelector:配套使用,后者为NSMethodSignature对象,该对象携带 selector 的签名信息,包括参数类型、返回值类型和长度等。Runtime 内部会基于NSMethodSignature实例构建一个NSInvocation对象,作为回调-forwardInvocation:的入参。\n只要回调-methodSignatureForSelector:的返回值不为空,就会进入-forwardInvocation:方法,用户可以在此过程中修改 invocation 的 target,将 receiver 定位到别处:\n- (void)forwardInvocation:(NSInvocation *)invocation {\n [invocation setTarget:self.target]; // 让self.target成为消息的receiver\n [invocation invoke];\n}\n\n值得一提的是,除了修改 receiver,还可以修改入参,甚至是返回值。NSInvocation#invoke会触发 receiver 的 selector 的调用,如果不想调用怎么办?没怎么办,只要确保 invocation 的返回值(NSInvocation#setReturnValue:)的类型和长度一致即可。\nUnknown selector 触发的三个回调介绍完毕,简单总结一下。\n就作用而言,+resolveInstanceMethod:主要用于为类动态增加实例方法;-forwardingTargetForSelector:用于将 selector 的 receiver 从self定位到别的 target;这两个方法的使用都比较直接简单,不太能整出花样。-forwardInvocation:就不同了,在它身上可以动的手脚比较多,不光可以修改 receiver,还可以篡改入参、返回值;当然,-forwardInvocation:的代价比较大一些,毕竟还会触发-methodSignatureForSelector:,构建NSMethodSignature和NSInvocation实例。\n如果需要动态新增方法,可以在+resolveInstanceMethod:阶段完成;如果只是需要篡改 receiver,在-forwardingTargetForSelector:阶段完成更省事儿;如果需要更高阶的玩法,或许真的只有-forwardInvocation:能满足需求。\nNSProxy\n\nNSProxy is an abstract superclass defining an API for objects that act as stand-ins for other objects or for objects that don’t exist yet. Typically, a message to a proxy is forwarded to the real object or causes the proxy to load (or transform itself into) the real object. Subclasses of NSProxy can be used to implement transparent distributed messaging (for example, NSDistantObject) or for lazy instantiation of objects that are expensive to create.\n\nNSProxy是一个抽象的超类,它定义了一个对象的API,用来充当其他对象或者一些不存在的对象的替身。通常,发送给Proxy的消息会被转发给实际对象,或使Proxy加载(转化为)实际对象。 NSProxy的子类可以用于实现透明的分布式消息传递(例如,NSDistantObject),或者用于创建开销较大的对象的惰性实例化。\n作为抽象类,它不实现初始化方法,并且会在收到任何它不响应的消息时引发异常。因此,具体子类必须实现一个初始化或者创建方法,并且重写- (void)forwardInvocation:(NSInvocation )invocation;和- (nullable NSMethodSignature )methodSignatureForSelector:(SEL)sel方法,来转发它没实现的方法。这也是NSProxy的主要功能,负责把消息转发给真正的target的代理类,NSProxy正是代理的意思。\n总结:\nNSProxy专门为消息转发而生\nReference\n1.NSObject 的消息转发机制\n2.NSProxy的理解和使用\n"},"iOS/OCFoundation/KVC.html":{"url":"iOS/OCFoundation/KVC.html","title":"KVC","keywords":"","body":"KVC\n是一种键值对设计模式,破坏面对对象的编程思想。(不重写特定方法,找不到Key情况下会崩溃)\n主要方法\n-(id)valueForKey:(NSString *)key\n-(void)setValue:(id)value forked:(NSString *)key;\n\n寻找路径\nsetterKey(keySet方法) -> _key -> _isKey -> key -> iskey\n\n \nKVC setvalue:forkey与setvalue:forkeypath的区别:\nforkey用于简单路径,forkeypath用于复合路径(比如key是对象,可以直接赋值给这个对象的属性.eg:setValue:@100 forKeyPath:@\"person.number\")\n"},"iOS/OCFoundation/KVO.html":{"url":"iOS/OCFoundation/KVO.html","title":"KVO","keywords":"","body":"KVO\nKVO初探\nKVO(Key-Value Observing)是苹果提供的一套事件通知机制,这种机制允许将其他对象的特定属性的更改通知给对象。iOS开发者可以使用KVO 来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。\n在Documentation Archieve中提到一句想要理解KVO,必须先理解KVC,因为键值观察是建立在键值编码的基础上\n\nIn order to understand key-value observing, you must first understand key-value coding.——Key-Value Observing Programming Guide\n\n而KVO和NSNotificatioCenter都是iOS观察者模式的一种实现,两者的区别在于:\n\n相对于被观察者和观察者之间的关系,KVO是一对一的,NSNotificatioCenter是一对多的\nKVO对被监听对象无侵入性,不需要修改其内部代码即可实现监听\n\nKVO使用及注意点\n1.基本使用\nKVO使用三部曲:\n\n注册观察者\n\n[self.person addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:NULL];\n\n\n实现回调\n\n- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {\n if ([keyPath isEqualToString:@\"name\"]) NSLog(@\"%@\", change);\n}\n\n\n移除观察者\n\n[self.person removeObserver:self forKeyPath:@\"name\"];\n\n2.context的使用\nKey-Value Observing Programming Guide是这么描述context的\n\n\n消息中的上下文指针包含任意数据,这些数据将在相应的更改通知中传递回观察者;您可以指定NULL并完全依赖键路径字符串来确定更改通知的来源,但是这种方法可能会导致对象的父类由于不同的原因而观察到相同的键路径,因此可能会出现问题;一种更安全,更可扩展的方法是使用上下文确保您收到的通知是发给观察者的,而不是超类的。\n\n这里提出一个假想,如果父类中有个name属性,子类中也有个name属性,两者都注册对name的观察,那么仅通过keyPath已经区分不了是哪个name发生变化了,现有两个解决办法:\n\n多加一层判断——判断object,显然为了满足业务需求而去增加逻辑判断是不可取的\n使用context传递信息,更安全、更可扩展\n\ncontext使用总结:\n\n不使用context作为观察值\n\n// context是 void * 类型,应该填 NULL 而不是 nil\n[self.person addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew) context:NULL];\n\n\n使用context传递信息\n\nstatic void *PersonNameContext = &PersonNameContext;\nstatic void *ChildNameContext = &ChildNameContext;\n\n[self.person addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew) context:PersonNameContext];\n[self.child addObserver:self forKeyPath:@\"name\" options:(NSKeyValueObservingOptionNew) context:ChildNameContext];\n\n- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {\n if (context == PersonNameContext) {\n NSLog(@\"%@\", change);\n } else if (context == ChildNameContext) {\n NSLog(@\"%@\", change);\n }\n}\n\nKVO原理——isa-swizzling\n\nKey-Value Observing Programming Guide中有一段底层实现原理的叙述\n\nKVO是使用isa-swizzling技术实现的\n顾名思义,isa指针指向维护分配表的对象的类,该分派表实质上包含指向该类实现的方法的指针以及其他数据\n在为对象的属性注册观察者时,将修改观察对象的isa指针,指向中间类而不是真实类。isa指针的值不一定反映实例的实际类\n您永远不应依靠isa指针来确定类成员身份。相反,您应该使用class方法来确定对象实例的类\n\n注册观察者之前:类对象为\nFXPerson\n,实例对象isa指向\nFXPerson\n\n\n注册观察者之后:类对象为 FXPerson,实例对象isa指向 NSKVONotifying_FXPerson\n\n\n\n从这两图中可以得出一个结论:观察者注册前后FXPerson类没发生变化,但实例对象的isa指向发生变化\n对观察者模式的又一实现; Apple 使用了 isa 混写(isa-swizzling) 来实现KVO.\n\nKVO是基于runtime机制实现的\n当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter 方法。派生类在被重写的setter方法内实现真正的通知机制\n\n每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法\n\nKVO的这套实现机制中苹果还偷偷重写了class方法,让我们误认为还是使用的当前类,从而达到隐藏生成的派生类\n\n\n当调用了 addObserver:forkeypath方法之后,系统会动态创建 NSKVONorifying_A类,同时将A的isa指针指向 NSKVONorifying_A。\niOS中KVO分为自动监听和手动触发两种形式\n手动触发:\n\n重写监听属性的set、get方法\n重写 + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key \n在set方法中在赋值的前后分别调用:willChangeValueForKey和didChangeValueForKey\n实现willChangeValueForKey和didChangeValueForKey方法\n\n其中需要重写\n+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key{\n if([key isEqualToString:@\"age\"]){\n //取消自动发送通知\n return NO;\n }else{\n return [super automaticallyNotifiesObserversForKey:key];\n }\n}\n\n总结\n\nautomaticallyNotifiesObserversForKey为YES时注册观察属性会生成动态子类NSKVONotifying_XXX\n动态子类观察的是setter方法\n动态子类重写了观察属性的setter方法 dealloc class _isKVOA方法\nsetter方法用于观察键值\ndealloc方法用于释放时对isa指向进行操作\nclass方法用于指回动态子类的父类\n_isKVOA用来标识是否是在观察者状态的一个标志位\n\n\ndealloc之后isa指向元类\ndealloc之后动态子类不会销毁\n\nReference\n1 iOS探索 KVO原理及自定义\n"},"iOS/OCFoundation/Runloop.html":{"url":"iOS/OCFoundation/Runloop.html","title":"Runloop","keywords":"","body":"Runloop\n定义\nrunloop是一个事件驱动的大循环,它会把来自用户的交互事件、系统内部事件、计时器事件加入到事件队列中,并循环地从事件队列中取出事件进行处理,当所有的事件都处理完毕时,就会进入休眠状态,直到被新到来的事件唤醒。\nRunLoop是通过内部维护的事件循环来对事件/消息进行管理的一个对象\n事件循环指,没有消息需要处理时,休眠以避免资源占用,有消息需要处理时,立刻唤醒\nRunloop 的目的是使线程在没有事情可做时进入休眠状态,避免 CPU 空转。\n\n\n用户态: 应用程序一般都运行在用户态上\n内核态: 系统调用,需要使用到一些操作系统以及一些底层内核指令或者API\n\n源码\n通常所说的RunLoop指的是NSRunloop或者CFRunloopRef,CFRunloopRef是纯C的函数,而NSRunloop仅仅是CFRunloopRef的OC封装,并未提供额外的其他功能\nint32_t __CFRunLoopRun( /** 5个参数 */ )\n{\n // 通知即将进入runloop\n __CFRunLoopDoObservers(KCFRunLoopEntry);\n\n do\n {\n // 通知将要处理timer和source\n __CFRunLoopDoObservers(kCFRunLoopBeforeTimers);\n __CFRunLoopDoObservers(kCFRunLoopBeforeSources);\n\n // 处理非延迟的主线程调用\n __CFRunLoopDoBlocks();\n // 处理Source0事件\n __CFRunLoopDoSource0();\n\n if (sourceHandledThisLoop) {\n __CFRunLoopDoBlocks();\n }\n // 如果有 Source1 (基于port) 处于 ready 状态,直接处理这个 Source1 然后跳转去处理消息。\n if (__Source0DidDispatchPortLastTime) {\n Boolean hasMsg = __CFRunLoopServiceMachPort();\n if (hasMsg) goto handle_msg;\n }\n\n // 通知 Observers:没有事件要处理, RunLoop 的线程即将进入休眠(sleep)。\n if (!sourceHandledThisLoop) {\n __CFRunLoopDoObservers(runloop, currentMode, kCFRunLoopBeforeWaiting);\n }\n\n // GCD dispatch main queue\n CheckIfExistMessagesInMainDispatchQueue();\n\n // 即将进入休眠\n __CFRunLoopDoObservers(kCFRunLoopBeforeWaiting);\n\n // 等待内核mach_msg事件\n mach_port_t wakeUpPort = SleepAndWaitForWakingUpPorts();\n\n // 等待。。。\n\n // 从等待中醒来\n __CFRunLoopDoObservers(kCFRunLoopAfterWaiting);\n\n // 处理因timer的唤醒\n if (wakeUpPort == timerPort)\n __CFRunLoopDoTimers();\n\n // 处理异步方法唤醒,如dispatch_async\n else if (wakeUpPort == mainDispatchQueuePort)\n __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__()\n\n // 处理Source1\n else\n __CFRunLoopDoSource1();\n\n // 再次确保是否有同步的方法需要调用\n __CFRunLoopDoBlocks();\n\n } while (!stop && !timeout);\n\n // 通知即将退出runloop\n __CFRunLoopDoObservers(CFRunLoopExit);\n}\n\n输入源source\n输入源是指事件的来源,输入源将事件异步传送到您的线程。事件的来源取决于输入源的类型,通常是两个类别之一。基于端口的输入源监视应用程序的 Mach 端口。自定义输入源监视自定义事件源。基于端口的源由内核自动发出信号,自定义源必须从另一个线程手动发出信号。 来看一下官方 Runloop 结构图(注意下图的 Input Source Port 和前面流程图中对应Source1。Source1和Timer都属于端口事件源,不同的是所有的Timer都共用一个端口“Mode Timer Port”,而每个Source1都有不同的对应端口):\n\n\nsource1和source0的区别: source1: 基于mach_Port的,来自系统内核或者其他进程或线程的事件,可以主动唤醒休眠中的RunLoop(iOS里进程间通信开发过程中我们一般不主动使用)。mach_port大家就理解成进程间相互发送消息的一种机制就好, 比如屏幕点击, 网络数据的传输都会触发sourse1。 苹果创建用来接受系统发出事件,当手机发生一个触摸,摇晃或锁屏等系统,这时候系统会发送一个事件到app进程(进程通信),这也就是为什么叫基于port传递source1的原因; source0 :非基于Port的 处理事件,什么叫非基于Port的呢?就是说你这个消息不是其他进程或者内核直接发送给你的。一般是APP内部的事件, 比如hitTest:withEvent的处理, performSelectors的事件. 简单举个例子:一个APP在前台静止着,此时,用户用手指点击了一下APP界面,那么过程就是下面这样的: 我们触摸屏幕,先摸到硬件(屏幕),屏幕表面的事件会被IOKit先包装成Event,通过mach_Port传给正在活跃的APP , Event先告诉source1(mach_port),source1唤醒RunLoop, 然后将事件Event分发给source0,然后由source0来处理。\n\n常见的几种源有基于端口的源、自定义的源、performSelect源和计时器源;\nRunLoop就是线程中的一个循环,RunLoop在循环中会不断检测,通过Input sources(输入源)和Timer sources(定时源)两种来源等待接受事件;然后对接受到的事件通知线程进行处理,并在没有事件的时候进行休息。\nRunloop对象\niOS中Runloop的API\n\nFoundation: NSRunLoop\nCore Foundation: CFRunLoopRef\n\n\nNSRunLoop 和 CFRunLoopRef都代表Runloop对象,NSRunLoop是基于CFRunLoopRef的一层OC包装,CFRunLoopRef是开源的\n\n\nsource0\n需要手动唤醒线程\nsource1\n具备唤醒线程的能力\n\nRunloop对象的获取\n\nFoundation [NSRunloop currentRunLoop];获得当前线程的RunLoop对象 [NSRunLoop mainRunLoop];获得主线程的Runloop对象\nCore Foundation CFRunLoopGetCurrent();获得当前线程的RunLoop对象 CFRunLoopGetMain();获得主线程的Runloop对象\n\nRunloop的结构\nstruct __CFRunLoop {\n CFRuntimeBase _base;\n pthread_mutex_t _lock; /* locked for accessing mode list */\n __CFPort _wakeUpPort; // used for CFRunLoopWakeUp \n Boolean _unused;\n volatile _per_run_data *_perRunData; // reset for runs of the run loop\n pthread_t _pthread;\n uint32_t _winthread;\n CFMutableSetRef _commonModes;\n CFMutableSetRef _commonModeItems; \n CFRunLoopModeRef _currentMode; //当前Mode\n CFMutableSetRef _modes; //所有mode的集合\n struct _block_item *_blocks_head;\n struct _block_item *_blocks_tail;\n CFAbsoluteTime _runTime;\n CFAbsoluteTime _sleepTime;\n CFTypeRef _counterpart;\n};\n\nCFRunLoopRef——这个就是Runloop对象\nCFRunLoopModeRef——其内部主要包括四个容器,分别用来存放source0、source1、observer以及timer\nCFRunLoopSourceRef——分为source0和source1 source0:包括 触摸事件处理、[performSelector: onThread: ] source1:包括 基于Port的线程间通信、系统事件捕捉\nCFRunLoopTimerRef——timer事件,包括我们设置的定时器事件、[performSelector: withObject: afterDelay:]\nCFRunLoopObserverRef——监听者,Runloop状态变更的时,会通知监听者进行函数回调,UI界面的刷新就是在监听到Runloop状态为BeforeWaiting时进行的。\n上这几个类相互之间的关系,可以通过如下的图来描绘.\n\n一个RunLoop对象里面包含了若干个RunLoopMode,RunLoop内部是通过一个集合容器_modes来装这些RunLoopMode的。\nRunLoopMode内部核心内容是4个数组容器,分别用来装source0,source1,observer和timer,RunLoop对象内部有一个_currentMode,它指向了该RunLoop对象的其中一个RunLoopMode,它代表的含义是RunLoop当前所运行的RunLoopMode,所谓“运行”也就是说,RunLoop当前只会执行_currentMode所指向的RunLoopMode里面所包括的事件(source0、source1、observer、timer)\nRunLoop启动时只能选择其中一个Mode作为currentMode。\n还有就是RunLoop对象内部还包括一个线程对象_pthread,这就是跟它一一对应的那个线程对象。\n\n\nsource0\n包括触摸事件处理、[performSelector: onThread: ]\nsource1\nsource1包括系统事件捕捉和基于port的线程间通信。什么是系统事件捕捉?又如何理解基于port的线程间通信?其实,我们手指点击屏幕,首先产生的是一个系统事件,通过source1来接受捕捉,然后由Springboard程序包装成source0分发给应用去处理,因此我们在App内部接受到触摸事件,就是source0,\n\n基于port的线程间通信通过下面的图示大致理解即可\n\n \nCFRunLoopTimerRef\n同样,可以在Xcode里面通过LLDB的bt指令,查看NSTimer事件和[performSelector: withObject: afterDelay]事件的函数调用栈,发现它们都是通过 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__函数被吊起的。从函数名看出,它们确实是属于timer事件(CFRunLoopTimerRef)\nCFRunLoopObserverRef\n我们知道 observer 是用来监听Runloop状态的。还可以处理UI界面刷新,那我们些的那些UI界面相关的控制代码,是怎么被执行的呢?图示如下\n \nRunloop状态总共有以下几种\n/* Run Loop Observer Activities */\ntypedef CF_OPTIONS(CFOptionFlags, CFRunLoopActivity) {\n kCFRunLoopEntry = (1UL \n_modes和_commonModes\nRunloop Mode 是事件源的集合 + Runloop观察者的集合。Runloop 每次都运行在某个特定的 mode 上。\n之所以要引入 mode 的概念,是希望 Runloop 在监听过程中过滤掉不关心的事件源,只专注于某些特定的事件。\n Runloop总是运行在某种特定的CFRunLoopModeRef下,意思是每次Runloop开始时候会选择一个mode,执行这个mode里面的 block,timer等事件.这可以解释滑动过程中,NSTimer为什么会停止,因为滑动过程中Runloop处于 TrackingMode,NSTimer默认添加在DefaultMode,所以不执行\n如果某个 input source 所属的 mode 不是当前监听的 mode,那 **其产生的所有事件都将被 hold 住,直到 runloop 运行在与其匹配的 mode 上\n系统默认注册了5个Mode:\n\nkCFRunLoopDefaultMode: App的默认 Mode,通常主线程是在这个 Mode 下运行的。\nUITrackingRunLoopMode: 界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响。\nUIInitializationRunLoopMode: 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用。\nGSEventReceiveRunLoopMode: 接受系统事件的内部 Mode,通常用不到。\nkCFRunLoopCommonModes: 伪模式,这是一个占位的 Mode,没有实际作用。\n\nCommonMode的特殊性\nNSRunLoopCommonModes\n\nCommonMode不是实际存在的一种Mode\n是同步Source/Timer/Observer到多个Mode中的一种技术方案\n\n\nNSRunLoopCommonModes其实不是一个具体的模式,它可以理解成一个标签,被打上这种标签的具体Mode会被放入到RunLoop内部的一个容器成员_commonModes里面,它是一个CFMutableSetRef,默认情况下,_commonModes内部装着kCFRunLoopDefaultMode + UITrakingRunLoopMode这两个Mode,等于说这两个Mode是具有NSRunLoopCommonModes标记的,因此都被添加进了_commonModes,根据上面的代码,timer将不会被添加到某个具体的Mode里,而是会被放入RunLoop的_commonModeItems这个容器里。只要App运行在_commonModes所包含的某个Mode下,就会去处理_commonModeItems里面的事件。当然,所运行的那个Mode自己本身所包含的事件也是会被处理的,\n如果有子线程想通过performSelecorOnMainThread... 或 dispatch_async(dispatch_get_main_queue(),^{}) 在主线程上执行某 selector,默认情况下上述两种方式产生的事件是关联到NSRunLoopCommonModes,因此在 UI 滑动时也会响应该事件并执行指定的 selector,从而影响滑动的流畅性。\nRuntloop运行流程\n\nRun Loop 接收的事件来源 (source) 有两种。\n\nInput Source 传送来自其他应用或线程的异步事件/消息;\nTimer Source 传送的是基于定时器的同步事件,可以定时或重复发送。\n\nSource0:\n\n触摸事件处理\nperformSelector: onThread:\n\nSource1:\n\n基于port的线程通信\n系统事件捕捉\n\nTimers:\n\nNSTimer\nperformSelector:withObject:afterDelay:\n\nObservers:\n\n用于监听RunLoop的状态\nUI刷新(BeforeWaiting)\nAutoreleasepool(BeforeWaiting)\n\nRunloop & Thread\nRunloop与线程是一一对应的,一个runloop对应一个核心的线程。每个 thread 都有自己的 Runloop,可以通过 NSRunLoop的类方法c\u0010urrentRunLoop获取当前线程的 runloop。\n但只有 main thread 的 runloop 默认是开启的,其他线程如果希望持续存活下去,就需要手动开启Runloop。\n对于子线程来说,runloop是懒加载的,只有当我们使用的时候才会创建,\n所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调。\nRunloop是来管理线程的,当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。\nRunLoop相关类\nCore Foundation框架下关于RunLoop的5个类:\n\nCFRunLoopRef:代表RunLoop的对象\nCFRunLoopModeRef:RunLoop的运行模式\nCFRunLoopSourceRef:就是RunLoop模型图中提到的输入源/事件源\nCFRunLoopTimerRef:就是RunLoop模型图中提到的定时源\nCFRunLoopObserverRef:观察者,能够监听RunLoop的状态改变\n\n我们可通过以下方式来获取RunLoop对象:\n\nCore Foundation\nCFRunLoopGetCurrent(); // 获得当前线程的RunLoop对象\nCFRunLoopGetMain(); // 获得主线程的RunLoop对象\n\n\nFoundation\n[NSRunLoop currentRunLoop]; // 获得当前线程的RunLoop对象\n[NSRunLoop mainRunLoop]; // 获得主线程的RunLoop对象\n\n\n\nCFRunLoopGetCurrent :\nCFRunLoopRef CFRunLoopGetCurrent(void) {\n CHECK_FOR_FORK();\n CFRunLoopRef rl = (CFRunLoopRef)_CFGetTSD(__CFTSDKeyRunLoop);\n if (rl) return rl;\n return _CFRunLoopGet0(pthread_self());\n}\n\n查看_CFRunLoopGet0方法内部\nCF_EXPORT CFRunLoopRef _CFRunLoopGet0(pthread_t t) {\n if (pthread_equal(t, kNilPthreadT)) {\n t = pthread_main_thread_np();\n }\n __CFLock(&loopsLock);\n if (!__CFRunLoops) {\n __CFUnlock(&loopsLock);\n // 创建一个dict\n CFMutableDictionaryRef dict = CFDictionaryCreateMutable(kCFAllocatorSystemDefault, 0, NULL, &kCFTypeDictionaryValueCallBacks);\n // 根据传入的主线程获取主线程对应的RunLoop\n CFRunLoopRef mainLoop = __CFRunLoopCreate(pthread_main_thread_np());\n // 保存主线程 将主线程-key和RunLoop-Value保存到字典中\n CFDictionarySetValue(dict, pthreadPointer(pthread_main_thread_np()), mainLoop);\n\n if (!OSAtomicCompareAndSwapPtrBarrier(NULL, dict, (void * volatile *)&__CFRunLoops)) {\n CFRelease(dict);\n }\n CFRelease(mainLoop);\n __CFLock(&loopsLock);\n }\n\n // 从字典里面拿,将线程作为key从字典里获取一个loop\n CFRunLoopRef loop = (CFRunLoopRef)CFDictionaryGetValue(__CFRunLoops, pthreadPointer(t));\n __CFUnlock(&loopsLock);\n\n // 如果loop为空,则创建一个新的loop,所以runloop会在第一次获取的时候创建\n if (!loop) {\n CFRunLoopRef newLoop = __CFRunLoopCreate(t);\n __CFLock(&loopsLock);\n loop = (CFRunLoopRef)CFDictionaryGetValue(__CFRunLoops, pthreadPointer(t));\n\n // 创建好之后,以线程为key runloop为value,一对一存储在字典中,下次获取的时候,则直接返回字典内的runloop\n if (!loop) {\n CFDictionarySetValue(__CFRunLoops, pthreadPointer(t), newLoop);\n loop = newLoop;\n }\n // don't release run loops inside the loopsLock, because CFRunLoopDeallocate may end up taking it\n __CFUnlock(&loopsLock);\n CFRelease(newLoop);\n }\n if (pthread_equal(t, pthread_self())) {\n _CFSetTSD(__CFTSDKeyRunLoop, (void *)loop, NULL);\n if (0 == _CFGetTSD(__CFTSDKeyRunLoopCntr)) {\n _CFSetTSD(__CFTSDKeyRunLoopCntr, (void *)(PTHREAD_DESTRUCTOR_ITERATIONS-1), (void (*)(void *))__CFFinalizeRunLoop);\n }\n }\n return loop;\n}\n\n线程和 RunLoop 之间是一一对应的,其关系是保存在一个 Dictionary 里。所以我们创建子线程RunLoop时,只需在子线程中获取当前线程的RunLoop对象即可[NSRunLoop currentRunLoop];\n如果不获取,那子线程就不会创建与之相关联的RunLoop,并且只能在一个线程的内部获取其 RunLoop [NSRunLoop currentRunLoop];\n方法调用时,会先看一下字典里有没有存子线程相对用的RunLoop,如果有则直接返回RunLoop,如果没有则会创建一个,并将与之对应的子线程存入字典中。当线程结束时,RunLoop会被销毁。\n总结\n\nmain runloop在主界面即将显示前由系统启动(主界面 controller 的 viewWillAppear:执行后启动);\n\nrunloop 启动后(唤醒后)会依次处理 timer(如果有)、source event(如果有)并在此前通知 observer;\n\nmain runloop每分钟会被唤醒一次\n\nUI事件唤醒 main runloop 直到处理完该事件,如果该事件含有异步操作,runloop 不会等待异步操作完成;\n\nUIViewController的viewWillAppear:和viewDidAppear:不在同一次 runloop 中被调用;\n\ntimer会唤醒 runloop 但不会使 runloop 退出;\n\n如果子线程的 runloop 没有绑定 timer 或 source event,其 runloop 不会启动;\n\n一次 runloop 可以处理多个事件。\n\n\n注意点\nTimer Sources(NSTimer)\nTimer source 会在未来一个预定时间向线程同步分发事件。线程可以用 Timer 来通知自己做一些事情。比如用户在搜索栏输入一连串字符之后的某个时间自动搜索一次结果。正是因为有了个延时,才让用户有机会在自动搜索发生前尽可能打出想要的搜索字符串。\nTimer 并不是实时的,会有误差。如果一个 timer 不在正在运行的 runloop 监控的 mode 中,需要一直等到 runloop 运行在一个支持这个 timer 的 mode 时,timer 才会触发。如果一个 timer 触发的时候恰巧 run loop 正忙于执行某个 handler 程序,这个 timer 的 handler 程序需要等到下次才会通过 run loop 执行。如果 runloop 根本不在运行,timer 永远都不会触发。\n可以配置 timer 只生成一次或重复多次事件。重复的 timer 每次会根据已经编排的触发时间自动重新编排。如果实际的触发时间太过于延迟,甚至是晚了一个或多个周期,那么也只会触发一次,而非连续多次。之后会重新编排下次触发时间。\nRunloop 运用场景\n以AFNetworking2.x 保活原理来说:\n/*\nAFNetworking/NSURLConnection/AFURLConnectionOperation.m\n*/ \n+ (NSThread *)networkRequestThread {\n static NSThread *_networkRequestThread = nil;\n static dispatch_once_t oncePredicate;\n dispatch_once(&oncePredicate, ^{\n _networkRequestThread = [[NSThread alloc] initWithTarget:self selector:@selector(networkRequestThreadEntryPoint:) object:nil];\n [_networkRequestThread start];\n });\n\n return _networkRequestThread;\n}\n------------------------------------------------------------------------\n/*\nAFNetworking/NSURLConnection/AFURLConnectionOperation.m\n*/ \n\n+ (void)networkRequestThreadEntryPoint:(id)__unused object {\n @autoreleasepool {\n [[NSThread currentThread] setName:@\"AFNetworking\"];\n\n NSRunLoop *runLoop = [NSRunLoop currentRunLoop];\n [runLoop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];\n [runLoop run];\n }\n}\n如代码,为线程中Runloop添加一个 [NSMachPort port] source1 事件源,让线程不退出一直保活。直到 AF3.x,废弃了 NSURLConnection。因为NSURLConnection中,执行回调的要在子线程,可能回调回来线程已经销毁无法做回调.3.x版本中,使用了 NSURLSession,能指定queue回调,所以避免了问题\nRunLoop中Source0和Source1的区别\nSource0并不能主动触发事件。使用时,你需要先调用CFRunLoopSourceSignal,将这个Source标记为待处理,然后手动调用CFRunLoopWakeUp来唤醒RunLoop,让其处理这个事件。\nSource1能主动触发事件。其中它有一个mach_port_t,mach_port是用于内核向线程发送消息的。\n使用Source0的情况:\n\n触摸事件处理;\n调用performSelector:onThread:withObject:waitUntilDone:方法;\n\n使用Source1的情况:\n\n基于端口的线程间通信(A线程通过端口发送消息到B线程,这个消息是Source1的;\n系统事件的捕捉,先触发是Source1,接着分发到Source0去处理。\n\nRunLoop响应用户操作\n以按钮点击触发事件为例,点击屏幕的时候,首先系统内部捕获到这个点击事件,这是在Source1中处理的,Source1会包装成事件丢到事件队列中,交给Source0处理。\nRunLoop与UI刷新\n当UI需要更新的时候,比如改变了frame、更新了UIView/CALayer的层次时,或者手动调用了setNeedsLayout/setNeedsDisplay方法后,这个UIView/CALayer就被标记为待处理,并被提交到一个全局的容器去。\n苹果注册了一个Observer监听BeforeWaiting(即将进入休眠) 和 Exit(即将退出Loop) 事件,回调去执行一个很长的函数:CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)() 这个函数里会遍历所有待处理的UIView/CAlayer以执行实际的绘制和调整,并更新界面。\n\nRunLoop与AutoreleasePool\n在程序启动之后,主线程会创建一个Runloop,也会创建两个Observer,回调工作都是在_wrapRunLoopWithAutoreleasePoolHandler函数中。\n第一个Observer监听的是Entry(即将进入Loop),回调是在_objc_autoreleasePoolPush()中创建自动释放池的,优先级是最高的,保证创建释放池是在所有回调之前。\n第二个Observer监听有两个事件:BeforeWaiting(进入休眠)时调用_objc_autoreleasePoolPop和_objc_autoreleasePoolPush释放旧的释放池以及创建新的释放池;Exit(退出Loop)调用_objc_autoreleasePoolPop来释放自动释放池。这个优先级是最低的,保证释放池发生在所有回调之后调用。\nReference\n1.谜一样的 Runloop\n2.深入理解RunLoop\n3.OC中的RunLoop\nRunloop的内部结构与运行原理什么是Runloop Runloop顾名思义,就是运行循环。首先它根程序运行过程有关系 - 掘金 (juejin.cn)\n"},"iOS/OCFoundation/AutoReleasePool.html":{"url":"iOS/OCFoundation/AutoReleasePool.html","title":"AutoReleasePool","keywords":"","body":"Autoreleasepool\nAutoreleasePool(自动释放池)是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量release的时机。\n在没有手加Autorelease Pool的情况下, Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池Push和Pop\nAutoreleasepool结构\n编译器会把@autoreleasepool{}改写成:\nstruct __AtAutoreleasePool {\n //构造函数-->可以类比成OC的init方法,在创建时调用\n __AtAutoreleasePool()\n {\n atautoreleasepoolobj = objc_autoreleasePoolPush();\n }\n\n //析构函数-->可以类比成OC的dealloc方法,在销毁时调用\n ~__AtAutoreleasePool()\n {\n objc_autoreleasePoolPop(atautoreleasepoolobj);\n }\n\n void * atautoreleasepoolobj;\n};\n\n\n\nvoid *ctx = objc_autoreleasePoolPush();\n{}中代码\nobjc_autoreleasePoolPop(ctx);\n\n\nvoid *objc_autoreleasePoolPush(void){\n return AutoreleasePoolPage::push();\n}\n\nvoid objc_autoreleasePoolPop(void *ctxt){\n AutoreleasePoolPage:pop(ctxt);\n}\n\n从上述代码可以知道Push,Pop都是操作 AutoreleasePoolPage的\n单层@autoreleasepool {}的情况,那么如果有多层@autoreleasepool {}嵌套在一起,就可以按照同样的规则来拆解\n\nAutoreleasePoolPage 结构\nclass AutoreleasePoolPage {\n magic_t const magic; //用于对当前 AutoreleasePoolPage 完整性的校验\n id *next; //指向AutoreleasePoolPage内下一个可以用来存放自动释放对象的内存地址\n pthread_t const thread; //thread 保存了当前页所在的线程,自动释放池所属的线程,说明它不能跟多个线程关联。\n AutoreleasePoolPage * const parent; //指向上一页释放池的指针\n AutoreleasePoolPage *child; //指向下一页释放池的指针\n uint32_t const depth;\n uint32_t hiwat;\n};\n\n\n每一个自动释放池都是由一系列的 AutoreleasePoolPage 组成的,并且每一个 AutoreleasePoolPage 的大小都是 4096 字节\n\nAutoreleasePool并没有特定的内存结构,它是通过以AutoreleasePoolPage为节点的双向链表。\n每一个AutoreleasePoolPage节点是一个堆栈结,且大小为4096个字节。\n一个AutoreleasePoolPage节点对应着一个线程,属于一一对应关系。\n\nAutoreleasePool结构如图所示:\n\n双向链表\n自动释放池中的 AutoreleasePoolPage 是以双向链表的形式连接起来的:\n\nparent 和 child 就是用来构造双向链表的指针。\n接着我们看一下AutoreleasePoolPage的构造函数以及一些操作方法:\n //构造函数\n AutoreleasePoolPage(AutoreleasePoolPage *newParent) \n : magic(), next(begin()), thread(pthread_self()),\n parent(newParent), child(nil), \n depth(parent ? 1+parent->depth : 0), \n hiwat(parent ? parent->hiwat : 0)\n { \n if (parent) {\n parent->check();\n assert(!parent->child);\n parent->unprotect();\n parent->child = this;\n parent->protect();\n }\n protect();\n }\n\n //相关操作方法\n id * begin() {\n return (id *) ((uint8_t *)this+sizeof(*this));\n }\n\n id * end() {\n return (id *) ((uint8_t *)this+SIZE);\n }\n\n bool empty() {\n return next == begin();\n }\n\n bool full() { \n return next == end();\n }\n\n bool lessThanHalfFull() {\n return (next - begin() \n\nbegin() 表示了一个AutoreleasePoolPage节点开始存autorelease对象的位置。\nend() 一个AutoreleasePoolPage节点最大的位置\nempty() 如果next指向beigin()说明为空\nfull() 如果next指向end)说明满了\nid *add(id obj) 添加一个autorelease对象,next指向下一个存对象的地址。\n\n所以一个空的AutoreleasePoolPage的结构如下:\n\nAutoreleasePoolPage::push()\npush代码如下:\n static inline void *push() \n {\n id *dest;\n if (DebugPoolAllocation) {\n // Each autorelease pool starts on a new pool page.\n dest = autoreleaseNewPage(POOL_BOUNDARY);\n } else {\n dest = autoreleaseFast(POOL_BOUNDARY);\n }\n assert(dest == EMPTY_POOL_PLACEHOLDER || *dest == POOL_BOUNDARY);\n return dest;\n }\n\npush执行的时候首先会进行判断,如果是需要每个pool都生成一个新page,即DebugPoolAllocation为YES,则执行autoreleaseNewPage方法,否则执行autoreleaseFast方法。\nautoreleaseNewPage\nautoreleaseNewPage分为两种情况:\n\n当前存在page执行autoreleaseFullPage方法;\n当前不存在pageautoreleaseNoPage方法。\n\nautoreleaseFast\nautoreleaseFast分为三种情况:\n\n存在page且未满,通过add()方法进行添加;\n当前page已满执行autoreleaseFullPage方法;\n当前不存在page执行autoreleaseNoPage方法。\n\nhotPage\n前面讲到的page其实就是hotPage,通过AutoreleasePoolPage *page = hotPage();获取。\n static inline AutoreleasePoolPage *hotPage() \n {\n AutoreleasePoolPage *result = (AutoreleasePoolPage *)\n tls_get_direct(key);\n if ((id *)result == EMPTY_POOL_PLACEHOLDER) return nil;\n if (result) result->fastcheck();\n return result;\n }\n\n通过上面的代码我们知道当前页是存在TLS(线程私有数据)里面的。所以说第一次调用push的时候,没有page自然连hotPage也没有。\nautoreleaseFullPage\nstatic __attribute__((noinline))\n id *autoreleaseFullPage(id obj, AutoreleasePoolPage *page)\n {\n // The hot page is full. \n // Step to the next non-full page, adding a new page if necessary.\n // Then add the object to that page.\n assert(page == hotPage());\n assert(page->full() || DebugPoolAllocation);\n\n do {\n if (page->child) page = page->child;\n else page = new AutoreleasePoolPage(page);\n } while (page->full());\n\n setHotPage(page);\n return page->add(obj);\n }\n\nautoreleaseFullPage会从传入的page开始遍历整个双向链表,如果page满了,就看它的child节点,直到查找到一个未满的AutoreleasePoolPage。接着使用AutoreleasePoolPage构造函数传入parent创建一个新的AutoreleasePoolPage的节点(此时跳出了while循环)。\n在查找到一个可以使用的AutoreleasePoolPage之后,会将该页面标记成hotPage,然后调动add()方法添加对象。\nautoreleaseNoPage\nstatic __attribute__((noinline))\n id *autoreleaseNoPage(id obj)\n {\n //\"no page\"意味着没有没有池子被push或者说push了一个空的池子\n assert(!hotPage());\n\n bool pushExtraBoundary = false;\n if (haveEmptyPoolPlaceholder()) {//push了一个空的池子\n pushExtraBoundary = true;\n }\n else if (obj != POOL_BOUNDARY && DebugMissingPools) {\n _objc_inform(\"MISSING POOLS: (%p) Object %p of class %s \"\n \"autoreleased with no pool in place - \"\n \"just leaking - break on \"\n \"objc_autoreleaseNoPool() to debug\", \n pthread_self(), (void*)obj, object_getClassName(obj));\n objc_autoreleaseNoPool(obj);\n return nil;\n }\n else if (obj == POOL_BOUNDARY && !DebugPoolAllocation) {\n //没有池子被push\n return setEmptyPoolPlaceholder();\n }\n\n AutoreleasePoolPage *page = new AutoreleasePoolPage(nil);\n setHotPage(page);\n\n if (pushExtraBoundary) {\n //push了一个空的池子,添加哨兵对象\n page->add(POOL_BOUNDARY);\n }\n\n return page->add(obj);\n }\n\n //haveEmptyPoolPlaceholder的本质\n static inline bool haveEmptyPoolPlaceholder()\n {\n id *tls = (id *)tls_get_direct(key);\n return (tls == EMPTY_POOL_PLACEHOLDER);\n }\n\n从上面的代码我们可以知道,既然当前内存中不存在AutoreleasePoolPage,就要从头开始构建这个自动释放池的双向链表,也就是说,新的AutoreleasePoolPage是没有parent指针的。\n初始化之后,将当前页标记为hotPage,然后会先向这个page中添加一个POOL_BOUNDARY的标记,来确保在pop调用的时候,不会出现异常。\n最后,将obj添加到自动释放池中。\nautorelease方法\n接着看一下当对象调用autorelase方法发生了什么。\n- (id)autorelease {\n return ((id)self)->rootAutorelease();\n}\n\ninline id \nobjc_object::rootAutorelease()\n{\n if (isTaggedPointer()) return (id)this;\n if (prepareOptimizedReturn(ReturnAtPlus1)) return (id)this;\n\n return rootAutorelease2();\n}\n\n__attribute__((noinline,used))\nid \nobjc_object::rootAutorelease2()\n{\n assert(!isTaggedPointer());\n return AutoreleasePoolPage::autorelease((id)this);\n}\n\nstatic inline id autorelease(id obj)\n{\n assert(obj);\n assert(!obj->isTaggedPointer());\n id *dest __unused = autoreleaseFast(obj);\n assert(!dest || dest == EMPTY_POOL_PLACEHOLDER || *dest == obj);\n return obj;\n}\n\n从上面的源码我们看到,对象调用autorelase方法,最后会变成AutoreleasePoolPage的autorelease函数。AutoreleasePoolPage的autorelease的本质就是调用autoreleaseFast(obj)函数。只不过push操作插入的是一个POOL_BOUNDARY ,而autorelease操作插入的是一个具体的autoreleased对象即AutoreleasePoolPage入栈操作。\n当然这么说并不严谨,因为我们需要考虑是否是Tagged Pointer和是否进行优化的情况(prepareOptimizedReturn这个后面也会提到),如果不满足这两个条件才会进入缓存池。\n所以push的流程是:\n\nAutoreleasePoolPage::pop(ctxt)\n static inline void pop(void *token) \n {\n AutoreleasePoolPage *page;\n id *stop;\n\n //第一种情况:autoreleasepool首次push的时候返回的,也就是最顶层的page执行pop会执行这一部分\n if (token == (void*)EMPTY_POOL_PLACEHOLDER) {\n // Popping the top-level placeholder pool.\n if (hotPage()) {\n // Pool was used. Pop its contents normally.\n // Pool pages remain allocated for re-use as usual.\n pop(coldPage()->begin());\n } else {\n // Pool was never used. Clear the placeholder.\n setHotPage(nil);\n }\n return;\n }\n\n page = pageForPointer(token);\n\n //https://stackoverflow.com/questions/24952549/does-nsthread-create-autoreleasepool-automatically-now\n //第二种情况:在非ARC的情况下,在新创建的线程中不使用autoreleasepool,直接调用autorelease方法时会出现这个情况。此时没有pool,直接进行autorelease。\n stop = (id *)token;\n if (*stop != POOL_BOUNDARY) {\n if (stop == page->begin() && !page->parent) {\n // Start of coldest page may correctly not be POOL_BOUNDARY:\n // 1. top-level pool is popped, leaving the cold page in place\n // 2. an object is autoreleased with no pool\n } else {\n // Error. For bincompat purposes this is not \n // fatal in executables built with old SDKs.\n return badPop(token);\n }\n }\n\n if (PrintPoolHiwat) printHiwat();\n //第三种情况:也就是我们经常碰到的情况\n page->releaseUntil(stop);\n\n // memory: delete empty children\n if (DebugPoolAllocation && page->empty()) {\n // special case: delete everything during page-per-pool debugging\n AutoreleasePoolPage *parent = page->parent;\n page->kill();\n setHotPage(parent);\n } else if (DebugMissingPools && page->empty() && !page->parent) {\n // special case: delete everything for pop(top) \n // when debugging missing autorelease pools\n page->kill();\n setHotPage(nil);\n } \n else if (page->child) {\n // hysteresis: keep one empty child if page is more than half full\n if (page->lessThanHalfFull()) {\n page->child->kill();\n }\n else if (page->child->child) {\n page->child->child->kill();\n }\n }\n }\n\n这里我们主要分析下第三种情况。\nreleaseUntil\nvoid releaseUntil(id *stop) {\n while (this->next != stop) {\n AutoreleasePoolPage *page = hotPage();\n\n while (page->empty()) {\n page = page->parent;\n setHotPage(page);\n }\n\n page->unprotect();\n id obj = *--page->next;\n memset((void*)page->next, SCRIBBLE, sizeof(*page->next));\n page->protect();\n\n if (obj != POOL_BOUNDARY) {\n objc_release(obj);\n }\n }\n\n setHotPage(this);\n}\n\n从next指针开始,一个一个向前调用objc_release,直到碰到push时压入的pool为止。\n所以autoreleasePool的运行过程应该是:\npool1 = push()\n...\n pool2 = push()\n ...\n pool3 = push()\n ...\n pop(pool3)\n ...\n pop(pool2)\n...\npop(pool1)\n\n每次pop,实际上都会把最近一次push之后添加进去的对象全部release掉。\n自动释放池中的栈\n如果我们的一个 AutoreleasePoolPage 被初始化在内存的 0x100816000 ~ 0x100817000中,它在内存中的结构如下:\n\nnext 指向了下一个为空的内存地址,如果 next 指向的地址加入一个 object,它就会如下图所示移动到下一个为空的内存地址中:\n\nPOOL_SENTINEL(哨兵对象)\n在每个自动释放池初始化调用 objc_autoreleasePoolPush 的时候,都会把一个 POOL_SENTINEL push 到自动释放池的栈顶,并且返回这个 POOL_SENTINEL 哨兵对象。\nint main(int argc, const char * argv[]) {\n {\n void * atautoreleasepoolobj = objc_autoreleasePoolPush();\n\n // do whatever you want\n\n objc_autoreleasePoolPop(atautoreleasepoolobj);\n }\n return 0;\n}\n\n上面的 atautoreleasepoolobj 就是一个 POOL_SENTINEL。\n而当方法 objc_autoreleasePoolPop 调用时,就会向自动释放池中的对象发送 release 消息,直到第一个 POOL_SENTINEL:\n\nobjc_autoreleasePoolPush\nstatic inline id *autoreleaseFast(id obj)\n{\n AutoreleasePoolPage *page = hotPage();\n if (page && !page->full()) {\n return page->add(obj);\n } else if (page) {\n return autoreleaseFullPage(obj, page);\n } else {\n return autoreleaseNoPage(obj);\n }\n}\n\n底层转化为如上代码\nhotPage 可以理解为当前正在使用的 AutoreleasePoolPage。\n上述方法分三种情况选择不同的代码执行:\n\n有 hotPage 并且当前 page 不满\n\n调用 page->add(obj) 方法将对象添加至 AutoreleasePoolPage 的栈中\n\n\n有 hotPage 并且当前 page 已满\n\n调用 autoreleaseFullPage 初始化一个新的页\n调用 page->add(obj) 方法将对象添加至 AutoreleasePoolPage 的栈\n\n\n无 hotPage\n\n调用 autoreleaseNoPage 创建一个 hotPage\n调用 page->add(obj) 方法将对象添加至 AutoreleasePoolPage 的栈中\n\n\n\nobjc_autoreleasePoolPop\n作用如上图\n栈中存放的指针指向加入需要release的对象或者POOL_SENTINEL(哨兵对象,用于分隔Autoreleasepool)。\n栈中指向POOL_SENTINEL的指针就是Autoreleasepool的一个标记。当Autoreleasepool进行出栈操作,每一个比这个哨兵对象后进栈的对象都会release。\n\nRunloop 与 Autoreleasepool 创建\n每一个线程都会维护自己的autoreleasePool堆栈,也就是说每一个autoreleasePool对应一个线程。 \n@autoreleasepool{}的作用,实际上就是在作用域的头和尾分别调用了objc_autoreleasePoolPush();和objc_autoreleasePoolPop()函数\n每个Runloop中都会创建一个 AutoReleasepool 并在 Runloop迭代结束进行释放。何为 迭代结束?当前Runloop 进入 Sleep mode的时候,就结束当前 Runloop迭代.新的一轮Runloop创建一个新的 AutoReleasepool, Pool里面的临时对象在结束后得到释放(不一定即时,也有可能延后,系统决定)\n Runloop第一个 Observer 监视的事件是 Entry(即将进入Loop),其回调内会调用 _objc_autoreleasePoolPush() 创建自动释放池。其 order 是-2147483647,优先级最高,保证创建释放池发生在其他所有回调之前。\n 第二个 Observer 监视了两个事件: BeforeWaiting(准备进入休眠) 时调用_objc_autoreleasePoolPop() 和 _objc_autoreleasePoolPush() 释放旧的池并创建新池;Exit(即将退出Loop) 时调用 _objc_autoreleasePoolPop() 来释放自动释放池。这个 Observer 的 order 是 2147483647,优先级最低,保证其释放池子发生在其他所有回调之后。\n总结\n1.子线程在使用autorelease对象时,如果没有autoreleasepool会在autoreleaseNoPage中懒加载一个出来。\n2.在runloop的run:beforeDate,以及一些source的callback中,有autoreleasepool的push和pop操作,总结就是系统在很多地方都差不多autorelease的管理操作。\n3.就算插入没有pop也没关系,在线程exit的时候会释放资源,执行AutoreleasePoolPage::tls_dealloc,在这里面会清空autoreleasepool。\n手动@autoreleasepool 与 嵌套\n嵌套autorelesepool很好解释,pop的时候总会释放到上次push的位置为止,多层的pool就是多个哨兵对象而已,就像剥洋葱一样,每次一层,互不影响。\n手动autoreleasepool,如下文参考2例子,可以得知这个for循环中,每一次循环会清理掉一次内存,因为完全执行完 for循环才会,runloop才会进行休眠,如果说是按照系统的autoreleasepool来说,应该是休眠前才释放,但是,文中demo内存并没有显示出循环中内存暴涨,这也说明了,手动autorelesepool 不是在内存峰值时候释放\nReference\n1.自动释放池的前世今生 ---- 深入解析 autoreleasepool\n2. 解密Runloop\n3. 在ARC环境中autoreleasepool(runloop)的研究\n4. 黑幕背后的Autorelease\n5. iOS RunLoop详解\n6.深入了解Runloop\n7.带着问题看源码----子线程AutoRelease对象何时释放\n8.AutoreleasePool的实现\n内存管理剖析(四)——autorelease原理分析经历过MRC时代的开发者,肯定都用过autorelease方法,用于 - 掘金 (juejin.cn)\n"},"iOS/OCFoundation/MultiThreading.html":{"url":"iOS/OCFoundation/MultiThreading.html","title":"MultiThreading","keywords":"","body":"Multi Threading 多线程\n进程、线程与队列\n1.进程的定义\n\n进程是指在系统中正在运行的一个应用程序,如微信、支付宝app都是一个进程\n每个进程之间是独立的,每个进程均运行在专用的且受保护的内存\n\n2.线程的定义\n\n线程是进程的基本执行单元,一个进程的所有任务都在线程中执行\n进程想要执行任务,必须得有线程,进程至少要有一条线程\n程序启动会默认开启一条线程,这条线程被成为主线程或UI线程\n\n3.进程与线程的关系和区别\n\n地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间\n资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的\n一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉,所以多进程要比多线程健壮\n进程切换时,消耗的资源大、效率高。所以设计到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程而不能用进程\n执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制\n线程是处理器调度的基本单位,但进程不是\n\n4.进程与线程的关系图\n\n5.队列的定义\n队列,又称为伫列(queue),是先进先出(FIFO: First-In-First-Out)的线性表,在具体应用中通常用链表或者数组来实现。装载线程任务的队形结构。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加\n\n6.队列和线程的关系\n两者是没有关系的,可以这么理解:\n\n队列负责调度任务,线程执行任务\n在银行(进程)中,有4个工作窗口(线程),而只有一条队伍(队列)\n窗口(线程)只负责为排队的人办理业务,并不会管队伍(队列)是怎么排的\n\n7.线程和runloop的关系\n\nrunloop与线程是一一对应的——一个runloop对应一个核心的线程,为什么说是核心的,是因为runloop是可以嵌套的,但是核心的只能有一个,他们的关系保存在一个全局的字典里\nrunloop是来管理线程的——当线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务\nrunloop 在第一次获取时被创建,在线程结束时被销毁\n对于主线程来说,runloop在程序一启动就默认创建好了\n对于子线程来说,runloop是懒加载的——只有当我们使用的时候才会创建,所以在子线程用定时器要注意:确保子线程的runloop被创建,不然定时器不会回调\n\n\n\n8.影响任务执行速度的因素\n以下因素都会对任务的执行速度造成影响:\n\ncpu的调度\n线程的执行速率\n队列情况\n任务执行的复杂度\n任务的优先级\n\n多线程\n1.多线程原理\n\n同一时间,CPU只能处理一条线程,只有一条线程在工作(执行)\n多线程并发(同时)执行,其实就是CPU执行快速地在多条线程之间调度(切换)\n\n2.多线程意义\n\n优点\n能适当提高程序的执行效率\n能适当提高资源的利用率(CPU、内存)\n线程上的任务执行完成后,线程会自动销毁\n\n\n缺点\n开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512KB,创建线程大约需要90毫秒的创建时间)\n如果开启大量的线程,会占用大量的内存空间,降低程序的性能\n线程越多,CPU在调用线程上的开销就越大\n程序设计更加复杂,比如线程间的通信、多线程的数据共享\n\n\n\n2.多线程生命周期\n\n多线程的生命周期是:新建 - 就绪 - 运行 - 阻塞 - 死亡\n\n新建:实例化线程对象\n就绪:向线程对象发送start消息,线程对象被加入可调度线程池等待CPU调度。\n运行:CPU 负责调度可调度线程池中线程的执行。线程执行完成之前,状态可能会在就绪和运行之间来回切换。就绪和运行之间的状态变化由CPU负责,程序员不能干预。\n阻塞:当满足某个预定条件时,可以使用休眠或锁,阻塞线程执行。sleepForTimeInterval(休眠指定时长),sleepUntilDate(休眠到指定日期),@synchronized(self):(互斥锁)。\n死亡:正常死亡,线程执行完毕。非正常死亡,当满足某个条件后,在线程内部中止执行/在主线程中止线程对象\n\n4.线程池的原理\n\n\n若线程池大小小于核心线程池大小时\n创建线程执行任务\n\n\n若线程池大小大于等于核心线程池大小时\n先判断线程池工作队列是否已满\n若没满就将任务push进队列\n若已满时,且maximumPoolSize>corePoolSize,将创建新的线程来执行任务\n反之则交给饱和策略去处理\n\n\n\n\n\n\n参数名\n代表意义\n\n\n\n\ncorePoolSize\n线程池的基本大小(核心线程池大小)\n\n\nmaximumPool\n线程池的最大大小\n\n\nkeepAliveTime\n线程池中超过corePoolSize树木的空闲线程的最大存活时间\n\n\nunit\nkeepAliveTime参数的时间单位\n\n\nworkQueue\n任务阻塞队列\n\n\nthreadFactory\n新建线程的工厂\n\n\nhandler\n当提交的任务数超过maxmumPoolSize与workQueue之和时, 任务会交给RejectedExecutionHandler来处理\n\n\n\n饱和策略有如下四个:\n\nAbortPolicy直接抛出RejectedExecutionExeception异常来阻止系统正常运行\nCallerRunsPolicy将任务回退到调用者\nDisOldestPolicy丢掉等待最久的任务\nDisCardPolicy直接丢弃任务\n\n4.多线程实现方案\n\n\n\n技术方案\n简介\n语言\n线程生命周期\n使用评率\n\n\n\n\npthread\n一套通用的多线程API 适用于Unix/Linux/Windows等系统 跨平台/可移植 使用难度大\nC\n程序员管理\n几乎不用\n\n\nNSThread\n使用更加面向对象 简单易用,可直接操作线程对象\nOC\n程序员管理\n偶尔使用\n\n\nGCD\n旨在替代NSThread等线程技术 充分利用设备的多核\nC\n自动管理\n经常使用\n\n\nNSOperation\n基于GCD(底层是GCD) 比GCD多了一些更简单实用的功能 使用更加面向对象\nOC\n自动管理\n经常使用\n\n\n\n5.GCD和NSOperation的区别\n\nGCD仅仅支持FIFO队列,不支持异步操作之间的依赖关系设置。而NSOperation中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整\nNSOperation支持KVO,可以观察任务的执行状态\nGCD更接近底层,GCD在追求性能的底层操作来说,是速度最快的\n从异步操作之间的事务性,顺序行,依赖关系。GCD需要自己写更多的代码来实现,而NSOperation已经内建了这些支持\n如果异步操作的过程需要更多的被交互和UI呈现出来,NSOperation更好;底层代码中,任务之间不太互相依赖,而需要更高的并发能力,GCD则更有优势\n\n6.线程间通讯\n\n\n直接消息传递: 通过performSelector的一系列方法,可以实现由某一线程指定在另外的线程上执行任务。因为任务的执行上下文是目标线程,这种方式发送的消息将会自动的被序列化\n全局变量、共享内存块和对象: 在两个线程之间传递信息的另一种简单方法是使用全局变量,共享对象或共享内存块。尽管共享变量既快速又简单,但是它们比直接消息传递更脆弱。必须使用锁或其他同步机制仔细保护共享变量,以确保代码的正确性。 否则可能会导致竞争状况,数据损坏或崩溃。\n条件执行: 条件是一种同步工具,可用于控制线程何时执行代码的特定部分。您可以将条件视为关守,让线程仅在满足指定条件时运行。\nRunloop sources: 一个自定义的 Runloop source 配置可以让一个线程上收到特定的应用程序消息。由于 Runloop source 是事件驱动的,因此在无事可做时,线程会自动进入睡眠状态,从而提高了线程的效率\nPorts and sockets:基于端口的通信是在两个线程之间进行通信的一种更为复杂的方法,但它也是一种非常可靠的技术。更重要的是,端口和套接字可用于与外部实体(例如其他进程和服务)进行通信。为了提高效率,使用 Runloop source 来实现端口,因此当端口上没有数据等待时,线程将进入睡眠状态\n消息队列: 传统的多处理服务定义了先进先出(FIFO)队列抽象,用于管理传入和传出数据。尽管消息队列既简单又方便,但是它们不如其他一些通信技术高效\nCocoa 分布式对象: 分布式对象是一种 Cocoa 技术,可提供基于端口的通信的高级实现。尽管可以将这种技术用于线程间通信,但是强烈建议不要这样做,因为它会产生大量开销。分布式对象更适合与其他进程进行通信,尽管在这些进程之间进行事务的开销也很高\n\n线程与进程\n进程: 在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程均运行在其专用且受保护的内存空间内。进程是CPU分配资源和调度的单位。\n线程: 一个进程(程序)的所有任务都在线程中执行,每个进程至少有一个线程(主线程)。线程是CPU调度(执行任务)的最小单位,其实质就是一段代码(一个任务)。\nReference\n1. iOS探索 多线程原理\n"},"iOS/OCFoundation/GCDUsage.html":{"url":"iOS/OCFoundation/GCDUsage.html","title":"GCD-Usage","keywords":"","body":"GCD Usage\nGCD全称是Grand Central Dispatch,它是纯 C 语言,并且提供了非常多强大的函数\nGCD的优势:\n\nGCD 是苹果公司为多核的并行运算提出的解决方案\nGCD 会自动利用更多的CPU内核(比如双核、四核)\nGCD 会自动管理线程的生命周期(创建线程、调度任务、销毁线程)\n程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码\n\ndispatch_sync & dispatch_async\n多线程执行任务分为dispatch_sync同步执行任务和dispatch_async异步执行:\n\ndispatch_sync\n同步执行\n\n必须等待当前语句执行完毕,才会执行下一条语句\n不会开启线程\n在当前线程执行block的任务\n\n\ndispatch_async\n异步执行\n\n不用等待当前语句执行完毕,就可以执行下一条语句\n会开启线程执行block任务\n异步是多线程的代名词\n\n\n\ndispatch_queue_t\n\n多线程中队列分为串行队列(Serial Dispatch Queue)和并发队列(Concurrent Dispatch Queue):\n\n串行队列:线程执行只能依次逐一先后有序的执行,等待上一个执行完再执行下一个\n使用dispatch_queue_create(\"xxx\", DISPATCH_QUEUE_SERIAL)创建串行队列\n亦可以使用dispatch_queue_create(\"xxx\", NULL)创建串行队列(GCD底层会讲到)\n\n\n主队列:绑定主线程,所有任务都在主线程中执行、经过特殊处理的串行的队列\n使用dispatch_get_main_queue()获取主队列\n\n\n并发队列:线程可以同时一起执行,不需要等待上一个执行完就能执行下一个任务\n使用dispatch_queue_create(\"xxx\", DISPATCH_QUEUE_CONCURRENT);创建并发队列\n\n\n全局队列:系统提供的并发队列\n最简单的是使用dispatch_get_global_queue(0, 0)获取系统提供的并发队列\n第一个参数是优先级枚举值,默认优先级为DISPATCH_QUEUE_PRIORITY_DEFAULT=0\n优先级从高到低依次为DISPATCH_QUEUE_PRIORITY_HIGH、DISPATCH_QUEUE_PRIORITY_DEFAULT、DISPATCH_QUEUE_PRIORITY_LOW、DISPATCH_QUEUE_PRIORITY_BACKGROUND\n\n\n\n串行/并发和同步/异步的排列组合\n\n\n主队列和全局队列单独考虑,组合结果以总结表格为准\n\n1.串行+同步\n任务一个接一个执行,不开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n for (int i = 0; i {number = 1, name = main}\n// 串行&同步线程0-{number = 1, name = main}\n// 串行&同步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n2.串行+异步\n任务一个接一个执行,会开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n for (int i = 0; i {number = 1, name = main}\n// 串行&异步线程0-{number = 6, name = (null)}\n// 串行&异步线程1-{number = 6, name = (null)}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n3.并发+同步\n任务一个接一个执行,不开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n for (int i = 0; i {number = 1, name = main}\n// 串行&同步线程0-{number = 1, name = main}\n// 串行&同步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n4.并发+异步\n任务乱序执行,开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n for (int i = 0; i {number = 1, name = main}\n// 并发&异步线程1-{number = 5, name = (null)}\n// 并发&异步线程0-{number = 4, name = (null)}\n// ...乱序输出\n--------------------输出结果:-------------------\n\n下面来看一下主队列和全局队列的使用情况:\n5.主队列+同步\n相互等待,造成死锁\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_main_queue();\n for (int i = 0; i {number = 1, name = main}\n// 崩溃...\n--------------------输出结果:-------------------\n\n6.主队列+异步\n任务一个接一个执行,不开辟线程\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_main_queue();\n for (int i = 0; i {number = 1, name = main}\n// 主队列&异步线程0-{number = 1, name = main}\n// 主队列&异步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n7.全局队列+同步\n任务一个接一个执行,不开辟线程(同并发+同步)\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n for (int i = 0; i {number = 1, name = main}\n// 全局队列&同步线程0-{number = 1, name = main}\n// 全局队列&同步线程1-{number = 1, name = main}\n// ...按顺序输出\n--------------------输出结果:-------------------\n\n8.全局队列+异步\n任务乱序执行,开辟线程(同并发+异步)\n- (void)test {\n NSLog(@\"主线程-%@\", [NSThread currentThread]);\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n for (int i = 0; i {number = 1, name = main}\n// 全局队列&异步线程2-{number = 3, name = (null)}\n// 全局队列&异步线程3-{number = 7, name = (null)}\n// ...乱序输出\n--------------------输出结果:-------------------\n\n总结一下:\n\n\n\n执行\\队列\n串行队列\n并发队列\n主队列\n全局队列\n\n\n\n\n同步执行\n按序执行,不开辟线程\n按序执行,不开辟线程\n死锁\n按序执行,不开辟线程\n\n\n异步执行\n按序执行,开辟线程\n乱序执行,开辟线程\n按序执行,不开辟线程\n乱序执行,开辟线程\n\n\n\ndispatch_apply\ndispatch_apply将指定的Block追加到指定的队列中重复执行,并等到全部的处理执行结束——相当于线程安全的for循环\n应用场景:用来拉取网络数据后提前算出各个控件的大小,防止绘制时计算,提高表单滑动流畅性\n\n添加到串行队列中——按序执行\n添加到主队列中——死锁\n添加到并发队列中——乱序执行\n添加到全局队列中——乱序执行\n\n- (void)test {\n /**\n param1:重复次数\n param2:追加的队列\n param3:执行任务\n */\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n NSLog(@\"dispatch_apply前\");\n dispatch_apply(10, queue, ^(size_t index) {\n NSLog(@\"dispatch_apply的线程%zu-%@\", index, [NSThread currentThread]);\n });\n NSLog(@\"dispatch_apply后\");\n}\n--------------------输出结果:-------------------\n// dispatch_apply前\n// dispatch_apply的线程0-{number = 1, name = main}\n// ...是否按序输出与串行队列还是并发队列有关\n// dispatch_apply后\n--------------------输出结果:-------------------\n\ndispatch_group_t\ndispatch_group_t:调度组将任务分组执行,能监听任务组完成,并设置等待时间\n应用场景:多个接口请求之后刷新页面\n1.dispatch_group_async\ndispatch_group_notify在dispatch_group_async执行结束之后会受到通知\n- (void)test {\n dispatch_group_t group = dispatch_group_create();\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n\n dispatch_group_async(group, queue, ^{\n NSLog(@\"请求一完成\");\n });\n\n dispatch_group_async(group, queue, ^{\n NSLog(@\"请求二完成\");\n });\n\n dispatch_group_notify(group, dispatch_get_main_queue(), ^{\n NSLog(@\"刷新页面\");\n });\n}\n--------------------输出结果:-------------------\n// 请求二完成\n// 请求一完成\n// 刷新页面\n--------------------输出结果:-------------------\n\n2.dispatch_group_enter & dispatch_group_leave\ndispatch_group_enter和dispatch_group_leave成对出现,使进出组的逻辑更加清晰\n- (void)test {\n dispatch_group_t group = dispatch_group_create();\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求一完成\");\n dispatch_group_leave(group);\n });\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求二完成\");\n dispatch_group_leave(group);\n });\n\n dispatch_group_notify(group, dispatch_get_main_queue(), ^{\n NSLog(@\"刷新页面\");\n });\n}\n--------------------输出结果:-------------------\n// 请求二完成\n// 请求一完成\n// 刷新页面\n--------------------输出结果:-------------------\n\n\n调度组要注意搭配使用,必须先进组再出组,缺一不可\n\n3.dispatch_group_wait使用\nlong dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout)\n\ngroup:需要等待的调度组\n\ntimeout:等待的超时时间(即等多久)\n\n设置为DISPATCH_TIME_NOW意味着不等待直接判定调度组是否执行完毕\n设置为DISPATCH_TIME_FOREVER则会阻塞当前调度组,直到调度组执行完毕\n\n\n返回值:为 long\n类型\n\n返回值为0——在指定时间内调度组完成了任务\n返回值不为0——在指定时间内调度组没有按时完成任务\n\n\n\n将上述调度组代码进行改写\n- (void)test {\n dispatch_group_t group = dispatch_group_create();\n dispatch_queue_t queue = dispatch_get_global_queue(0, 0);\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求一完成\");\n dispatch_group_leave(group);\n });\n\n dispatch_group_enter(group);\n dispatch_async(queue, ^{\n NSLog(@\"请求二完成\");\n dispatch_group_leave(group);\n });\n\n long timeout = dispatch_group_wait(group, DISPATCH_TIME_NOW);\n// long timeout = dispatch_group_wait(group, DISPATCH_TIME_FOREVER);\n// long timeout = dispatch_group_wait(group, dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC));\n NSLog(@\"timeout=%ld\", timeout);\n if (timeout == 0) {\n NSLog(@\"按时完成任务\");\n } else {\n NSLog(@\"超时\");\n }\n\n dispatch_group_notify(group, dispatch_get_main_queue(), ^{\n NSLog(@\"刷新页面\");\n });\n}\n--------------------输出结果:-------------------\n// timeout=49\n// 请求一完成\n// 请求二完成\n// 超时\n// 刷新页面\n--------------------输出结果:-------------------\n\ndispatch_barrier_sync & dispatch_barrier_async\n应用场景:同步锁\n\n前文已经提过并发执行异步队列会开辟线程,而任务也会因为任务复杂度和cpu的调度导致各个乱序执行完毕,比如上图中的任务3明明是先于任务4执行,但是晚于任务4执行完毕\n此时GCD就提供了两个API——dispatch_barrier_sync和dispatch_barrier_async,使用这两个API就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务,最后执行栅栏后任务\n1.串行队列使用栅栏函数\n- (void)test {\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_SERIAL);\n\n NSLog(@\"开始——%@\", [NSThread currentThread]);\n dispatch_async(queue, ^{\n sleep(2);\n NSLog(@\"延迟2s的任务1——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第一次结束——%@\", [NSThread currentThread]);\n\n// dispatch_barrier_async(queue, ^{\n// NSLog(@\"----------栅栏任务----------%@\", [NSThread currentThread]);\n// });\n// NSLog(@\"栅栏结束——%@\", [NSThread currentThread]);\n\n dispatch_async(queue, ^{\n sleep(1);\n NSLog(@\"延迟1s的任务2——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第二次结束——%@\", [NSThread currentThread]);\n}\n\n不使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 3, name = (null)}\n延迟1s的任务2——{number = 3, name = (null)}\n\n使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n栅栏结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 5, name = (null)}\n----------栅栏任务----------{number = 1, name = main}\n延迟1s的任务2——{number = 5, name = (null)}\n\n栅栏函数的作用是将队列中的任务进行分组,所以我们只要关注任务1、任务2\n\n结论:由于串行队列异步执行任务是一个接一个执行完毕的,所以使用栅栏函数没意义\n2.并发队列使用栅栏函数\n- (void)test {\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n\n NSLog(@\"开始——%@\", [NSThread currentThread]);\n dispatch_async(queue, ^{\n sleep(2);\n NSLog(@\"延迟2s的任务1——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第一次结束——%@\", [NSThread currentThread]);\n\n// dispatch_barrier_async(queue, ^{\n// NSLog(@\"----------栅栏任务----------%@\", [NSThread currentThread]);\n// });\n// NSLog(@\"栅栏结束——%@\", [NSThread currentThread]);\n\n dispatch_async(queue, ^{\n sleep(1);\n NSLog(@\"延迟1s的任务2——%@\", [NSThread currentThread]);\n });\n NSLog(@\"第二次结束——%@\", [NSThread currentThread]);\n}\n复制代码\n不使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟1s的任务2——{number = 5, name = (null)}\n延迟2s的任务1——{number = 7, name = (null)}\n使用栅栏函数\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n栅栏结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 4, name = (null)}\n----------栅栏任务----------{number = 4, name = (null)}\n延迟1s的任务2——{number = 4, name = (null)}\n\n结论:由于并发队列异步执行任务是乱序执行完毕的,所以使用栅栏函数可以很好的控制队列内任务执行的顺序\n3.dispatch_barrier_sync/dispatch_barrier_async区别\n\ndispatch_barrier_async:前面的任务执行完毕才会来到这里\ndispatch_barrier_sync:作用相同,但是这个会堵塞线程,影响后面的任务执行\n\n将案例二中的dispatch_barrier_async改成dispatch_barrier_sync\n开始——{number = 1, name = main}\n第一次结束——{number = 1, name = main}\n延迟2s的任务1——{number = 6, name = (null)}\n----------栅栏任务----------{number = 1, name = main}\n栅栏结束——{number = 1, name = main}\n第二次结束——{number = 1, name = main}\n延迟1s的任务2——{number = 6, name = (null)}\n结论:dispatch_barrier_async可以控制队列中任务的执行顺序,而dispatch_barrier_sync不仅阻塞了队列的执行,也阻塞了线程的执行(尽量少用)\n4.栅栏函数注意点\n\n尽量使用自定义的并发队列:\n使用全局队列起不到栅栏函数的作用\n使用全局队列时由于对全局队列造成堵塞,可能致使系统其他调用全局队列的地方也堵塞从而导致崩溃(并不是只有你在使用这个队列)\n\n\n栅栏函数只能控制同一并发队列:打个比方,平时在使用AFNetworking做网络请求时为什么不能用栅栏函数起到同步锁堵塞的效果,因为AFNetworking内部有自己的队列\n\ndispatch_semaphore_t\n应用场景:同步当锁, 控制GCD最大并发数\n\ndispatch_semaphore_create():创建信号量\ndispatch_semaphore_wait():等待信号量,信号量减1。当信号量时会阻塞当前线程,根据传入的等待时间决定接下来的操作——如果永久等待将等到信号(signal)才执行下去\ndispatch_semaphore_signal():释放信号量,信号量加1。当信号量>= 0 会执行wait之后的代码\n\n下面这段代码要求使用信号量来按序输出(当然栅栏函数可以满足要求)\n- (void)test {\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n\n for (int i = 0; i \n利用信号量的API来进行代码改写\n- (void)test {\n // 创建信号量\n dispatch_semaphore_t sem = dispatch_semaphore_create(0);\n dispatch_queue_t queue = dispatch_queue_create(\"Felix\", DISPATCH_QUEUE_CONCURRENT);\n\n for (int i = 0; i \n输出结果\n当前0----线程{number = 5, name = (null)}\n当前1----线程{number = 5, name = (null)}\n当前2----线程{number = 5, name = (null)}\n当前3----线程{number = 5, name = (null)}\n当前4----线程{number = 5, name = (null)}\n当前5----线程{number = 5, name = (null)}\n当前6----线程{number = 5, name = (null)}\n当前7----线程{number = 5, name = (null)}\n当前8----线程{number = 5, name = (null)}\n当前9----线程{number = 5, name = (null)}\n如果当创建信号量时传入值为1又会怎么样呢?\n\ni=0时有可能先打印,也可能会先发出wait信号量-1,但是wait之后信号量为0不会阻塞线程,所以进入i=1\ni=1时有可能先打印,也可能会先发出wait信号量-1,但是wait之后信号量为-1阻塞线程,等待signal再执行下去\n\n当前1----线程{number = 3, name = (null)}\n当前0----线程{number = 6, name = (null)}\n当前2----线程{number = 3, name = (null)}\n当前3----线程{number = 6, name = (null)}\n当前4----线程{number = 6, name = (null)}\n当前5----线程{number = 3, name = (null)}\n当前6----线程{number = 3, name = (null)}\n当前7----线程{number = 6, name = (null)}\n当前8----线程{number = 3, name = (null)}\n当前9----线程{number = 6, name = (null)}\n结论:\n\n创建信号量时传入值为1时,可以通过两次才堵塞\n传入值为2时,可以通过三次才堵塞\n\ndispatch_source\n应用场景:GCDTimer\n1.定义及使用\ndispatch_source是一种基本的数据类型,可以用来监听一些底层的系统事件\n\nTimer Dispatch Source:定时器事件源,用来生成周期性的通知或回调\nSignal Dispatch Source:监听信号事件源,当有UNIX信号发生时会通知\nDescriptor Dispatch Source:监听文件或socket事件源,当文件或socket数据发生变化时会通知\nProcess Dispatch Source:监听进程事件源,与进程相关的事件通知\nMach port Dispatch Source:监听Mach端口事件源\nCustom Dispatch Source:监听自定义事件源\n\n主要使用的API:\n\ndispatch_source_create: 创建事件源\ndispatch_source_set_event_handler: 设置数据源回调\ndispatch_source_merge_data: 设置事件源数据\ndispatch_source_get_data: 获取事件源数据\ndispatch_resume: 继续\ndispatch_suspend: 挂起\ndispatch_cancle: 取消\n\n2.自定义定时器\n在iOS开发中一般使用NSTimer来处理定时逻辑,但NSTimer是依赖Runloop的,而Runloop可以运行在不同的模式下。如果NSTimer添加在一种模式下,当Runloop运行在其他模式下的时候,定时器就挂机了;又如果Runloop在阻塞状态,NSTimer触发时间就会推迟到下一个Runloop周期。因此NSTimer在计时上会有误差,并不是特别精确,而GCD定时器不依赖Runloop,计时精度要高很多\n@property (nonatomic, strong) dispatch_source_t timer;\n//1.创建队列\ndispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n//2.创建timer\n_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);\n//3.设置timer首次执行时间,间隔,精确度\ndispatch_source_set_timer(_timer, DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC, 0.1 * NSEC_PER_SEC);\n//4.设置timer事件回调\ndispatch_source_set_event_handler(_timer, ^{\n NSLog(@\"GCDTimer\");\n});\n//5.默认是挂起状态,需要手动激活\ndispatch_resume(_timer);\n复制代码\n使用dispatch_source自定义定时器注意点:\n\nGCDTimer需要强持有,否则出了作用域立即释放,也就没有了事件回调\nGCDTimer默认是挂起状态,需要手动激活\nGCDTimer没有repeat,需要封装来增加标志位控制\nGCDTimer如果存在循环引用,使用weak+strong或者提前调用dispatch_source_cancel取消timer\ndispatch_resume和dispatch_suspend调用次数需要平衡\nsource在挂起状态下,如果直接设置source = nil或者重新创建source都会造成crash。正确的方式是在激活状态下调用dispatch_source_cancel(source)释放当前的source\n\nGCD-API总结\n\n\n\nAPI\n说明\n\n\n\n\ndispatch_sync()\n同步执行\n\n\ndispatch_async()\n异步执行\n\n\ndispatch_queue_create()\n创建队列\n\n\ndispatch_get_main_queue()\n获取主队列\n\n\ndispatch_get_global_queue()\n获取全局队列\n\n\ndispatch_after()\n延时执行\n\n\ndispatch_once()\n一次性执行\n\n\ndispatch_apply()\n提交队列\n\n\ndispatch_group_create()\n创建调度组\n\n\ndispatch_group_async()\n执行进组任务\n\n\ndispatch_group_enter()/ dispatch_group_leave()\n将调度组中的任务未执行完毕的任务数目加减1 (两个函数要配合使用)\n\n\ndispatch_group_wait()\n设置等待时间(成功为0)\n\n\ndispatch_barrier_sync()\n同步栅栏函数\n\n\ndispatch_barrier_async()\n异步栅栏函数\n\n\ndispatch_group_notify()\n监听队列组执行完毕\n\n\ndispatch_semaphore_creat()\n创建信号量\n\n\ndispatch_semaphore_wait()\n等待信号量\n\n\ndispatch_semaphore_signal()\n释放信号量\n\n\ndispatch_source_create\n创建源\n\n\ndispatch_source_set_event_handler\n设置源事件回调\n\n\ndispatch_source_merge_data\n源事件设置数据\n\n\ndispatch_source_get_data\n获取源事件数据\n\n\ndispatch_resume\n继续\n\n\ndispatch_suspend\n挂起\n\n\ndispatch_cancle\n取消\n\n\n\nReference\n1 iOS探索 多线程之GCD应用\n"},"iOS/OCFoundation/GCDThread.html":{"url":"iOS/OCFoundation/GCDThread.html","title":"GCD-Thread","keywords":"","body":"GCD Thread\n1. GCD的两个核心概念是:任务和队列.\n任务与队列\n\n任务 : 在block中执行的代码块 \n队列 : 用来存放任务的\n\n队列 和 线程的区别:\n队列中存放的任务最后都要由线程来执行! \n队列的原则:先进先出,后进后出\n队列分类:\n1.串行队列 2.并发队列 3.主队列 4.全局队列\n\n串行队列:任务一个接一个的执行 \n并发队列:队列中的任务并发执行 \n主队列:跟主线程相关的队列,主队列里面的内容都会在主线程中执行 \n全局队列:一个特殊的并发队列\n\n并发队列和全局队列的区别:\n\n并发队列有名称,可以跟踪错误.全局队列没有. \n在ARC中两个队列不需要考虑释放内存,但是在MRC中并发队列创造出来的需要 release 操作,而全局队列只有一个不需要. \n一般在开发过程中我们使用全局队列\n\n2.同步和异步:\n同步异步\n同步:只能在当前线程中执行任务,不具备开启新线程的能力 \n异步:可以在新的线程中执行任务,具备开启新线程的能力\n同步执行任务: \ndispatch_sync(队列,任务) \n异步执行: \ndispatch_async(队列,任务)\n队列和执行方式组合的效果:\n1) 串行队列同步执行,既在当前线程中顺序执行 \n2) 串行队列异步执行,开辟一条新的线程,在该线程中顺序执行 \n3) 并行队列同步执行,不开辟线程,在当前线程中顺序执行 \n4) 并行队列异步执行,开辟多个新的线程,并且线程会重用,无序执行 \n5) 主队列异步执行,不开辟新的线程,顺序执行 \n6) 主队列同步执行,会造成死锁(’主线程’和’主队列’相互等待,卡住主线程)\n死锁原因\n队列引起的循环等待\n同步/异步和串行/并发\n\ndispatch_sync(serial_queue,^{//任务});\ndispatch_async(serial_queue,^{//任务});\ndispatch_sync(concurrent_queue,^{//任务});\ndispatch_async(concurrent_queue,^{//任务});\n\n首先明确几个概念\n\n队列:队列分为串行和并行。串行队列按照A、B、C、D的顺序添加四个任务,这四个任务按照顺序执行,结束顺序也肯定是A、B、C、D,而并行队列同时执行这四个任务,完成的顺序因此也是随机的。\n异步执行(async)和同步执行(sync):使用dispatch_async调用一个block,这个block会被放到指定的queue_1队列尾等待执行,至于这个block是被并行还是串行执行,只和dispatch_async中的指定的queue_1有关,但是dispatch_async会马上返回。使用dispatch_sync同样也是把block放到指定的queue_2上执行,但是会等待这个block执行完毕后才返回,这期间会阻塞当前运行调用dispatch_async或dispatch_sync代码的queue(通常为main_queue)直到sync函数返回。\n\n以打电话给查号台为例:\n\n同步:打电话给查号台,问某个地方的电话号码,接线员会告诉你稍等,然后为你查号,此时你的电话没有挂断,其他的电话也不能打进来,等到接线员查找到了你要找的电话号,告诉你后,才将电话挂断\n异步:打电话给查号台,问某个地方的电话号码,接线员知道了你的请求后,会立刻挂断电话,此时其他的电话可以打进来。然后开始为你查号。等到查找到了你要找的电话号,会再打电话通知你。\n\n所以任何情况下调用 dispatch_sync,都会在当前线程上执行该任务,而不继续走下去,直到任务执行完成\n同步串行\n1.\n-(void)viewDidLoad{\n NSLog(@\"执行任务1\");\n dispatch_queue_t queue = dispatch_get_main_queue();\n dispatch_sync(queue, ^{\n NSLog(@\"执行任务2\");\n });\n\n NSLog(@\"执行任务3\");\n//死锁\n}\n\n\n在主队列上提交了 viewDidLoad 与 GCD Block的任务,无论任务中哪一个,最终都要提交到主线程中处理.先分派viewDidLoad到主线程,由于队列FIFO,viewDidLoad的调用结束又要等待Block的调用结束,Block又在等待viewDidLoad\n只要是同步方式提交任务,无论是提交到并发队列还是串行队列,最终都是在当前线程执行\n分析:\n\n1、主线程中任务执行:任务1、sync、任务3、\n2、主队列:viewDidLoad、任务2、\n\n其中在主队列viewDidLoad里面的任务3执行结束才会执行任务2;而主线程中是执行完sync才会执行任务3。也就是任务2等待任务3执行,任务3再也等待任务2执行,造成死锁\n\n2.\n-(void)viewDidLoad{\n dispatch_sync(serialQueue,^{\n [self doSomething];\n });\n//没问题\n}\n\n\nviewDidLoad添加到主队列上,提交到主线程上执行.viewDidLoad执行到某个时段时候,同步提交一个任务到一个串行队列上面,由于是同步提交任务,意味着要在当前线程执行,所以串行队列提交的任务也是在主线程上面执行,串行队列任务在主线程上执行完之后,再继续执行viewDidLoad后面的任务\n3.\n-(void)viewDidLoad{\n NSLog(@\"1\");\n dispatch_sync(global_queue,^{\n NSLog(@\"2\");\n dispatch_sync(global_queue,^{\n NSLog(@\"3\");\n });\n NSLog(@\"4\");\n });\n NSLog(@\"5\");\n}\n\n//12345\n\n异步串行\n1.\n-(void)viewDidLoad{\n dispatch_async(dispatch_get_main_queue(),^{\n [self doSomething];\n });\n}\n异步并发\n1.\ndispatch_async(global_queue,^{\n NSLog(@\"1\");\n [self performSelector:@selector(printLog) withObject:nil afterDelay0];\n NSLog(@\"3\");\n});\n\n-(void)printLog{\n NSLog(@\"2\");\n}\n//13\n\n因为子线程不会主动创建runloop,performSelector:withObject:afterDelay,即使延时0s,也是要创建相应添加到runloop逻辑,如果没有runloop是不会添加到上面,所以不会触发.(创建runloop后也需要Run)\ndispatch_barrier_async()\n怎么利用GCD实现多读单写?\n\n读者读者并发\n读者写者互斥\n写者写者互斥\n\n多读单写处理\n\n多读单写方案\ndispatch_barrier_async(concurrent_queue,^{//写操作});\n//同步读取指定数据\n-(id)objectForKey:(NSString*)key{\n __block id obj;\n dispatch_sync(concurrent_queue,^{\n obj = xxxx;\n });\n}\n\n//写\n-(void)setObject:(id)obj forKey:(NSString*)key{\n //异步栅栏调用设置数据\n dispatch_barrier_async(concurrent_queue,^{\n xxxxx;\n });\n}\nNSOperation\n1. NSOprationQueue 与 GCD 的区别与选用\n\nGCD是底层的C语言构成的API,而NSOperationQueue及相关对象是Objc的对象。在GCD中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而Operation作为一个对象,为我们提供了更多的选择;\n\n在NSOperationQueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而GCD没法停止已经加入queue的block(其实是有的,但需要许多复杂的代码);\n\nGCD 只支持FIFO 的队列,而NSOperationQueue可以调整队列的执行顺序(通过调整权重)。NSOperationQueue可以方便的管理并发、NSOperation之间的优先级。\n\n\n\nGCD优点:GCD主要与block结合使用。\n\n引申:\n使用NSOperation和NSOperationQueue的优点:\n\n可以取消操作:在运行任务前,可以在NSOperation对象调用cancel方法,标明此任务不需要执行。但是GCD队列是无法取消的,因为它遵循“安排好之后就不管了(fire and forget)”的原则。\n可以指定操作间的依赖关系:例如从服务器下载并处理文件的动作可以用操作来表示。而在处理其他文件之前必须先下载“清单文件”。而后续的下载工作,都要依赖于先下载的清单文件这一操作。\n监控NSOperation对象的属性:可以通过KVO来监听NSOperation的属性:可以通过isCancelled属性来判断任务是否已取消;通过isFinished属性来判断任务是否已经完成。\n可以指定操作的优先级:操作的优先级表示此操作与队列中其他操作之间的优先关系,我们可以指定它\n\n状态控制\n\n如果只重写main方法,底层控制变更任务执行完成状态,以及任务退出\n如果重写了start方法,自行控制状态(什么时候是isExecuting,isFinish状态等等)\n\n系统怎么移除一个 isFinished==YES 的NSOperation的\n通过KVO\n"},"iOS/OCFoundation/Lock.html":{"url":"iOS/OCFoundation/Lock.html","title":"Lock","keywords":"","body":"Lock\n锁\n1.线程安全\n当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果\n即线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步\n2.检测安全\n\n3.锁的作用\n锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或者资源前,要先获取(Acquire)锁,并在访问结束之后释放(Release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用\n注:不要将过多的其他操作代码放到锁里面,否则一个线程执行的时候另一个线程就一直在等待,就无法发挥多线程的作用了\n4.锁的分类\n在iOS中锁的基本种类只有两种:互斥锁、自旋锁,其他的比如条件锁、递归锁、信号量都是上层的封装和实现\n5. 互斥锁\n互斥锁(Mutual exclusion,缩写Mutex)防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒\n互斥锁又分为:\n\n递归锁:可重入锁,同一个线程在锁释放前可再次获取锁,即可以递归调用\n非递归锁:不可重入,必须等锁释放后才能再次获取锁\n\n6. 自旋锁\n自旋锁:线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏, 因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释 放⾃旋锁\n⾃旋锁避免了进程上下⽂的调度开销,因此对于线程只会阻塞很短时间的场合是有效的\n7.互斥锁和自旋锁的区别\n\n互斥锁在线程获取锁但没有获取到时,线程会进入休眠状态,等锁被释放时线程会被唤醒\n自旋锁的线程则会一直处于等待状态(忙等待)不会进入休眠——因此效率高\n\n二、自旋锁\n1.OSSpinLock\n自从OSSpinLock出现了安全问题之后就废弃了。自旋锁之所以不安全,是因为自旋锁由于获取锁时,线程会一直处于忙等待状态,造成了任务的优先级反转\n而OSSpinLock忙等的机制就可能造成高优先级一直running等待,占用CPU时间片;而低优先级任务无法抢占时间片,变成迟迟完不成,不释放锁的情况\n2.atomic\n2.1 atomic原理\n在iOS探索 KVC原理及自定义中有提到自动生成的setter方法会根据修饰符不同调用不同方法,最后统一调用reallySetProperty方法,其中就有一段关于atomic修饰词的代码\nstatic inline void reallySetProperty(id self, SEL _cmd, id newValue, ptrdiff_t offset, bool atomic, bool copy, bool mutableCopy)\n{\n if (offset == 0) {\n object_setClass(self, newValue);\n return;\n }\n\n id oldValue;\n id *slot = (id*) ((char*)self + offset);\n\n if (copy) {\n newValue = [newValue copyWithZone:nil];\n } else if (mutableCopy) {\n newValue = [newValue mutableCopyWithZone:nil];\n } else {\n if (*slot == newValue) return;\n newValue = objc_retain(newValue);\n }\n\n if (!atomic) {\n oldValue = *slot;\n *slot = newValue;\n } else {\n spinlock_t& slotlock = PropertyLocks[slot];\n slotlock.lock();\n oldValue = *slot;\n *slot = newValue; \n slotlock.unlock();\n }\n\n objc_release(oldValue);\n}\n\n比对一下atomic的逻辑分支:\n\n原子性修饰的属性进行了spinlock加锁处理\n非原子性的属性除了没加锁,其他逻辑与atomic一般无二\n\n等等,前面不是刚说OSSpinLock因为安全问题被废弃了吗,但是苹果源码怎么还在使用呢?其实点进去就会发现用os_unfair_lock替代了OSSpinLock(iOS10之后替换)\nusing spinlock_t = mutex_tt;\n\nclass mutex_tt : nocopy_t {\n os_unfair_lock mLock;\n ...\n}\n\n\n同时为了哈希不冲突,还使用加盐操作进行加锁\n\ngetter方法亦是如此:atomic修饰的属性进行加锁处理\nid objc_getProperty(id self, SEL _cmd, ptrdiff_t offset, BOOL atomic) {\n if (offset == 0) {\n return object_getClass(self);\n }\n\n // Retain release world\n id *slot = (id*) ((char*)self + offset);\n if (!atomic) return *slot;\n\n // Atomic retain release world\n spinlock_t& slotlock = PropertyLocks[slot];\n slotlock.lock();\n id value = objc_retain(*slot);\n slotlock.unlock();\n\n // for performance, we (safely) issue the autorelease OUTSIDE of the spinlock.\n return objc_autoreleaseReturnValue(value);\n}\n\n2.2 atomic修饰的属性绝对安全吗?\natomic只能保证setter、getter方法的线程安全,并不能保证数据安全\n\n如上图所示,被atomic修饰的index变量分别在两次并发异步for循环10000次后输出的结果并不等于20000。由此可以得出结论:\n\natomic保证变量在取值和赋值时的线程安全\n但不能保证self.index+1也是安全的\n如果改成self.index=i是能保证setter方法的线程安全的\n\n3. 读写锁\n读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的CPU数\n\n写者是排他性的,⼀个读写锁同时只能有⼀个写者或多个读者(与CPU数相关),但不能同时既有读者⼜有写者。在读写锁保持期间也是抢占失效的\n如果读写锁当前没有读者,也没有写者,那么写者可以⽴刻获得读写锁,否则它必须⾃旋在那⾥,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以⽴即获得该读写锁,否则读者必须⾃旋在那⾥,直到写者释放该读写锁\n\n// 导入头文件\n#import \n// 全局声明读写锁\npthread_rwlock_t lock;\n// 初始化读写锁\npthread_rwlock_init(&lock, NULL);\n// 读操作-加锁\npthread_rwlock_rdlock(&lock);\n// 读操作-尝试加锁\npthread_rwlock_tryrdlock(&lock);\n// 写操作-加锁\npthread_rwlock_wrlock(&lock);\n// 写操作-尝试加锁\npthread_rwlock_trywrlock(&lock);\n// 解锁\npthread_rwlock_unlock(&lock);\n// 释放锁\npthread_rwlock_destroy(&lock);\n复制代码\n平时很少会直接使用读写锁pthread_rwlock_t,更多的是采用其他方式,例如使用栅栏函数完成读写锁的需求\n三、互斥锁\n1.pthread_mutex\npthread_mutex就是互斥锁本身——当锁被占用,而其他线程申请锁时,不是使用忙等,而是阻塞线程并睡眠\n使用如下:\n// 导入头文件\n#import \n// 全局声明互斥锁\npthread_mutex_t _lock;\n// 初始化互斥锁\npthread_mutex_init(&_lock, NULL);\n// 加锁\npthread_mutex_lock(&_lock);\n// 这里做需要线程安全操作\n// ...\n// 解锁 \npthread_mutex_unlock(&_lock);\n// 释放锁\npthread_mutex_destroy(&_lock);\n\nYYKit的YYMemoryCach有使用到pthread_mutex\n2.@synchronized\n@synchronized可能是日常开发中用的比较多的一种互斥锁,因为它的使用比较简单,但并不是在任意场景下都能使用@synchronized,且它的性能较低\n@synchronized (obj) {}\n\n接下来就通过源码探索来看一下@synchronized在使用中的注意事项\n\n通过汇编能发现@synchronized就是实现了objc_sync_enter和 objc_sync_exit两个方法\n通过符号断点能知道这两个方法都是在objc源码中的\n通过clang也能得到一些信息:\n\nint main(int argc, char * argv[]) {\n NSString * appDelegateClassName;\n /* @autoreleasepool */ { __AtAutoreleasePool __autoreleasepool; \n\n appDelegateClassName = NSStringFromClass(((Class (*)(id, SEL))(void *)objc_msgSend)((id)objc_getClass(\"AppDelegate\"), sel_registerName(\"class\")));\n {\n id _rethrow = 0;\n id _sync_obj = (id)appDelegateClassName;\n objc_sync_enter(_sync_obj);\n try {\n struct _SYNC_EXIT {\n _SYNC_EXIT(id arg) : sync_exit(arg) {}\n ~_SYNC_EXIT() {\n objc_sync_exit(sync_exit);\n }\n id sync_exit;\n }\n _sync_exit(_sync_obj);\n }\n catch (id e) {_rethrow = e;}\n {\n struct _FIN { _FIN(id reth) : rethrow(reth) {}\n ~_FIN() { if (rethrow) objc_exception_throw(rethrow); }\n id rethrow;\n }_fin_force_rethow(_rethrow);\n }\n }\n }\n return UIApplicationMain(argc, argv, __null, appDelegateClassName);\n}\n\n2.1 源码分析\n在objc源码中找到objc_sync_enter和objc_sync_exit\n// Begin synchronizing on 'obj'. \n// Allocates recursive mutex associated with 'obj' if needed.\n// Returns OBJC_SYNC_SUCCESS once lock is acquired. \nint objc_sync_enter(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, ACQUIRE);\n assert(data);\n data->mutex.lock();\n } else {\n // @synchronized(nil) does nothing\n if (DebugNilSync) {\n _objc_inform(\"NIL SYNC DEBUG: @synchronized(nil); set a breakpoint on objc_sync_nil to debug\");\n }\n objc_sync_nil();\n }\n\n return result;\n}\n\n// End synchronizing on 'obj'. \n// Returns OBJC_SYNC_SUCCESS or OBJC_SYNC_NOT_OWNING_THREAD_ERROR\nint objc_sync_exit(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, RELEASE); \n if (!data) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n } else {\n bool okay = data->mutex.tryUnlock();\n if (!okay) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n }\n }\n } else {\n // @synchronized(nil) does nothing\n }\n\n return result;\n}\n\n\n首先从它的注释中recursive mutex可以得出@synchronized是递归锁\n如果锁的对象obj不存在时分别会走objc_sync_nil()和不做任何操作(源码分析可以先解决简单的逻辑分支)\n\nBREAKPOINT_FUNCTION(\n void objc_sync_nil(void)\n);\n\n这也是@synchronized作为递归锁但能防止死锁的原因所在:在不断递归的过程中如果对象不存在了就会停止递归从而防止死锁\n\n正常情况下(obj存在)会通过id2data方法生成一个SyncData对象\n\nnextData指的是链表中下一个SyncData\n\nobject指的是当前加锁的对象\nthreadCount表示使用该对象进行加锁的线程数\nmutex即对象所关联的锁\n\ntypedef struct alignas(CacheLineSize) SyncData {\n struct SyncData* nextData;\n DisguisedPtr object;\n int32_t threadCount; // number of THREADS using this block\n recursive_mutex_t mutex;\n} SyncData;\n\n2.2 准备SyncData\nstatic SyncData* id2data(id object, enum usage why)\n{\n spinlock_t *lockp = &LOCK_FOR_OBJ(object);\n SyncData **listp = &LIST_FOR_OBJ(object);\n SyncData* result = NULL;\n ...\n}\n\nid2data先将返回对象SyncData类型的result准备好,后续进行数据填充\n#define LOCK_FOR_OBJ(obj) sDataLists[obj].lock\n#define LIST_FOR_OBJ(obj) sDataLists[obj].data\n\nstatic StripedMap sDataLists;\n\nstruct SyncList {\n SyncData *data;\n spinlock_t lock;\n\n constexpr SyncList() : data(nil), lock(fork_unsafe_lock) { }\n};\n\n其中通过两个宏定义去取得SyncList中的data和lock——static StripedMap sDataLists 可以理解成 NSArray list\n既然@synchronized能在任意地方(VC、View、Model等)使用,那么底层必然维护着一张全局的表(类似于weak表)。而从SyncList和SyncData的结构可以证实系统确实在底层维护着一张哈希表,里面存储着SyncList结构的数据。SyncList和SyncData的关系如下图所示:\n\n2.3 使用快速缓存\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n#if SUPPORT_DIRECT_THREAD_KEYS\n // Check per-thread single-entry fast cache for matching object\n // 检查每线程单项快速缓存中是否有匹配的对象\n bool fastCacheOccupied = NO;\n SyncData *data = (SyncData *)tls_get_direct(SYNC_DATA_DIRECT_KEY);\n if (data) {\n fastCacheOccupied = YES;\n\n if (data->object == object) {\n // Found a match in fast cache.\n uintptr_t lockCount;\n\n result = data;\n lockCount = (uintptr_t)tls_get_direct(SYNC_COUNT_DIRECT_KEY);\n if (result->threadCount threadCount);\n }\n break;\n case CHECK:\n // do nothing\n break;\n }\n\n return result;\n }\n }\n#endif\n ...\n}\n\n这里有个重要的知识点——TLS:TLS全称为Thread Local Storage,在iOS中每个线程都拥有自己的TLS,负责保存本线程的一些变量, 且TLS无需锁保护, 快速缓存的含义为:定义两个变量SYNC_DATA_DIRECT_KEY/SYNC_COUNT_DIRECT_KEY,与tsl_get_direct/tls_set_direct配合可以从线程局部缓存中快速取得SyncCacheItem.data和`SyncCacheItem.lockCount\n如果在缓存中找到当前对象,就拿出当前被锁的次数lockCount,再根据传入参数类型(获取、释放、查看)对lockCount分别进行操作\n\n获取资源ACQUIRE:lockCount++并根据key值存入被锁次数\n释放资源RELEASE:lockCount++并根据key值存入被锁次数。如果次数变为0,此时锁也不复存在,需要从快速缓存移除并清空线程数threadCount\n查看资源check:不操作\n\n\nlockCount表示被锁的次数,意味着能多次进入,从侧面表现出了递归性\n\n2.4 获取该线程下的SyncCache\n这个逻辑分支是找不到确切的线程标记只能进行所有的缓存遍历\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n SyncCache *cache = fetch_cache(NO);\n if (cache) {\n unsigned int i;\n for (i = 0; i used; i++) {\n SyncCacheItem *item = &cache->list[i];\n if (item->data->object != object) continue;\n\n // Found a match.\n result = item->data;\n if (result->threadCount lockCount lockCount++;\n break;\n case RELEASE:\n item->lockCount--;\n if (item->lockCount == 0) {\n // remove from per-thread cache\n cache->list[i] = cache->list[--cache->used];\n // atomic because may collide with concurrent ACQUIRE\n OSAtomicDecrement32Barrier(&result->threadCount);\n }\n break;\n case CHECK:\n // do nothing\n break;\n }\n\n return result;\n }\n }\n ...\n}\n\n这里介绍一下SyncCache和SyncCacheItem\ntypedef struct {\n SyncData *data; //该缓存条目对应的SyncData\n unsigned int lockCount; //该对象在该线程中被加锁的次数\n} SyncCacheItem;\n\ntypedef struct SyncCache {\n unsigned int allocated; //该缓存此时对应的缓存大小\n unsigned int used; //该缓存此时对应的已使用缓存大小\n SyncCacheItem list[0]; //SyncCacheItem数组\n} SyncCache;\n\n\nSyncCacheItem用来记录某个SyncData在某个线程中被加锁的记录,一个SyncData可以被多个SyncCacheItem持有\nSyncCache用来记录某个线程中所有SyncCacheItem,并且记录了缓存大小以及已使用缓存大小\n\n2.5 全局哈希表查找\n快速、慢速流程都没找到缓存就会来到这步——在系统保存的哈希表进行链式查找\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n lockp->lock();\n {\n SyncData* p;\n SyncData* firstUnused = NULL;\n for (p = *listp; p != NULL; p = p->nextData) {\n if ( p->object == object ) {\n result = p;\n // atomic because may collide with concurrent RELEASE\n OSAtomicIncrement32Barrier(&result->threadCount);\n goto done;\n }\n if ( (firstUnused == NULL) && (p->threadCount == 0) )\n firstUnused = p;\n }\n\n // no SyncData currently associated with object\n if ( (why == RELEASE) || (why == CHECK) )\n goto done;\n\n // an unused one was found, use it\n if ( firstUnused != NULL ) {\n result = firstUnused;\n result->object = (objc_object *)object;\n result->threadCount = 1;\n goto done;\n }\n }\n ...\n}\n\n\nlockp->lock()并不是在底层对锁进行了封装,而是在查找过程前后进行了加锁操作\nfor循环遍历链表,如果有符合的就goto done\n寻找链表中未使用的SyncData并作标记\n\n\n如果是RELEASE或CHECK直接goto done\n如果第二步中有发现第一次使用的的对象就将threadCount标记为1且goto done\n\n2.6 生成新数据并写入缓存\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n posix_memalign((void **)&result, alignof(SyncData), sizeof(SyncData));\n result->object = (objc_object *)object;\n result->threadCount = 1;\n new (&result->mutex) recursive_mutex_t(fork_unsafe_lock);\n result->nextData = *listp;\n *listp = result;\n\n done:\n lockp->unlock();\n if (result) {\n // Only new ACQUIRE should get here.\n // All RELEASE and CHECK and recursive ACQUIRE are \n // handled by the per-thread caches above.\n if (why == RELEASE) {\n // Probably some thread is incorrectly exiting \n // while the object is held by another thread.\n return nil;\n }\n if (why != ACQUIRE) _objc_fatal(\"id2data is buggy\");\n if (result->object != object) _objc_fatal(\"id2data is buggy\");\n\n#if SUPPORT_DIRECT_THREAD_KEYS\n if (!fastCacheOccupied) {\n // Save in fast thread cache\n tls_set_direct(SYNC_DATA_DIRECT_KEY, result);\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)1);\n } else \n#endif\n {\n // Save in thread cache\n if (!cache) cache = fetch_cache(YES);\n cache->list[cache->used].data = result;\n cache->list[cache->used].lockCount = 1;\n cache->used++;\n }\n }\n ...\n}\n\n\n第三步情况均不满足(即链表不存在——对象对于全部线程来说是第一次加锁)就会创建SyncData并存在result里,方便下次进行存储\n\ndone分析:\n\n先将前面的lock锁解开\n\n如果是RELEASE类型直接返回nil\n\n对ACQUIRE类型和对象的断言判断\n\n!fastCacheOccupied分支表示支持快速缓存且快速缓存被占用了,将该SyncCacheItem数据写入快速缓存中\n\n否则将该SyncCacheItem存入该线程对应的SyncCache中\n\n\n\n\n 2.7 疑难解答\n\n不能使用非OC对象作为加锁条件——id2data中接收参数为id类型\n多次锁同一个对象会有什么后果吗——会从高速缓存中拿到data,所以只会锁一次对象\n都说@synchronized性能低——是因为在底层增删改查消耗了大量性能\n加锁对象不能为nil,否则加锁无效,不能保证线程安全\n\n- (void)test {\n _testArray = [NSMutableArray array];\n for (int i = 0; i \n上面代码一运行就会崩溃,原因是因为在某一瞬间testArray释放了为nil,但哈希表中存的对象也变成了nil,导致synchronized无效化\n解决方案:\n\n对self进行同步锁,这个似乎太臃肿了\n使用NSLock\n\n3.NSLock\n3.1 使用\nNSLock是对互斥锁的简单封装,使用如下:\n- (void)test {\n self.testArray = [NSMutableArray array];\n NSLock *lock = [[NSLock alloc] init];\n for (int i = 0; i \nNSLock在AFNetworking的AFURLSessionManager.m中有使用到\n想要了解一下NSLock的底层原理,但发现其是在未开源的Foundation源码下面的,但但是Swift对Foundation却开源了,可以在swift-corelibs-foundation下载到源码来一探究竟\n\n从源码来看就是对互斥锁的简单封装\n3.2 注意事项\n使用互斥锁NSLock异步并发调用block块,block块内部递归调用自己,问打印什么?\n- (void)test {\n NSLock *lock = [[NSLock alloc] init];\n dispatch_async(dispatch_get_global_queue(0, 0), ^{\n static void (^block)(int);\n\n block = ^(int value) {\n NSLog(@\"加锁前\");\n [lock lock];\n NSLog(@\"加锁后\");\n if (value > 0) {\n NSLog(@\"value——%d\", value);\n block(value - 1);\n }\n [lock unlock];\n };\n block(10);\n });\n}\n\n输出结果并没有按代码表面的想法去走,而是只打印了一次value值\n加锁前\n加锁后\nvalue——10\n加锁前\n\n原因: 互斥锁在递归调用时会造成堵塞,并非死锁——这里的问题是后面的代码无法执行下去\n\n第一次加完锁之后还没出锁就进行递归调用\n第二次加锁就堵塞了线程(因为不会查询缓存)\n\n解决方案: 使用递归锁NSRecursiveLock替换NSLock\n4.NSRecursiveLock\n4.1 使用\nNSRecursiveLock使用和NSLock类似,如下代码就能解决上个问题\n- (void)test {\n NSRecursiveLock *lock = [[NSRecursiveLock alloc] init];\n dispatch_async(dispatch_get_global_queue(0, 0), ^{\n static void (^block)(int);\n\n block = ^(int value) {\n [lock lock];\n if (value > 0) {\n NSLog(@\"value——%d\", value);\n block(value - 1);\n }\n [lock unlock];\n };\n block(10);\n });\n}\n\nNSRecursiveLock在YYKit中YYWebImageOperation.m中有用到\n4.2 注意事项\n递归锁在使用时需要注意死锁问题——前后代码相互等待便会产生死锁\n上述代码在外层加个for循环,问输出结果?\n- (void)test {\n NSRecursiveLock *lock = [[NSRecursiveLock alloc] init];\n for (int i = 0; i 0) {\n NSLog(@\"value——%d\", value);\n block(value - 1);\n }\n [lock unlock];\n };\n block(10);\n });\n }\n}\n\n运行代码会崩溃,并会提示野指针错误\n\n原因: for循环在block内部对同一个对象进行了多次锁操作,直到这个资源身上挂着N把锁,最后大家都无法一次性解锁——找不到解锁的出口\n即 线程1中加锁1、同时线程2中加锁2-> 解锁1等待解锁2 -> 解锁2等待解锁1 -> 无法结束解锁——形成死锁\n解决: 可以采用使用缓存的@synchronized,因为它对对象进行锁操作,会先从缓存查找是否有锁syncData存在。如果有,直接返回而不加锁,保证锁的唯一性\n5.dispatch_semaphore\n在GCD应用篇章已经对信号量进行过讲解\n6.NSCondition\nNSCondition是一个条件锁,可能平时用的不多,但与信号量相似:线程1需要等到条件1满足才会往下走,否则就会堵塞等待,直至条件满足\n同样的能在Swift源码中找到关于NSCondition部分\nopen class NSCondition: NSObject, NSLocking {\n internal var mutex = _MutexPointer.allocate(capacity: 1)\n internal var cond = _ConditionVariablePointer.allocate(capacity: 1)\n\n public override init() {\n pthread_mutex_init(mutex, nil)\n pthread_cond_init(cond, nil)\n }\n\n deinit {\n pthread_mutex_destroy(mutex)\n pthread_cond_destroy(cond)\n }\n\n open func lock() {\n pthread_mutex_lock(mutex)\n }\n\n open func unlock() {\n pthread_mutex_unlock(mutex)\n }\n\n open func wait() {\n pthread_cond_wait(cond, mutex)\n }\n\n open func wait(until limit: Date) -> Bool {\n guard var timeout = timeSpecFrom(date: limit) else {\n return false\n }\n return pthread_cond_timedwait(cond, mutex, &timeout) == 0\n }\n\n open func signal() {\n pthread_cond_signal(cond)\n }\n\n open func broadcast() {\n pthread_cond_broadcast(cond) // wait signal\n }\n\n open var name: String?\n}\n\n从上述精简后的代码可以得出以下几点:\n\nNSCondition是对mutex和cond的一种封装(cond就是用于访问和操作特定类型数据的指针)\nwait操作会阻塞线程,使其进入休眠状态,直至超时\nsignal操作是唤醒一个正在休眠等待的线程\nbroadcast会唤醒所有正在等待的线程\n\n7.NSConditionLock\n顾名思义,就是NSCondition + Lock\n那么和NSCondition的区别在于哪里呢?接下来看一下NSConditionLock源码\nopen class NSConditionLock : NSObject, NSLocking {\n internal var _cond = NSCondition()\n internal var _value: Int\n internal var _thread: _swift_CFThreadRef?\n\n public convenience override init() {\n self.init(condition: 0)\n }\n\n public init(condition: Int) {\n _value = condition\n }\n\n open func lock() {\n let _ = lock(before: Date.distantFuture)\n }\n\n open func unlock() {\n _cond.lock()\n _thread = nil\n _cond.broadcast()\n _cond.unlock()\n }\n\n open var condition: Int {\n return _value\n }\n\n open func lock(whenCondition condition: Int) {\n let _ = lock(whenCondition: condition, before: Date.distantFuture)\n }\n\n open func `try`() -> Bool {\n return lock(before: Date.distantPast)\n }\n\n open func tryLock(whenCondition condition: Int) -> Bool {\n return lock(whenCondition: condition, before: Date.distantPast)\n }\n\n open func unlock(withCondition condition: Int) {\n _cond.lock()\n _thread = nil\n _value = condition\n _cond.broadcast()\n _cond.unlock()\n }\n\n open func lock(before limit: Date) -> Bool {\n _cond.lock()\n while _thread != nil {\n if !_cond.wait(until: limit) {\n _cond.unlock()\n return false\n }\n }\n _thread = pthread_self()\n _cond.unlock()\n return true\n }\n\n open func lock(whenCondition condition: Int, before limit: Date) -> Bool {\n _cond.lock()\n while _thread != nil || _value != condition {\n if !_cond.wait(until: limit) {\n _cond.unlock()\n return false\n }\n }\n _thread = pthread_self()\n _cond.unlock()\n return true\n }\n\n open var name: String?\n}\n\n从上述代码可以得出以下几点:\n\nNSConditionLock是NSCondition加线程数的封装\nNSConditionLock可以设置锁条件,而NSCondition只是无脑的通知信号\n\n8.os_unfair_lock\n由于OSSpinLock自旋锁的bug,替代方案是内部封装了os_unfair_lock,而os_unfair_lock在加锁时会处于休眠状态,而不是自旋锁的忙等状态\n9.互斥锁性能对比\n\n锁\n@synchronized\n一般在创建单例对象的时候使用\natomic\n修饰属性的关键字\n对被修饰对象进行原子操作(不负责使用)\nOSSpinLock 自旋锁\n循环等待访问,不释放当前资源(while循环)\n用于轻量级数据访问,简单的int值 +1/-1操作\nNSLock\n-(void)methodA{\n [lock lock];\n [self methodB];\n [lock unlock];\n}\n\n-(void)methodB{\n [lock lock];\n //xxxx\n [lock unlock];\n}\n\n//会导致死锁,要使用递归锁\n\nNSRescursiveLock 递归锁\n//递归锁的特点是可以重入\n-(void)methodA{\n [recursiveLock lock];\n [self methodB];\n [recursiveLock unlock];\n}\n\n-(void)methodB{\n [recursiveLock lock];\n //xxxx\n [recursiveLock unlock];\n}\n\ndispatch_semaphore_t 信号量\n阻塞是一个主动行为\n唤醒是一个被动行为\niOS系统为我们提供的几钟多线程技术各自的特点是怎样的\niOS系统当中主要提供3种,GCD、NSOperation&NSOperationQueue、NSThread,一般使用 GCD实现简单线程同步,包括子线程分派,实现多读单写情景,NSOperation方便任务状态控制,添加依赖移除依赖,NSThread多用于常用线程\n总结\n\nOSSpinLock不再安全,底层用os_unfair_lock替代\natomic只能保证setter、getter时线程安全,所以更多的使用nonatomic来修饰\n读写锁更多使用栅栏函数来实现\n@synchronized在底层维护了一个哈希链表进行data的存储,使用recursive_mutex_t进行加锁\nNSLock、NSRecursiveLock、NSCondition和NSConditionLock底层都是对pthread_mutex的封装\nNSCondition和NSConditionLock是条件锁,当满足某一个条件时才能进行操作,和信号量dispatch_semaphore类似\n普通场景下涉及到线程安全,可以用NSLock\n循环调用时用NSRecursiveLock\n循环调用且有线程影响时,请注意死锁,如果有死锁问题请使用@synchronized\n\nReference\n1. iOS探索 细数iOS中的那些锁\n"},"iOS/OCFoundation/@synchronized.html":{"url":"iOS/OCFoundation/@synchronized.html","title":"@synchronized","keywords":"","body":"@synchronized\n@synchronized 是 iOS 多线程同步锁中性能最差的一个。但是却是所有锁中使用起来最简单的一个。\n一般来说,我们就像下面的示例一样来使用:\n@synchronized (self) {\n\n}\n\n这样就可以保证 {} 中的代码在多线程的情况下线程安全 ?注意,这里我们有一个? ,如果不合理的使用 @synchronized 同样会导致线程安全问题。\n@synchronized 原理\n当我们想探究某个方法的底层是怎么实现的,我们可以通过汇编部分来探究这部分代码的具体实现。\n我们有两种方法来查看汇编部分\n\nXcode--> Debug -->Debug Workflow --> Always Show Disassembly 显示汇编,然后挂上断点,运行程序\nXcode--> Product-->Perform Action --> Assemble **.m 文件\n\n当我们在测试项目中,键入如下代码:\n- (void)viewDidLoad {\n [super viewDidLoad];\n @synchronized (self) {\n NSLog(@\"iOS 成长指北\");\n }\n}\n\n这里,我们使用第二种方法来查看汇编部分,使用第二种方式有便于我们查找代码的具体位置。当我们搜索 :行数 时,找到具体代码的汇编写法,如同红框中的示例。\n\n当我们在调用 NSLog 方法时,存在一个_objc_sync_enter 和两个_objc_sync_exit。由此可知,当代码离开 {} 闭包时,会再执行一次 _objc_sync_exit。\n萧玉大佬在其《关于 @synchronized,这儿比你想知道的还要多 中说 @synchronized block 会变成 objc_sync_enter 和 objc_sync_exit 的成对调用。从汇编调用上看,似乎并不是?\n当执行 release 方法之后,还会调用一次 objc_sync_exit。\n源码解析\n我们可以查找上述两个方法,最终在 中找到了_objc_sync_enter 和_objc_sync_exit。让我们来看看其具体实现\ntypedef struct SyncData {\n struct SyncData* nextData;\n DisguisedPtr object;\n int32_t threadCount; \n recursive_mutex_t mutex;\n} SyncData;\n\n\nint objc_sync_enter(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, ACQUIRE);\n assert(data);\n data->mutex.lock();\n } else {\n\n if (DebugNilSync) {\n _objc_inform(\"NIL SYNC DEBUG: @synchronized(nil); set a breakpoint on objc_sync_nil to debug\");\n }\n objc_sync_nil();\n }\n\n return result;\n}\n\n\n\n\n\nint objc_sync_exit(id obj)\n{\n int result = OBJC_SYNC_SUCCESS;\n\n if (obj) {\n SyncData* data = id2data(obj, RELEASE); \n if (!data) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n } else {\n bool okay = data->mutex.tryUnlock();\n if (!okay) {\n result = OBJC_SYNC_NOT_OWNING_THREAD_ERROR;\n }\n }\n } else {\n\n }\n\n\n return result;\n}\n\n从源代码和注释中,我们可以发现:\n\n@synchronized 创建了一个基于 obj 为 key 的递归互斥的锁 recursive_mutex_t mutex\n当 obj 为 nil 时,_objc_sync_enter 和_objc_sync_exit 并不会执行任何操作\n我们最终加锁解锁的是 SyncData 结构体,是利用 id2data(obj, usage) 来获取的\nSyncData 其本质应该是一个链表的头结点,因为使用 nextData 寻找确定对应值\n\nobj 的作用\n为什么我们要在使用 @synchronized 的时候,我们需要传一个obj 呢?我们看一下使用的 obj 的时机\nstatic SyncData* id2data(id object, enum usage why)\n{\n spinlock_t *lockp = &LOCK_FOR_OBJ(object);\n SyncData **listp = &LIST_FOR_OBJ(object);\n SyncData* result = NULL;\n ...\n}\n\n当我们使用时,通过 StripedMap 来获取对应 obj 的 SyncData 和其被加的自旋锁 spinlock_t。\nstruct SyncList {\n SyncData *data;\n spinlock_t lock;\n\n SyncList() : data(nil), lock(fork_unsafe_lock) { }\n};\n\n\n\n\n#define LOCK_FOR_OBJ(obj) sDataLists[obj].lock\n#define LIST_FOR_OBJ(obj) sDataLists[obj].data\nstatic StripedMap sDataLists;\n\nStripedMap 其本质就是一个哈希表,外层是一个数组,数组里的每个位置存储一个类似链表的结构 SyncList。\n使用哈希表的原因就是为了避免多个obj之间的竞争,其哈希函数是基于obj而不是其他。当我们使用 id2data(obj, usage) 函数获取确定的 SyncData 时,首先先根据hash(obj) 获取对应 SyncList 的头节点SyncData,那么后续做什么呢?\n我们看看 id2data(obj, usage) 的其他实现\nid2data(obj, usage)\n如果我们要了解具体如何获取到,我们需要查看\nstatic SyncData* id2data(id object, enum usage why)\n{\n ...\n#if SUPPORT_DIRECT_THREAD_KEYS\n\n bool fastCacheOccupied = NO;\n SyncData *data = (SyncData *)tls_get_direct(SYNC_DATA_DIRECT_KEY);\n if (data) {\n fastCacheOccupied = YES;\n\n if (data->object == object) {\n\n uintptr_t lockCount;\n\n result = data;\n lockCount = (uintptr_t)tls_get_direct(SYNC_COUNT_DIRECT_KEY);\n switch(why) {\n case ACQUIRE: {\n\n lockCount++;\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)lockCount);\n break;\n }\n case RELEASE:\n\n lockCount--;\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)lockCount);\n if (lockCount == 0) {\n\n tls_set_direct(SYNC_DATA_DIRECT_KEY, NULL);\n\n OSAtomicDecrement32Barrier(&result->threadCount);\n }\n break;\n case CHECK:\n\n break;\n }\n\n return result;\n }\n }\n#endif\n\n\n SyncCache *cache = fetch_cache(NO);\n if (cache) {\n unsigned int i;\n for (i = 0; i used; i++) {\n SyncCacheItem *item = &cache->list[i];\n if (item->data->object != object) continue;\n\n\n result = item->data;\n if (result->threadCount lockCount lockCount++;\n break;\n case RELEASE:\n item->lockCount--;\n if (item->lockCount == 0) {\n\n cache->list[i] = cache->list[--cache->used];\n\n OSAtomicDecrement32Barrier(&result->threadCount);\n }\n break;\n case CHECK:\n\n break;\n }\n\n return result;\n }\n\n }\n\n lockp->lock();\n\n {\n ...\n\n goto done;\n }\n\n\n\n\n done:\n lockp->unlock();\n if (result) {\n\n\n\n if (why == RELEASE) {\n\n\n return nil;\n }\n\n#if SUPPORT_DIRECT_THREAD_KEYS\n if (!fastCacheOccupied) {\n\n tls_set_direct(SYNC_DATA_DIRECT_KEY, result);\n tls_set_direct(SYNC_COUNT_DIRECT_KEY, (void*)1);\n } else \n#endif\n {\n\n if (!cache) cache = fetch_cache(YES);\n cache->list[cache->used].data = result;\n cache->list[cache->used].lockCount = 1;\n cache->used++;\n }\n }\n\n return result;\n}\n\n\n当我们拿到 SyncList 中 SyncData 的头结点时,我们需要查找链表中对应的 SyncData。\n当存在缓存时,根据是否支持 SUPPORT_DIRECT_THREAD_KEYS ,寻找对应的 SyncData 的方法实现是不同的。一个是根据 tls 另一个是使用 for循环 来查找。\n当没有没有缓存时,我们需要创建对应的缓存。\n前面我们说过,SyncList 存在一个自旋锁 spinlock_t lock,其加减锁的时机是在加入缓存的时候实现的,线程缓存找不到任何内容时,会加一个自旋锁。但是 spinlock_t lock 只是一个命名为自旋锁的互斥锁 os_unfair_lock 罢了。\n一个值得注意的是,多线程处理时,对应线程可能使用相同的obj 来创建的,但是并没有创建线程缓存,即 SyncData 存在,但是线程缓存不存在。如果 SyncData 不存在,我们需要创建一个对应的SyncData。最后创建 SyncData 的线程缓存,并返回对应的 SyncData ,并加递归互斥锁。\n\n\n\n1 // obj传入sDataLists\n2 #define LIST_FOR_OBJ(obj) sDataLists[obj].data\n3\n4 // 哈希表结构,内部存SyncList\n5 static StripedMap sDataLists;\n6\n7 // SyncList结构体,内部data就是SyncData\n8 struct SyncList {\n9 SyncData *data;\n10 spinlock_t lock;\n11 constexpr SyncList() : data(nil), lock(fork_unsafe_lock) { }\n12 };\n13\n14 // 哈希表结构\n15 class StripedMap {\n16 enum { StripeCount = 64 };\n17\n18 struct PaddedT {\n19 T value alignas(CacheLineSize);\n20 };\n21\n22 PaddedT array[StripeCount];\n23\n24 // 哈希函数\n25 static unsigned int indexForPointer(const void *p) {\n26 uintptr_t addr = reinterpret_cast(p);\n27 return ((addr >> 4) ^ (addr >> 9)) % StripeCount; \n28\n29 }\n30\n31 public:\n32 // 此处的p就是上面的obj,也就是obj执行上面的哈希函数对应到数组的index\n33 T& operator[] (const void *p) { \n34 return array[indexForPointer(p)].value; \n35 }\n\n从上述代码看出整体StripedMap是一个哈希表结构,表外层是一个数组,数组里的每个位置存储一个类似链表的结构(SyncList),SyncData 存储的位置具体依赖第25行处的哈希函数,如图:\n\nobj1 处,经过哈希函数计算得出索引2,起初我们要顺着上面的 A 线对List进行查找,没找到,将当前的obj插入到最前面,也是为了更快的找到当前使用的对象而这么设计。\n// Allocate a new SyncData and add to list.\n // XXX allocating memory with a global lock held is bad practice,\n // might be worth releasing the lock, allocating, and searching again.\n // But since we never free these guys we won't be stuck in allocation very often.\n posix_memalign((void **)&result, alignof(SyncData), sizeof(SyncData));\n result->object = (objc_object *)object;\n result->threadCount = 1;\n new (&result->mutex) recursive_mutex_t(fork_unsafe_lock);\n result->nextData = *listp;\n *listp = result;\n\n慎用 @synchronized(obj)\n为什么我们在开头我们说 @synchronized 并不能保证线程安全,当我们使用一个可能变成 nil 的对象作为 obj 时,会发生线程安全问题。\nfor (NSInteger i = 0; i \n这个例子来自于参考资料 ,稍微修改了一下创建的次数,如果是真机调试可能需要更少的调试次数,模拟器的话其支持的次数会比较多一点。\n这个例子会发生崩溃,是因为 ARC 下 setArray: 的方法会执行一个 release 操作,在某个线程中会出现 self.array 为 nil 的情况,而 @synchronized (nil)并不执行加锁解锁操作,会导致线程崩溃。\n总结\n在所有的线程安全的方案中,@synchronized 以其使用成本成为大部分用户选择,但是性能问题却一直成为他人的诟病。\n为什么 @synchronized 是性能最差的呢?因为其包含的操作极为复杂,除了常规的加锁解锁操作以外,还需要考虑哈希表寻址,缓存获取 / 创建缓存等,最差情况下即 N 个 不同的 obj 创建多个不同的 SyncData,并且会调用命名为自旋锁的互斥锁 os_unfair_lock 来实现缓存。\nReference\nIOS - @synchronized详解\n关于 @synchronized,这儿比你想知道的还要多\niOS 性能差的 @synchronized 有什么优点吗\n"},"iOS/SourceCode/YYASyncLayer.html":{"url":"iOS/SourceCode/YYASyncLayer.html","title":"YYAsyncLayer","keywords":"","body":"YYAsyncLayer\nYYAsyncLayer 库代码很清晰,就几个文件:\nYYAsyncLayer.h (.m)\nYYSentinel.h (.m)\nYYTransaction.h (.m)\n\n\nYYAsyncLayer 类继承自 CALayer ,不同的是作者封装了异步绘制的逻辑便于使用。\nYYSentinel 类是一个计数的类,是为了记录最新的布局请求标识,便于及时的放弃多余的绘制逻辑以减少开销。\nYYTransaction 类是事务类,捕获主线程 runloop 的某个时机回调,用于处理异步绘制事件。\n\n为什么需要异步绘制?\n1、界面卡顿的实质\niOS 设备显示器每绘制完一帧画面,复位时就会发送一个 VSync (垂直同步信号) ,并且此时切换帧缓冲区 (iOS 设备是双缓存+垂直同步);在读取经 GPU 渲染完成的帧缓冲区数据进行绘制的同时,还会通过 CADisplayLink 等机制通知 APP 内部可以提交结果到另一个空闲的帧缓冲区了;接着 CPU 计算 APP 布局,计算完成交由 GPU 渲染,渲染完成提交到帧缓冲区;当 VSync 再一次到来的时候,切换帧缓冲区......\n (参考 iOS 保持界面流畅的技巧 )\n当 VSync 到来准备切换帧缓冲区时,若空闲的帧缓存区并未收到来自 GPU 的提交,此次切换就会作罢,设备显示系统会放弃此次绘制,从而引起掉帧。\n由此可知,不管是 CPU 还是 GPU 哪一个出现问题导致不能及时的提交渲染结果到帧缓冲区,都会导致掉帧。优化界面流畅程度,实际上就是减少掉帧(iOS设备上大致是 60 FPS),也就是减小 CPU 和 GPU 的压力提高性能。\n2、UIKit 性能瓶颈\n大部分 UIKit 组件的绘制是在主线程进行,需要 CPU 来进行绘制,当同一时刻过多组件需要绘制或者组件元素过于复杂时,必然会给 CPU 带来压力,这个时候就很容易掉帧(主要是文本控件,大量文本内容的计算和绘制过程都相当繁琐)。\n3、UIKit 替代方案:CoreAnimation 或 CoreGraphics\n当然,首选优化方案是 CoreAnimation 框架。CALayer 的大部分属性都是由 GPU 绘制的 (硬件层面),不需要 CPU (软件层面) 做任何绘制。CA 框架下的 CAShapeLayer (多边形绘制)、CATextLayer(文本绘制)、CAGradientLayer (渐变绘制) 等都有较高的效率,非常实用。\n再来看一下 CoreGraphics 框架,实际上它是依托于 CPU 的软件绘制。在实现CALayerDelegate 协议的 -drawLayer:inContext: 方法时(等同于UIView 二次封装的 -drawRect:方法),需要分配一个内存占用较高的上下文context,与此同时,CALayer 或者其子类需要创建一个等大的寄宿图contents。当基于 CPU 的软件绘制完成,还需要通过 IPC (进程间通信) 传递给设备显示系统。值得注意的是:当重绘时需要抹除这个上下文重新分配内存。\n不管是创建上下文、重绘带来的内存重新分配、IPC 都会带来性能上的较大开销。所以 CoreGraphics 的性能比较差,日常开发中要尽量避免直接在主线程使用。通常情况下,直接给 CALayer 的 contents 赋值 CGImage 图片或者使用 CALayer 的衍生类就能实现大部分需求,还能充分利用硬件支持,图像处理交给 GPU 当然更加放心。\n4、多核设备带来的可能性\n通过以上说明,可以了解 CoreGraphics 较为糟糕的性能。然而可喜的是,市面上的设备都已经不是单核了,这就意味着可以通过后台线程处理耗时任务,主线程只需要负责调度显示。\nps:关于多核设备的线程性能问题,后面分析源码会讲到\nCoreGraphics 框架可以通过图片上下文将绘制内容制作为一张位图,并且这个操作可以在非主线程执行。那么,当有 n 个绘制任务时,可以开辟多个线程在后台异步绘制,绘制成功拿到位图回到主线程赋值给 CALayer 的寄宿图属性。\n三、YYSentinel\n该类非常简单:\n.h\n@interface YYSentinel : NSObject\n@property (readonly) int32_t value;\n- (int32_t)increase;\n@end\n\n.m\n@implementation YYSentinel { int32_t _value; }\n- (int32_t)value { return _value; }\n- (int32_t)increase { return OSAtomicIncrement32(&_value); }\n@end\n\n一看便知,该类扮演的是计数的角色,值得注意的是,-increase方法是使用 OSAtomicIncrement32() 方法来对value执行自增。\nOSAtomicIncrement32()是原子自增方法,线程安全。在日常开发中,若需要保证整形数值变量的线程安全,可以使用 OSAtomic 框架下的方法,它往往性能比使用各种“锁”更为优越,并且代码优雅。\n至于该类的实际作用后文会解释。\n四、YYTransaction\nYYTransaction 貌似和系统的 CATransaction 很像,他们同为“事务”,但实际上很不一样。通过 CATransaction 的嵌套用法猜测 CATransaction 对任务的管理是使用的一个栈结构,而 YYTransaction 是使用的集合来管理任务。\nYYTransaction 做的事情就是记录一系列事件,并且在合适的时机调用这些事件。\n1、提交任务\nYYTransaction 有两个属性:\n@interface YYTransaction()\n@property (nonatomic, strong) id target;\n@property (nonatomic, assign) SEL selector;\n@end\nstatic NSMutableSet *transactionSet = nil;\n\n很简单,方法接收者 (target) 和方法 (selector),实际上一个 YYTransaction 就是一个任务,而全局区的 transactionSet 集合就是用来存储这些任务。提交方法-commit 不过是初始配置并且将任务装入集合。\n2、合适的回调时机\nstatic void YYTransactionSetup() {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n transactionSet = [NSMutableSet new];\n CFRunLoopRef runloop = CFRunLoopGetMain();\n CFRunLoopObserverRef observer;\n observer = CFRunLoopObserverCreate(CFAllocatorGetDefault(),\n kCFRunLoopBeforeWaiting | kCFRunLoopExit,\n true, // repeat\n 0xFFFFFF, // after CATransaction(2000000)\n YYRunLoopObserverCallBack, NULL);\n CFRunLoopAddObserver(runloop, observer, kCFRunLoopCommonModes);\n CFRelease(observer);\n });\n}\n\n这里在主线程的 RunLoop 中添加了一个 oberver 监听,回调的时机是 kCFRunLoopBeforeWaiting 和 kCFRunLoopExit ,即是主线程 RunLoop 循环即将进入休眠或者即将退出的时候。而该 oberver 的优先级是 0xFFFFFF,优先级在 CATransaction 的后面。\n从这里可以看出,作者使用一个“低姿态”侵入主线程 RunLoop,在处理完重要逻辑(即 CATransaction 管理的绘制任务)之后做异步绘制的事情,这也是作者对优先级的权衡考虑。\n下面看看回调里面做了些什么:\nstatic void YYRunLoopObserverCallBack(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info) {\n if (transactionSet.count == 0) return;\n NSSet *currentSet = transactionSet;\n transactionSet = [NSMutableSet new];\n [currentSet enumerateObjectsUsingBlock:^(YYTransaction *transaction, BOOL *stop) {\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Warc-performSelector-leaks\"\n [transaction.target performSelector:transaction.selector];\n#pragma clang diagnostic pop\n }];\n}\n\n一目了然,只是将集合中的任务分别执行。\n3、自定义 hash 算法\nYYTransaction 类重写了 hash 算法:\n- (NSUInteger)hash {\n long v1 = (long)((void *)_selector);\n long v2 = (long)_target;\n return v1 ^ v2;\n}\n\nNSObject 类默认的 hash 值为 10 进制的内存地址,这里作者将_selector和_target的内存地址进行一个位异或处理,意味着只要_selector和_target地址都相同时,hash 值就相同。\n这么做的意义是什么呢?\n上面有提到一个集合:\nstatic NSMutableSet *transactionSet = nil;\n\n和其他编程语言一样 NSSet 是基于 hash 的集合,它是不能有重复元素的,而判断是否重复毫无疑问是使用 hash。这里将 YYTransaction 的 hash 值依托于_selector和_target的内存地址,那就意味着两点:\n\n同一个 YYTransaction 实例,_selector和_target只要有一个内存地址不同,就会在集合中体现为两个值。\n不同的 YYTransaction 实例,_selector和_target的内存地址都相同,在集合中的体现为一个值。\n\n这样可以避免重复的方法调用。加入transactionSet中的事件会在 Runloop 即将进入休眠或者即将退出时遍历执行,相同的方法接收者 (_target) 和相同的方法 (_selector) 在一个 Runloop 周期内可以视为重复调用。\n举个例子:\n在 YYText 的YYTextView中,主要是为了将自定义的绘制逻辑装入transactionSet,然后在 Runloop 要结束时统一执行,Runloop 回调的优先级避免与系统绘制逻辑竞争资源,使用NSSet合并了一次 Runloop 周期多次的绘制请求为一个。\n五、YYAsyncLayer\n@interface YYAsyncLayer : CALayer\n@property BOOL displaysAsynchronously;\n@end\n\nYYAsyncLayer 继承自 CALayer,对外暴露了一个方法可开闭是否异步绘制。\n1、初始化配置\n- (instancetype)init {\n self = [super init];\n static CGFloat scale; //global\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n scale = [UIScreen mainScreen].scale;\n });\n self.contentsScale = scale;\n _sentinel = [YYSentinel new];\n _displaysAsynchronously = YES;\n return self;\n}\n\n这里设置了YYAsyncLayer的contentsScale为屏幕的scale,该属性是 物理像素 / 逻辑像素,这样可以充分利用不同设备的显示器分辨率,绘制更清晰的图像。但是若contentsGravity设置了可拉伸的类型,CoreAnimation 将会优先满足,而忽略掉contentsScale。\n同时还创建了一个YYSentinel实例。\n@2x和@3x图\n实际上 iPhone4 及其以上的 iPhone 设备scale都是 2 及以上,也就是说至少都是每个逻辑像素长度对应两个物理像素长度。所以很多美工会只切 @2x 和 @3x 图给你,而不切一倍图。\n@2x和@3x图是苹果一个优化显示效果的机制,当 iPhone 设备scale为 2 时会优先读取 @2x 图,当scale为 3 时会优先读取 @3x 图,这就意味着,CALayer的contentsScale要和设备的scale对应才能达到预期的效果(不同设备显示相同的逻辑像素大小)。\n幸运的是,UIView和UIImageView默认处理了它们内部CALayer的contentsScale,所以除非是直接使用CALayer及其衍生类,都不用显式的配置contentsScale。\nUIView如何显示内容\n当我们操作UI时,例如改变frame、更新UIView/CALayer,或者自己去调用setNeedsLayout/setNeedsDisplay方法,UIView会调用-[CALayer setNeedsLayout]/-[CALayer setNeedsDisplay]方法,给layer上打上一个脏标记,意味着需要重绘。但是只有在下一次runloop即将结束的时候才会调用[CALayer display],而这个方法会判断是否实现了displayLayer这个方法,如果没有实现,那么走系统调用,如果实现了就为我们提供了异步绘制的入口。具体可以参看下面的流程图\n\n系统绘制:\n\n我们首先看一下系统绘制,当[CALayer dispaly]方法调用的时候,他会检查-dispalyerLayer方法是否被实现了,若没有实现则我们调用系统的绘制方法。首先 CALayer会生成一个backing store(CGContextRef),每个layer都有一个content,这个content指向的一块缓存称为backing store。如果layer有delegate,则调用delegate的- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx方法,否则调用-[CALayer drawInContext:]方法,进而调用[UIView drawRect:]方法。 UIKit会将这个conext推到系统的context堆栈中,如果在draw rect中通过UIGraphicsGetCurrentContext() 取得的CGContextRef就是CALayer生成的这个实例。所有的绘制操作也会在这块Context上生效。 CPU 执行完draw rect之后,通过context将数据写入backing store。当backing store写完之后,通过rendserver交给GPU去渲染,将backing store中的bitmap数据显示在屏幕上。\n重写绘制方法\n- (void)setNeedsDisplay {\n [self _cancelAsyncDisplay];\n [super setNeedsDisplay];\n}\n- (void)display {\n super.contents = super.contents;\n [self _displayAsync:_displaysAsynchronously];\n}\n\n可以看到两个方法,-_cancelAsyncDisplay是取消绘制,稍后解析实现逻辑;-_displayAsync是异步绘制的核心方法。\n2、YYAsyncLayerDelegate 代理\n@protocol YYAsyncLayerDelegate \n@required\n- (YYAsyncLayerDisplayTask *)newAsyncDisplayTask;\n@end\n\n@interface YYAsyncLayerDisplayTask : NSObject\n@property (nullable, nonatomic, copy) void (^willDisplay)(CALayer *layer);\n@property (nullable, nonatomic, copy) void (^display)(CGContextRef context, CGSize size, BOOL(^isCancelled)(void));\n@property (nullable, nonatomic, copy) void (^didDisplay)(CALayer *layer, BOOL finished);\n@end\n\nYYAsyncLayerDisplayTask是绘制任务管理类,可以通过willDisplay和didDisplay回调将要绘制和结束绘制时机,最重要的是display,需要实现这个代码块,在代码块里面写业务绘制逻辑。\n这个代理实际上就是框架和业务交互的桥梁,不过这个设计笔者个人认为有一些冗余,这里如果直接通过代理方法与业务交互而不使用中间类可能看起来更舒服。\n3、异步绘制的核心逻辑\n删减了部分代码:\n- (void)_displayAsync:(BOOL)async {\n __strong id delegate = self.delegate;\n YYAsyncLayerDisplayTask *task = [delegate newAsyncDisplayTask];\n ...\n dispatch_async(YYAsyncLayerGetDisplayQueue(), ^{\n if (isCancelled()) return;\n UIGraphicsBeginImageContextWithOptions(size, opaque, scale);\n CGContextRef context = UIGraphicsGetCurrentContext();\n task.display(context, size, isCancelled);\n if (isCancelled()) {\n UIGraphicsEndImageContext();\n dispatch_async(dispatch_get_main_queue(), ^{\n if (task.didDisplay) task.didDisplay(self, NO);\n });\n return;\n }\n UIImage *image = UIGraphicsGetImageFromCurrentImageContext();\n UIGraphicsEndImageContext();\n if (isCancelled()) {\n dispatch_async(dispatch_get_main_queue(), ^{\n if (task.didDisplay) task.didDisplay(self, NO);\n });\n return;\n }\n dispatch_async(dispatch_get_main_queue(), ^{\n if (isCancelled()) {\n if (task.didDisplay) task.didDisplay(self, NO);\n } else {\n self.contents = (__bridge id)(image.CGImage);\n if (task.didDisplay) task.didDisplay(self, YES);\n }\n });\n });\n ...\n}\n\n先不用管 YYAsyncLayerGetDisplayQueue()方法如何获取的异步队列,也先不用管isCancelled()判断做的一些提前结束绘制的逻辑,这些后面会讲。\n那么,实际上核心代码可以更少:\n- (void)_displayAsync:(BOOL)async {\n ...\n dispatch_async(YYAsyncLayerGetDisplayQueue(), ^{\n UIGraphicsBeginImageContextWithOptions(size, opaque, scale);\n CGContextRef context = UIGraphicsGetCurrentContext();\n task.display(context, size, isCancelled);\n UIImage *image = UIGraphicsGetImageFromCurrentImageContext();\n UIGraphicsEndImageContext();\n dispatch_async(dispatch_get_main_queue(), ^{\n self.contents = (__bridge id)(image.CGImage);\n });\n }];\n ...\n}\n\n此时就很清晰了,在异步线程创建一个位图上下文,调用task的display代码块进行绘制(业务代码),然后生成一个位图,最终进入主队列给YYAsyncLayer的contents赋值CGImage由 GPU 渲染过后提交到显示系统。\n4、及时的结束无用的绘制\n针对同一个YYAsyncLayer,很有可能新的绘制请求到来时,当前的绘制任务还未完成,而当前的绘制任务是无用的,会继续消耗过多的 CPU (GPU) 资源。当然,这种场景主要是出现在列表界面快速滚动时,由于视图的复用机制,导致重新绘制的请求非常频繁。\n为了解决这个问题,作者使用了大量的判断来及时的结束无用的绘制,可以看看源码或者是上文贴出的异步绘制核心逻辑代码,会发现一个频繁的操作:\nif (isCancelled()) {...}\n\n看看这个代码块的实现:\nYYSentinel *sentinel = _sentinel;\nint32_t value = sentinel.value;\nBOOL (^isCancelled)(void) = ^BOOL() {\n return value != sentinel.value;\n};\n\n这就是YYSentinel计数类起作用的时候了,这里用一个局部变量value来保持当前绘制逻辑的计数值,保证其他线程改变了全局变量_sentinel的值也不会影响当前的value;若当前value不等于最新的_sentinel .value时,说明当前绘制任务已经被放弃,就需要及时的做返回逻辑。\n那么,何时改变这个计数?\n- (void)setNeedsDisplay {\n [self _cancelAsyncDisplay];\n [super setNeedsDisplay];\n}\n- (void)_cancelAsyncDisplay {\n [_sentinel increase];\n}\n\n很明显,在提交重绘请求时,计数器加一。\n5、异步线程的管理\n去除了判断 YYDispatchQueuePool 库是否存在的代码,实际上那就是作者提取的队列管理封装,思想和以下代码一样。\nstatic dispatch_queue_t YYAsyncLayerGetDisplayQueue() {\n//最大队列数量\n#define MAX_QUEUE_COUNT 16\n//队列数量\n static int queueCount;\n//使用栈区的数组存储队列\n static dispatch_queue_t queues[MAX_QUEUE_COUNT];\n static dispatch_once_t onceToken;\n static int32_t counter = 0;\n dispatch_once(&onceToken, ^{\n//要点 1 :串行队列数量和处理器数量相同\n queueCount = (int)[NSProcessInfo processInfo].activeProcessorCount;\n queueCount = queueCount MAX_QUEUE_COUNT ? MAX_QUEUE_COUNT : queueCount;\n//要点 2 :创建串行队列,设置优先级\n if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {\n for (NSUInteger i = 0; i \n要点 1 :串行队列数量和处理器数量相同\n首先要明白,并发 和 并行 的区别:\n 并行一定并发,并发不一定并行。在单核设备上,CPU通过频繁的切换上下文来运行不同的线程,速度足够快以至于我们看起来它是‘并行’处理的,然而我们只能说这种情况是并发而非并行。例如:你和两个人一起百米赛跑,你一直在不停的切换跑道,而其他两人就在自己的跑道上,最终,你们三人同时到达了终点。我们把跑道看做任务,那么,其他两人就是并行执行任务的,而你只能的说是并发执行任务。\n所以,实际上一个 n 核设备同一时刻最多能 并行 执行 n 个任务,也就是最多有 n 个线程是相互不竞争 CPU 资源的。\n当你开辟的线程过多,超过了处理器核心数量,实际上某些并行的线程之间就可能竞争同一个处理器的资源,频繁的切换上下文也会消耗处理器资源。\n所以,笔者认为:超过处理器核心数量的线程没有处理速度上的优势,只是在业务上便于管理,并且能最大化的利用处理器资源。\n(也是一个核心原理)\n而串行队列中只有一个线程,\n该框架中,作者使用和处理器核心相同数量的串行队列来轮询处理异步任务,有效的减少了线程调度操作。\n要点 2 :创建串行队列,设置优先级\n在 8.0 以上的系统,队列的优先级为 QOS_CLASS_USER_INITIATED,低于用户交互相关的QOS_CLASS_USER_INTERACTIVE。\n在 8.0 以下的系统,通过dispatch_set_target_queue()函数设置优先级为DISPATCH_QUEUE_PRIORITY_DEFAULT(第二个参数如果使用串行队列会强行将我们创建的所有线程串行执行任务)。\n可以猜测主队列的优先级是大于或等于QOS_CLASS_USER_INTERACTIVE的,让这些串行队列的优先级低于主队列,避免框架创建的线程和主线程竞争资源。\n关于两种类型优先级的对应关系是这样的:\n * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED\n * - DISPATCH_QUEUE_PRIORITY_DEFAULT: QOS_CLASS_DEFAULT\n * - DISPATCH_QUEUE_PRIORITY_LOW: QOS_CLASS_UTILITY\n * - DISPATCH_QUEUE_PRIORITY_BACKGROUND: QOS_CLASS_BACKGROUND\n\n要点 3 :轮询返回队列\n使用原子自增函数OSAtomicIncrement32()对局部静态变量counter进行自增,然后通过取模运算轮询返回队列。\n注意这里使用了一个判断:if (cur ,当cur自增越界时就会变为负数最大值(在二进制层面,是用正整数的反码加一来表示其负数的)。\n为什么要使用 n 个串行队列实现并发\n可能有人会有疑惑,为什么这里需要使用 n 个串行队列来调度,而不用一个并行队列。\n主要是因为并行队列无法精确的控制线程数量,很有可能创建过多的线程,导致 CPU 线程调度过于频繁,影响交互性能。\n可能会想到用信号量 (dispatch_semaphore_t) 来控制并发,然而这样只能控制并发的任务数量,而不能控制线程数量,并且使用起来不是很优雅。而使用串行队列就很简单了,我们可以很明确的知道自己创建的线程数量,一切皆在掌控之中。\nReference\n1. YYAsyncLayer 源码剖析:异步绘制\n2. iOS 异步绘制\n"},"iOS/SourceCode/FluentDarkModeKit.html":{"url":"iOS/SourceCode/FluentDarkModeKit.html","title":"FluentDarkModeKit ","keywords":"","body":"FluentDarkModeKit\nNSProxy\nNSProxy 是少数不继承自 NSObject 的类型。\n在该框架中 NSProxy 承载了两种模式下的不同颜色和不同图片。\n颜色 UIColor\nFluentDarkModeKit 声明了DMDynamicColor 类,\nNS_SWIFT_NAME(DynamicColor)\n@interface DMDynamicColor : UIColor\n\n@property (nonatomic, readonly) UIColor *lightColor;\n@property (nonatomic, readonly) UIColor *darkColor;\n\n- (instancetype)initWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor;\n\n@end\n\n在 .h 文件中,我们可以看出 DMDynamicColor 继承子 UIColor,但是在 .m 中,我们可以看出它真正创建的是一个 DMDynamicColorProxy。\n@interface DMDynamicColorProxy : NSProxy \n\n- (UIColor *)initWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor {\n return (DMDynamicColor *)[[DMDynamicColorProxy alloc] initWithLightColor:lightColor darkColor:darkColor];\n}\n\n@end\n\nDMDynamicColorProxy 继承自 NSProxy,它将所有的事件转发到 resolvedColor ,而 resolvedColor 是根据当前系统的模式返回的 lightColor 或者 darkColor。这样 DMDynamicColorProxy 对外的表现就是一个 UIColor,并且可以根据系统的模式返回对应的颜色。\n@interface DMDynamicColorProxy : NSProxy \n\n@property (nonatomic, strong) UIColor *lightColor;\n@property (nonatomic, strong) UIColor *darkColor;\n\n@property (nonatomic, readonly) UIColor *resolvedColor;\n\n@end\n\n@implementation DMDynamicColorProxy\n\n// TODO: We need a more generic initializer.\n- (instancetype)initWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor {\n self.lightColor = lightColor;\n self.darkColor = darkColor;\n\n return self;\n}\n\n- (UIColor *)resolvedColor {\n if (DMTraitCollection.currentTraitCollection.userInterfaceStyle == DMUserInterfaceStyleDark) {\n return self.darkColor;\n } else {\n return self.lightColor;\n }\n}\n\n// MARK: UIColor\n\n- (UIColor *)colorWithAlphaComponent:(CGFloat)alpha {\n return [[DMDynamicColor alloc] initWithLightColor:[self.lightColor colorWithAlphaComponent:alpha]\n darkColor:[self.darkColor colorWithAlphaComponent:alpha]];\n}\n\n// MARK: NSProxy\n\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel {\n return [self.resolvedColor methodSignatureForSelector:sel];\n}\n\n- (void)forwardInvocation:(NSInvocation *)invocation {\n [invocation invokeWithTarget:self.resolvedColor];\n}\n\n// MARK: NSObject\n\n- (BOOL)isKindOfClass:(Class)aClass {\n static DMDynamicColor *dynamicColor = nil;\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n dynamicColor = [[DMDynamicColor alloc] init];\n });\n return [dynamicColor isKindOfClass:aClass];\n}\n\n// MARK: NSCopying\n\n- (id)copy {\n return [self copyWithZone:nil];\n}\n\n- (id)copyWithZone:(NSZone *)zone {\n return [[DMDynamicColorProxy alloc] initWithLightColor:self.lightColor darkColor:self.darkColor];\n}\n\n@end\n\n注意:对于 UIColor 的方法中返回值为 UIColor 的,DMDynamicColorProxy 都进行了实现,目的就是当 UIColor 在调用这些方法时,返回的类型依然为 DMDynamicColorProxy。\n图片 UIImage\n和颜色的实现原理一样,也声明了 DMDynamicImageProxy,由 resolvedImage 根据当前的模式返回 lightImage 或者 darkImage。\n@interface DMDynamicImageProxy : NSProxy\n\n@property (nonatomic, readonly) UIImage *resolvedImage;\n\n- (instancetype)initWithLightImage:(UIImage *)lightImage darkImage:(UIImage *)darkImage;\n\n@end\n\n在具体的实现中,DMDynamicImageProxy 也是将事件转发到 resolvedImage,这样在外界看来 DMDynamicImageProxy 的表现就是 UIImage,但是可以根据当前的模式返回不同的 Image。\n注意:对于 UIImage 的方法中返回值为 UIImage 的,DMDynamicImageProxy 都进行了实现,目的就是当 UIImage 在调用这些方法时,返回的类型依然为 DMDynamicImageProxy。\n替换设置方法\n我们先来看一个小测试,同一个颜色(实际类型为 DMDynamicColorProxy)赋值给 view 的 backgroundColor 和 button 的 titleColor 后,再和原来的颜色进行对比,结果是否相等?\nlet color = UIColor(.dm, light: .white, dark: .black)\nview.backgroundColor = color\nif view.backgroundColor == color {\n debugPrint(\"equal\")\n} else {\n debugPrint(\"not equal\")\n}\n\nlet button = UIButton()\nbutton.setTitleColor(color, for: .normal)\nif button.titleColor(for: .normal) == color {\n debugPrint(\"equal\")\n} else {\n debugPrint(\"not equal\")\n}\n\n输出:\nnot equal\nequal\n\n也就是说,同样是给颜色进行赋值,但是 Apple 的处理是不一样的,有的和被赋予的值一致,有的则不一致。(应该是有些赋值会对颜色进行拷贝)\n如果使用 DMDynamicColorProxy 对一个颜色进行赋值,再取出时类型却变成 UIColor 的,它就丢失了 lightColor 和 darkColor。对于这种属性设置,需要在设置 DMDynamicColorProxy 时进行保存。\n所以 FluentDarkModeKit 对这类的属性进行了替换,例如 setTintColor:\nextension UIView {\n private struct Constants {\n static var dynamicTintColorKey = \"dynamicTintColorKey\"\n }\n\n // 转化 setter: tintColor 的方法\n // 设置的时候,记录 dm_dynamicTintColor\n static let swizzleSetTintColorOnce: Void = {\n if !dm_swizzleInstanceMethod(#selector(setter: tintColor), to: #selector(dm_setTintColor)) {\n assertionFailure(DarkModeManager.messageForSwizzlingFailed(class: UIView.self, selector: #selector(setter: tintColor)))\n }\n }()\n\n private var dm_dynamicTintColor: DynamicColor? {\n get {\n return objc_getAssociatedObject(self, &Constants.dynamicTintColorKey) as? DynamicColor\n }\n set {\n objc_setAssociatedObject(self, &Constants.dynamicTintColorKey, newValue, .OBJC_ASSOCIATION_COPY_NONATOMIC)\n }\n }\n\n @objc private dynamic func dm_setTintColor(_ color: UIColor) {\n dm_dynamicTintColor = color as? DynamicColor\n dm_setTintColor(color)\n }\n}\n\n其他方法的替换\nwillMove(toWindow:)\n页面上显示的 view 可以通过 subviews,一层一层的获取到,然后根据当前的模式进行修改颜色。对于不在页面上显示的 view,只能通过替换 willMove(toWindow:) 方法,在添加到 window 时更新当前模式对应的颜色和图片。\nextension UIView {\n // 调用 willMove(toWindow:) 的时候:\n // 1. dm_updateDynamicColors\n // 2. dm_updateDynamicImages\n static let swizzleWillMoveToWindowOnce: Void = {\n if !dm_swizzleInstanceMethod(#selector(willMove(toWindow:)), to: #selector(dm_willMove(toWindow:))) {\n assertionFailure(DarkModeManager.messageForSwizzlingFailed(class: UIView.self, selector: #selector(willMove(toWindow:))))\n }\n }()\n\n @objc private dynamic func dm_willMove(toWindow window: UIWindow?) {\n dm_willMove(toWindow: window)\n if window != nil {\n dm_updateDynamicColors()\n dm_updateDynamicImages()\n }\n }\n}\n\nsetBackgroundColor\n替换 setBackgroundColor 有点特殊,替换代码如下:\n@implementation UIView (DarkModeKit)\n\nstatic void (*dm_original_setBackgroundColor)(UIView *, SEL, UIColor *);\n\n\n/// 设置背景色\nstatic void dm_setBackgroundColor(UIView *self, SEL _cmd, UIColor *color) {\n // 记录\n if ([color isKindOfClass:[DMDynamicColor class]]) {\n self.dm_dynamicBackgroundColor = (DMDynamicColor *)color;\n } else {\n self.dm_dynamicBackgroundColor = nil;\n }\n // 设置\n dm_original_setBackgroundColor(self, _cmd, color);\n}\n\n// https://stackoverflow.com/questions/42677534/swizzling-on-properties-that-conform-to-ui-appearance-selector\n+ (void)dm_swizzleSetBackgroundColor {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n Method method = class_getInstanceMethod(self, @selector(setBackgroundColor:));\n dm_original_setBackgroundColor = (void *)method_getImplementation(method);\n method_setImplementation(method, (IMP)dm_setBackgroundColor);\n });\n}\n\n- (DMDynamicColor *)dm_dynamicBackgroundColor {\n return objc_getAssociatedObject(self, _cmd);\n}\n\n- (void)setDm_dynamicBackgroundColor:(DMDynamicColor *)dm_dynamicBackgroundColor {\n objc_setAssociatedObject(self,\n @selector(dm_dynamicBackgroundColor),\n dm_dynamicBackgroundColor,\n OBJC_ASSOCIATION_COPY_NONATOMIC);\n}\n\n@end\n\n命名空间\nFluentDarkModeKit 对 UIColor 和 UIImage 的初始化方法进行了扩展,为了避免冲突,在 Object-C 中添加了 dm_ 的前缀,在 swift 中,在初始化方法前面添加了一个自定义的枚举 DMNamespace 参数。\nUIColor\nNS_ASSUME_NONNULL_BEGIN\n\n@interface UIColor (DarkModeKit)\n\n+ (UIColor *)dm_colorWithLightColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor\nNS_SWIFT_UNAVAILABLE(\"Use init(_:light:dark:) instead.\");\n\n#if __swift__\n+ (UIColor *)dm_namespace:(DMNamespace)namespace\n colorWithLightColor:(UIColor *)lightColor\n darkColor:(UIColor *)darkColor NS_SWIFT_NAME(init(_:light:dark:));\n#endif\n\n@end\n\nNS_ASSUME_NONNULL_END\n\nUIImage\nNS_ASSUME_NONNULL_BEGIN\n\n@interface UIImage (DarkModeKit)\n\n+ (UIImage *)dm_imageWithLightImage:(UIImage *)lightImage darkImage:(UIImage *)darkImage\nNS_SWIFT_UNAVAILABLE(\"Use init(_:light:dark:) instead.\");\n\n#if __swift__\n+ (UIImage *)dm_namespace:(DMNamespace)namespace\n imageWithLightImage:(UIImage *)lightImage\n darkImage:(UIImage *)darkImage NS_SWIFT_NAME(init(_:light:dark:));\n#endif\n\n@end\n\nNS_ASSUME_NONNULL_END\n\n在 Object-C 的代码中,通过 #if __swift__ 来判断编译环境,通过 NS_SWIFT_NAME(init(_:light:dark:)) 来指定在 swift 中的方面名称。\n注意:这种形式,并没有起到命名空间的作用。在代码中,依然可以定义相同的方法:\nimport FluentDarkModeKit\n\nextension UIColor {\n convenience init(_ name: DMNamespace, light: UIColor, dark: UIColor) {\n self.init(white: 0, alpha: 1.0)\n }\n}\n\n这样就覆盖了 FluentDarkModeKit 框架中的方法。虽然在实际的编程中都不会这样做。\n总结:\nFluentDarkModeKit 利用 NSProxy 动态消息转发思想,当切换主题色时候,从 UIApplication开始往下遍历到每个 UIView上,执行 FluentDarkModeKit的代理 dmTraitCollectionDidChange ,重新赋值 View等一系列控件颜色, 赋予的是一个 NSProxy类,类中包含两种UIColor颜色,利用这个动态消息转发,根据当前主题颜色,返回不同颜色 UIColor 做最终的处理结果\nReference\n1.FluentDarkModeKit 微软的暗黑模式适配框架\n"},"iOS/SourceCode/KTVHttpCache.html":{"url":"iOS/SourceCode/KTVHttpCache.html","title":"KTVHttpCache","keywords":"","body":"KTVHttpCache\n目前iOS端比较常见的视频缓存的实现方式主要有两种:\n 1、使用iOS自带的AVURLAsset的AVAssetResourceLoader来实现。\n 2、在客户端搭建local服务器,local服务器作为中间者,代替客户端请求服务器数据,并将获取到的数据缓存,再提供给客户端。\n 我们项目里使用的是KTVHTTPCache来实现视频缓存,KTVHTTPCache的实现方式就是第二种,项目地址:(https://github.com/ChangbaDevs/KTVHTTPCache)。\n具体实现:\nKTVHTTPCache的使用比较简单:\nNSURL *proxyURL = [KTVHTTPCache proxyURLWithOriginalURL:originalURL];\nAVPlayer *player = [AVPlayer playerWithURL:proxyURL];\n\n可以看出,它是将源视频的URL替换成了自己定义格式的URL,这时我们其实请求的就是local服务器了。\n 核心的流程大概是这样:\n\n\nKTVHTTPCache 由 HTTP Server 和 Data Storage 两大模块组成。前者负责与 Client 交互,后者负责资源加载及缓存处理。\n几个核心类实现:\n1、KTVHCHTTPServer:\n 用来搭建local server的,内部使用第三方库HTTPServer实现:\n 创建自己的Connection类继承自HTTPConnection\n\n@interface KTVHCHTTPConnection : HTTPConnection\n\n重写子类方法,返回相应的response类\n- (NSObject *)httpResponseForMethod:(NSString *)method URI:(NSString *)path\n{\n KTVHCLogHTTPConnection(@\"%p, Receive request\\nmethod : %@\\npath : %@\\nURL : %@\", self, method, path, request.url);\n NSDictionary *parameters = [[KTVHCURLTool tool] parseQuery:request.url.query];\n NSURL *URL = [NSURL URLWithString:[parameters objectForKey:@\"url\"]];\n KTVHCDataRequest *dataRequest = [[KTVHCDataRequest alloc] initWithURL:URL headers:request.allHeaderFields];\n KTVHCHTTPResponse *response = [[KTVHCHTTPResponse alloc] initWithConnection:self dataRequest:dataRequest];\n return response;\n}\n\n创建response作为Local Server数据返回体,遵循HTTPResponse协议,实现协议方法\n@interface KTVHCHTTPResponse : NSObject \n\n实现协议方法\n#pragma mark - HTTPResponse\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n \"读取数据最开始的入口\"\n NSData *data = [self.reader readDataOfLength:length];\n KTVHCLogHTTPResponse(@\"%p, Read data : %lld\", self, (long long)data.length);\n if (self.reader.isFinished) {\n KTVHCLogHTTPResponse(@\"%p, Read data did finished\", self);\n [self.reader close];\n [self.connection responseDidAbort:self];\n }\n return data;\n}\n………………(省略,节省篇幅)\n\n这样,当本地发生请求时,就会获取KTVHCHTTPResponse内部方法返回的数据。\n 2、KTVHCDataReader和KTVHCDataSourceManager\n 从服务器返回类可以看到,数据的入口是从KTVHCDataReader的readDataOfLength获取的。\n#pragma mark - KTVHCDataReader\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n [self lock];\n if (self.isClosed) {\n [self unlock];\n return nil;\n }\n if (self.isFinished) {\n [self unlock];\n return nil;\n }\n if (self.error) {\n [self unlock];\n return nil;\n }\n NSData *data = [self.sourceManager readDataOfLength:length];\n if (data.length > 0) {\n self->_readedLength += data.length;\n if (self.response.contentLength > 0) {\n self->_progress = (double)self.readedLength / (double)self.response.contentLength;\n }\n }\n KTVHCLogDataReader(@\"%p, Read data : %lld\", self, (long long)data.length);\n if (self.sourceManager.isFinished) {\n KTVHCLogDataReader(@\"%p, Read data did finished\", self);\n self->_finished = YES;\n [self close];\n }\n [self unlock];\n return data;\n}\n\n从这个方法里我们可以看到,读取数据又走到了KTVHCDataSourceManager中去。\n#pragma mark - KTVHCDataReader\n- (void)prepareSourceManager\n{\n \"两个数组保存两种数据来源\"\n NSMutableArray *fileSources = [NSMutableArray array];\n NSMutableArray *networkSources = [NSMutableArray array];\n long long min = self.request.range.start;\n long long max = self.request.range.end;\n NSArray *unitItems = self.unit.unitItems;\n for (KTVHCDataUnitItem *item in unitItems) {\n long long itemMin = item.offset;\n long long itemMax = item.offset + item.length - 1;\n if (itemMax max) {\n continue;\n }\n if (min > itemMin) {\n itemMin = min;\n }\n if (max 0) {\n KTVHCRange range = KTVHCMakeRange(offset, offset + delta - 1);\n KTVHCDataRequest *request = [self.request newRequestWithRange:range];\n KTVHCDataNetworkSource *source = [[KTVHCDataNetworkSource alloc] initWithRequest:request];\n [networkSources addObject:source];\n offset += delta;\n length -= delta;\n }\n offset += KTVHCRangeGetLength(obj.readRange);\n length -= KTVHCRangeGetLength(obj.readRange);\n } \n\n if (length > 0) {\n KTVHCRange range = KTVHCMakeRange(offset, self.request.range.end);\n KTVHCDataRequest *request = [self.request newRequestWithRange:range];\n KTVHCDataNetworkSource *source = [[KTVHCDataNetworkSource alloc] initWithRequest:request];\n [networkSources addObject:source];\n }\n NSMutableArray> *sources = [NSMutableArray array];\n [sources addObjectsFromArray:fileSources];\n [sources addObjectsFromArray:networkSources];\n self.sourceManager = [[KTVHCDataSourceManager alloc] initWithSources:sources delegate:self delegateQueue:self.internalDelegateQueue];\n [self.sourceManager prepare];\n}\n\n看到KTVHCDataSourceManager的初始化过程, 可以看出其实正常获取数据的是KTVHCDataFileSource和KTVHCDataNetworkSource两个类。\n 再看一下KTVHCDataSourceManager的readDataOfLength方法:\n#pragma mark - KTVHCDataSourceManager\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n [self lock];\n if (self.isClosed) {\n [self unlock];\n return nil;\n }\n if (self.isFinished) {\n [self unlock];\n return nil;\n }\n if (self.error) {\n [self unlock];\n return nil;\n }\n \"从Source里读取数据\"\n NSData *data = [self.currentSource readDataOfLength:length];\n\n self->_readedLength += data.length;\n KTVHCLogDataSourceManager(@\"%p, Read data : %lld\", self, (long long)data.length);\n if (self.currentSource.isFinished) {\n \"一个source读完,切换到下一个Source\"\n self.currentSource = [self nextSource];\n if (self.currentSource) {\n KTVHCLogDataSourceManager(@\"%p, Switch to next source, %@\", self, self.currentSource);\n if ([self.currentSource isKindOfClass:[KTVHCDataFileSource class]]) {\n [self.currentSource prepare];\n }\n } else {\n KTVHCLogDataSourceManager(@\"%p, Read data did finished\", self);\n self->_finished = YES;\n }\n }\n [self unlock];\n return data;\n}\n\n**KTVHCDataNetworkSource和KTVHCDataFileSource\n 从名字就可以看出:这两个类,一个是负责从直接从本地文件提供数据,一个是负责从网络读取之后提供数据\n KTVHCDataFileSource的readDataOfLength实现比较明显,就是单纯从文件里读取数据。\n 看下KTVHCDataNetworkSource:\n- (void)ktv_download:(KTVHCDownload *)download didReceiveResponse:(KTVHCDataResponse *)response\n{\n [self lock];\n if (self.isClosed || self.error) {\n [self unlock];\n return;\n }\n self->_response = response;\n NSString *path = [KTVHCPathTool filePathWithURL:self.request.URL offset:self.request.range.start];\n self.unitItem = [[KTVHCDataUnitItem alloc] initWithPath:path offset:self.request.range.start];\n KTVHCDataUnit *unit = [[KTVHCDataUnitPool pool] unitWithURL:self.request.URL];\n [unit insertUnitItem:self.unitItem];\n KTVHCLogDataNetworkSource(@\"%p, Receive response\\nResponse : %@\\nUnit : %@\\nUnitItem : %@\", self, response, unit, self.unitItem);\n [unit workingRelease];\n \"创建了两个文件句柄,读和写。\"\n self.writingHandle = [NSFileHandle fileHandleForWritingAtPath:self.unitItem.absolutePath];\n self.readingHandle = [NSFileHandle fileHandleForReadingAtPath:self.unitItem.absolutePath];\n [self callbackForPrepared];\n [self unlock];\n}\n\n- (void)ktv_download:(KTVHCDownload *)download didReceiveData:(NSData *)data\n{\n [self lock];\n if (self.isClosed || self.error) {\n [self unlock];\n return;\n }\n @try {\n \"接收到数据之后,写入文件。\"\n [self.writingHandle writeData:data];\n self.downloadLength += data.length;\n [self.unitItem updateLength:self.downloadLength];\n KTVHCLogDataNetworkSource(@\"%p, Receive data : %lld, %lld, %lld\", self, (long long)data.length, self.downloadLength, self.unitItem.length);\n \"有可用数据了,需要回调通知。\"\n [self callbackForHasAvailableData];\n } @catch (NSException *exception) {\n NSError *error = [KTVHCError errorForException:exception];\n KTVHCLogDataNetworkSource(@\"%p, write exception\\nError : %@\", self, error);\n [self callbackForFailed:error];\n if (!self.downloadCalledComplete) {\n KTVHCLogDataNetworkSource(@\"%p, Cancel download task when write exception\", self);\n [self.downlaodTask cancel];\n self.downlaodTask = nil;\n }\n }\n [self unlock];\n}\n\n可以看出,两个source的实现比较类似,只不过KTVHCDataNetworkSource多了一个从网络获取数据写入文件的步骤,其实最终提供数据还是通过文件读取的方式。\n 一旦有可用数据,就通过delegate的方式一直回调,通知response类有可用数据。\n#pragma mark - KTVHCHTTPResponse\n- (void)ktv_readerDidPrepare:(KTVHCDataReader *)reader\n{\n KTVHCLogHTTPResponse(@\"%p, Prepared\", self);\n if (self.reader.isPrepared && self.waitingResponse == YES) {\n KTVHCLogHTTPResponse(@\"%p, Call connection did prepared\", self);\n [self.connection responseHasAvailableData:self];\n }\n}\n\"这个回调获取有可用的数据的通知。\"\n\n- (void)ktv_readerHasAvailableData:(KTVHCDataReader *)reader\n{\n KTVHCLogHTTPResponse(@\"%p, Has available data\", self);\n \"这个方法就会触发response的readDataOfLength\"\n [self.connection responseHasAvailableData:self];\n}\n\n- (void)ktv_reader:(KTVHCDataReader *)reader didFailWithError:(NSError *)error\n{\n KTVHCLogHTTPResponse(@\"%p, Failed\\nError : %@\", self, error);\n [self.reader close];\n [self.connection responseDidAbort:self];\n}\n\nReference\n1. iOS 视频缓存KTVHTTPCache原理和实现\n2. 读懂「 唱吧KTVHTTPCache 」设计思想\n"},"iOS/SourceCode/SDWebImage.html":{"url":"iOS/SourceCode/SDWebImage.html","title":"SDWebImage","keywords":"","body":"SDWebImage\n一个为UIImageView提供一个分类来支持远程服务器图片加载的库。\n功能简介:\n 1、一个添加了web图片加载和缓存管理的UIImageView分类\n 2、一个异步图片下载器\n 3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片\n 4、支持动态gif图\n 5、支持webP格式的图片\n 6、后台图片解压处理\n 7、确保同样的图片url不会下载多次\n 8、确保伪造的图片url不会重复尝试下载\n 9、确保主线程不会阻塞\nView Category:\n所有控件设置图片的方法,最终都会来到 UIView+WebCache 分类下:\n- (void)sd_internalSetImageWithURL:(nullable NSURL *)url\n placeholderImage:(nullable UIImage *)placeholder\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n setImageBlock:(nullable SDSetImageBlock)setImageBlock\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n\n利用 copy 将 SDWebImageContext 复制并转换为不可变类型。 validOperationKey 值作为校验 id,默认值为当前 view 的类名。\nsd_cancelImageLoadOperationWithKey:取消上一次任务,保证没有当前正在进行的异步下载操作, 不会与即将进行的操作发生冲突。保证当前的控件上有且只有一个最新的任务。\n根据传入的 context(字典) 找到当前 validOperationKey,一般 context 为 nil,会自动创建。然后会将当前实例的类名作为 validOperationKey。\n在 UIView+WebCacheOperation 分类中,设置了一个关联属性 SDOperationsDictionary。它会存储当前实例的所有 operation 操作。\n在实例开始真正的图片请求操作之前,会根据 validOperationKey 获取 operation 操作,如果之前有操作存在,则会取消之前的操作,保证当前实例执行的是最新的 operation。\n\n\n设置占位图。\n重置 NSProgress、 设置 SDWebImageIndicator,并判断是否开启。\n初始化 SDWebImageManager 、SDImageLoaderProgressBlock。\n利用 SDWebImageManager 开启下载 loadImageWithURL: 并将返回的 SDWebImageOperation 存入 sd_operationDictionary,key 为 validOperationKey。\n取到图片后,停止 indicator。调用 sd_setImage: 同时为新的 image 添加 Transition 过渡动画。\n\n说明\nSDOperationsDictionary 是一个 strong——weak 的 NSMapTable,对 operation 拥有一个弱引用,方便 cancel。其强引用由 SDWebImageManager 的 runningOperations 保持。\ntypedef NSMapTable> SDOperationsDictionary;\n\n[[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory \n valueOptions:NSPointerFunctionsWeakMemory \n capacity:0];\n使用weak,在后续operation下载操作回调后,获取这个operation。如果View已经重用或者消失,则不会设置图片避免混乱。\nSDImageManager\n属性介绍\nSDImageManager 是整个框架的中心,所有的处理逻辑都在这里面进行组装、分发。\n@property (nonatomic, class, readonly, nonnull) SDWebImageManager *sharedManager;\n\n@property (weak, nonatomic, nullable) id delegate;\n\n@property (strong, nonatomic, readonly, nonnull) id imageCache; //缓存处理\n\n@property (strong, nonatomic, readonly, nonnull) id imageLoader; //图片下载器\n\n@property (strong, nonatomic, nullable) id transformer; //用于在图像加载完成后进行图像变换,并将变换后的图像存储到缓存中。\n\n@property (nonatomic, strong, nullable) id cacheKeyFilter; //默认情况下,是把 URL.absoluteString 作为 cacheKey ,而如果设置了 fileter 则会对通过 cacheKeyForURL: 对 cacheKey 拦截并进行修改。\n\n@property (nonatomic, strong, nullable) id cacheSerializer; //默认情况下,ImageCache 会直接将 downloadData 进行缓存,而当我们使用其他图片格式进行传输时,例如 WEBP 格式的,那么磁盘中的存储则会按 WEBP 格式来。这会产生一个问题,每次当我们需要从磁盘读取 image 时都需要进行重复的解码操作。而通过 CacheSerializer 可以直接将 downloadData 转换为 JPEG/PNG 的格式的 NSData 缓存,从而提高访问效率。\n\n@property (nonatomic, strong, nullable) id optionsProcessor; //用于全局控制当前管理器的 SDWebImageOptions 和 SDWebImageContext 中的参数。\n\n@property (nonatomic, assign, readonly, getter=isRunning) BOOL running; //标识当前 manager 是否有 operation 正在运行。内部维护了 runningOperations 集合,当数量大于 0 时,说明有操作在执行。\n\n@property (nonatomic, class, nullable) id defaultImageCache; //默认使用 SDImageCache.sharedImageCache。\n\n@property (nonatomic, class, nullable) id defaultImageLoader; //默认使用 SDWebImageDownloader.sharedDownloader。\n\n\n//Delegate\n/**\n 判断当前 url 是否需要下载。默认为 true。\n*/\n- (BOOL)imageManager:(nonnull SDWebImageManager *)imageManager shouldDownloadImageForURL:(nonnull NSURL *)imageURL;\n\n/**\n 当下载失败之后,如果实现了这个代理,则将失败的 url 处理逻辑交给代理处理。\n */\n- (BOOL)imageManager:(nonnull SDWebImageManager *)imageManager shouldBlockFailedURL:(nonnull NSURL *)imageURL withError:(nonnull NSError *)error;\n\n主要方法\n入口\n通过上层 Category 的封装之后,最终图片的加载逻辑会来到 SDWebImageManager 的这个方法:\n- (nullable SDWebImageCombinedOperation *)loadImageWithURL:(nullable NSURL *)url\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nonnull SDInternalCompletionBlock)completedBlock;\n\n@property (strong, nonatomic, nonnull) NSMutableSet *failedURLs;\n@property (strong, nonatomic, nonnull) dispatch_semaphore_t failedURLsLock; // a lock to keep the access to `failedURLs` thread-safe\n@property (strong, nonatomic, nonnull) NSMutableSet *runningOperations;\n@property (strong, nonatomic, nonnull) dispatch_semaphore_t runningOperationsLock; // a lock to keep the access to `runningOperations` thread-safe\n\n这四个是在 SDWebImageManager 的 .m 文件中的 Extension 中声明的。\n\nfailedURLs: 保存了失败的请求 url。\nrunningOperations:会将在上面的方法中会生成的一个 SDWebImageCombinedOperation 实例,保存在集合中。图片加载存在两种情况,一种是直接在缓存中获取,一种是通过网络在下载,都会返回一个 NSOperation 对象,所以 SDWebImageCombinedOperation 实例中有两个属性与之一一对应,方便对两种加载图片的方式进行管理。\n利用信号量 dispatch_semaphore_t 防止多线程竞争。\n\n方法的执行的流程:\n\nurl 合法性判断。因为,这里的 url 是 nullable 的。如果是 NSString 还会将其转换为 NSURL。\n生成 SDWebImageCombinedOperation 实例对象。\nfailedURLs 集合查询。\n若命中,且 options 不为 SDWebImageRetryFailed,则直接返回 operation 并 return。\n若未命中,或者 options 为 SDWebImageRetryFailed。则将 operation 存入 runningOperations。\n\n\n将 options 和 imageContext 封装为 SDWebImageOptionsResult。\n开始缓存查询。\n\n缓存查询\n- (void)callCacheProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation\n url:(nonnull NSURL *)url\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n\n方法的执行的流程:\n\n确定用于查找缓存的实例对象。默认的 [SDImageCache sharedImageCache] 还是由 context 传入 SDWebImageContextImageCache。\n根据 options 参数确定是否需要查找缓存。 SDWebImageFromLoaderOnly\n根据 context 参数 SDWebImageContextQueryCacheType 确定缓存查找的范围。默认为 SDImageCacheTypeAll。\n需要查找缓存。\n根据 url 确定最终查找时使用的 key 值。可能由 cacheKeyFilter 进行变换。开始查找缓存。\n缓存查询结束后。\n判断 operation 是否被 cancel。如果是返回错误并结束。\noperation 正常,进入下载。\n\n\n\n\n不需要查找缓存,直接进入下载。\n\n内存缓存 SDMemoryCache\n\n继承自 NSCache 实现内存缓存。通过双向链表及字典实现 LRU 的缓存策略。内存清理策略:对象数量 count、对象大小 cost 。\n维护了一个 NSMapTable 类型的 weakCache(strong-weak)又存储了一份缓存。\n\n外部传入一个需要缓存的对象时,其引用计数为 1,SDMemoryCache 对其进行缓存时,会强引用被缓存的对象,使它的引用计数变为 2。此时,若 SDMemoryCache 清理了缓存,被缓存对象的引用计数减一,但是它还在内存中,但是,从 SDMemoryCache 中已经取不到这个对象了。为了解决这个问题,SDMemoryCache 在继承自 NSCache 的基础上,维护了一个 NSMapTable 属性 weakCache(stong-weak cache),它会弱引用被缓存对象,当缓存被清理之后,我们还可以在 weakCache 中获取到被缓存对象,就算对象被释放,因为弱引用也不会造成野指针问题。这是典型的 “空间换时间” 的思想。当然,针对 weakCache 的读写安全,也使用了 weakCacheLock (dispatch_semaphore_t)线程锁。\n磁盘缓存\n\n当内存中未命中缓存,则在一个串行队列 ioQueue 中同步或者异步地执行磁盘查询。\n\n// 串行队列\n_ioQueue = dispatch_queue_create(\"com.hackemist.SDImageCache\", DISPATCH_QUEUE_SERIAL);\n\n// 判断是同步查询还是异步查询\nBOOL shouldQueryDiskSync = ((image && options & SDImageCacheQueryMemoryDataSync) ||\n (!image && options & SDImageCacheQueryDiskDataSync));\n\n\n因为磁盘缓存读取时,会产生许多临时变量,为了避免内存过高,使用 @autoreleasepool 包裹磁盘读取的代码。\n只有当从磁盘取到缓存时,才会对图片进行解码。\n利用这个全局声明的变量 SDImageCacheDecodeImageData,进行了图片解码的处理。\n在磁盘中根据 filePath 取出 imageData。\n利用 CGImageSourceCreateWithData 将 imageData 转换为 image。\n利用 SDImageCoderHelper 将 image 强制解码并返回解码后的图片。\n\n\n将解码后的图片缓存到内存缓存中,然后通过 block 回调到 SDWebImageManager。\n\nUIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonnull imageData, \n NSString * _Nonnull cacheKey, \n SDWebImageOptions options, \n SDWebImageContext * _Nullable context);\n\n \n下载数据\n- (void)callDownloadProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation\n url:(nonnull NSURL *)url\n options:(SDWebImageOptions)options\n context:(SDWebImageContext *)context\n cachedImage:(nullable UIImage *)cachedImage\n cachedData:(nullable NSData *)cachedData\n cacheType:(SDImageCacheType)cacheType\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n方法的执行的流程:\n\n确定用于下载的实例对象。默认的 [SDWebImageDownloader sharedDownloader] 还是 由 context 传入 SDWebImageContextImageLoader。\n检查是否需要开启下载。\n\nBOOL shouldDownload = !SD_OPTIONS_CONTAINS(options, SDWebImageFromCacheOnly);\nshouldDownload &= (!cachedImage || options & SDWebImageRefreshCached);\nshouldDownload &= (![self.delegate respondsToSelector:@selector(imageManager:shouldDownloadImageForURL:)] || [self.delegate imageManager:self shouldDownloadImageForURL:url]);\nshouldDownload &= [imageLoader canRequestImageForURL:url];\n\n检查 options 值是否为 SDWebImageFromCacheOnly 或 SDWebImageRefreshCached。\n由代理决定是否需要新建下载任务。\n通过 imageLoader 控制能否支持下载任务。\n\n如果 shouldDownload 为 NO,则结束下载并调用 callCompletionBlockForOperation 与 safelyRemoveOperationFromRunning。此时如果存在 cacheImage 则会随 completionBlock 一起返回。\n\n如果 shouldDownload 为 YES,新建下载任务并将其保存在 combineOperation 的 loaderOperation。在新建任务前,如有取到 cacheImage 且 SDWebImageRefreshCached 为 YES,会将其存入 imageContext (没有则创建 imageContext)。\nSDWebImageDownloader 中,维护了一个 NSOperationQueue 实例 _downloadQueue,默认的最大并发数为 6。还维护了可变字典 _URLOperations,key 为下载 url,value 为下载的 NSOperation 实例。\n_downloadQueue 中利用 NSOperationQueue 的 addDependency 方法,使原队列中 operations 依赖于最新加入的 operation。实现了一个 LILO (后进先出) 的操作队列。\n\n\n在 _URLOperations 中,根据下载 url 获取 operation。\n如果 (operation == nil || operation.isFinished || operation.isCancelled) 则会创建一个新的 operation。 利用 @synchronized 为 operation 添加 block 回调(progressBlock, completedBlock),然后,将 operation 加入到 _URLOperations 字典中。\n否则,重用之前的 operation,利用 @synchronized 为 operation 添加 block 回调(progressBlock, completedBlock),并设置当前 operation 的操作优先级。\n\n\n根据获取到的 operation 生成 SDWebImageDownloadToken 实例并返回。在 SDWebImageDownloaderOperation 的完成回调中,可以看到也使用了 SDImageLoaderDecodeImageData 对图片进行了子线程强制解码并将解码后的 image 返回。\n\n\n\nUIImage * _Nullable SDImageLoaderDecodeImageData(NSData * _Nonnull imageData, \n NSURL * _Nonnull imageURL, \n SDWebImageOptions options, \n SDWebImageContext * _Nullable context);\n\n下载结束后回到 callBack,这里会先处理几种情况:\noperation 被 cancel 则抛弃下载的 image、data ,callCompletionBlock 结束下载。\nreqeust 被 cancel 导致的 error,callCompletionBlock 结束下载。\nimageRefresh 后请求结果仍旧命中了 NSURLCache 缓存,则不会调用 callCompletionBlock。\nerror 出错,callCompletionBlockForOperation 并将 url 添加至 failedURLs。\n均无以上情况,如果是通过 retry 成功的,会先将 url 从 failedURLs 中移除,调用 storeCacheProcess。\n最后会对标记为 finished。执行 safelyRemoveOperation。\n\n\n\n缓存数据\n- (void)callStoreCacheProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation\n url:(nonnull NSURL *)url\n options:(SDWebImageOptions)options\n context:(SDWebImageContext *)context\n downloadedImage:(nullable UIImage *)downloadedImage\n downloadedData:(nullable NSData *)downloadedData\n finished:(BOOL)finished\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock;\n方法的执行的流程:\n\n先从 imageContext 中取出 storeCacheType、originalStoreCacheType、transformer、cacheSerializer,判断是否需要存储转换后图像数据、原始数据、等待缓存存储结束。\n检查是否需要缓存原始数据 shouldCacheOriginal。\nshouldCacheOriginal = YES:先确认存储类型是否为原始数据,存储时如果 cacheSerializer 存在则会先转换数据格式,最终都调用 [self stroageImage:] 将数据存入缓存,并进入 image transformer。\nshouldCacheOriginal = NO:直接进入 image transformer。\n\n\n\nSDWebImage常见问题\na. 如何避免同一时间多个请求,请求同一张图片下载多次问题。\nb. 如何解决TableViewCell 复用时导致的图片展示错乱问题。\n当我们使用SDWebImage加载图片时需要调用如下方法:\n- (void)sd_setImageWithURL:(nullable NSURL *)url {\n [self sd_setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:nil];\n}\n之后进行一系列的传递会传递到最深层的方法:\n- (void)sd_setImageWithURL:(nullable NSURL *)url placeholderImage:(nullable UIImage *)placeholder\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDExternalCompletionBlock)completedBlock {\n [self sd_internalSetImageWithURL:url placeholderImage:placeholder options:options context:context setImageBlock:nil \n progress:progressBlock \n completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, \n SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {\n if (completedBlock) {\n completedBlock(image, error, cacheType, imageURL);\n }\n }];\n}\n可以看到,这个方法里面调用了UIView+Webcache分类里面的一个方法:\n- (void)sd_internalSetImageWithURL:(nullable NSURL *)url placeholderImage:(nullable UIImage *)placeholder\n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n setImageBlock:(nullable SDSetImageBlock)setImageBlock\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock {\n ......\n }\n这个方法就是我们加载图片的正式入口方法。下面我们看一下这个方法里面都主要做了什么。\n第一步,根据validOperationKey 取消掉正在执行的操作operation如下调用:\nNSString *validOperationKey = context[SDWebImageContextSetImageOperationKey];\nif (!validOperationKey) {\n validOperationKey = NSStringFromClass([self class]);\n}\nself.sd_latestOperationKey = validOperationKey;\n[self sd_cancelImageLoadOperationWithKey:validOperationKey];\nsd_cancelImageLoadOperationWithKey: 方法的内部实现会查询到已经存在的同名任务,并且会取消掉这个任务,并在当前view的operationDictionary 容器中移除掉。源码如下:\n- (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key {\nif (key) {\n // Cancel in progress downloader from queue\n SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];\n id operation;\n\n @synchronized (self) {\n operation = [operationDictionary objectForKey:key];\n }\n if (operation) {\n if ([operation conformsToProtocol:@protocol(SDWebImageOperation)]) {\n [operation cancel];\n }\n @synchronized (self) {\n [operationDictionary removeObjectForKey:key];\n }\n }\n }\n}\n这里需要说明一下:[self sd_operationDictionary]这个调用,这个方法的实现是给当前View通过关联对象的技术关联了一个NSMapTable对象,用来存储请求链接接对应的请求操作类型如NSMapTable。源码如下:\n- (SDOperationsDictionary *)sd_operationDictionary {\n @synchronized(self) {\n SDOperationsDictionary *operations = objc_getAssociatedObject(self, &loadOperationKey);\n if (operations) {\n return operations;\n }\n operations = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsWeakMemory capacity:0];\n objc_setAssociatedObject(self, &loadOperationKey, operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n return operations;\n }\n}\n绕了这么大一圈,你可能会问,为什么一上来要调用sd_cancelImageLoadOperationWithKey:这个方法?通过上面的源码分析SDWebImage这样设计是为了解决TableViewCell复用时,如果被复用的Cell的ImageView请求的图片没有回调时展示图片错乱的问题。原理就是如果被复用的Cell的ImageView之前请求的图片还没有回调,而此时需要请求新的图片,那么就取消掉之前的请求operation,并从operationDictionary中移除掉。然后去加载需要加载的新图片。如果说,之前的图片请求在这之后回调回来的话,会判断之前请求的operation是否存在,以及operation的isCancel属性,如果不存在或者isCancel=Yes的话,就不会回调到UI界面。也就是如下代码逻辑:\n@weakify(operation);\noperation.loaderOperation = [self.imageLoader requestImageWithURL:url options:options context:context progress:progressBlock completed:^(UIImage *downloadedImage, NSData *downloadedData, NSError *error, BOOL finished) {\n @strongify(operation);\n if (!operation || operation.isCancelled) {\n // Do nothing if the operation was cancelled\n // See #699 for more details\n // if we would call the completedBlock, there could be a race condition between this block and another completedBlock for the same object, so if this one is called second, we will overwrite the new data\n }\n说了这么多,相信应该清楚为什么要调用sd_cancelImageLoadOperationWithKey:方法了,我们接着回到sd_internalSetImageWithURL:方法中,cancel之后就会清掉当前imageView上次下载的图片:\nif (!(options & SDWebImageDelayPlaceholder)) {\n dispatch_main_async_safe(^{\n [self sd_setImage:placeholder imageData:nil basedOnClassOrViaCustomSetImageBlock:setImageBlock cacheType:SDImageCacheTypeNone imageURL:url];\n });\n}\n这里可以解释,复用的时候,已经展示过图片的imageView为什么在被复用的时候没有展示之前存在的图片而是展示placeholer或者不展示的原因。\n接下来,就是判断我们传入的url是否合法,以及设置UIImageView的加载指示器,还有加载进度block,此处不做详细说明了。我们着重看加载图片的方法:\nid operation = [manager loadImageWithURL:url options:options context:context progress:combinedProgressBlock completed:^(UIImage *image, NSData *data, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {\n ......\n}\n这里当前view利用前面生成的manager 去加载我们需要的图片,并把获取的结果回调给了上一级调用方。从上面的代码可以看到,获取图片的同时返回了一个operation,这个operation就是标识获取当前url图片的一个操作。之后会把这个operation放在当前view的operationDictionary中:\n[self sd_setImageLoadOperation:operation forKey:validOperationKey];\nsd_setImageLoadOperation:内部实现如下:\n- (void)sd_setImageLoadOperation:(nullable id)operation forKey:(nullable NSString *)key {\n if (key) {\n [self sd_cancelImageLoadOperationWithKey:key];\n if (operation) {\n SDOperationsDictionary *operationDictionary = [self sd_operationDictionary];\n @synchronized (self) {\n [operationDictionary setObject:operation forKey:key];\n }\n }\n }\n}\n这也是程序一开始时,能够取消掉同名operation的原因。就是同一个view发送一个图片请求就会记录在operationDictionary中来标识有请求正在执行。\n我们接着看loadImageWithURL:方法内部实现:\n首先,判断url是否合法,然后生成一个请求图片的operation,这个和我们刚才讲到的operation在内存中是同一个,因为是从该方法中返回出去的。\n其次,将这个operation添加到正在运行的操作容器中:\nSD_LOCK(self.runningOperationsLock);\n[self.runningOperations addObject:operation];\nSD_UNLOCK(self.runningOperationsLock);\n之后进入重点,那就是开始从缓存中读取图片:\n// Start the entry to load image from cache\n[self callCacheProcessForOperation:operation url:url options:options context:context progress:progressBlock completed:completedBlock];\n同样的,将我们刚才讲到的operation传入到这个方法中。我们看一下这个方法中做了什么:\n// Query cache process\n- (void)callCacheProcessForOperation:(nonnull SDWebImageCombinedOperation *)operation \n url:(nonnull NSURL *)url \n options:(SDWebImageOptions)options\n context:(nullable SDWebImageContext *)context\n progress:(nullable SDImageLoaderProgressBlock)progressBlock\n completed:(nullable SDInternalCompletionBlock)completedBlock {\n // Check whether we should query cache\n BOOL shouldQueryCache = (options & SDWebImageFromLoaderOnly) == 0;\n if (shouldQueryCache) {\n id cacheKeyFilter = context[SDWebImageContextCacheKeyFilter];\n NSString *key = [self cacheKeyForURL:url cacheKeyFilter:cacheKeyFilter];\n @weakify(operation);\n operation.cacheOperation = [self.imageCache queryImageForKey:key options:options context:context completion:^(UIImage * _Nullable cachedImage, NSData * _Nullable cachedData, SDImageCacheType cacheType) {\n @strongify(operation);\n if (!operation || operation.isCancelled) {\n [self safelyRemoveOperationFromRunning:operation];\n return;\n }\n // Continue download process\n [self callDownloadProcessForOperation:operation url:url options:options context:context cachedImage:cachedImage cachedData:cachedData cacheType:cacheType progress:progressBlock completed:completedBlock];\n }];\n } else {\n // Continue download process\n [self callDownloadProcessForOperation:operation url:url options:options context:context cachedImage:nil cachedData:nil cacheType:SDImageCacheTypeNone progress:progressBlock completed:completedBlock];\n }\n}\n从上面的源码可以看出,\n首先判断是否需要从缓存中读取图片,如果需要,就处理url,处理后得到我们读取缓存的key。\n然后,开始从缓存中读取图片,回调之后判断当前operation是否还存在,以及operation是否被取消,如果取消的话就从runningOperations中移除当前operation并返回,什么也不做。否则,调用下载处理程序:callDownloadProcessForOperation:并把我们读取出来的缓存数据传入该方法。接下来我们看看这个方法的内部实现:\n首先判断是否需要下载图片,如果不需要就判断缓存数据如果缓存有值就直接返回给调用方,如果需要就先看一下之前读取的缓存数据是否有值,如果有值,就直接返回给调用方。如果没有的话,就使用imageLoader下载图片:\n// `SDWebImageCombinedOperation` -> `SDWebImageDownloadToken` -> `downloadOperationCancelToken`, which is a `SDCallbacksDictionary` and retain the completed block below, so we need weak-strong again to avoid retain cycle\n@weakify(operation);\noperation.loaderOperation = [self.imageLoader requestImageWithURL:url options:options context:context progress:progressBlock completed:^(UIImage *downloadedImage, NSData *downloadedData, NSError *error, BOOL finished) {\n @strongify(operation);\n if (!operation || operation.isCancelled) {\n // Do nothing if the operation was cancelled\n // See #699 for more details\n // if we would call the completedBlock, there could be a race condition between this block and another completedBlock for the same object, so if this one is called second, we will overwrite the new data\n } else if (cachedImage && options & SDWebImageRefreshCached && [error.domain isEqualToString:SDWebImageErrorDomain] && error.code == SDWebImageErrorCacheNotModified) {\n // Image refresh hit the NSURLCache cache, do not call the completion block\n } else if (error) {\n [self callCompletionBlockForOperation:operation completion:completedBlock error:error url:url];\n BOOL shouldBlockFailedURL = [self shouldBlockFailedURLWithURL:url error:error];\n\n if (shouldBlockFailedURL) {\n SD_LOCK(self.failedURLsLock);\n [self.failedURLs addObject:url];\n SD_UNLOCK(self.failedURLsLock);\n }\n } else {\n if ((options & SDWebImageRetryFailed)) {\n SD_LOCK(self.failedURLsLock);\n [self.failedURLs removeObject:url];\n SD_UNLOCK(self.failedURLsLock);\n }\n [self callStoreCacheProcessForOperation:operation url:url \n options:options context:context \n downloadedImage:downloadedImage \n downloadedData:downloadedData \n finished:finished \n progress:progressBlock \n completed:completedBlock];\n } \n\n if (finished) {\n [self safelyRemoveOperationFromRunning:operation];\n }\n}];\n从上面的源码中可以看出请求图片的回调回来后:\n1.如果operation不存在或者被取消,什么也不处理\n2.如果有error则直接回调错误信息,并把当前url加入到filedURLs中。\n3.如果一切正常,则把错误请求从filedURLs中移除,并把下载好的图片数据传递到缓存处理程序。\n4.最后,如果finished==YES,则把当前operation从runningOperations中移除。\n接下来我们看一下这个方法的内部实现:\n首先处理一些下载器选项,然后调用下载图片方法:\nreturn [self downloadImageWithURL:url options:downloaderOptions context:context progress:progressBlock completed:completedBlock];\n接着看上面这个方法的内部实现:\n首先判断url是否合法,如果合法,从下载器的URLOperations属性中读取该url对应的operation,如果operation不存在,或者已经取消或者已经完成,则根据url重新生成一个operation,同时记录该operation到URLOperations中,并把该operation添加到下载队列中去:\nself.URLOperations[url] = operation;\n// Add operation to operation queue only after all configuration done according to Apple's doc.\n// `addOperation:` does not synchronously execute the `operation.completionBlock` so this will not cause deadlock.\n[self.downloadQueue addOperation:operation];\n如果存在operation,但是operation没有正在执行,则根据条件调整operation的请求优先级。\n如果有正在执行的operation,不创建新的请求operation,而是给当前operation添加回调对象progressBlock 和 completedBlock。\nid downloadOperationCancelToken = [operation addHandlersForProgress:progressBlock completed:completedBlock];\n看下这个方法的内部实现:\n- (nullable id)addHandlersForProgress:(nullable SDWebImageDownloaderProgressBlock)progressBlock\ncompleted:(nullable SDWebImageDownloaderCompletedBlock)completedBlock {\n SDCallbacksDictionary *callbacks = [NSMutableDictionary new];\n if (progressBlock) callbacks[kProgressCallbackKey] = [progressBlock copy];\n if (completedBlock) callbacks[kCompletedCallbackKey] = [completedBlock copy];\n SD_LOCK(self.callbacksLock);\n [self.callbackBlocks addObject:callbacks];\n SD_UNLOCK(self.callbacksLock);\n return callbacks;\n}\n从中可以看出一个ImageDownloaderOperation可以有多个回调block。\n那么问题来了,SDWebImage为什么会这么设计呢?\n答案是为了解决在同一时间,多个请求同时下载一张图片的时候,对该图片请求只下载一次。也就是请求只发送一次,而请求有结果的时候根据存储的多个返回block 依次返回给调用方。这方法是不是很机智。这一点也可从请求结果的代码中得到验证:\n- (void)callCompletionBlocksWithImage:(nullable UIImage *)image\nimageData:(nullable NSData *)imageData\n error:(nullable NSError *)error\n finished:(BOOL)finished {\n NSArray *completionBlocks = [self callbacksForKey:kCompletedCallbackKey];\n dispatch_main_async_safe(^{\n for (SDWebImageDownloaderCompletedBlock completedBlock in completionBlocks) {\n completedBlock(image, imageData, error, finished);\n }\n });\n}\n从上面的代码中可以看到,方法内部是遍历了所有需要完成回调的completedBlock,然后回调出去。\nReference\nSDWebImage源码学习 | 江涛的博客 (coderjtao.github.io)\nSDWebImage (5.0.6) 图片加载奇淫巧技 | Charles' Blog (icloudart.com) 图片加载奇淫巧技/)\nSDWebImage (5.0.6) 图片缓存读写原理 | Charles' Blog (icloudart.com) 图片缓存读写原理/)\n"},"iOS/Knowledge/Dyld.html":{"url":"iOS/Knowledge/Dyld.html","title":"Dyld","keywords":"","body":"Dyld\n1.1 简介\ndyld 全名 The dynamic link editor . 它是苹果的动态链接器,是苹果操作系统一个重要组成部分 ,在应用被编译打包成可执行文件格式的 Mach-O 文件之后 ,交由 dyld 负责链接 , 加载程序 。\n1.2 共享缓存\n解读 dyld 有一个必不可少的东西 - 共享缓存 .\n由于 iOS 系统中 UIKit / Foundation 等库每个应用都会通过 dyld 加载到内存中 , 因此 , 为了节约空间 , 苹果将这些系统库放在了一个地方 : 动态库共享缓存区 (dyld shared cache) . ( Mac OS 一样有 ) .\n因此 , 类似 NSLog 的函数实现地址 , 并不会也不可能会在我们自己的工程的 Mach-O 中 , 那么我们的工程想要调用 NSLog 方法 , 如何能找到其真实的实现地址呢 ?\n其流程如下 :\n\n\n在工程编译时 , 所产生的 Mach-O 可执行文件中会预留出一段空间 , 这个空间其实就是符号表 , 存放在 _DATA 数据段中 ( 因为 _DATA 段在运行时是可读可写的 ) \n编译时 : 工程中所有引用了共享缓存区中的系统库方法 , 其指向的地址设置成符号地址 , ( 例如工程中有一个 NSLog , 那么编译时就会在 Mach-O 中创建一个 NSLog 的符号 , 工程中的 NSLog 就指向这个符号 ) \n运行时 : 当 dyld将应用进程加载到内存中时 , 根据 load commands 中列出的需要加载哪些库文件 , 去做绑定的操作 ( 以 NSLog 为例 , dyld 就会去找到 Foundation 中 NSLog 的真实地址写到 _DATA 段的符号表中 NSLog 的符号上面 ) \n\n\n这个过程被称为 PIC 技术 . ( Position Independent Code : 位置代码独立 ) \n了解了系统函数的整个加载过程 , 我们来看 fishhook 的函数名称 :\nrebind_symbols :: 重绑定符号 也就简单明了了.\nfishhook 原理就是 :\n\n将编译后系统库函数所指向的符号 , 在运行时重绑定到用户指定的函数地址 , 然后将原系统函数的真实地址赋值到用户指定的指针上.\n\n2、dyld 加载流程\n新建一个空 app 工程 , 在 ViewController 中添加 load 方法 .\n+ (void)load{\n NSLog(@\"load 来了\");\n}\n\nload 方法添加断点 . 运行程序 . 查看函数调用栈 .\n\n通过 lldb : bt + up / down 指令来到入口 _dyld_start 处 .\n\n2.1 _dyld_start\n上图第 11 行 : call 就是调用函数的指令 , ( 同 bl ) . 这个函数也就是我们 app 开始的地方 .\n当我们点开一个应用 , 系统内核会开启一个进程 , 然后由 dyld 开始加载这个可执行文件 .\n2.1.1 dyldbootstrap :: start\ndyldbootstrap::start 就是指 dyldbootstrap 这个命名空间作用域里的 start 函数 .\n来到源码中 , 搜索 dyldbootstrap , 然后找到 start 函数 .\n cmd + shift + j 可以定位文件位置 \nuintptr_t start(const struct macho_header* appsMachHeader, int argc, const char* argv[], \n intptr_t slide, const struct macho_header* dyldsMachHeader,\n uintptr_t* startGlue)\n{\n slide = slideOfMainExecutable(dyldsMachHeader);\n bool shouldRebase = slide != 0;\n#if __has_feature(ptrauth_calls)\n shouldRebase = true;\n#endif\n if ( shouldRebase ) {\n rebaseDyld(dyldsMachHeader, slide);\n }\n\n mach_init();\n const char** envp = &argv[argc+1];\n const char** apple = envp;\n while(*apple != NULL) { ++apple; }\n ++apple;\n\n __guard_setup(apple);\n\n#if DYLD_INITIALIZER_SUPPORT\n runDyldInitializers(dyldsMachHeader, slide, argc, argv, envp, apple);\n#endif\n uintptr_t appsSlide = slideOfMainExecutable(appsMachHeader);\n return dyld::_main(appsMachHeader, appsSlide, argc, argv, envp, apple, startGlue);\n}\n\n这个函数首先有两个参数我们要说明一下 :\n\n\n1️⃣、const struct macho_header* appsMachHeader , 这个参数就是 Mach-O 的 header . 关于这个 header , Mach-O文件 这篇文章中 Mach-O 文件结构 里有详细描述 .\n2️⃣、intptr_t slide , 这个其实就是 ALSR , 说白了就是通过一个随机值 ( 也就是我们这里的 slide ) 来实现地址空间配置随机加载 .\n当某个特定进程,在存储器中所能够使用与控制的地址空间在运行时随机进行分配 , 可以使某些攻击者无法事先获知地址 ,令攻击者难以通过固定地址获取函数或者内存值进行攻击 .\nMac OS X Lion10.7 开始所有的应用程序均提供了 ASLR 支持 .\n\n\n3️⃣、 物理地址 = ALSR + 虚拟地址 ( 偏移 ) .\n\n\n那么接下来 , 这个函数到底做了什么呢 ?\n流程如下 :\n\n首先 , 根据计算出来的 ASLR 的 slide 来重定向 macho .\n初始化 , 允许 dyld 使用 mach 消息传递 .\n栈溢出保护 .\n初始化完成后调用 dyld 的 main 函数 ,dyld::_main .\n\n2.1.2 dyld::_main\n直接点击跳转到 dyld - main 函数中 . 该函数是加载 app 的主要函数.\nuintptr_t\n_main(const macho_header* mainExecutableMH, uintptr_t mainExecutableSlide, \n int argc, const char* argv[], const char* envp[], const char* apple[], \n uintptr_t* startGlue)\n{\n // *函数太长 , 这里就不贴了.*/\n}\n\n这个函数主要流程如下 :\n2.1.2.1 准备工作\n\n1️⃣ : 配置相关环境变量 .\n\n2️⃣ : 设置上下文信息 setContext .\n\n3️⃣ : 检测进程是否受限 , 在上下文中做出对应处理 configureProcessRestrictions , 检测环境变量 checkEnvironmentVariables\n\n\n熟悉越狱插件的同学应该都很清楚 , 某些环境变量会直接影响该库是否会被加载 , 有些防护操作就是基于这个原理来做的 . ( 后续更新越狱篇章攻防会详细讲述和演示 ) \n\n\n\n4️⃣ : 根据环境变量配置打印信息 , DYLD_PRINT_OPTS 与 DYLD_PRINT_ENV, 大家可以在如下图中配置玩一玩 .\n\n\n5️⃣ : 获取程序架构 getHostInfo .\n\n\n2.1.2.2 加载共享缓存库\n该流程主要步骤如下 :\n\n1️⃣ : 检测共享缓存禁用状态 checkSharedRegionDisable . ( iOS 下不会被禁用 ) . \n\n2️⃣ : 加载共享缓存库 , mapSharedCache -> loadDyldCache .这里加载共享缓存有几种情况 :\n\n1、仅加载到当前进程 mapCachePrivate , ( 模拟器仅支持加载到当前进程 ) .\n\n2、共享缓存是第一次被加载 , 就去做加载操作 mapCacheSystemWide .\n\n3、共享缓存不是第一次被加载 , 那么就不做任何处理 .\n\n\n\n\n\n2.1.2.3 reloadAllImages\nsMainExecutable = instantiateFromLoadedImage(mainExecutableMH, mainExecutableSlide, sExecPath);\n\n实例化主程序 , 检测可执行程序格式 .\nstatic ImageLoaderMachO* instantiateFromLoadedImage(const macho_header* mh, uintptr_t slide, const char* path)\n{\n // try mach-o loader\n if ( isCompatibleMachO((const uint8_t*)mh, path) ) {\n ImageLoader* image = ImageLoaderMachO::instantiateMainExecutable(mh, slide, path, gLinkContext);\n addImage(image);\n return (ImageLoaderMachO*)image;\n }\n\n throw \"main executable not a known format\";\n}\n\nisCompatibleMachO 里就会通过 header 里的 magic , cputype , cpusubtype 去检测是否兼容 .\n\n检测通过 , 就会通过 instantiateMainExecutable 实例化这个 image , 并添加到 static std::vector sAllImages; 这个全局的镜像列表中去 , 设置好上下文 .\n\ninstantiateMainExecutable 里 , 真正实例化主程序是用 sniffLoadCommands 这个函数去做的 . 有的同学可能对这个函数比较熟悉了 . 我们来稍微看一下 .\n还是 ImageLoaderMachO 这个作用域里的 sniffLoadCommands 函数 .\nvoid ImageLoaderMachO::sniffLoadCommands(const macho_header* mh, const char* path, bool inCache, bool* compressed,\n unsigned int* segCount, unsigned int* libCount, const LinkContext& context,\n const linkedit_data_command** codeSigCmd,\n const encryption_info_command** encryptCmd)\n{\n *compressed = false;\n *segCount = 0;\n *libCount = 0;\n *codeSigCmd = NULL;\n *encryptCmd = NULL;\n /*\n ...省略掉.\n */\n // fSegmentsArrayCount is only 8-bits\n if ( *segCount > 255 )\n dyld::throwf(\"malformed mach-o image: more than 255 segments in %s\", path);\n\n // fSegmentsArrayCount is only 8-bits\n if ( *libCount > 4095 )\n dyld::throwf(\"malformed mach-o image: more than 4095 dependent libraries in %s\", path);\n\n if ( needsAddedLibSystemDepency(*libCount, mh) )\n *libCount = 1;\n}\n\n这个函数就是根据 Load Commands 来加载主程序 .\n这里几个参数我们稍微说明下 :\n\ncompressed -> 根据 LC_DYLD_INFO_ONYL 来决定 .\nsegCount 段命令数量 , 最大不能超过 255 个.\nlibCount 依赖库数量 , LC_LOAD_DYLIB (Foundation / UIKit ..) , 最大不能超过 4095 个.\ncodeSigCmd , 应用签名 , 在 应用签名原理及重签名 (重签微信应用实战) 这篇文章中有非常详细的讲述 , 建议读一读 .\nencryptCmd , 应用加密信息 , ( 我们俗称的应用加壳 , 我们非越狱环境重签名都是需要砸过壳的应用才能调试 , 关于应用的砸壳 , 后续逆向文章越狱篇里会实际操作演练 ) .\n\n经过以上步骤 , 主程序的实例化就已经完成了 .\n2.1.2.4 加载插入动态库\nif ( sEnv.DYLD_INSERT_LIBRARIES != NULL ) {\n for (const char* const* lib = sEnv.DYLD_INSERT_LIBRARIES; *lib != NULL; ++lib) \n loadInsertedDylib(*lib);\n}\n\n熟悉越狱插件的同学应该很清楚这个机制了 . 根据 DYLD_INSERT_LIBRARIES 环境变量来决定是否需要加载插入的动态库 .\n越狱的插件就是基于这个原理来实现只需要下载插件 , 就可以影响到应用 . 有部分防护手段就用到了这个环境变量 ( 后续逆向文章会带着大家自己写一个越狱插件 , 这个很简单 , 然后会讲一讲越狱环境插件如何防护 . ) . \nsInsertedDylibCount = sAllImages.size()-1;\n记录插入动态库的数量 .\n2.1.2.5 链接主程序\n// link main executable\ngLinkContext.linkingMainExecutable = true;\n\nlink(sMainExecutable, sEnv.DYLD_BIND_AT_LAUNCH, true, ImageLoader::RPathChain(NULL, NULL), -1);\nsMainExecutable->setNeverUnloadRecursive();\nif ( sMainExecutable->forceFlat() ) {\n gLinkContext.bindFlat = true;\n gLinkContext.prebindUsage = ImageLoader::kUseNoPrebinding;\n}\nif ( sInsertedDylibCount > 0 ) {\n for(unsigned int i=0; i setNeverUnloadRecursive();\n }\n\n for(unsigned int i=0; i registerInterposing(gLinkContext);\n }\n}\n\n点击进入 link 函数 , link 函数中有一系列 recursiveLoadLibraries , recursiveBindWithAccounting -> recursiveBind , 也就是递归进行符号绑定的过程 .\nlink 函数执行完毕之后 , dyld :: main 会调用 sMainExecutable->weakBind(gLinkContext); 进行弱绑定 , 懒加载绑定 , 也就是说弱绑定一定发生在 其他库链接绑定完成之后 .\n绑定的过程就是我们上述 1.2 章节中所讲的共享缓存绑定的过程 .\n\n走到了这里 , 主程序已经实例化完毕 , 但还没有加载 , framework 已经加载完毕了 , 那讲到这插一句题外话 , 不同 framework , 谁先会被加载 ? 其实根据二进制顺序有关 , Xcode 中可以自由调整 .\n\n\n拖动就可以自己调整顺序了 , 编译顺序就会根据这个顺序来 , 同样你可以使用 MachOView 来查看二进制顺序 .\n\n至此 , 配置环境变量 -> 加载共享缓存 -> 实例化主程序 -> 加载动态库 -> 链接动态库 就已经完成了 .\n继续往 dyld :: main 下面找 , 我们会看到\ninitializeMainExecutable();\n\n那么我们回到函数调用栈看下 .\n\n2.1.3 运行主程序\n通过查看源码查看 , 结合函数调用栈 , 我们跟进去调用流程 . initializeMainExecutable -> runInitializers -> processInitializers -> 递归调用 recursiveInitialization .\n到了这里 , 直接点击 进不去了 , 同理 , cmd + shift + o, 搜索 recursiveInitialization . 来到函数实现 , 找到如下代码 :\n// let objc know we are about to initialize this image\nuint64_t t1 = mach_absolute_time();\nfState = dyld_image_state_dependents_initialized;\noldState = fState;\ncontext.notifySingle(dyld_image_state_dependents_initialized, this, &timingInfo);\n\n// initialize this image\nbool hasInitializers = this->doInitialization(context);\n\n// let anyone know we finished initializing this image\nfState = dyld_image_state_initialized;\noldState = fState;\ncontext.notifySingle(dyld_image_state_initialized, this, NULL);\n\n调用 notifySingle 函数 .\n⚠️ : 重头戏来了 . 根据函数调用栈我们发现 , 下一步是调用 load_images , 可是这个 notifySingle 里并没有找到 load_images 的影子 . 但是我们看到了这么个东西 :\n(*sNotifyObjCInit)(image->getRealPath(), image->machHeader());\n\n\n这是个回调函数的调用 , sNotifyObjCInit 上面判断了并不会为空 , 那就代表一定是有值的 . 那我们搜索一下 sNotifyObjCInit , 看看什么时候被赋的值 .\n\n直接本文件搜索 , 看到如下 :\nvoid registerObjCNotifiers(_dyld_objc_notify_mapped mapped, _dyld_objc_notify_init init, _dyld_objc_notify_unmapped unmapped)\n{\n // record functions to call\n sNotifyObjCMapped = mapped;\n sNotifyObjCInit = init;\n sNotifyObjCUnmapped = unmapped;\n\n // call 'mapped' function with all images mapped so far\n try {\n notifyBatchPartial(dyld_image_state_bound, true, NULL, false, true);\n }\n catch (const char* msg) {\n // ignore request to abort during registration\n }\n\n // call 'init' function on all images already init'ed (below libSystem)\n for (std::vector::iterator it=sAllImages.begin(); it != sAllImages.end(); it++) {\n ImageLoader* image = *it;\n if ( (image->getState() == dyld_image_state_initialized) && image->notifyObjC() ) {\n dyld3::ScopedTimer timer(DBG_DYLD_TIMING_OBJC_INIT, (uint64_t)image->machHeader(), 0, 0);\n (*sNotifyObjCInit)(image->getRealPath(), image->machHeader());\n }\n }\n}\n\n也就是说 , 这个函数调用 , 其第二个参数赋值给了 sNotifyObjCInit , 然后在 notifySingle 里被执行 .\n那么我们搜索一下 registerObjCNotifiers , 看看其在什么时候被调用的 , 搜索发现 :\nvoid _dyld_objc_notify_register(_dyld_objc_notify_mapped mapped,\n _dyld_objc_notify_init init,\n _dyld_objc_notify_unmapped unmapped)\n{\n dyld::registerObjCNotifiers(mapped, init, unmapped);\n}\n\n再继续搜索 , 没啥结果了 . 那么怎么办 , 不着急 , 我们来到测试工程里下一个符号断点 _dyld_objc_notify_register , 运行来到断点 , 看函数调用栈 .\n\n . 至此 , 我们看到的就是 runtime 被加载的整个流程 , 来到 objc 750 的代码中直接搜索 _objc_init .\n2.1.4 _objc_init\nvoid _objc_init(void)\n{\n static bool initialized = false;\n if (initialized) return;\n initialized = true;\n\n // fixme defer initialization until an objc-using image is found?\n environ_init();\n tls_init();\n static_init();\n lock_init();\n exception_init();\n\n _dyld_objc_notify_register(&map_images, load_images, unmap_image);\n}\n\n来到这里 , 我们就看到了 _dyld_objc_notify_register 被调用 , 传递了三个参数 , 这三个分别代表 在 分类底层原理详细研究 中我们也有详细讲述过 .\n\n\nmap_images : dyld 将 image 加载进内存时 , 会触发该函数.\nload_images : dyld 初始化 image 会触发该方法. ( 我们所熟知的 load 方法也是在此处调用 ) .\nunmap_image : dyld 将 image 移除时 , 会触发该函数 .\n\n\n当然 , 你可以通过 lldb 验证一下 .\n\n那么这个 load_images , 就调用了各个类的 load 方法 ( call_load_methods ) . 关于这个请看 分类底层原理详细研究 与 load方法调用机制解析 这两篇文章 .\n要声明一下的是 :\n\n那么也就是说 :\n\n\n1️⃣、 当 dyld 加载到开始链接主程序的时候 , 递归调用 recursiveInitialization 函数 .\n2️⃣、 这个函数第一次执行 , 进行 libsystem 的初始化 . 会走到 doInitialization -> doModInitFunctions -> libSystemInitialized .\n3️⃣、 Libsystem 的初始化 , 它会调用起 libdispatch_init , libdispatch 的 init 会调用 _os_object_init , 这个函数里面调用了 _objc_init .\n4️⃣、_objc_init 中注册并保存了 map_images , load_images , unmap_image 函数地址.\n5️⃣ : 注册完毕继续回到 recursiveInitialization 递归下一次调用 , 例如 libobjc , 当 libobjc 来到 recursiveInitialization 调用时 , 会触发 libsystem 调用到 _objc_init 里注册好的回调函数进行调用 . 就来到了 libobjc , 调用 load_images.\n\n\n跟我们上面截图的函数调用栈一模一样 .\n2.1.5 doInitialization\ndyld 来到 doInitialization 时 ,\nbool ImageLoaderMachO::doInitialization(const LinkContext& context)\n{\n CRSetCrashLogMessage2(this->getPath());\n\n // mach-o has -init and static initializers\n doImageInit(context);\n doModInitFunctions(context);\n\n CRSetCrashLogMessage2(NULL);\n\n return (fHasDashInit || fHasInitializers);\n}\n\n在 doModInitFunctions 中 , 值得一提的是会调用 c++ 的构造方法 .\n演示如下 :\n\n打印结果 :\n\n这种 c++ 构造方法存储在 __DATA 段 , __mod_init_func 节中.\n\n2.1.6 找到主程序的入口\n// find entry point for main executable\nresult = (uintptr_t)sMainExecutable->getEntryFromLC_MAIN();\n\n找到真正 main 函数入口 并返回.\n总结 :\n\nReference\n1. iOS 底层 - 从头梳理 dyld 加载流程\n"},"iOS/Knowledge/AppLaunchDetail.html":{"url":"iOS/Knowledge/AppLaunchDetail.html","title":"App启动详细","keywords":"","body":"App Launch Detail\n基本概念\n启动的定义\n启动有两种定义:\n\n广义:点击图标到首页数据加载完毕\n狭义:点击图标到 Launch Image 完全消失第一帧\n\n这是从用户感知维度定义启动,那么代码上如何定义启动呢?Apple 在 MetricKit 中给出了官方计算方式:\n\n起点:进程创建的时间\n终点:第一个CA::Transaction::commit()\n\n\nTips:CATransaction 是 Core Animation 提供的一种事务机制,把一组 UI 上的修改打包,一起发给 Render Server 渲染。\n\n启动的种类\n根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。\n\n冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动 App\n热启动:如果把 App 进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在\n回前台:大多数时候不会被定义为启动,因为此时 App 仍然活着,只不过处于 suspended 状态\n\nMach-O\nMach-O 是 iOS 可执行文件的格式,典型的 Mach-O 是主二进制和动态库。Mach-O 可以分为三部分:\n\nHeader\nLoad Commands\nData\n\n\nHeader 的最开始是 Magic Number,表示这是一个 Mach-O 文件,除此之外还包含一些 Flags,这些 flags 会影响 Mach-O 的解析。\nLoad Commands 存储 Mach-O 的布局信息,比如 Segment command 和 Data 中的 Segment/Section 是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动 App 需要的信息。\nData 部分包含了实际的代码和数据,Data 被分割成很多个 Segment,每个 Segment 又被划分成很多个 Section,分别存放不同类型的数据。\n标准的三个 Segment 是 TEXT,DATA,LINKEDIT,也支持自定义:\n\nTEXT,代码段,只读可执行,存储函数的二进制代码(text),常量字符串(cstring),Objective C 的类/方法名等信息\nDATA,数据段,读写,存储 Objective C 的字符串(__cfstring),以及运行时的元数据:class/protocol/method…\nLINKEDIT,启动 App 需要的信息,如 bind & rebase 的地址,代码签名,符号表…\n\ndyld\ndyld 是启动的辅助程序,是 in-process 的,即启动的时候会把 dyld 加载到进程的地址空间里,然后把后续的启动过程交给 dyld。dyld 主要有两个版本:dyld2 和 dyld3。\ndyld2 是从 iOS 3.1 引入,一直持续到 iOS 12。dyld2 有个比较大的优化是 dyld shared cache[1],什么是 shared cache 呢?\n\nshared cache 就是把系统库(UIKit 等)合成一个大的文件,提高加载性能的缓存文件。\n\niOS 13 开始 Apple 对三方 App 启用了 dyld3,dyld3 的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。\n虚拟内存\n内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。\n物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。\niPhone 6s 开始,物理内存的 Page 大小是 16K,6 和之前的设备都是 4K,这是 iPhone 6 相比 6s 启动速度断崖式下降的原因之一。\nmmap\nmmap 的全称是 memory map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:File Backed Page In,把对应的文件内容读入物理内存。\n启动的时候,Mach-O 就是通过 mmap 映射到虚拟内存里的(如下图)。下图中部分页被标记为 zero fill,是因为全局变量的初始值往往都是 0,那么这些 0 就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在 Page In 之后对其置为 0,这个行为叫做 zero fill。\n\nPage In\n启动的路径上会触发很多次 Page In,其实也比较容易理解,因为启动的会读写二进制中的很多内容。Page In 会占去启动耗时的很大一部分,我们来看看单个 Page In 的过程:\n\n\nMMU 找到空闲的物理内存页面\n触发磁盘 IO,把数据读入物理内存\n如果是 TEXT 段的页,要进行解密\n对解密后的页,进行签名验证\n\n其中解密是大头,IO 其次。为什么要解密呢?\n因为 iTunes Connect 会对上传 Mach-O 的 TEXT 段进行加密,防止 IPA 下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做“砸壳”,砸的就是这一层 TEXT 段加密。iOS 13 对这个过程进行了优化,Page In 的时候不需要解密了。\n二进制重排\n既然 Page In 耗时,有没有什么办法优化呢?\n启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以 Page In 读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少 Page In 的次数,从而优化启动时间:\n以下图为例,方法 1 和方法 3 是启动的时候用到的,为了执行对应的代码,就需要两次 Page In。假如我们把方法 1 和 3 排列到一起,那么只需要一次 Page In,从而提升启动速度。\n链接器 ld 有个参数-order_file 支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案 APP 启动速度提升超 15%。\nIPA 构建\npipeline\n既然要构建,那么必然会有一些地方去定义如何构建,对应 Xcode 中的两个配置项:\n\nBuild Phase:以 Target 为维度定义了构建的流程。可以在 Build Phase 中插入脚本,来做一些定制化的构建,比如 CocoaPod 的拷贝资源就是通过脚本的方式完成的。\nBuild Settings:配置编译和链接相关的参数。特别要提到的是 other link flags 和 other c flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的 CocoaPod 做的组件化,这时候编译选项在对应的.xcconfig 文件里。\n\n以单 Target 为例,我们来看下构建流程:\n\n\n源文件(.m/.c/.swift 等)是单独编译的,输出对应的目标文件(.o)\n目标文件和静态库/动态库一起,链接出最后的 Mach-O\nMach-O 会被裁剪,去掉一些不必要的信息\n资源文件如 storyboard,asset 也会编译,编译后加载速度会变快\nMach-O 和资源文件一起,打包出最后的.app\n对.app 签名,防篡改\n\n编译\n编译器可以分为两大部分:前端和后端,二者以 IR(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。C 语言家族的前端是 clang,swift 的前端是 swiftc,二者的后端都是 llvm。\n\n前端负责预处理,词法语法分析,生成 IR\n后端基于 IR 做优化,生成机器码\n\n那么如何利用编译优化启动速度呢?\n代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用 LLVM 插桩来实现。LLVM 的代码优化流程是一个一个 Pass,由于 LLVM 是开源的,我们可以添加一个自定义的 Pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了 。\nFacebook 给 LLVM 提的 order_file[2]的 feature 就是实现了类似的插桩。\n链接\n经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个 Mach-O。链接的过程并不产生新的代码,只会做一些移动和补丁。\n\n\ntbd 的全称是 text-based stub library,是因为链接的过程中只需要符号就可以了,所以 Xcode 6 开始,像 UIKit 等系统库就不提供完整的 Mach-O,而是提供一个只包含符号等信息的 tbd 文件。\n\ndyld3 启动流程\nApple 在 iOS 13 上对第三方 App 启用了 dyld3,官方数据[3]显示,过去四年新发布的设备中有 93%的设备是 iOS 13,所以我们重点看下 dyld3 的启动流程。\nBefore dyld\n用户点击图标之后,会发送一个系统调用 execve 到内核,内核创建进程。接着会把主二进制 mmap 进来,读取 load command 中的 LC_LOAD_DYLINKER,找到 dyld 的的路径。然后 mmap dyld 到虚拟内存,找到 dyld 的入口函数_dyld_start,把 PC 寄存器设置成_dyld_start,接下来启动流程交给了 dyld。\n注意这个过程都是在内核态完成的,这里提到了 PC 寄存器,PC 寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取 PC 寄存器来完成的。\ndyld\n创建启动闭包\ndyld 会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新/下载 App 的第一次启动才会创建。闭包存储在沙盒的 tmp/com.apple.dyld 目录,清理缓存的时候切记不要清理这个目录。\n闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:\n\ndependends,依赖动态库列表\nfixup:bind & rebase 的地址\ninitializer-order:初始化调用顺序\noptimizeObjc: Objective C 的元数据\n其他:main entry, uuid…\n\n动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是 libSystem,因为他是所有依赖的源头。\n\n为什么闭包能提高启动速度呢?\n因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是 Objective C 的运行时数据(Class/Method**…)解析非常**慢。\nfixup\n有了闭包之后,就可以用闭包启动 App 了。这时候很多动态库还没有加载进来,会首先对这些动态库 mmap 加载到虚拟内存里。接着会对每个 Mach-O 做 fixup,包括 Rebase 和 Bind。\n\nRebase:修复内部指针。这是因为 Mach-O 在 mmap 到虚拟内存的时候,起始地址会有一个随机的偏移量 slide,需要把内部的指针指向加上这个 slide。\nBind:修复外部指针。这个比较好理解,因为像 printf 等外部函数,只有运行时才知道它的地址是什么,bind 就是把指针指向这个地址。\n\n举个例子:一个 Objective C 字符串@\"1234\",编译到最后的二进制的时候是会存储在两个 section 里的\n\n__TEXT,__cstring,存储实际的字符串\"1234\"\n__DATA,__cfstring,存储 Objective C 字符串的元数据,每个元数据占用 32Byte,里面有两个指针:内部指针,指向__TEXT,__cstring中字符串的位置;外部指针 isa,指向类对象的,这就是为什么可以对 Objective C 的字符串字面量发消息的原因。\n\n如下图,编译的时候,字符串 1234 在__cstring的 0x10 处,所以 DATA 段的指针指向 0x10。但是 mmap 之后有一个偏移量 slide=0x1000,这时候字符串在运行时的地址就是 0x1010,那么 DATA 段的指针指向就不对了。Rebase 的过程就是把指针从 0x10,加上 slide 变成 0x1010。运行时类对象的地址已经知道了,bind 就是把 isa 指向实际的内存地址。\n\nLibSystem Initializer\nBind & Rebase 之后,首先会执行 LibSystem 的 Initializer,做一些最基本的初始化:\n\n初始化 libdispatch\n初始化 objc runtime,注册 sel,加载 category\n\n注意这里没有初始化 objc 的类方法等信息,是因为启动闭包的缓存数据已经包含了 optimizeObjc。\nLoad & Static Initializer\n接下来会进行 main 函数之前的一些初始化,主要包括+load 和 static initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在+load 里,对应会有一些地方读取这些注册的数据,如果在+load 中读取,很有可能读取的时候还没有注册。\n那么,如何找到代码里有哪些 load 和 static initializer 呢?\n在 Build Settings 里可以配置 write linkmap,这样在生成的 linkmap 文件里就可以找到有哪些文件里包含 load 或者 static initializer:\n\n__mod_init_func,static initializer\n__objc_nlclslist,实现+load 的类\n__objc_nlcatlist,实现+load 的 Category\n\nload 举例\n如果+load 方法里的内容很简单,会影响启动时间么?比如这样的一个+load 方法?\n+ (void)load { printf(\"1234\"); }\n编译完了之后,这个函数会在二进制中的 TEXT 两个段存在:__text存函数二进制,cstring存储字符串 1234。为了执行函数,首先要访问__text触发一次 Page In 读入物理内存,为了打印字符串,要访问__cstring,还会触发一次 Page In。\n\n为了执行这个简单的函数,系统要额外付出两次 Page In 的代价,所以 load 函数多了,page in 会成为启动性能的瓶颈。\n\n\nstatic initializer 产生的条件\n静态初始化是从哪来的呢?以下几种代码会导致静态初始化\n\n__attribute__((constructor))\nstatic class object\nstatic object in global namespace\n\n注意,并不是所有的 static 变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接 inline。\n//会产生静态初始化\nclass Demo{ \nstatic const std::string var_1; \n};\nconst std::string var_2 = \"1234\"; \nstatic Logger logger;//不会产生静态初始化\nstatic const int var_3 = 4; \nstatic const char * var_4 = \"1234\";\nstd::string 会合成 static initializer 是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~\nUIKit Init\n+load 和 static initializer 执行完毕之后,dyld 会把启动流程交给 App,开始执行 main 函数。main 函数里要做的最重要的事情就是初始化 UIKit。UIKit 主要会做两个大的初始化:\n\n初始化 UIApplication\n启动主线程的 Runloop\n\n由于主线程的 dispatch_async 是基于 runloop 的,所以在+load 里如果调用了 dispatch_async 会在这个阶段执行。\nRunloop\n线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,Runloop 就是实现这个功能的。\nRunloop 本质上是一个While 循环,在图中橙色部分的 mach_msg_trap 就是触发一个系统调用,让线程休眠,等待事件到来,唤醒 Runloop,继续执行这个 while循环。\nRunloop 主要处理几种任务:Source0,Source1,Timer,GCD MainQueue,Block。在循环的合适时机,会以 Observer 的方式通知外部执行到了哪里。\n那么,Runloop 与启动又有什么关系呢?\n\nApp 的 LifeCycle 方法是基于 Runloop 的 Source0 的\n首帧渲染是基于 Runloop Block 的\n\nRunloop 在启动上主要有几点应用:\n\n精准统计启动时间\n找到一个时机,在启动结束去执行一些预热任务\n利用 Runloop 打散耗时的启动预热任务\n\n\nTips : 会有一些逻辑要在启动之后 delay 一小段时间再回到主线程上执行,对于性能较差的设备,主线程 Runloop 可能一直处于忙的状态,所以这个 delay 的任务并不一定能按时执行。\n\nAppLifeCycle\nUIKit 初始化之后,就进入了我们熟悉的 UIApplicationDelegate 回调了,在这些会调里去做一些业务上的初始化:\n\nwillFinishLaunch\ndidFinishLaunch\ndidFinishLaunchNotification\n\n要特别提一下 didFinishLaunchNotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到 UI 渲染里。\nFirst Frame Render\n一般会用 Root Controller 的 viewDidApper 作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,Apple 在 MetricsKit 里对启动终点定义是第一个CA::Transaction::commit()。\n什么是 CATransaction 呢?我们先来看一下渲染的大致流程\n\niOS 的渲染是在一个单独的进程 RenderServer 做的,App 会把 Render Tree 编码打包给 RenderServer,RenderServer 再调用渲染框架(Metal/OpenGL ES)来生成 bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。CATransaction 就是把一组 UI 上的修改,合并成一个事务,通过 commit 提交。\n渲染可以分为四个步骤\n\nLayout(布局),源头是 Root Layer 调用[CALayer layoutSubLayers],这时候 UIViewController 的 viewDidLoad 和 LayoutSubViews 会调用,autolayout 也是在这一步生效\nDisplay(绘制),源头是 Root Layer 调用[CALayer display],如果 View 实现了 drawRect 方法,会在这个阶段调用\nPrepare(准备),这个过程中会完成图片的解码\nCommit(提交),打包 Render Tree 通过 XPC 的方式发给 Render Server\n\n\n启动 Pipeline\n详细回顾下整个启动过程,以及各个阶段耗时的影响因素:\n\n\n点击图标,创建进程\nmmap 主二进制,找到 dyld 的路径\nmmap dyld,把入口地址设为_dyld_start\n重启手机/更新/下载 App 的第一次启动,会创建启动闭包\n把没有加载的动态库 mmap 进来,动态库的数量会影响这个阶段\n对每个二进制做 bind 和 rebase,主要耗时在 Page In,影响 Page In 数量的是 objc 的元数据\n初始化 objc 的 runtime,由于闭包已经初始化了大部分,这里只会注册 sel 和装载 category\n+load 和静态初始化被调用,除了方法本身耗时,这里还会引起大量 Page In\n初始化 UIApplication,启动 Main Runloop\n执行 will/didFinishLaunch,这里主要是业务代码耗时\nLayout,viewDidLoad 和Layoutsubviews 会在这里调用,Autolayout 太多会影响这部分时间\nDisplay,drawRect 会调用\nPrepare,图片解码发生在这一步\nCommit,首帧渲染数据打包发给 RenderServer,启动结束\n\ndyld2\ndyld2 和 dyld3 的主要区别就是没有启动闭包,就导致每次启动都要:\n\n解析动态库的依赖关系\n解析 LINKEDIT,找到 bind & rebase 的指针地址,找到 bind 符号的地址\n注册 objc 的 Class/Method 等元数据,对大型工程来说,这部分耗时会很长\n\nReference\n1 抖音品质建设 - iOS启动优化《原理篇》\n本地离线缓存文章\n"},"iOS/Knowledge/MachO.html":{"url":"iOS/Knowledge/MachO.html","title":"Mach-O","keywords":"","body":"MachO\nMachO 文件\nMach-O 其实是 Mach Object 文件格式的缩写,是 mac 以及 iOS 上可执行文件的格式, 类似于 windows 上的 PE 格式 ( Portable Executable ) , linux 上的 elf 格式 ( Executable and Linking Format ) .\n它是一种用于可执行文件、目标代码、动态库的文件格式。作为 a.out 格式的替代,Mach-O 提供了更强的扩展性。\n但是除了可执行文件外 , 其实还有一些文件也是使用的 Mach-O 的文件格式 .\n属于 Mach-O 格式的常见文件\n\n\n目标文件 .o\n库文件\n.a\n.dylib\nFramework\n\n\n可执行文件\ndyld ( 动态链接器 )\n.dsym ( 符号表 )\n\n\n使用 file 命令可以查看文件类型\n也就是说 Mach-O 并非一定是可执行文件 , 它是一种文件格式 , 分为 Mach-O Object 目标文件 、 Mach-O executable 可执行文件、Mach-O dynamically动态库文件、Mach-O dynamic linker动态链接器文件、Mach-O dSYM companion` 符号表文件 , 等等 .\n还看到一个 arm64 , 这个是什么意思呢 ?\n\n\n在 release 模式下\n支持 iOS 11.0 系统版本以下\n\n\n当满足这两个条件时 , 我们的应用打包出来的 Mach-O ececutable 可执行文件是包含 arm64 以及 arm_v7 的架构的 , iPhone 5C 以上机型都是 64 位系统了 .\n那么包含了支持多架构的 Mach-O executable 可执行文件被称为 : 通用二进制文件 , 即多种架构都可读取运行 .\n另外 Xcode 中通过编译设置 Architectures 是可以更改所生成的 Mach-O executable 可执行文件的支持架构的 .\n\n\n编译器在生成 Mach-O 文件会选择 Architectures 以及 Valid Architectures 的交集 , 因此想要支持多架构的话 , 在Valid Architectures 中继续添加就可以了 , 编译生成 Mach-O 之后 , 使用 file 命令可以检查下结果 .\n\n通用二进制文件\n\n苹果公司提出的一种程序代码。能同时适用多种架构的二进制文件\n同一个程序包中同时为多种架构提供最理想的性能。\n因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大。\n但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。\n而且由于执行中只调用一部分代码,运行起来也不需要额外的内存。\n\n通用二进制文件通常被称为 Universal binary , 在 MachOView 等 中叫做 Fat binary , 这种二进制文件是可以完全拆分开来 , 或者重新组合的\nMach-O 文件结构\n\n\nMach-O 的组成结构如图所示包括了\n\nHeader 包含该二进制文件的一般信息\n字节顺序、架构类型、加载指令的数量等。\n使得可以快速确认一些信息,比如当前文件用于 32 位还是 64 位,对应的处理器是什么、文件类型是什么\n\n\nLoad commands 一张包含很多内容的表\n内容包括区域的位置、符号表、动态符号表等。\n\n\nData 通常是对象文件中最大的部分\n包含 Segement 的具体数据\n\n\n\nMach Header\n\nHeader 中存储的内容大致如上图所示 , 那么每一条到底对应着什么呢 ? , 我们打开源码看一下, cmd + shift + o , 搜索 load.h , 找 mach_header_64 结构体.\nstruct mach_header_64 {\n uint32_t magic; /* 魔数,快速定位64位/32位 */\n cpu_type_t cputype; /* cpu 类型 比如 ARM */\n cpu_subtype_t cpusubtype; /* cpu 具体类型 比如arm64 , armv7 */\n uint32_t filetype; /* 文件类型 例如可执行文件 .. */\n uint32_t ncmds; /* load commands 加载命令条数 */\n uint32_t sizeofcmds; /* load commands 加载命令大小*/\n uint32_t flags; /* 标志位标识二进制文件支持的功能 , 主要是和系统加载、链接有关*/\n uint32_t reserved; /* reserved , 保留字段 */\n};\n\nmach_header_64 相较于 mach_header , 也就是 32 位头文件 , 只是多了一个保留字段 . mach_header 是链接器加载时最先读取的内容 , 它决定了一些基础架构 , 系统类型 , 指令条数等信息.\nLoad Commands\nLoad Commands 详细保存着加载指令的内容 , 告诉链接器如何去加载这个 Mach-O 文件.\n通过查看内存地址我们发现 , 在内存中 , Load Commands 是紧跟在 Mach_header 之后的 .\n那么这些 Load Commands 对应了什么呢 ? 我们以 arm64 为例.\n\n其中 _TEXT 段和 _DATA 段 , 是我们经常需要研究的 , MachOView 下面也有详细列出.\n\n \n_TEXT 段\n我们来看看 _TEXT 段里都存放了什么 , 其实真正开始读取就是从 _TEXT 段开始读取的 .\n\n\n\n名称\n内容\n\n\n\n\n_text\n主程序代码\n\n\n_stubs , _stub_helper\n动态链接\n\n\n_objc_methodname\n方法名称\n\n\n_objc_classname\n类名称\n\n\n_objc_methtype\n方法类型 ( v@: )\n\n\n_cstring\n静态字符串常量\n\n\n\n_DATA 段\n_DATA 在内存中是紧跟在 _TEXT 段之后的.\n\n\n\n名称\n内容\n\n\n\n\n_got : Non-Lazy Symbol Pointers\n非懒加载符号表\n\n\n_la_symbol_ptr : Lazy Symbol Pointers\n懒加载符号表\n\n\n_objc_classlist\n类列表\n\n\n\n下面列举一些常见的 Section。\n\n\n\nSection\n用途\n\n\n\n\n__TEXT.__text\n主程序代码\n\n\n__TEXT.__cstring\nC 语言字符串\n\n\n__TEXT.__const\nconst 关键字修饰的常量\n\n\n__TEXT.__stubs\n用于 Stub 的占位代码,很多地方称之为桩代码。\n\n\n__TEXT.__stubs_helper\n当 Stub 无法找到真正的符号地址后的最终指向\n\n\n__TEXT.__objc_methname\nObjective-C 方法名称\n\n\n__TEXT.__objc_methtype\nObjective-C 方法类型\n\n\n__TEXT.__objc_classname\nObjective-C 类名称\n\n\n__DATA.__data\n初始化过的可变数据\n\n\n__DATA.__la_symbol_ptr\nlazy binding 的指针表,表中的指针一开始都指向 __stub_helper\n\n\n__DATA.nl_symbol_ptr\n非 lazy binding 的指针表,每个表项中的指针都指向一个在装载过程中,被动态链机器搜索完成的符号\n\n\n__DATA.__const\n没有初始化过的常量\n\n\n__DATA.__cfstring\n程序中使用的 Core Foundation 字符串(CFStringRefs)\n\n\n__DATA.__bss\nBSS,存放为初始化的全局变量,即常说的静态内存分配\n\n\n__DATA.__common\n没有初始化过的符号声明\n\n\n__DATA.__objc_classlist\nObjective-C 类列表\n\n\n__DATA.__objc_protolist\nObjective-C 原型\n\n\n__DATA.__objc_imginfo\nObjective-C 镜像信息\n\n\n__DATA.__objc_selfrefs\nObjective-C self 引用\n\n\n__DATA.__objc_protorefs\nObjective-C 原型引用\n\n\n__DATA.__objc_superrefs\nObjective-C 超类引用\n\n\n\nReference\n1. Macho-O文件\n2.Mach-O 文件格式探索\n"},"iOS/Knowledge/PreMain.html":{"url":"iOS/Knowledge/PreMain.html","title":"PreMain","keywords":"","body":"main 函数之前发生了什么\n大体分为如下步骤:\n(1) 系统为程序启动做好准备\n(2) 系统将控制权交给 Dyld,Dyld 会负责后续的工作\n(3) Dyld 加载程序所需的动态库\n(3) Dyld 对程序进行 rebase 以及 bind 操作\n(4) Objc SetUp\n(5) 运行初始化函数\n(6) 执行程序的 main 函数\n需要注意的是,dyld2和dyld3的加载方式略有不同。dyld2是纯粹的in-process,也就是在程序进程内执行的,也就意味着只有当应用程序被启动的时候,dyld2才能开始执行任务。dyld3则是部分out-of-process,部分in-process。\ndyld2的过程是:加载dyld到App进程,加载动态库(包括所依赖的所有动态库),Rebase,Bind,初始化Objective C Runtime和其它的初始化代码。\ndyld3的out-of-process会做如下事情:分析Mach-o Headers,分析依赖的动态库,查找需要Rebase & Bind之类的符号,把上述结果写入缓存。这样,在应用启动的时候,就可以直接从缓存中读取数据,加快加载速度。\nDyld\nDyld 是 iOS 系统的动态链接器, 在dyldStartup.s 文件中有个名为 __dyld_start 的方法,它会去调用 dyldbootstrap::start() 方法,然后进一步调用 dyld::_main() 方法,里面包含 App 的整个启动流程,该函数最终返回应用程序 main 函数的地址,最后 Dyld 会去调用它。\n之后会去加载可执行文件,二进制文件常被称为 image,包括可执行文件、动态库等,ImageLoader 的作用就是将二进制文件加载进内存。dyld::_main() 方法在设置好运行环境后,会调用instantiateFromLoadedImage 函数将可执行文件加载进内存中,加载过程分为三步:\n合法性检查。主要是检查可执行文件是否合法,是否能在当前的 CPU 架构下运行。\n选择 ImageLoader 加载可执行文件。系统会去判断可执行文件的类型,选择相应的 ImageLoader 将其加载进内存空间中。\n注册 image 信息。可执行文件加载完成后,系统会调用 addImage 函数将其管理起来,并更新内存分布信息。\n\n以上三步完成后,Dyld 会调用 link 函数开始之后的处理流程。\n具体查看-> Dyld\n总结:\nmain()函数调用之前,其实是做了很多准备工作,主要是dyld这个动态链接器在负责,核心流程如下:\n1. 程序执行从_dyld_star开始\n\n1.1. 读取macho文件信息,设置虚拟地址偏移量,用于重定向。\n1.2. 调用dyld::_main方法进入macho文件的主程序。\n\n2. 配置一些环境变量\n\n2.1. 设置的环境变量方便我们打印出更多的信息。\n2.1. 调用getHostInfo()来获取machO头部获取当前运行架构的信息。\n\n3. 实例化主程序,即macho可执行文件。\n4. 加载共享缓存库。\n5. 插入动态缓存库。\n6. 链接主程序。\n7. 初始化函数。\n\n7.1. 经过一系列的初始化函数最终调用notifSingle函数。\n7.2. 此回调是被运行时_objc_init初始化时赋值的一个函数load_images\n7.3. load_images里面执行call_load_methods函数,循环调用所用类以及分类的load方法。\n7.4. doModInitFunctions函数,内部会调用全局C++对象的构造函数,即 attribute ((constructor))这样的函数。\n\n8. 返回主程序的入口函数,开始进入主程序的main()函数。\nReference\n1. iOS App从点击到启动\n2. 一步一步带你揭开main函数之前的面纱\n"},"iOS/Knowledge/Complie.html":{"url":"iOS/Knowledge/Complie.html","title":"iOS 编译过程","keywords":"","body":"iOS 编译过程梳理\n编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率很高。\n编译器的概述\n编译器的作用是把我们的高级语言转换成机器可以识别的机器码,经典的设计结构如下:\n\n\n前端(Frontend):语法分析,语义分析和生成中间代码。在这个过程中,也会对代码进行检查,如果发现出错的或需要警告的会标注出来。\n优化器(Optimizer):会进行 BitCode 的生成,链接期优化等工作。\n后端(Backend):针对不同的架构,生成对应的机器码。\n\nClang + LLVM 的编译过程\n\n预处理阶段:import 头文件替换;macro 宏展开;处理预编译指令\n词法分析:预处理完成后进入词法分析,将输入的代码转化为一系列符合特定语言的词法单元(token 流)。\n语法分析:将词法分析得到的 token 流进行语法静态分析(Static Analysis),输出抽象语法树(AST),过程中会校验语法是否错误。\nCodeGen 生成 IR 中间代码:CodeGen 负责将语法树自顶向下遍历翻译成 LLVM IR,IR 是编译过程中前端的输出后端的输入。\nOptimize 优化 IR:到这里 LLVM 会做一些优化工作,在 Xcode 的编译设置里可以设置优化级别 -01, -03, -0s,也可以写自己的 Pass,Pass 是 LLVM 优化工作的一个节点,一个节点做些事,一起加起来就构成了 LLVM 完整的优化和转化。附件:官方 Pass 教程。\nLLVM Bitcode 生成字节码:如果开启了 bitcode,苹果会做进一步优化。若有新的后端架构,依旧可以用这份优化过的 bitcode 去生成。\n生成汇编\n生成目标文件\n生成可执行文件\n\nXcode Build 的流程\n我们在 Xcode 中使用 Command + B 或 Command + R 时,即完成了一次编译,来看下这个过程做了哪些事情。\n编译过程分为四个步骤:\n\n预编译(Pre-process):宏替换、删除注释、展开头文件,产生 .i 文件。\n编译(Compliling):把前面生成的 .i 文件转化为汇编语言,产生 .s 文件。\n汇编(Asembly):把汇编语言 .s 文件转化为机器码文件,产生 .0 文件。\n链接(Link):对 .o 文件中的对于其他库的引用的地方进行引用,生成最后的可执行文件。也包括多个 .o 文件进行 link。\n\n通过解析 Xcode 编译 log,可以发现 Xcode 是根据 Target 进行编译的。我们可以通过 Xcode 中的 Build Phases、Build Settings 及 Build Rules 来控制编译过程。\n\nBuild Settings:这一栏下是对编译的细节进行设定,包含 build 过程的每个阶段的设置选项(包含编译、链接、代码签名、打包)。\nBuild Phases:用于控制从源文件到可执行文件的整个过程,如编译哪些文件,编译过程中执行哪些自定义脚本。例如 CocoaPods 在这里会进行相关配置。\nBuild Rules:指定了不同的文件类型该如何编译。一般我们不需要修改这里的内容。如果需要对特定类型的文件添加处理方法,可以在这里添加规则。\n\n每个 Target 的具体编译过程也可以通过 log 日志获得。大致过程为:\n\n编译信息写入辅助文件(如Entitlements.plist),创建编译后的文件架构\n写入辅助信息(.hmap 文件)。将项目的文件结构对应表、将要执行的脚本、项目依赖库的文件结构对应表写成文件。\n运行预设的脚本。如 Cocoapods 会在 Build Phases 中预设一些脚本(CheckPods Manifest.lock)。\n编译 .m 文件,生成可执行文件 Mach-O。每次进行了 LLVM 的完整流程:前端(词法分析 - 语法分析 - 生成 IR)、优化器(优化 IR)、后端(生成汇编 - 生成目标文件 - 生成可执行文件)。使用 CompileC 和 clang 命令。\nCompileC 是 xcodebuild 内部函数的日志记录表示形式,它是 build.log 文件中有关编译的基本信息来源。\n链接需要的库。如 Foundation.framework,AFNetworking.framework…\n拷贝资源文件到目标包\n编译 storyboard 文件\n链接 storyboard 文件\n编译 Asset 文件。如果使用 Asset.xcassets 来管理图片,这些图片会被编译为机器码,除了 icon 和 launchIamge。\n处理 infoplist\n执行 CocoaPods 脚本,将在编译项目前已编译好的依赖库和相关资源拷贝到包中。\n拷贝 Swift 标准库\n创建 .app 文件并对其签名\n\nReference\n1 iOS 编译过程梳理\n"},"iOS/Knowledge/BinaryOrder.html":{"url":"iOS/Knowledge/BinaryOrder.html","title":"二进制重排","keywords":"","body":"二进制重排\n原理\nApp启动和内存加载\nLinux 系统下,进程申请内存并不是直接物理内存给我们运行,而是只标记当前进程拥有该段内存,当真正使用这段段内存时才会分配,此时的内存是虚拟内存。\n\n在虚拟内存出现前,程序指令必须都在物理内存内,使得物理内存能存放的进程十分有限,并且由于是相邻存储,容易发生越界访问等情况。\n虚拟内存是作为 内存的管理和保护工具 诞生的,为每个进程提供了一片连续完整的虚拟内存空间,使用时先通过界限寄存器判断访问是否越界,再通过基址寄存器转换为实际内存地址。降低了内存管理的复杂度,保护每个进程的内存地址空间不会被其它进程破坏,并且实现了 共享缓存功能,访问时先判断是否已缓存到主存中才通过 CPU 寻址(虚拟地址)访问主存或硬盘。\n\n当我们需要访问一个内存地址时,如果虚拟内存地址对应的物理内存还未分配,CPU 会执行 page fault,将指令从磁盘加载到物理内存中并进行验签操作(App Store 发布情况下)。\n\n二进制重排,主要是优化我们启动时需要的函数非常分散在各个页,启动时就会多次Page Fault造成时间的损耗\n\nPage Fault\n进程如果能直接访问物理内存无疑是很不安全的,所以操作系统在物理内存的上又建立了一层虚拟内存。为了提高效率和方便管理,又对虚拟内存和物理内存又进行分页(Page)。当进程访问一个虚拟内存 Page 而对应的物理内存却不存在时,会触发一次缺页中断(Page Fault),分配物理内存,有需要的话会从磁盘 mmap 读人数据。\n通过 App Store 渠道分发的 App,Page Fault 还会进行签名验证,所以一次 Page Fault 的耗时比想象的要多:\n\n二进制重排原理\n在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(Page Fault),因此阻塞进程。此时就需要先加载数据到物理内存,然后再继续访问。这个对性能是有一定影响的。\n在App 启动过程中,会调用各种函数,由于这些函数分布在各个 TEXT 段中且不连续,此时需要执行多次 page fault 创建分页,将代码读取到物理内存中,并且这些分页中的部分代码不会在启动阶段被调用。如下图所示,假设我们在启动阶段需要调用 Func A、B、C,则需执行3次 page default(包括首次读取),并使用3个分页。\n\n重排\n编译器在生成二进制代码的时候,默认按照链接的 Object File(.o)顺序写文件,按照 Object File 内部的函数顺序写函数。\n\n静态库文件.a 就是一组.o 文件的 ar 包,可以用ar -t查看.a 包含的所有.o。\n\n\n默认布局\n简化问题:假设我们只有两个 page:page1/page2,其中绿色的 method1 和 method3 启动时候需要调用,为了执行对应的代码,系统必须进行两个 Page Fault。\n但如果我们把 method1 和 method3 排布到一起,那么只需要一个 Page Fault 即可,这就是二进制文件重排的核心原理。\n\nReference\n1. 深入探索 iOS 启动速度优化(二进制重排)\n"},"iOS/Knowledge/RuntimeSuper.html":{"url":"iOS/Knowledge/RuntimeSuper.html","title":"self class && super class","keywords":"","body":"Father Son\n下面的代码输出什么?\n@implementation Son : Father\n- (id)init {\n self = [super init];\n if (self) {\n NSLog(@\"%@\", NSStringFromClass([self class]));\n NSLog(@\"%@\", NSStringFromClass([super class]));\n }\n return self;\n}\n@end\n\n self 是类的隐藏参数,指向调用方法的这个类的实例,是一个 指针。\n 而 super 跟 self 不一样,并不是指向父类的指针,只是一个 编译器修饰符 作用。\n用 self 调用方法是从该类的方法列表当中找对应方法调用,如果没有就从父类当中找;而 super 关键词是从父类的方法列表当中找,调用父类的那个方法。但是这两种方式的事件调用者都是当前的实例 Son ,最终都是找到了 NSObject 中的 class 的方法。\n在 NSObject.mm 中可以找到 -(Class)class 的实现:\n- (Class)class {\n return object_getClass(self);\n}\n\n在 objc_class.mm 中找到 object_getClass 的实现:\nClass object_getClass(id obj)\n{\n if (obj) return obj->getIsa();\n else return Nil;\n}\n\n可以看到,最终这个方法返回的是,调用这个方法的 objc 的 isa 指针。那我们只需要知道在题干中的代码里面最终是谁在调用 -(Class)class 方法就可以找到答案了。\n接下来,我们利用 clang -rewrite-objc 命令,将题干的代码转化为如下代码:\nNSLog((NSString *)&__NSConstantStringImpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_T_Car_3f2069_mi_0, NSStringFromClass(((Class (*)(id, SEL))(void *)objc_msgSend)((id)self, sel_registerName(\"class\"))));\n\nNSLog((NSString *)&__NSConstantStringImpl__var_folders_8k_cgm28r0d0bz94xnnrr606rf40000gn_T_Car_3f2069_mi_1, NSStringFromClass(((Class (*)(__rw_objc_super *, SEL))(void *)objc_msgSendSuper)((__rw_objc_super){(id)self, (id)class_getSuperclass(objc_getClass(\"Car\"))}, sel_registerName(\"class\"))));\n\n从上方可以得出,调用 Father class 的时候,本质是在调用\nobjc_msgSendSuper(struct objc_super *super, SEL op, ...)\n\nstruct objc_super 的定义如下:\nstruct objc_super {\n /// Specifies an instance of a class.\n __unsafe_unretained _Nonnull id receiver;\n\n /// Specifies the particular superclass of the instance to message. \n#if !defined(__cplusplus) && !__OBJC2__\n /* For compatibility with old objc-runtime.h header */\n __unsafe_unretained _Nonnull Class class;\n#else\n __unsafe_unretained _Nonnull Class super_class;\n#endif\n /* super_class is the first class to search */\n};\n\n里面传两个参数,第一个参数objc_super结构体中有两个成员:\n\n\nreceiver: a pointer of type id. Specifies an instance of a class.\nsuper_class: a pointer to a Class data structure. Specifies the particular superclass of the instance to the message.\n\n\nreceiver 就是调用这个事件的接受者 self,然后第二个就是父类的 class Father,然后从这个 Father 类开始找 class 方法,一直找到了 NSObject ,最后这两个方法都是调用了 [self class] 打印当前类的 class。\n从定义可以得知:当利用 super 调用方法时,只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用,是去父类找实现,super 仅仅是一个编译指示器。但是消息的接收者 receiver 依然是self。最终在 NSObject 获取 isa 指针的时候,获取到的依旧是 self 的 isa,所以,我们得到的结果是:Son。\nReference\nRuntime学习:面试题狙击\niOS:关于super 关键字(使用runtime分析)\n"},"iOS/Knowledge/RuntimeCls.html":{"url":"iOS/Knowledge/RuntimeCls.html","title":"isKindOfClass && isMemberOfClass","keywords":"","body":"isKindOfClass isMemberOfClass\n以下的代码会输出什么结果?\n@interface Sark : NSObject\n@end\n@implementation Sark\n@end\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n // insert code here...\n\n NSLog(@\"%@\", [NSObject class]);\n NSLog(@\"%@\", [Sark class]);\n\n BOOL res1 = [(id)[NSObject class] isKindOfClass:[NSObject class]];\n BOOL res2 = [(id)[NSObject class] isMemberOfClass:[NSObject class]];\n BOOL res3 = [(id)[Sark class] isKindOfClass:[Sark class]];\n BOOL res4 = [(id)[Sark class] isMemberOfClass:[Sark class]];\n NSLog(@\"%d--%d--%d--%d\", res1, res2, res3, res4);\n }\n return 0;\n}\n\n结果: 1--0--0--0\n分析:\n首先,我们先去查看一下题干中两个方法的源码:\n- (BOOL)isMemberOfClass:(Class)cls {\n return [self class] == cls;\n}\n\n- (BOOL)isKindOfClass:(Class)cls {\n for (Class tcls = [self class]; tcls; tcls = tcls->superclass) {\n if (tcls == cls) return YES;\n }\n return NO;\n}\n\n可以得知:\n\nisKindOfClass 的执行过程是拿到自己的 isa 指针和自己比较,若不等则继续取 isa 指针所指的 super class 进行比较。如此循环。\nisMemberOfClass 是拿到自己的 isa 指针和自己比较,是否相等。\n\nNSObject class 执行完之后调用 isKindOfClass,第一次判断先判断 NSObject 和 NSObject 的 meta class 是否相等,之前讲到 meta class 的时候放了一张很详细的图,从图上我们也可以看出,NSObject 的 meta class 与本身不等。接着第二次循环判断 NSObject 与meta class 的 superclass 是否相等。还是从那张图上面我们可以看到:Root class(meta) 的 superclass 就是 Root class(class),也就是 NSObject 本身。所以第二次循环相等,于是第一行 res1 输出应该为YES。\n\nisa 指向 NSObject 的 Meta Class,所以和 NSObject Class不相等。\nSark class 执行完之后调用 isKindOfClass,第一次 for 循环,Sark 的 Meta Class 与 Sark class 不等,第二次 for 循环,Sark Meta Class 的 super class 指向的是 NSObject Meta Class, 和 Sark Class 不相等。第三次 for 循环,NSObject Meta Class 的 super class 指向的是 NSObject Class,和 Sark Class 不相等。第四次循环,NSObject Class 的super class 指向 nil, 和 Sark Class 不相等。第四次循环之后,退出循环,所以第三行的 res3 输出为 NO。\nisa 指向 Sark 的 Meta Class,和 Sark Class 也不等。\n\nReference\nRuntime学习:面试题狙击\n"},"Network/TCPMessageFrame.html":{"url":"Network/TCPMessageFrame.html","title":"TCP粘包","keywords":"","body":"TCP 协议粘包问题\n当应用层协议使用 TCP 协议传输数据时,TCP 协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从 TCP 缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。\n粘包并不是 TCP 协议造成的,它的出现是因为应用层协议设计者对 TCP 协议的错误理解,忽略了 TCP 协议的定义并且缺乏设计应用层协议的经验。本文将从 TCP 协议以及应用层协议出发,分析我们经常提到的 TCP 协议中的粘包是如何发生的:\n\nTCP 协议是面向字节流的协议,它可能会组合或者拆分应用层协议的数据;\n应用层协议的没有定义消息的边界导致数据的接收方无法拼接数据;\n\nTCP 协议是面向连接的、可靠的、基于字节流的传输层通信协议,应用层交给 TCP 协议的数据并不会以消息为单位向目的主机传输,这些数据在某些情况下会被组合成一个数据段发送给目标的主机。\nNagle 算法是一种通过减少数据包的方式提高 TCP 传输性能的算法。因为网络 带宽有限,它不会将小的数据块直接发送到目的主机,而是会在本地缓冲区中等待更多待发送的数据,这种批量发送数据的策略虽然会影响实时性和网络延迟,但是能够降低网络拥堵的可能性并减少额外开销。\nNagle 算法确实能够在数据包较小时提高网络带宽的利用率并减少 TCP 和 IP 协议头带来的额外开销,但是使用该算法也可能会导致应用层协议多次写入的数据被合并或者拆分发送,当接收方从 TCP 协议栈中读取数据时会发现不相关的数据出现在了同一个数据段中,应用层协议可能没有办法对它们进行拆分和重组。\n消息边界\n在应用层协议中,最常见的两种解决方案就是基于长度或者基于终结符(Delimiter)。\n除了这两种方式之外,我们可以基于特定的规则实现消息的边界,例如:使用 TCP 协议发送 JSON 数据,接收方可以根据接收到的数据是否能够被解析成合法的 JSON 判断消息是否终结。\n总结\nTCP 协议粘包问题是因为应用层协议开发者的错误设计导致的,他们忽略了 TCP 协议数据传输的核心机制 — 基于字节流,其本身不包含消息、数据包等概念,所有数据的传输都是流式的,需要应用层协议自己设计消息的边界,即消息帧(Message Framing),我们重新回顾一下粘包问题出现的核心原因:\n\nTCP 协议是基于字节流的传输层协议,其中不存在消息和数据包的概念;\n应用层协议没有使用基于长度或者基于终结符的消息边界,导致多个消息的粘连;\n\n发生TCP粘包或拆包有很多原因,现列出常见的几点,\n1、要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。\n2、待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。\n3、要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包。\n4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。\nReference\n1 为什么 TCP 协议有粘包问题\n2 Socket 粘包和分包问题\n3 TCP粘包,拆包及解决方法、丢包的原因及解决办法\n"},"Network/Https.html":{"url":"Network/Https.html","title":"Https","keywords":"","body":"Https\nHTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密\nHTTPS 即 HTTP over TLS,是一种在加密信道进行 HTTP 内容传输的协议。\n\nTLS 的早期版本叫做 SSL。SSL 的 1.0, 2.0, 3.0 版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的 SSL 版本进行支持了,因此这里我们就统一使用 TLS 名称了。\n\nHTTPS = HTTP + SSL/TLS\nHTTPS是安全的HTTP.\n\nHTTPS和HTTP的区别主要如下:\n  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。\n  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。\n  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。\n  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。\nHTTPS 连接经历流程是怎么样的\nHTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。\n\n\n会话秘钥\n会话秘钥 = randomS + randomC + 预主秘钥\nTLS 的基本过程如下\n(取自 what-happens-when-zh_CN):\n\n客户端发送一个 ClientHello 消息到服务器端,消息中同时包含了它的 Transport Layer Security (TLS) 版本,可用的加密算法和压缩算法。\n服务器端向客户端返回一个 ServerHello 消息,消息中包含了服务器端的 TLS 版本,服务器所选择的加密和压缩算法,以及数字证书认证机构(Certificate Authority,缩写 CA)签发的服务器公开证书,证书中包含了公钥。客户端会使用这个公钥加密接下来的握手过程,直到协商生成一个新的对称密钥。证书中还包含了该证书所应用的域名范围(Common Name,简称 CN),用于客户端验证身份。\n客户端根据自己的信任 CA 列表,验证服务器端的证书是否可信。如果认为可信(具体的验证过程在下一节讲解),客户端会生成一串伪随机数,使用服务器的公钥加密它。这串随机数会被用于生成新的对称密钥\n服务器端使用自己的私钥解密上面提到的随机数,然后使用这串随机数生成自己的对称主密钥\n客户端发送一个 Finished 消息给服务器端,使用对称密钥加密这次通讯的一个散列值\n服务器端生成自己的 hash 值,然后解密客户端发送来的信息,检查这两个值是否对应。如果对应,就向客户端发送一个 Finished 消息,也使用协商好的对称密钥加密\n从现在开始,接下来整个 TLS 会话都使用对称秘钥进行加密,传输应用层(HTTP)内容\n\n从上面的过程可以看到,TLS 的完整过程需要三个算法(协议),密钥交互算法,对称加密算法,和消息认证算法(TLS 的传输会使用 MAC(message authentication code) 进行完整性检查)。\nHTTPS的验证流程\n这一部分看的比较多,主要归纳了一下,分5条。\n1)客户端发起一个http请求,连接到服务器的443端口。\n2)服务端把自己的信息以数字证书的形式返回给客户端(证书内容有密钥公钥,网站地址,证书颁发机构,失效日期等)。证书中有一个公钥来加密信息,私钥由服务器持有。\n3)验证证书的合法性\n客户端收到服务器的响应后会先验证证书的合法性(证书中包含的地址与正在访问的地址是否一致,证书是否过期)。\n4)生成随机密码(RSA签名)\n如果验证通过,或用户接受了不受信任的证书,浏览器就会生成一个随机的对称密钥(session key)并用公钥加密,让服务端用私钥解密,解密后就用这个对称密钥进行传输了,并且能够说明服务端确实是私钥的持有者。\n5)生成对称加密算法\n验证完服务端身份后,客户端生成一个对称加密的算法和对应密钥,以公钥加密之后发送给服务端。此时被黑客截获也没用,因为只有服务端的私钥才可以对其进行解密。之后客户端与服务端可以用这个对称加密算法来加密和解密通信内容了。\nHTTPS都是用了哪些加密手段?\n非对称加密算法(公钥加密)\n有RSA、DSA/DSS、Elgamal、Rabin、D-H、ECC等。在客户端与服务器相互验证的过程中用的就是非对称加密算法\nRSA密码体制就是公钥密码体制,RSA的一对公钥和私钥都可以用来加密和解密。\n比如公钥加密后只能由私钥解密;私钥加密后只能由公钥解密。且一方加密的内容只能由对方进行解密。\n对称加密算法(私钥加密)\n有AES、DES、3DES、TDEA、Blowfish、RC4、RC5、IDEA等。加密使用的密钥和解密使用的密钥是同一个密钥。由于加密算法是公开的,若要保证安全性,密钥不能对外公开。通常用来加密消息体。\nHASH算法\n有MD5,SHA1,SHA256。用来确认信息没有被篡改。主要用来生成签名,签名是加在信息后面的,可以证明信息没有被修改过。一般对信息先做hash计算得到一个hash值,然后用私钥加密(这个加密一般是非对称加密)作为一个签名和信息一起发送。接收方收到信息后重新计算信息的hash值,且和信息所附带的hash值解密后进行对比。如果一样则认为没有被修改,反之则认为修改过,不做处理。可能有一种情况,黑客修改了信息并把hash值也改了,从而让他们相匹配。所以hash值一般都是加密后(生成签名)再和信息一起发送,确保hash值不会被修改。\n数字证书\n主要包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。\n\n连接建立过程中是用非对称加密,非对称加密很耗时\n后续通讯过程是用对称加密\n\n非对称加密\n\n对称加密\n\nReference\n1. HTTPS 基本过程\n2. HTTPS运行流程\n3. 第15讲 | HTTPS协议:点外卖的过程原来这么复杂\n"},"Network/TCPHandShake.html":{"url":"Network/TCPHandShake.html","title":"TCPHandShake","keywords":"","body":"三次握手和四次挥手\n三次握手\n三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。\n刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。 进行三次握手:\n\n第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c)。此时客户端处于 SYN_SEND 状态。\n首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但要消耗掉一个序号。\n\n第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。\n在确认报文段中SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y。\n\n第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。\n确认报文段ACK=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。\n\n\n发送第一个SYN的一端将执行主动打开(active open),接收这个SYN并发回下一个SYN的另一端执行被动打开(passive open)。\n在socket编程中,客户端执行connect()时,将触发三次握手。\n\n为什么需要三次握手,两次不行吗?\n弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。\n\n第一次握手:客户端发送网络包,服务端收到了。 这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。\n第二次握手:服务端发包,客户端收到了。 这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。\n第三次握手:客户端发包,服务端收到了。 这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。\n\n因此,需要三次握手才能确认双方的接收与发送能力是否正常。\n试想如果是用两次握手,则会出现下面这种情况:\n\n如客户端发出连接请求,但因连接请求报文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端共发出了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,但是第一个丢失的报文段只是在某些网络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务端,此时服务端误认为客户端又发出一次新的连接请求,于是就向客户端发出确认报文段,同意建立连接,不采用三次握手,只要服务端发出确认,就建立新的连接了,此时客户端忽略服务端发来的确认,也不发送数据,则服务端一致等待客户端发送数据,浪费资源。\n\n1.2 什么是半连接队列?\n服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。\n当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。\n这里在补充一点关于SYN-ACK 重传次数的问题: 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传。如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。 注意,每次重传等待的时间不一定相同,一般会是指数增长,例如间隔时间为 1s,2s,4s,8s......\n1.3 ISN(Initial Sequence Number)是固定的吗?\n当一端为建立连接而发送它的SYN时,它为连接选择一个初始序号。ISN随时间而变化,因此每个连接都将具有不同的ISN。ISN可以看作是一个32比特的计数器,每4ms加1 。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它做错误的解释。\n三次握手的其中一个重要功能是客户端和服务端交换 ISN(Initial Sequence Number),以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果 ISN 是固定的,攻击者很容易猜出后续的确认号,因此 ISN 是动态生成的。\n1.4 三次握手过程中可以携带数据吗?\n其实第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据\n为什么这样呢?大家可以想一个问题,假如第一次握手可以携带数据的话,如果有人要恶意攻击服务器,那他每次都在第一次握手中的 SYN 报文中放入大量的数据。因为攻击者根本就不理服务器的接收、发送能力是否正常,然后疯狂着重复发 SYN 报文的话,这会让服务器花费很多时间、内存空间来接收这些报文。\n也就是说,第一次握手不可以放数据,其中一个简单的原因就是会让服务器更加容易受到攻击了。而对于第三次的话,此时客户端已经处于 ESTABLISHED 状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以能携带数据也没啥毛病。\n1.5 SYN攻击是什么?\n服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到SYN洪泛攻击。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server则回复确认包,并等待Client确认,由于源地址不存在,因此Server需要不断重发直至超时,这些伪造的SYN包将长时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。SYN 攻击是一种典型的 DoS/DDoS 攻击。\n检测 SYN 攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。在 Linux/Unix 上可以使用系统自带的 netstats 命令来检测 SYN 攻击。\nnetstat -n -p TCP | grep SYN_RECV\n\n常见的防御 SYN 攻击的方法有如下几种:\n\n缩短超时(SYN Timeout)时间\n增加最大半连接数\n过滤网关防护\nSYN cookies技术\n\n四次挥手\n建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。这由TCP的半关闭(half-close)造成的。所谓的半关闭,其实就是TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。\nTCP 的连接的拆除需要发送四个包,因此称为四次挥手(Four-way handshake),客户端或服务器均可主动发起挥手动作。\n刚开始双方都处于 ESTABLISHED 状态,假如是客户端先发起关闭请求。四次挥手的过程如下:\n\n第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态。 即发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。\n第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT 状态。 即服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。\n第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。 即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。\n第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。 即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。\n\n收到一个FIN只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入TIME_WAIT是正常的,服务端通常执行被动关闭,不会进入TIME_WAIT状态。\n在socket编程中,任何一方执行close()操作即可产生挥手操作。\n\n\n2.1 挥手为什么需要四次?\n因为当服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端,\"你发的FIN报文我收到了\"。只有等到我服务端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。\n2.2 2MSL等待状态\nTIME_WAIT状态也成为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime),它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段。\n对一个具体实现所给定的MSL值,处理的原则是:当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2倍的MSL。这样可让TCP再次发送最后的ACK以防这个ACK丢失(另一端超时并重发最后的FIN)。\n这种2MSL等待的另一个结果是这个TCP连接在2MSL等待期间,定义这个连接的插口(客户的IP地址和端口号,服务器的IP地址和端口号)不能再被使用。这个连接只能在2MSL结束后才能再被使用。\n2.3 四次挥手释放连接时,等待2MSL的意义?\n\nMSL是Maximum Segment Lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。\n\n为了保证客户端发送的最后一个ACK报文段能够到达服务器。因为这个ACK有可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN-ACK的确认报文。服务器会超时重传这个FIN-ACK,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2MSL,而是在发送完ACK之后直接释放关闭,一但这个ACK丢失的话,服务器就无法正常的进入关闭连接状态。\n两个理由:\n\n保证客户端发送的最后一个ACK报文段能够到达服务端。 这个ACK报文段有可能丢失,使得处于LAST-ACK状态的B收不到对已发送的FIN+ACK报文段的确认,服务端超时重传FIN+ACK报文段,而客户端能在2MSL时间内收到这个重传的FIN+ACK报文段,接着客户端重传一次确认,重新启动2MSL计时器,最后客户端和服务端都进入到CLOSED状态,若客户端在TIME-WAIT状态不等待一段时间,而是发送完ACK报文段后立即释放连接,则无法收到服务端重传的FIN+ACK报文段,所以不会再发送一次确认报文段,则服务端无法正常进入到CLOSED状态。\n防止“已失效的连接请求报文段”出现在本连接中。 客户端在发送完最后一个ACK报文段后,再经过2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,使下一个新的连接中不会出现这种旧的连接请求报文段。\n\n2.4 为什么TIME_WAIT状态需要经过2MSL才能返回到CLOSE状态?\n理论上,四个报文都发送完毕,就可以直接进入CLOSE状态了,但是可能网络是不可靠的,有可能最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。\n \n作者:猿人谷\n链接:https://juejin.cn/post/6844903958624878606\n来源:掘金\n著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。\nReference\n1 三次握手和四次挥手\n"},"Network/TCPUDP.html":{"url":"Network/TCPUDP.html","title":"TCP&UDP","keywords":"","body":"TCP & UDP\nTCP协议的特点\n\n面向连接\n面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。\n\n仅支持单播传输\n\n\n每条TCP传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。\n\n面向字节流\n\nTCP不像UDP一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。\n\n可靠传输\n对于可靠传输,判断丢包,误码靠的是TCP的段编号以及确认号。TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。\n\n提供拥塞控制\n\n\n当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞\n\nTCP提供全双工通信\n\nTCP允许通信双方的应用程序在任何时候都能发送数据,因为TCP连接的两端都设有缓存,用来临时存放双向通信的数据。当然,TCP可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于MSS)\nUDP协议的特点\n1. 面向无连接\n首先 UDP 是不需要和 TCP一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。\n具体来说就是:\n\n在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了\n在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作\n\n2. 有单播,多播,广播的功能\nUDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。\n3. UDP是面向报文的\n发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文\n4. 不可靠性\n首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。\n并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。\n再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。\nTCP和UDP的比较\n1. 对比\n\n\n\n\nUDP\nTCP\n\n\n\n\n是否连接\n无连接\n面向连接\n\n\n是否可靠\n不可靠传输,不使用流量控制和拥塞控制\n可靠传输,使用流量控制和拥塞控制\n\n\n连接对象个数\n支持一对一,一对多,多对一和多对多交互通信\n只能是一对一通信\n\n\n传输方式\n面向报文\n面向字节流\n\n\n首部开销\n首部开销小,仅8字节\n首部最小20字节,最大60字节\n\n\n适用场景\n适用于实时应用(IP电话、视频会议、直播等)\n适用于要求可靠传输的应用,例如文件传输\n\n\n\nTCP/UDP区别以及UDP如何实现可靠传输\nTCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。\n\nUDP(用户数据报协议)\n特点:\n\n无连接\n尽最大努力交付\n面向报文(既不合并,也不拆分)\n\n\n功能:\n复用,分用,差错检测\nTCP(传输控制协议)\n特点\n\n面向连接\n数据传输前需要建立连接\n数据传输结束后断开连接\n\n\n可靠传输\n面向字节流\n流量控制\n拥塞控制\n\n为什么要进行三次握手\n超时问题,客户端超时重传策略,又发一次sync,造成多次建立连接\n如何保证可靠传输\n主要需要保证报文无差错,不丢失,不重复,按序到达。\nTCP主要靠停止等待协议实现的\n\n无差错情况\n超时重传\n确认丢失\n确认迟到\n\n\n\n\n\nTCP与UDP区别总结\n1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接\n2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付\n3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的\nUDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)\n4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信\n5、TCP首部开销20字节;UDP的首部开销小,只有8个字节\n6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道\nUDP如何实现可靠传输\n由于在传输层UDP已经是不可靠的连接,那就要在应用层自己实现一些保障可靠传输的机制\n简单来讲,要使用UDP来构建可靠的面向连接的数据传输,就要实现类似于TCP协议的\n超时重传(定时器)\n有序接受 (添加包序号)\n应答确认 (Seq/Ack应答机制)\n滑动窗口流量控制等机制 (滑动窗口协议)\n等于说要在传输层的上一层(或者直接在应用层)实现TCP协议的可靠数据传输机制,比如使用UDP数据包+序列号,UDP数据包+时间戳等方\n"},"Network/HTTPDNS.html":{"url":"Network/HTTPDNS.html","title":"HTTPDNS","keywords":"","body":"HTTPDNS\nHTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。\nHTTPDNS是一款递归DNS服务,与权威DNS不同,HTTPDNS并不具备决定解析结果的能力,而是主要负责解析过程的实现。\n传统的DNS系统存在很多问题,最常见的就是DNS劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是DNS劫持,因为DNS解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按 TTL 缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名->IP】的映射方式,那就是HttpDNS。\nHttpDNS是通过ip直接请求http获取服务器A记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟。HttpDNS和LocalDNS最大的区别在与:前者使用HTTP协议进行域名解析;后者协议运行在UDP协议之上,使用端口号53。\n解决的问题\n使用HttpDns,可以有效解决传统DNS的DNS劫持、访问时间延迟等问题。\n\nLocal DNS 劫持:由于 HttpDns 是通过 IP 直接请求 HTTP 获取服务器 A 记录地址,不存在向本地运营商询问 domain 解析过程,所以从根本避免了劫持问题。\n平均访问延迟下降:由于是 IP 直接访问省掉了一次 domain 解析过程,通过智能算法排序后找到最快节点进行访问。\n用户连接失败率下降:通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。\n\nIP直连方案有下面几大优势: \n\n摒弃了系统DNS,减少外界干扰,摆脱DNS劫持困扰。 \n自建DNS更新时机可以控制。 \nIP列表更换方便。\n\nReference\nHTTPDNS深度解析\n"},"Network/CA.html":{"url":"Network/CA.html","title":"CA","keywords":"","body":"CA证书\nSSL如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。身份认证就需要用到CA证书\nCA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。\nCA 拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。\n证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循X.509国际标准。\n数据加密\n数字签名:当我们去银行办理业务时,会在业务单上签下自己的名字,这个叫签名。而在网络通信中,签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确\n信息传输的途中,我们的信息很有可能被第三方劫持篡改,所以我们需要保证信息的完整性,通用方法是使用散列算法如SHA1,MD5将传输内容hash一次获得hash值,即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密,然后传输给服务端,服务端使用私钥进行解密获得原始内容和摘要值,这时服务端使用相同的hash算法对原始内容进行hash,然后与摘要值比对,如果一致,说明信息是完整的。\nSSL的加密机制:在使用SSL的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为DES、3DES,AES等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有RSA、Elgamal、ECC等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请网上搜索相应的资料。\n使用用户身份信息生成数字签名\n在传输的过程中,客户端如何获得服务器端的公钥呢?当时是服务器分发给客户端,如果一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。\n为了防止这种情况,数字证书就出现了,它其实就是基于上上面所说的私钥加密数据,公钥解密来验证其身份。\n 数字证书是由权威的CA(Certificate Authority)机构给服务端进行颁发,CA机构通过服务端提供的相关信息生成证书,证书内容包含了持有人的相关信息,服务器的公钥,签署者签名信息(数字签名)等,最重要的是公钥在数字证书中。\n 数字证书是如何保证公钥来自请求的服务器呢?数字证书上由持有人的相关信息,通过这点可以确定其不是一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?\n 一个证书中含有三个部分:\"证书内容,散列算法,加密密文\",证书内容会被散列算法hash计算出hash值,然后使用CA机构提供的私钥进行RSA加密。\n当客户端发起请求时,服务器将该数字证书发送给客户端,客户端通过CA机构提供的公钥对加密密文进行解密获得散列值(数字签名),同时将证书内容使用相同的散列算法进行Hash得到另一个散列值,比对两个散列值,如果两者相等则说明证书没问题。\n对称加密方式\n\nCA认证链\n根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的,若终端信任根证书,则信任根证书生成的其他证书。终端没有安装相应https证书则不能访问https网站。\n\nReference\nCA证书详解 - 知乎 (zhihu.com)\n一文看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥 - 简书 (jianshu.com)\n"},"Struct/BinaryTree.html":{"url":"Struct/BinaryTree.html","title":"二叉树","keywords":"","body":"二叉树\n1 重点概念\n1.1 节点概念\n节点是数据结构中的基础,是构成复杂数据结构的基本组成单位。\n2 树\n2.1 定义\n树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:\n 1)有且仅有一个特定的称为根(Root)的结点;\n 2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、......、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。\n此外,树的定义还需要强调以下两点:\n 1)n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。\n 2)m>0时,子树的个数没有限制,但它们一定是互不相交的。\n2.2 结点的度\n结点拥有的子树数目称为结点的度。\n节点的度:结点拥有的子树数目称为结点的度,叶子结点 就是度为0的结点\n3 二叉树\n3.1 定义\n二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。\n一棵典型的二叉树如下图所示:\n\n3.2 二叉树特点\n由二叉树定义以及图示分析得出二叉树有以下特点:\n 1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。\n 2)左子树和右子树是有顺序的,次序不能任意颠倒。\n 3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。\n3.3 二叉树性质\n1)在二叉树的第i层上最多有2(i-1) 个节点 。(i>=1)\n 2)二叉树中如果深度为k,那么最多有2(k)-1个节点。(k>=1)\n 3)n0=n2+1 n0表示度数为0的节点数,n2表示度数为2的节点数。\n 4)在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]是向下取整。\n 5)若对含 n 个结点的完全二叉树从上到下且从左至右进行 1 至 n 的编号,则对完全二叉树中任意一个编号为 i 的结点有如下特性:\n\n(1) 若 i=1,则该结点是二叉树的根,无双亲, 否则,编号为 [i/2] 的结点为其双亲结点;\n (2) 若 2i>n,则该结点无左孩子, 否则,编号为 2i 的结点为其左孩子结点;\n (3) 若 2i+1>n,则该结点无右孩子结点, 否则,编号为2i+1 的结点为其右孩子结点。\n\n \n3.4 斜树\n斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。\n\n图3.2 左斜树\n\n图3.3 右斜树\n3.5 满二叉树\n满二叉树:在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。\n 满二叉树的特点有:\n 1)叶子只能出现在最下一层。出现在其它层就不可能达成平衡。\n 2)非叶子结点的度一定是2。\n 3)在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。\n3.6 完全二叉树\n完全二叉树:对一颗具有n个结点的二叉树按层编号,如果编号为i(1\n\n图3.5 完全二叉树\n特点:\n 1)叶子结点只能出现在最下层和次下层。\n 2)最下层的叶子结点集中在树的左部。\n 3)倒数第二层若存在叶子结点,一定在右部连续位置。\n 4)如果结点度为1,则该结点只有左孩子,即没有右子树。\n 5)同样结点数目的二叉树,完全二叉树深度最小。\n注:满二叉树一定是完全二叉树,但反过来不一定成立。\n3.7 二叉树的存储结构\n3.7.1 顺序存储\n二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。\n\n图3.6\n图3.6所示的一棵完全二叉树采用顺序存储方式,如图3.7表示:\n\n图3.7 顺序存储\n由图3.7可以看出,当二叉树为完全二叉树时,结点数刚好填满数组。\n 那么当二叉树不为完全二叉树时,采用顺序存储形式如何呢?\n例如:对于图3.8描述的二叉树:\n\n图3.8.png\n其中浅色结点表示结点不存在。那么图3.8所示的二叉树的顺序存储结构如图3.9所示:\n\n图3.9\n其中,∧表示数组中此位置没有存储结点。此时可以发现,顺序存储结构中已经出现了空间浪费的情况。\n 那么对于图3.3所示的右斜树极端情况对应的顺序存储结构如图3.10所示:\n\n图3.10\n由图3.10可以看出,对于这种右斜树极端情况,采用顺序存储的方式是十分浪费空间的。因此,顺序存储一般适用于完全二叉树。\n3.7.2 二叉链表\n既然顺序存储不能满足二叉树的存储需求,那么考虑采用链式存储。由二叉树定义可知,二叉树的每个结点最多有两个孩子。因此,可以将结点数据结构定义为一个数据和两个指针域。表示方式如图3.11所示:\n\n图3.11\n定义结点代码:\ntypedef struct BiTNode{\n TElemType data;//数据\n struct BiTNode *lchild, *rchild;//左右孩子指针\n} BiTNode, *BiTree;\n\n则图3.6所示的二叉树可以采用图3.12表示。\n\n图3.12\n图3.12中采用一种链表结构存储二叉树,这种链表称为二叉链表。\n3.8 二叉树遍历\n二叉树的遍历一个重点考查的知识点。\n3.8.1 定义\n二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。\n 二叉树的访问次序可以分为四种:\n\n前序遍历\n 中序遍历\n 后序遍历\n 层序遍历\n\n \n前,中,后只是指父节点遍历的顺序,前序就是 父节点->左子树->右子树,中序是 左子树->父节点->右子树,后序是 左子树 -> 右子树 ->父节点\n3.8.2 前序遍历\n前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。\n\n3.13\n 图3.13所示二叉树访问如下:\n\n从根结点出发,则第一次到达结点A,故输出A;\n 继续向左访问,第一次访问结点B,故输出B;\n 按照同样规则,输出D,输出H;\n 当到达叶子结点H,返回到D,此时已经是第二次到达D,故不在输出D,进而向D右子树访问,D右子树不为空,则访问至I,第一次到达I,则输出I;\n I为叶子结点,则返回到D,D左右子树已经访问完毕,则返回到B,进而到B右子树,第一次到达E,故输出E;\n 向E左子树,故输出J;\n 按照同样的访问规则,继续输出C、F、G;\n\n则3.13所示二叉树的前序遍历输出为:\n ABDHIEJCFG\n3.8.3 中序遍历\n中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。\n图3.13所示二叉树中序访问如下:\n\n从根结点出发,则第一次到达结点A,不输出A,继续向左访问,第一次访问结点B,不输出B;继续到达D,H;\n 到达H,H左子树为空,则返回到H,此时第二次访问H,故输出H;\n H右子树为空,则返回至D,此时第二次到达D,故输出D;\n 由D返回至B,第二次到达B,故输出B;\n 按照同样规则继续访问,输出J、E、A、F、C、G;\n\n则3.13所示二叉树的中序遍历输出为:\n HDIBJEAFCG\n3.8.4 后序遍历\n后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。\n图3.13所示二叉树后序访问如下:\n\n从根结点出发,则第一次到达结点A,不输出A,继续向左访问,第一次访问结点B,不输出B;继续到达D,H;\n 到达H,H左子树为空,则返回到H,此时第二次访问H,不输出H;\n H右子树为空,则返回至H,此时第三次到达H,故输出H;\n 由H返回至D,第二次到达D,不输出D;\n 继续访问至I,I左右子树均为空,故第三次访问I时,输出I;\n 返回至D,此时第三次到达D,故输出D;\n 按照同样规则继续访问,输出J、E、B、F、G、C,A;\n\n则图3.13所示二叉树的后序遍历输出为:\n HIDJEBFGCA\n 虽然二叉树的遍历过程看似繁琐,但是由于二叉树是一种递归定义的结构,故采用递归方式遍历二叉树的代码十分简单。\n 递归实现代码如下:\n/*二叉树的前序遍历递归算法*/\nvoid PreOrderTraverse(BiTree T)\n{\n if(T==NULL)\n return;\n printf(\"%c\", T->data); /*显示结点数据,可以更改为其他对结点操作*/\n PreOrderTraverse(T->lchild); /*再先序遍历左子树*/\n PreOrderTraverse(T->rchild); /*最后先序遍历右子树*/\n}\n\n\n/*二叉树的中序遍历递归算法*/\nvoid InOrderTraverse(BiTree T)\n{\n if(T==NULL)\n return;\n InOrderTraverse(T->lchild); /*中序遍历左子树*/\n printf(\"%c\", T->data); /*显示结点数据,可以更改为其他对结点操作*/\n InOrderTraverse(T->rchild); /*最后中序遍历右子树*/\n}\n\n\n/*二叉树的后序遍历递归算法*/\nvoid PostOrderTraverse(BiTree T)\n{\n if(T==NULL)\n return;\n PostOrderTraverse(T->lchild); /*先后序遍历左子树*/\n PostOrderTraverse(T->rchild); /*再后续遍历右子树*/\n printf(\"%c\", T->data); /*显示结点数据,可以更改为其他对结点操作*/\n}\n\n3.8.5 层次遍历\n层次遍历就是按照树的层次自上而下的遍历二叉树。针对图3.13所示二叉树的层次遍历结果为:\n ABCDEFGHIJ\n 层次遍历的详细方法可以参考二叉树的按层遍历法。\n3.8.6 遍历常考考点\n对于二叉树的遍历有一类典型题型。\n 1)已知前序遍历序列和中序遍历序列,确定一棵二叉树。\n 例题:若一棵二叉树的前序遍历为ABCDEF,中序遍历为CBAEDF,请画出这棵二叉树。\n 分析:前序遍历第一个输出结点为根结点,故A为根结点。早中序遍历中根结点处于左右子树结点中间,故结点A的左子树中结点有CB,右子树中结点有EDF。\n 如图3.14所示:\n\n图3.14\n按照同样的分析方法,对A的左右子树进行划分,最后得出二叉树的形态如图3.15所示:\n\n图3.15.png\n2)已知后序遍历序列和中序遍历序列,确定一棵二叉树。\n 后序遍历中最后访问的为根结点,因此可以按照上述同样的方法,找到根结点后分成两棵子树,进而继续找到子树的根结点,一步步确定二叉树的形态。\n 注:已知前序遍历序列和后序遍历序列,不可以唯一确定一棵二叉树。\n平衡二叉树\n平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:\n\n平衡二叉树要么是一棵空树\n要么保证左右子树的高度之差不大于 1\n子树也必须是一颗平衡二叉树\n\n也就是说,树的两个左子树的高度差别不会太大。\n那我们接着看前面的极端情况的二叉排序树,现在用它来构造一棵平衡二叉树。\n以 12 为根节点,当添加 24 为它的右子树后,根节点的左右子树高度差为 1,这时还算平衡,这时再添加一个元素 28:\n\n这时根节点 12 觉得不平衡了,我左孩子一个都没有,右边都有俩了,超过了之前说的最大为 1,不行,给我调整!\n于是我们就需要调整当前的树结构,让它进行旋转。\n因为最后一个节点加到了右子树的右子树,就要想办法给右子树的左子树加点料,因此需要逆时针旋转,将 24 变成根节点,12 右旋成 24 的左子树,就变成了这样(有点丑哈哈):\n\n这时又恢复了平衡,再添加 37 到 28 的右子树,还算平衡:\n\n这时如果再添加一个 30,它就需要在 37 的左子树:\n\n这时我们可以看到这个树又不平衡了,以 24 为根节点的树,明显右边太重,左边太稀,想要保持平衡就 24 得让位给 28,然后变成这样:\n\n丑了点,但的确保持了平衡。\n依次类推,平衡二叉树在添加和删除时需要进行旋转保持整个树的平衡,内部做了这么复杂的工作后,我们在使用它时,插入、查找的时间复杂度都是 O(logn),性能已经相当好了。\nReference\n深入学习二叉树(一) 二叉树基础\n3 分钟理解完全二叉树、平衡二叉树、二叉查找树\n"},"Algorithm/BinaryInsertSort.html":{"url":"Algorithm/BinaryInsertSort.html","title":"二分法插入排序","keywords":"","body":"二分法插入排序\n二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left\n(一)概念及实现\n二分查找插入排序的原理:是直接插入排序的一个变种,区别是:在有序区中查找新元素插入位置时,为了减少元素比较次数提高效率,采用二分查找算法进行插入位置的确定。\n具体如下(实现为升序):\n设数组为a[0…n]。\n\n将原序列分成有序区和无序区。a[0…i-1]为有序区,a[i…n] 为无序区。(i从1开始)\n\n从无序区中取出第一个元素,即a[i],使用二分查找算法在有序区中查找要插入的位置索引j。\n\n将a[j]到a[i-1]的元素后移,并将a[i]赋值给a[j]。\n\n重复步骤2~3,直到无序区元素为0。\n\n\n(二)算法复杂度\n\n时间复杂度:O(n^2)\n\n二分查找插入位置,因为不是查找相等值,而是基于比较查插入合适的位置,所以必须查到最后一个元素才知道插入位置。\n二分查找最坏时间复杂度:当2^X>=n时,查询结束,所以查询的次数就为x,而x等于log2n(以2为底,n的对数)。即O(log2n)\n所以,二分查找排序比较次数为:x=log2n\n二分查找插入排序耗时的操作有:比较 + 后移赋值。时间复杂度如下:\n1) 最好情况:查找的位置是有序区的最后一位后面一位,则无须进行后移赋值操作,其比较次数为:log2n 。即O(log2n)\n2) 最坏情况:查找的位置是有序区的第一个位置,则需要的比较次数为:log2n,需要的赋值操作次数为n(n-1)/2加上 (n-1) 次。即O(n^2)\n3) 渐进时间复杂度(平均时间复杂度):O(n^2)\n\n空间复杂度:O(1)\n\n从实现原理可知,二分查找插入排序是在原输入数组上进行后移赋值操作的(称“就地排序”),所需开辟的辅助空间跟输入数组规模无关,所以空间复杂度为:O(1)\n(三)稳定性\n二分查找排序是稳定的,不会改变相同元素的相对顺序。\npublic static void advanceInsertSortWithBinarySearch(int[] arr) {\n for (int i = 1; i temp) { \n high = mid - 1; \n } else { // 元素相同时,也插入在后面的位置 \n low = mid + 1; \n } \n } \n for(int j = i - 1; j >= low; j--) { \n arr[j + 1] = arr[j]; \n } \n arr[low] = temp; \n }\n}\n\nReference\n优化的直接插入排序(二分查找插入排序,希尔排序)\n"},"Algorithm/BinarySort.html":{"url":"Algorithm/BinarySort.html","title":"二叉树排序","keywords":"","body":"二叉树排序\n二叉树的前中后序遍历的非递归实现\n前,中,后只是指父节点遍历的顺序,前序就是 父节点->左子树->右子树,中序是 左子树->父节点->右子树,后序是 左子树 -> 右子树 ->父节点\n二叉树定义\nclass TreeNode:\n def __init__(self, x, L=None, R=None):\n self.val = x\n self.left = L\n self.right = R\n\ndef List2TN(lst, needs=None):\n '''\n lst: a leetcode way tree list\n needs: A list of Int. The nodes whose indexes provided in this list would be returned.\n '''\n nit = []\n root = TreeNode(lst[0])\n tnQ = [root]\n i = 1\n if needs and i in needs:\n nit.append(root)\n while i = len(lst):\n break\n if lst[i] != None:\n cur.right = TreeNode(lst[i])\n tnQ.append(cur.right)\n if needs and i in needs:\n nit.append(cur.right)\n i += 1\n if needs:\n return root, nit\n else:\n return root\n\n前序遍历\n\n144. 二叉树的前序遍历\n\n具体过程\n1、首先申请一个新的栈,记为stack。\n2、然后将头节点head压入stack中。\n3、每次从stack中弹出栈顶节点,记为cur,然后打印cur节点的值。如果cur右孩子不为空的话,将cur的右孩子先压入stack中。最后如果cur的左孩子不为空的话,将cur的左孩子压入stack中。\n4、不断重复步骤3,直到stack为空,全部过程结束。\n代码实现\nclass Solution(object):\n def preorderTraversal(self,root):\n \"\"\"\n 根->左->右\n :type root: TreeNode\n :rtype: List[int]\n \"\"\"\n stack = [root]\n res = []\n while stack:\n cur = stack.pop()\n res.append(cur.val)\n if cur.right:\n stack.append(cur.right)\n if cur.left:\n stack.append(cur.left)\n return res\n\n中序遍历\n\n94. 二叉树的中序遍历\n\n具体过程\n\n1、申请一个新的栈,记为stack,申请一个变量cur,初始时令stack为空,cur等于头节点。\n2、先把cur节点压入栈中,对以cur节点为头的整棵子树来说,依次把整棵树的左边界压入栈中,即不断令cur=cur.left,然后重复步骤2。\n3、不断重复步骤2,直到发现cur为空,此时从stack中弹出一个节点,记为node。打印node的值,并让cur=node.right,然后继续重复步骤2。\n4、当stack为空并且cur为空时,整个过程结束。\n\n代码实现\nclass Solution(object):\n def inorderTraversal(self, root):\n \"\"\"\n 左->根->右\n :type root: TreeNode\n :rtype: List[int]\n \"\"\"\n stack = []\n cur = root\n res = []\n while stack or cur:\n if cur:\n stack.append(cur)\n cur = cur.left\n else:\n node = stack.pop()\n res.append(node.val)\n cur = node.right\n return res\n\n后序遍历\n\n145. 二叉树的后序遍历\n\n具体过程\n方法一:使用两个栈实现\n1、申请一个栈,记为s1,然后将头节点压入s1中。\n2、从s1中弹出的节点记为cur,然后先把cur的左孩子压入s1中,然后把cur的右孩子压入s1中。\n3、在整个过程中,每一个从s1中弹出的节点都放进第二个栈s2中。\n4、不断重复步骤2和步骤3,直到s1为空,过程停止。\n5、从s2中依次弹出节点并打印,打印的顺序就是后序遍历的顺序了。\n方法二:使用一个栈实现\n1、申请一个栈,记为stack,将头节点压入stack,同时设置两个变量h和c。在整个流程中,h代表最近一次弹出并打印的节点,c代表当前stack的栈顶节点,初始时令h为头节点,c为null。\n2、每次令c等于当前stack的栈顶节点,但是不从stack中弹出节点,此时分以下三种情况。\n(1)如果c的左孩子不为空,并且h不等于c的左孩子,也不等于c的右孩子,则把c的左孩子压入stack中。\n(2)如果情况1不成立,并且c的右孩子不为空,并且h不等于c的右孩子,则把c的右孩子压入stack中。\n(3)如果情况1和情况2都不成立,那么从stack中弹出c并打印,然后令h等于c。\n3、一直重复步骤2,直到stack为空,过程停止。\n代码实现\n方法一:\nclass Solution(object):\n def postorderTraversal(self, root):\n \"\"\"\n 左->右->根\n :type root: TreeNode\n :rtype: List[int]\n \"\"\"\n stack1 = [root]\n stack2 = []\n while stack1:\n cur = stack1.pop()\n stack2.append(cur.val)\n if cur.left:\n stack1.append(cur.left)\n if cur.right:\n stack1.append(cur.right)\n return stack2[::-1]\n\n方法二:\nclass Solution:\n def postorderTraversal(self, root: TreeNode) -> List[int]:\n if not root:\n return list()\n\n res = list()\n stack = list()\n prev = None\n\n while root or stack:\n while root:\n stack.append(root)\n root = root.left\n root = stack.pop()\n if not root.right or root.right == prev:\n res.append(root.val)\n prev = root\n root = None\n else:\n stack.append(root)\n root = root.right\n\n return res\n\n层次遍历\nbfs\ndef bfs(root):\n queue = []\n # 根节点加入队列中\n queue.append(root)\n res = []\n while queue:\n temp = queue.pop(0)\n l = temp.left\n r = temp.right\n if l:\n queue.append(l)\n if r:\n queue.append(r)\n res.append(temp.val)\n return res\n\nReference\nhttp://www.ichenfei.com/2019/05/02/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%89%8D%E4%B8%AD%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E7%9A%84%E9%9D%9E%E9%80%92%E5%BD%92%E5%AE%9E%E7%8E%B0(Python)/\n"},"Algorithm/remove-duplicates-from-sorted-array.html":{"url":"Algorithm/remove-duplicates-from-sorted-array.html","title":"删除有序数组中的重复项","keywords":"","body":"26. 删除有序数组中的重复项\n给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。\n不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。\n说明:\n为什么返回数值是整数,但输出的答案是数组呢?\n请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。\n你可以想象内部操作如下:\n// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝\nint len = removeDuplicates(nums);\n// 在函数里修改输入数组对于调用者是可见的。\n// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。\nfor (int i = 0; i \n示例 1:\n输入:nums = [1,1,2]\n输出:2, nums = [1,2]\n解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。\n示例 2:\n输入:nums = [0,0,1,1,1,2,2,3,3,4]\n输出:5, nums = [0,1,2,3,4]\n解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。\n提示:\n0 \n解决:\n双指针\n这道题目的要求是:对给定的有序数组 \\textit{nums}nums 删除重复元素,在删除重复元素之后,每个元素只出现一次,并返回新的长度,上述操作必须通过原地修改数组的方法,使用 O(1)O(1) 的空间复杂度完成。\n由于给定的数组 \\textit{nums}nums 是有序的,因此对于任意 i\n如果数组 \\textit{nums}nums 的长度为 00,则数组不包含任何元素,因此返回 00。\n当数组 \\textit{nums}nums 的长度大于 00 时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此 \\textit{nums}[0]nums[0] 保持原状即可,从下标 11 开始删除重复元素。\n定义两个指针 \\textit{fast}fast 和 \\textit{slow}slow 分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标 11。\n假设数组 \\textit{nums}nums 的长度为 nn。将快指针 \\textit{fast}fast 依次遍历从 11 到 n-1n−1 的每个位置,对于每个位置,如果 \\textit{nums}[\\textit{fast}] \\ne \\textit{nums}[\\textit{fast}-1]nums[fast] \n\n =nums[fast−1],说明 \\textit{nums}[\\textit{fast}]nums[fast] 和之前的元素都不同,因此将 \\textit{nums}[\\textit{fast}]nums[fast] 的值复制到 \\textit{nums}[\\textit{slow}]nums[slow],然后将 \\textit{slow}slow 的值加 11,即指向下一个位置。\n遍历结束之后,从 \\textit{nums}[0]nums[0] 到 \\textit{nums}[\\textit{slow}-1]nums[slow−1] 的每个元素都不相同且包含原数组中的每个不同的元素,因此新的长度即为 \\textit{slow}slow,返回 \\textit{slow}slow 即可。\n使用快慢双指针,快指针在满之后后面遍历数组,由于数组是有序的,快指针向后遍历时,若碰到当前下标与慢指针值不一样时,就将当前值前移到慢指针位置,知道快指针遍历完数组,原理其实就是将不同的数向前提前,不扩大数组空间\nclass Solution:\n def removeDuplicates(self, nums: List[int]) -> int:\n if not nums:\n return 0\n\n n = len(nums)\n fast = slow = 1\n while fast \n复杂度分析\n时间复杂度:O(n),其中 n 是数组的长度。快指针和慢指针最多各移动 n 次。\n空间复杂度:O(1)。只需要使用常数的额外空间。\n"},"Algorithm/QuickSort.html":{"url":"Algorithm/QuickSort.html","title":"快速排序","keywords":"","body":"快速排序\n01、快速排序\n我们先看看维基百科的解释:\n\n快速排序(英语:QuickSort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序 n 个项目要 O(nlogn) 次比较。在最坏状况下则需要 O(n^2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地达成。\n\n 平均情况下快速排序的时间复杂度是Θ(𝑛log𝑛),最坏情况是n²,但通过随机算法可以避免最坏情况。由于递归调用,快排的空间复杂度是Θ(log𝑛)。\n02、算法思想\n快速排序的算法思想是分而治之,将一个大的待排序列,分成两个子序列,然后采用递归的方式,依次将子序列也分成更小的子序列,依次进行,最后得到排序好的序列。算法的实现主要分成三步\n\n找到基准点:\n排列序列,将比基准点小的放在左边的子序列,将比基准点大的放在右边的子序列;\n采用递归,依次重新选取基准点,在重复进行 1,2 步骤,得到最终的顺序序列\n\n03、算法实现\n\npublic class QuickSort {\n\n public static void main(String[] args) {\n int[] array = new int[]{2, 3, 1, 4, 7, 8, 3, 5, 2, 6, 8, 9, 1};\n quickSort(array, 0, array.length - 1);\n for (int i = 0; i left && array[right] >= base) {\n right--;\n }\n //交互位置\n array[left] = array[right];\n while (left \n运行结果:\n\n1 1 2 2 3 3 4 5 6 7 8 8 9\n\n从运行的结果我们看到,已经正常的排序结束了,说明这个算法已经满足了我们的要求,而且详细的代码分析也已经加上了注释,我想大家应该都能看懂。只要记住核心的几个点就可以了,这里我在重复说明一下:\n\n先找基准点 base;\n比较大小,比 base 小的放在左边序列,比 base 大的放在右边序列;\n递归左右序列。\n\n注意上面内部的两个 while 循环,这里是使用类似两个指针,分别从序列的左右两个端点开始往中间进行遍历,主要进行的第二步比较和赋值的操作。\n题目\n排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:(D)\nA.5, 2, 16, 12, 28, 60, 32, 72\nB.2, 16, 5, 28, 12, 60, 32, 72\nC.2, 12, 16, 5, 28, 32, 72, 60\nD.5, 2, 12, 28, 16, 32, 72, 60\n\n先找第一个中间元素,满足左边的比他小,右边比他大,第二趟就是看第一个元素分割的两半,再同样找是否在子序列中,有一个中间元素满足左边的都比他小,右边的比他大;\n\nReference\n你应该知道的常用排序算法之快速排序\n"},"Algorithm/BST.html":{"url":"Algorithm/BST.html","title":"二叉搜索树与平衡二叉树","keywords":"","body":"二叉查找树、平衡树(AVL)\n为什么有了二叉查找树/平衡树还需要红黑树\n二叉查找树 (Binary Search Tree)\n概念\n二叉查找树又称二叉搜索树,二叉排序树,特点如下:\n\n左子树上所有结点值均小于根结点\n右子树上所有结点值均大于根结点\n结点的左右子树本身又是一颗二叉查找树\n二叉查找树中序遍历得到结果是递增排序的结点序列。\n\n1、二叉查找树的缺点\n二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图\n\n基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为 O(logn)。\n之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如\n\n这种情况也是满足二叉查找树的条件,然而,此时的二叉查找树已经近似退化为一条链表,这样的二叉查找树的查找时间复杂度顿时变成了 O(n),可想而知,我们必须不能让这种情况发生,为了解决这个问题,于是我们引申出了平衡二叉树。\n2、平衡二叉树\n平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了,平衡树具有如下特点\n1、具有二叉查找树的全部特性。\n2、每个节点的左子树和右子树的高度差至多等于1。\n例如:图一就是一颗平衡树了,而图二则不是(节点右边标的是这个节点的高度)\n\n。\n\n对于图二,因为节点9的左孩子高度为2,而右孩子高度为0。他们之间的差值超过1了。\n平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。关于平衡树如何构建、插入、删除、左旋、右旋等操作这里不在说明,具体可以看我之前写的一篇文章:【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。\n于是,通过平衡树,我们解决了二叉查找树的缺点。对于有 n 个节点的平衡树,最坏的查找时间复杂度也为 O(logn)。\n为什么有了平衡树还需要红黑树?\n虽然平衡树解决了二叉查找树退化为近似链表的缺点,能够把查找时间控制在 O(logn),不过却不是最佳的,因为平衡树要求每个节点的左子树和右子树的高度差至多等于1,这个要求实在是太严了,导致每次进行插入/删除节点的时候,几乎都会破坏平衡树的第二个规则,进而我们都需要通过左旋和右旋来进行调整,使之再次成为一颗符合要求的平衡树。\n显然,如果在那种插入、删除很频繁的场景中,平衡树需要频繁着进行调整,这会使平衡树的性能大打折扣,为了解决这个问题,于是有了红黑树,红黑树具有如下特点:\n1、具有二叉查找树的特点。\n2、根节点是黑色的;\n3、每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存数据。\n4、任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的。\n5、每个节点,从该节点到达其可达的叶子节点是所有路径,都包含相同数目的黑色节点。\n例如下面的图片(注意,图片中黑色的、空的叶子节点没有画出)(图片来自极客时间)\n\n正是由于红黑树的这种特点,使得它能够在最坏情况下,也能在 O(logn) 的时间复杂度查找到某个节点。至于为什么就能够保证时间复杂度为 O(logn),我这里就不细讲了,后面的文章可能会讲。\n不过,与平衡树不同的是,红黑树在插入、删除等操作,不会像平衡树那样,频繁着破坏红黑树的规则,所以不需要频繁着调整,这也是我们为什么大多数情况下使用红黑树的原因。\n不过,如果你要说,单单在查找方面的效率的话,平衡树比红黑树快。\n所以,我们也可以说,红黑树是一种不大严格的平衡树。也可以说是一个折中发方案。\n如果我上面讲的,你都懂,都能够在面试中说出来,应该是足够的了。我当时就是这么回答的。\n总结\n所以,最后的答案是,平衡树是为了解决二叉查找树退化为链表的情况,而红黑树是为了解决平衡树在插入、删除等操作需要频繁调整的情况。\nBST 查找\nclass Solution:\n def searchBST(self, root: TreeNode, val: int) -> TreeNode:\n if root is None or val == root.val:\n return root\n\n return self.searchBST(root.left, val) if val \nReference\n记一次腾讯面试:有了二叉查找树、平衡树(AVL)为啥还需要红黑树?\n"},"Article/ReadME.html":{"url":"Article/ReadME.html","title":"技术文章收集","keywords":"","body":"技术文章\n"},"Article/贝聊 IAP 实战之满地是坑.html":{"url":"Article/贝聊 IAP 实战之满地是坑.html","title":"贝聊 IAP 实战之满地是坑","keywords":"","body":"\n原文地址 https://juejin.im/post/5a3b14f36fb9a045104aa6c8\n注意: 文章中讨论的 IAP 是指使用苹果内购购买消耗性的项目。\n\n这次为大家带来我司 IAP 的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会包含三篇。\n\n第一篇:[iOS] 贝聊 IAP 实战之满地是坑,这一篇是支付基础知识的讲解,主要会详细介绍 IAP,同时也会对比支付宝和微信支付,从而引出 IAP 的坑和注意点。\n第二篇:[iOS] 贝聊 IAP 实战之见坑填坑,这一篇是高潮性的一篇,主要针对第一篇文章中分析出的 IAP 的问题进行具体解决。\n第三篇:[iOS] 贝聊 IAP 实战之订单绑定,这一篇是关键性的一篇,主要讲述作者探索将自己服务器生成的订单号绑定到 IAP 上的过程。\n\n不用担心,我从来不会只讲原理不留源码,我已经将我司的源码整理出来,你使用时只需要拽到工程中就可以了,下面开始我们的内容 。\n源码在这里。\n01. 题外话\n今年上半年的公众号打赏事件,大家可还记得?我们对苹果强收过路费的行为愤懑,也为微信可惜不已,此事最后以腾讯高管团队访问苹果画上句号。显然,协商结果两位老板以及他们的团队都很满意。\n02. 熟悉的支付宝和微信支付\n仔细看一下下面这张图,这是我们每次在买早餐使用支付宝支付的流程图。下面我们来一步一步看一下每一步对应的操作原理。\n\n\n第一步:我们的 APP 发起一笔支付交易,此时,第一件事,我们要去我们自己的服务器上创建一个订单信息。同时服务器会组装好一笔交易交给我们。关于组装交易信息,有两种做法,第一种就是支付宝推荐我们做的,由我们服务器来组装交易信息,服务器加密交易信息,并保存签名信息;另一种做法是,服务器返回商品信息给 APP,由 APP 来组装交易信息,并进行加密处理等操作。显然我们应该采用第一种方式。\n第二步:服务器创建好交易信息以后,返回给 APP,APP 不对交易信息做处理。\n第三步:APP 拿到交易信息,开始调起支付宝的 SDK,支付宝的 SDK 把交易信息传给支付宝的服务器。\n第四步:验证通过以后,支付宝服务器会告诉支付宝 SDK 验证通过。\n第五步:验证通过以后,我们的 APP 会调起支付宝 APP,跳转到支付宝 APP。\n第六步:在支付宝 APP 里,用户输入密码进行交易,和支付宝服务器进行通讯。\n第七步:支付成功,支付宝服务器回调支付宝 APP。\n第八步:支付宝回到我们自己的 APP,并通过 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 方法处理支付宝的回调结果,对应的进行刷新 UI 等操作。\n第九步:支付宝服务器会回调我们的服务器并把收据传给我们服务器,如果我们的服务器没有确认已经收到支付宝的收据信息,那么支付宝服务器就会一直回调我们的服务器,只是回调时间间隔会越来越久。\n第十步:我们的服务器收到支付宝的回调,并回调支付宝,确认已经收到收据信息,此时早餐买完了。\n\n支付宝的支付流程讲完了,那微信支付也讲完了,因为它们流程相似。\n03. 坑爹的 IAP 支付\nIAP 坑爹之处从以下两个方面来理解。\n第一方面,APP 不接 IAP 审核不让过。接不接 IAP,苹果不是和你商量,而是强制要求,爸爸说怎么样,就怎么样。当然,这篇文章解决不了这个问题,所以也只是说说而已。上面说了微信公众号的事情,虽然它不是 IAP 的事情,但是实质上都属于强收过路费的行为。\n第二方面,坑开发人员。下面开始数坑。\n\n只有 8 步,比支付宝少 2 步,对不对?看起来比支付宝还简单,有木有?\n\n第一步:用户开始购买,首先会去我们自己的服务器创建一个交易订单,返回给 APP。\n第二步:APP 拿到交易信息,然后开始调起 IAP 服务创建订单,并把订单推入支付队列。\n第三步:IAP 会和 IAP 服务器通讯,让用户确认购买,输入密码。\n第四步:IAP 服务器回调 APP,通知购买成功,并把收据写入到 APP 沙盒中。\n第五步:此时,APP 应该去获取沙盒中的收据信息(一段 Base 64 编码的数据),并将收据信息上传给服务器。\n第六步:服务器拿到收据以后,就应该去 IAP 服务器查询这个收据对应的已付款的订单号。\n第七步:我们自己的服务器拿到这个收据对应的已付款的订单号以后,就去校验当前的已付款订单中是否有要查询的那一笔,如果有,就告诉 APP。\n第八步:APP 拿到查询结果,然后把这笔交易给 finish 掉。\n\n04. 对比支付宝和 IAP\n没啥大毛病,对吧?现在来详细分析一下。\n由于移动端所处的网络环境远远比服务端要复杂,所以,最大可能出现问题的是与移动端的通讯上。对于支付宝,只要移动端确实付款完成,那么接下来的验证工作都是服务器于服务器之间的通讯。这样一来,只要用户确实产生了一笔交易,那么接下来的验证就变得可靠的多,而且支付宝服务器会一直回调我们的服务器,交易的可靠性得到了极大的保证。\n同样,我们再来看看 IAP,交易是一样的。但是验证交易这一环需要移动端来驱动我们自己的服务器来进行查询,这是第一个坑,先记一笔。另外一点,IAP 的服务器远在美国,我们的服务器去查询延时相当严重,这是其二。\n05.IAP 设计上的坑\n上面讲了两个很大的坑,接下来看一看 IAP 本身有哪些坑。最大的一个就是,从 IAP 交易结果出来到通知 APP,只有一次。这里有以下几个问题:\n\n1. 如果用户后买成功以后,网络就不行了,那么苹果的 IAP 也收不到支付成功的通知,就没法通知 APP,我们也没法给用户发货。\n2. 如果 IAP 通知我们支付成功,我们驱动服务器去 IAP 服务器查询失败的话,那就要等下次 APP 启动的时候,才会重新通知我们有未验证的订单。这个周期根本没法想象,如果用户一个月不重启 APP,那么我们可能一个月没法给用户发货。\n3. 有人反馈,IAP 通知已经交易成功了,此时去沙盒里取收据数据,发现为空,或者出现通知交易成功那笔交易没有被及时的写入到沙盒数据中,导致我们服务器去 IAP 服务器查询的时候,查不到这笔订单。\n4. 如果用户的交易还没有得到验证,就把 APP 给卸载了,以后要怎么恢复那些没有被验证的订单?\n5. 越狱手机有无数奇葩的收据丢失或无效或被替换的问题,应该怎样酌情处理?\n6. 交易没有发生变化,仅仅是重启一下,收据信息就会发生改变。\n7. 当验证交易成功以后我们去取 IAP 的待验证交易列表的时候,这个列表没有数据。\n\n好吧,算起来有九个比较大的问题了,还有没照顾到的请各位补充。这九个问题,基本上每一个都是致命的。这么多的不确定性,我们应该怎么综合处理,怎么相互平衡?\n我们先放一放这些问题,下一篇就一起来着手解决这些问题,现在我们先来看一看 IAP 支付的基本代码。\n06.IAP 支付代码\n我们先不去想那么多,先把支付逻辑跑通再说。下面我们看看 IAP 的代码。\n#import \n\n@interface BLPaymentManager ()\n\n@end\n\n@implementation BLPaymentManager\n\n- (void)dealloc {\n [[SKPaymentQueue defaultQueue] removeTransactionObserver:self];\n}\n\n- (void)init {\n self = [super init];\n if(self) {\n [[SKPaymentQueue defaultQueue] addTransactionObserver:self];\n }\n return self;\n}\n\n- (void)buyProduction {\n if ([SKPaymentQueue canMakePayments]) {\n\n [self getProductInfo:nil];\n\n } else {\n NSLog(@\"用户禁止应用内付费购买\");\n }\n}\n\n// 从Apple查询用户点击购买的产品的信息.\n- (void)getProductInfo:(NSString *)productIdentifier {\n NSSet *identifiers = [NSSet setWithObject:productIdentifier];\n SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers];\n request.delegate = self;\n [request start];\n}\n\n#pragma mark - SKPaymentTransactionObserver\n\n// 购买操作后的回调.\n- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {\n // 这里的事务包含之前没有完成的.\n for (SKPaymentTransaction *transcation in transactions) {\n switch (transcation.transactionState) {\n case SKPaymentTransactionStatePurchasing:\n [self transcationPurchasing:transcation];\n break;\n\n case SKPaymentTransactionStatePurchased:\n [self transcationPurchased:transcation];\n break;\n\n case SKPaymentTransactionStateFailed:\n [self transcationFailed:transcation];\n break;\n\n case SKPaymentTransactionStateRestored:\n [self transcationRestored:transcation];\n break;\n\n case SKPaymentTransactionStateDeferred:\n [self transcationDeferred:transcation];\n break;\n }\n }\n}\n\n#pragma mark - TranscationState\n\n// 交易中.\n- (void)transcationPurchasing:(SKPaymentTransaction *)transcation {\n NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];\n NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];\n if (!receipt) {\n NSLog(@\"没有收据, 处理异常\");\n return;\n }\n}\n\n// 交易成功.\n- (void)transcationPurchased:(SKPaymentTransaction *)transcation {\n // 存储到本地先.\n // 发送到服务器, 等待验证结果.\n [[SKPaymentQueue defaultQueue] finishTransaction:transcation];\n}\n\n// 交易失败.\n- (void)transcationFailed:(SKPaymentTransaction *)transcation {\n\n}\n\n// 已经购买过该商品.\n- (void)transcationRestored:(SKPaymentTransaction *)transcation {\n\n}\n\n// 交易延期.\n- (void)transcationDeferred:(SKPaymentTransaction *)transcation {\n\n}\n\n#pragma mark - SKProductsRequestDelegate\n\n// 查询成功后的回调.\n- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {\n NSArray *products = response.products;\n if (!products.count) {\n NSLog(@\"没有正在出售的商品\");\n return;\n }\n\n SKPayment *payment = [SKPayment paymentWithProduct:products.firstObject];\n [[SKPaymentQueue defaultQueue] addPayment:payment];\n}\n\n@end\n\n代码大致做了如下事情,初始化的时候去添加支付结果的监听,并在 -dealloc: 方法中移除监听。同时可以通过 - (void)fetchProductInfoWithProductIdentifiers:(NSSet *)productIdentifiers 方法查询后台配置的商品信息。通过 -buyProduction: 方法购买产品,购买成功以后,IAP 通过 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 方法通知购买进度。\n"},"Article/关于离屏渲染的深入研究 - Medium.html":{"url":"Article/关于离屏渲染的深入研究 - Medium.html","title":"关于离屏渲染的深入研究 - Medium","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 https://medium.com/@jasonyuh/%E5%85%B3%E4%BA%8E%E7%A6%BB%E5%B1%8F%E6%B8%B2%E6%9F%93%E7%9A%84%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6-e776f56b3e60\n\n在平时的 iOS 面试中,我们经常会考察有关离屏渲染(Offscreen rendering)的知识点。一般来说,绝大多数人都能答出 “圆角、mask、阴影会触发离屏渲染”,但是也仅止于此。如果再问得深入哪怕一点点,比如:\n\n离屏渲染是在哪一步进行的?为什么?\n设置 cornerRadius 一定会触发离屏渲染吗?\n\n90% 的候选人都没法非常确定地说出答案。作为一个客户端工程师,把控渲染性能是最关键、最独到的技术要点之一,如果仅仅了解表面知识,到了实际应用时往往会失之毫厘谬以千里,无法得到预期的效果。\niOS 渲染架构\n在 WWDC 的 Advanced Graphics and Animations for iOS Apps(WWDC14 419,关于 UIKit 和 Core Animation 基础的 session 在早年的 WWDC 中比较多)中有这样一张图:\n\n我们可以看到,在 Application 这一层中主要是 CPU 在操作,而到了 Render Server 这一层,CoreAnimation 会将具体操作转换成发送给 GPU 的 draw calls(以前是 call OpenGL ES,现在慢慢转到了 Metal),显然 CPU 和 GPU 双方同处于一个流水线中,协作完成整个渲染工作。\n离屏渲染的定义\n如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的 frame buffer,作为像素数据存储区域,而这也是 GPU 存储渲染结果的地方。如果有时因为面临一些限制,无法把渲染结果直接写入 frame buffer,而是先暂存在另外的内存区域,之后再写入 frame buffer,那么这个过程被称之为离屏渲染。\n\n渲染结果先经过了离屏 buffer,再到 frame buffer\nCPU” 离屏渲染 “\n大家知道,如果我们在 UIView 中实现了 drawRect 方法,就算它的函数体内部实际没有代码,系统也会为这个 view 申请一块内存区域,等待 CoreGraphics 可能的绘画操作。\n对于类似这种 “新开一块 CGContext 来画图 “的操作,有很多文章和视频也称之为 “离屏渲染”(因为像素数据是暂时存入了 CGContext,而不是直接到了 frame buffer)。进一步来说,其实所有 CPU 进行的光栅化操作(如文字渲染、图片解码),都无法直接绘制到由 GPU 掌管的 frame buffer,只能暂时先放在另一块内存之中,说起来都属于 “离屏渲染”。\n自然我们会认为,因为 CPU 不擅长做这件事,所以我们需要尽量避免它,就误以为这就是需要避免离屏渲染的原因。但是根据苹果工程师的说法,CPU 渲染并非真正意义上的离屏渲染。另一个证据是,如果你的 view 实现了 drawRect,此时打开 Xcode 调试的 “Color offscreen rendered yellow” 开关,你会发现这片区域不会被标记为黄色,说明 Xcode 并不认为这属于离屏渲染。\n其实通过 CPU 渲染就是俗称的 “软件渲染”,而真正的离屏渲染发生在 GPU。\nGPU 离屏渲染\n在上面的渲染流水线示意图中我们可以看到,主要的渲染操作都是由 CoreAnimation 的 Render Server 模块,通过调用显卡驱动所提供的 OpenGL/Metal 接口来执行的。通常对于每一层 layer,Render Server 会遵循 “画家算法”,按次序输出到 frame buffer,后一层覆盖前一层,就能得到最终的显示结果(值得一提的是,与一般桌面架构不同,在 iOS 中,设备主存和 GPU 的显存共享物理内存,这样可以省去一些数据传输开销)。\n\n” 画家算法 “,把每一层依次输出到画布\n然而有些场景并没有那么简单。作为 “画家” 的 GPU 虽然可以一层一层往画布上进行输出,但是无法在某一层渲染完成之后,再回过头来擦除 / 改变其中的某个部分——因为在这一层之前的若干层 layer 像素数据,已经在渲染中被永久覆盖了。这就意味着,对于每一层 layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改 / 剪裁操作。\n如果要绘制一个带有圆角并剪切圆角以外内容的容器,就会触发离屏渲染。我的猜想是(如果读者中有图形学专家希望能指正):\n\n将一个 layer 的内容裁剪成圆角,可能不存在一次遍历就能完成的方法\n容器的子 layer 因为父容器有圆角,那么也会需要被裁剪,而这时它们还在渲染队列中排队,尚未被组合到一块画布上,自然也无法统一裁剪\n\n此时我们就不得不开辟一块独立于 frame buffer 的空白内存,先把容器以及其所有子 layer 依次画好,然后把四个角 “剪” 成圆形,再把结果画到 frame buffer 中。这就是 GPU 的离屏渲染。\n常见离屏渲染场景分析\n\ncornerRadius+clipsToBounds,原因就如同上面提到的,不得已只能另开一块内存来操作。而如果只是设置 cornerRadius(如不需要剪切内容,只需要一个带圆角的边框),或者只是需要裁掉矩形区域以外的内容(虽然也是剪切,但是稍微想一下就可以发现,对于纯矩形而言,实现这个算法似乎并不需要另开内存),并不会触发离屏渲染。关于剪切圆角的性能优化,根据场景不同有几个方案可供选择,非常推荐阅读 AsyncDisplayKit 中的一篇文档。\n\n\nASDK 中对于如何选择圆角渲染策略的流程图,非常实用\n\nshadow,其原因在于,虽然 layer 本身是一块矩形区域,但是阴影的形状却未必是矩形,而是与 layer 中” 非透明区域 “的形状一致,这就意味着需要先知道 layer 与其所有子结构组合之后的形状。更关键的是,阴影需要显示在所有 layer 内容的下方,那么根据画家算法,下层必须先被渲染,而此时阴影的本体(layer 和其子 layer)都还没有被组合到一起,怎么可能在第一步就画出只有完成最后一步之后才能知道的形状呢?这样一来又只能另外申请一块内存,把本体内容都先画好,再根据渲染结果的形状,添加阴影到 frame buffer,最后把内容画上去(这只是我的猜测,实际情况可能更复杂)。不过如果我们能够预先告诉 CoreAnimation(通过 shadowPath 属性)阴影的几何形状,那么阴影当然可以先被独立渲染出来,不需要依赖 layer 本体,也就不再需要离屏渲染了。\n\n\n阴影会作用在所有子 layer 所组成的形状上,那就只能等全部子 layer 画完才能得到\n\ngroup opacity,其实从名字就可以猜到,alpha 并不是分别应用在每一层之上,而是只有到整个 layer 树画完之后,再统一加上 alpha,最后和底下其他 layer 的像素进行组合。显然也无法通过一次遍历就得到最终结果。将一对蓝色和红色 layer 叠在一起,然后在父 layer 上设置 opacity=0.5,并复制一份在旁边作对比。左边关闭 group opacity,右边保持默认(从 iOS7 开始,如果没有显式指定,group opacity 会默认打开),然后打开 offscreen rendering 的调试,我们会发现右边的那一组确实是离屏渲染了。\n\n\n同样的两个 view,右边打开 group opacity(默认行为)的被标记为 Offscreen rendering\n\nmask,我们知道 mask 是应用在 layer 和其所有子 layer 的组合之上的,而且可能带有透明度,那么其实和 group opacity 的原理类似,不得不在离屏渲染中完成。\n\n\nWWDC 中苹果的解释,mask 需要遍历至少三次\n\nUIBlurEffect,同样无法通过一次遍历完成,其原理在 WWDC 中提到:\n\n\n\n其他还有一些,类似 allowsEdgeAntialiasing 等等也可能会触发离屏渲染,原理也都是类似:如果你无法仅仅使用 frame buffer 来画出最终结果,那就只能另开一块内存空间来储存中间结果。这些原理并不神秘。\n\nGPU 离屏渲染的性能影响\nGPU 的操作是高度流水线化的。本来所有计算工作都在有条不紊地正在向 frame buffer 输出,此时突然收到指令,需要输出到另一块内存,那么流水线中正在进行的一切都不得不被丢弃,切换到只能服务于我们当前的 “切圆角” 操作。等到完成以后再次清空,再回到向 frame buffer 输出的正常流程。\n在 tableView 或者 collectionView 中,滚动的每一帧变化都会触发每个 cell 的重新绘制,因此一旦存在离屏渲染,上面提到的上下文切换就会每秒发生 60 次,并且很可能每一帧有几十张的图片要求这么做,对于 GPU 的性能冲击可想而知(GPU 非常擅长大规模并行计算,但是我想频繁的上下文切换显然不在其设计考量之中)\n\n每 16ms 就需要根据当前滚动位置渲染整个 tableView,是个不小的性能挑战\n善用离屏渲染\n尽管离屏渲染开销很大,但是当我们无法避免它的时候,可以想办法把性能影响降到最低。优化思路也很简单:既然已经花了不少精力把图片裁出了圆角,如果我能把结果缓存下来,那么下一帧渲染就可以复用这个成果,不需要再重新画一遍了。\nCALayer 为这个方案提供了对应的解法:shouldRasterize。一旦被设置为 true,Render Server 就会强制把 layer 的渲染结果(包括其子 layer,以及圆角、阴影、group opacity 等等)保存在一块内存中,这样一来在下一帧仍然可以被复用,而不会再次触发离屏渲染。有几个需要注意的点:\n\nshouldRasterize 的主旨在于降低性能损失,但总是至少会触发一次离屏渲染。如果你的 layer 本来并不复杂,也没有圆角阴影等等,打开这个开关反而会增加一次不必要的离屏渲染\n离屏渲染缓存有空间上限,最多不超过屏幕总像素的 2.5 倍大小\n一旦缓存超过 100ms 没有被使用,会自动被丢弃\nlayer 的内容(包括子 layer)必须是静态的,因为一旦发生变化(如 resize,动画),之前辛苦处理得到的缓存就失效了。如果这件事频繁发生,我们就又回到了 “每一帧都需要离屏渲染” 的情景,而这正是开发者需要极力避免的。针对这种情况,Xcode 提供了 “Color Hits Green and Misses Red” 的选项,帮助我们查看缓存的使用是否符合预期\n其实除了解决多次离屏渲染的开销,shouldRasterize 在另一个场景中也可以使用:如果 layer 的子结构非常复杂,渲染一次所需时间较长,同样可以打开这个开关,把 layer 绘制到一块缓存,然后在接下来复用这个结果,这样就不需要每次都重新绘制整个 layer 树了\n\n什么时候需要 CPU 渲染\n渲染性能的调优,其实始终是在做一件事:平衡 CPU 和 GPU 的负载,让他们尽量做各自最擅长的工作。\n\n平衡 CPU 和 GPU 的负载\n绝大多数情况下,得益于 GPU 针对图形处理的优化,我们都会倾向于让 GPU 来完成渲染任务,而给 CPU 留出足够时间处理各种各样复杂的 App 逻辑。为此 Core Animation 做了大量的工作,尽量把渲染工作转换成适合 GPU 处理的形式(也就是所谓的硬件加速,如 layer composition,设置 backgroundColor 等等)。\n但是对于一些情况,如文字(CoreText 使用 CoreGraphics 渲染)和图片(ImageIO)渲染,由于 GPU 并不擅长做这些工作,不得不先由 CPU 来处理好以后,再把结果作为 texture 传给 GPU。除此以外,有时候也会遇到 GPU 实在忙不过来的情况,而 CPU 相对空闲(GPU 瓶颈),这时可以让 CPU 分担一部分工作,提高整体效率。\n\n来自 WWDC18 session 221,可以看到 Core Text 基于 Core Graphics\n一个典型的例子是,我们经常会使用 CoreGraphics 给图片加上圆角(将图片中圆角以外的部分渲染成透明)。整个过程全部是由 CPU 完成的。这样一来既然我们已经得到了想要的效果,就不需要再另外给图片容器设置 cornerRadius。另一个好处是,我们可以灵活地控制裁剪和缓存的时机,巧妙避开 CPU 和 GPU 最繁忙的时段,达到平滑性能波动的目的。\n这里有几个需要注意的点:\n\n渲染不是 CPU 的强项,调用 CoreGraphics 会消耗其相当一部分计算时间,并且我们也不愿意因此阻塞用户操作,因此一般来说 CPU 渲染都在后台线程完成(这也是 AsyncDisplayKit 的主要思想),然后再回到主线程上,把渲染结果传回 CoreAnimation。这样一来,多线程间数据同步会增加一定的复杂度\n同样因为 CPU 渲染速度不够快,因此只适合渲染静态的元素,如文字、图片(想象一下没有硬件加速的视频解码,性能惨不忍睹)\n作为渲染结果的 bitmap 数据量较大(形式上一般为解码后的 UIImage),消耗内存较多,所以应该在使用完及时释放,并在需要的时候重新生成,否则很容易导致 OOM\n如果你选择使用 CPU 来做渲染,那么就没有理由再触发 GPU 的离屏渲染了,否则会同时存在两块内容相同的内存,而且 CPU 和 GPU 都会比较辛苦\n一定要使用 Instruments 的不同工具来测试性能,而不是仅凭猜测来做决定\n\n即刻的优化\n由于在 iOS10 之后,系统的设计风格慢慢从扁平化转变成圆角卡片,即刻的设计风格也随之发生变化,加入了大量圆角与阴影效果,如果在处理上稍有不慎,就很容易触发离屏渲染。为此我们采取了以下一些措施:\n\n即刻大量应用 AsyncDisplayKit(Texture) 作为主要渲染框架,对于文字和图片的异步渲染操作交由框架来处理。关于这方面可以看我之前的一些介绍\n对于图片的圆角,统一采用 “precomposite” 的策略,也就是不经由容器来做剪切,而是预先使用 CoreGraphics 为图片裁剪圆角\n对于视频的圆角,由于实时剪切非常消耗性能,我们会创建四个白色弧形的 layer 盖住四个角,从视觉上制造圆角的效果\n对于 view 的圆形边框,如果没有 backgroundColor,可以放心使用 cornerRadius 来做\n对于所有的阴影,使用 shadowPath 来规避离屏渲染\n对于特殊形状的 view,使用 layer mask 并打开 shouldRasterize 来对渲染结果进行缓存\n对于模糊效果,不采用系统提供的 UIVisualEffect,而是另外实现模糊效果(CIGaussianBlur),并手动管理渲染结果\n\n\n即刻客户端中有大量的圆角、阴影等效果\n总结\n\nCPU 渲染虽然也是 “离屏”,但是通常提到的离屏渲染是发生在 GPU\n如果一个 layer 无法在一次遍历就完成绘制,那么就不得不触发离屏渲染\n离屏渲染的开销主要在与 frame buffer 与离屏 buffer 之间的上下文切换。如果无法避免,也可以通过有效利用 shouldRasterize,减少触发的次数\nCPU 和 GPU 是相互扶持的关系。CPU 渲染效率不高,但是较为通用灵活;GPU 擅长并行计算,但也有捉襟见肘之时,此时 CPU 可以适当给与帮助\n\n离屏渲染牵涉了很多 Core Animation、GPU 和图形学等等方面的知识,在实践中也非常考验一个工程师排查问题的基本功、经验和判断能力——如果在不恰当的时候打开了 shouldRasterize,只会弄巧成拙。\n从一个更广阔的视角看,离屏渲染也仅仅是渲染性能优化中的一部分,而能否保证 UI 性能过关,将会直接影响到用户日常的操作体验。渲染技术作为客户端工程师的关键技术能力之一,值得持续研究。\n推荐资料\nAndy Matuschak 关于离屏渲染的解释\nObjc.io: Moving Pixels onto the Screen\nMastering Offscreen Render\nWWDC 2011 421 Core Animation Essentials\nWWDC 2011 121 Understanding UIKit Rendering\nWWDC 2014 419 Advanced Graphics and Animations for iOS Apps\nWWDC 2010 135 Advanced Performance Optimization on iPhone OS Part 1\n《Core Animation: Advanced Techniques》\n"},"Article/面试驱动技术 - Category 相关考点.html":{"url":"Article/面试驱动技术 - Category 相关考点.html","title":"面试驱动技术 - Category 相关考点","keywords":"","body":"\n面试驱动技术合集(初中级 iOS 开发),关注仓库,及时获取更新 Interview-series\n\n原文: 面试驱动技术 - Category 相关考点\nCategory 相关的问题一般初中级问的比较多,一般最深的就问到关联对象,本文把比较常见的 Category 的问题都罗列解决了一下,如果还有其他常见的 Category 的试题欢迎补充~\nI. Category\nCategory 相关面试题\n\nCategory 实现原理?\n实际开发中,你用 Category 做了哪些事?\nCategory 能否添加成员变量,如果可以,如何添加?\nload 、initialize 方法的区别是什么,他们在 category 中的调用顺序?以及出现继承时他们之间的调用过程?\nCategory 和 Class Extension 的区别是什么?\n为什么分类会 “覆盖” 宿主类的方法?\n\n1.Category 的特点\n\n运行时决议\n通过 runtime 动态将分类的方法合并到类对象、元类对象中\n实例方法合并到类对象中,类方法合并到元类对象中\n\n\n可以为系统类添加分类\n\n2. 分类中可以添加哪些内容\n\n实例方法\n类方法\n协议\n属性\n\n分类中原理解析\n使用 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc MNPerson+Test.m 函数,生产一个 cpp 文件, 窥探其底层结构 (编译状态)\nstruct _category_t {\n //宿主类名称 - 这里的MNPerson\n const char *name;\n\n //宿主类对象,里面有isa\n struct _class_t *cls;\n\n //实例方法列表\n const struct _method_list_t *instance_methods;\n\n //类方法列表\n const struct _method_list_t *class_methods;\n\n //协议列表\n const struct _protocol_list_t *protocols;\n\n //属性列表\n const struct _prop_list_t *properties;\n};\n\n//_class_t 结构\nstruct _class_t {\n struct _class_t *isa;\n struct _class_t *superclass;\n void *cache;\n void *vtable;\n struct _class_ro_t *ro;\n};\n复制代码\n\n每个分类都是独立的\n每个分类的结构都一致,都是category_t\n\n函数转换\n@implementation MNPerson (Test)\n\n- (void)test{\n NSLog(@\"test - rua~\");\n}\n\n@end\n复制代码\n\nstatic void \nattachCategories(Class cls, category_list *cats, bool flush_caches)\n{\n if (!cats) return;\n if (PrintReplacedMethods) printReplacements(cls, cats);\n\n bool isMeta = cls->isMetaClass();\n\n // fixme rearrange to remove these intermediate allocations\n\n /* 二维数组( **mlists => 两颗星星,一个)\n [\n [method_t,],\n [method_t,method_t],\n [method_t,method_t,method_t],\n ]\n\n */\n method_list_t **mlists = (method_list_t **)\n malloc(cats->count * sizeof(*mlists));\n property_list_t **proplists = (property_list_t **)\n malloc(cats->count * sizeof(*proplists));\n protocol_list_t **protolists = (protocol_list_t **)\n malloc(cats->count * sizeof(*protolists));\n\n // Count backwards through cats to get newest categories first\n int mcount = 0;\n int propcount = 0;\n int protocount = 0;\n int i = cats->count;//宿主类,分类的总数\n bool fromBundle = NO;\n while (i--) {//倒序遍历,最先访问最后编译的分类\n\n // 获取某一个分类\n auto& entry = cats->list[i];\n\n // 分类的方法列表\n method_list_t *mlist = entry.cat->methodsForMeta(isMeta);\n if (mlist) {\n //最后编译的分类,最先添加到分类数组中\n mlists[mcount++] = mlist;\n fromBundle |= entry.hi->isBundle();\n }\n\n property_list_t *proplist = \n entry.cat->propertiesForMeta(isMeta, entry.hi);\n if (proplist) {\n proplists[propcount++] = proplist;\n }\n\n protocol_list_t *protolist = entry.cat->protocols;\n if (protolist) {\n protolists[protocount++] = protolist;\n }\n }\n\n auto rw = cls->data();\n\n prepareMethodLists(cls, mlists, mcount, NO, fromBundle);\n\n // 核心:将所有分类的对象方法,附加到类对象的方法列表中\n rw->methods.attachLists(mlists, mcount);\n free(mlists);\n if (flush_caches && mcount > 0) flushCaches(cls);\n\n rw->properties.attachLists(proplists, propcount);\n free(proplists);\n\n rw->protocols.attachLists(protolists, protocount);\n free(protolists);\n}\n复制代码\nvoid attachLists(List* const * addedLists, uint32_t addedCount) {\n if (addedCount == 0) return;\n\n if (hasArray()) {\n // many lists -> many lists\n uint32_t oldCount = array()->count;\n uint32_t newCount = oldCount + addedCount;\n\n //realloc - 重新分配内存 - 扩容了\n setArray((array_t *)realloc(array(), array_t::byteSize(newCount)));\n array()->count = newCount;\n\n //memmove,内存挪动\n //array()->lists 原来的方法列表\n memmove(array()->lists + addedCount,\n array()->lists,\n oldCount * sizeof(array()->lists[0]));\n\n //memcpy - 将分类的方法列表 copy 到原来的方法列表中\n memcpy(array()->lists,\n addedLists,\n addedCount * sizeof(array()->lists[0]));\n }\n ...\n}\n复制代码\n画图分析就是\n\n\n\n\n\n3. 实际开发中,你用 Category 做了哪些事?\n\n声明私有方法\n\n分解体积庞大的类文件\n\n把Framework的私有方法公开\n\n\n4.Category 实现原理?\n\nCategory 编译之后,底层结构是 category_t,里面存储着分类的各种信息,包括 对象方法、类方法、属性、协议信息\n分类的在编译后,方法并不会直接添加到类信息中,而是要在程序运行的时候,通过 runtime, 讲 Category 的数据,\n\n5. 为什么分类会 “覆盖” 宿主类的方法?\n\n其实不是真正的 “覆盖”,宿主类的同名方法还是存在\n分类将附加到类对象的方法列表中,整合的时候,分类的方法优先放到前面\nOC 的函数调用底层走的是 msg_send() 函数,它做的是方法查找,因为分类的方法优先放在前面,所以通过选择器查找到分类的方法之后直接调用,宿主类的方法看上去就像被 “覆盖” 而没有生效\n\n6.Category 和 Class Extension 的区别是什么?\nClass Extension(扩展)\n\n声明私有属性\n声明私有方法\n声明私有成员变量\n编译时决议,Category 运行时决议\n不能为系统类添加扩展\n只能以声明的形式存在,多数情况下,寄生于宿主类的. m 文件中\n\nII. load 、initialize\nload 实现原理\n\n\n类第一次加载进内存的时候,会调用 + load 方法,无需导入,无需使用\n每个类、分类的 + load 在程序运行过程中只会执行一次\n+ load 走的不是消息发送的 objc_msgSend 调用,而是找到 + load 函数的地址,直接调用\n\n\nvoid call_load_methods(void)\n{\n static bool loading = NO;\n bool more_categories;\n\n loadMethodLock.assertLocked();\n\n // Re-entrant calls do nothing; the outermost call will finish the job.\n if (loading) return;\n loading = YES;\n\n void *pool = objc_autoreleasePoolPush();\n\n do {\n // 1\\. Repeatedly call class +loads until there aren’t any more\n while (loadable_classes_used > 0) {\n //先加载宿主类的load方法(按照编译顺序,调用load方法)\n call_class_loads();\n }\n\n // 2\\. Call category +loads ONCE\n more_categories = call_category_loads();\n\n // 3\\. Run more +loads if there are classes OR more untried categories\n } while (loadable_classes_used > 0 || more_categories);\n\n objc_autoreleasePoolPop(pool);\n\n loading = NO;\n}\n复制代码\nstatic void schedule_class_load(Class cls)\n{\n if (!cls) return;\n assert(cls->isRealized()); // _read_images should realize\n\n if (cls->data()->flags & RW_LOADED) return;\n\n // Ensure superclass-first ordering\n // 递归调用,先将父类添加到load方法列表中,再将自己加进去\n schedule_class_load(cls->superclass);\n\n add_class_to_loadable_list(cls);\n cls->setInfo(RW_LOADED); \n}\n复制代码\n\n调用顺序\n\n先调用宿主类的+ load 函数\n按照编译先后顺序调用(先编译,先调用)\n调用子类的 + load 之前会先调用父类的 + load\n\n\n再调用分类的的+ load 函数\n按照编译先后顺序调用(先编译,先调用)\n\n\n\n实验证明:宿主类先调用,分类再调用\n2019-02-27 17:28:00.519862+0800 load-Initialize-Demo[91107:2281575] MNPerson + load\n2019-02-27 17:28:00.520032+0800 load-Initialize-Demo[91107:2281575] MNPerson (Play) + load\n2019-02-27 17:28:00.520047+0800 load-Initialize-Demo[91107:2281575] MNPerson (Eat) + load\n复制代码\n\n\n2019-02-27 17:39:10.354050+0800 load-Initialize-Demo[91308:2303030] MNDog + load (宿主类1)\n2019-02-27 17:39:10.354237+0800 load-Initialize-Demo[91308:2303030] MNPerson + load (宿主类2)\n2019-02-27 17:39:10.354252+0800 load-Initialize-Demo[91308:2303030] MNDog (Rua) + load (分类1)\n2019-02-27 17:39:10.354263+0800 load-Initialize-Demo[91308:2303030] MNPerson (Play) + load(分类2)\n2019-02-27 17:39:10.354274+0800 load-Initialize-Demo[91308:2303030] MNPerson (Eat) + load(分类3)\n2019-02-27 17:39:10.354285+0800 load-Initialize-Demo[91308:2303030] MNDog (Run) + load(分类4)\n复制代码\nInitialize 实现原理\n\n\n类第一次接收到消息的时候,会调用该方法,需导入,并使用\n+ Initialize 走的是消息发送的 objc_msgSend 调用\n\n\nInitialize 题目出现\n/*父类*/\n@interface MNPerson : NSObject\n\n@end\n\n@implementation MNPerson\n\n+ (void)initialize{\n NSLog(@\"MNPerson + initialize\");\n}\n\n@end\n\n/*子类1*/\n@interface MNTeacher : MNPerson\n\n@end\n\n@implementation MNTeacher\n\n@end\n\n/*子类2*/\n@interface MNStudent : MNPerson\n\n@end\n\n@implementation MNStudent\n\n@end\n\n---------------------------------------------\n问题出现:以下会输出什么结果\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n [MNTeacher alloc];\n [MNStudent alloc];\n }\n return 0;\n}\n\n复制代码\n\n结果如下:\n2019-02-27 17:57:33.305655+0800 load-Initialize-Demo[91661:2331296] MNPerson + initialize\n2019-02-27 17:57:33.305950+0800 load-Initialize-Demo[91661:2331296] MNPerson + initialize\n2019-02-27 17:57:33.306476+0800 load-Initialize-Demo[91661:2331296] MNPerson + initialize\n复制代码\nexo me? 为啥打印三次呢\n原理分析:\n\ninitialize 在类第一次接收消息的时候会调用,OC 里面的 [ xxx ] 调用都可以看成 objc_msgSend, 所以这时候,[MNTeacher alloc] 其实内部会调用 [MNTeacher initialize]\ninitialize 调用的时候,要先实现自己父类的 initialize 方法,第一次调用的时候,MNPerson 没被使用过,所以未被初始化,要先调用一下父类的 [MNPerson initialize], 输出第一个MNPerson + initialize\nMNPerson 调用了 initialize 之后,轮到MNTeacher 类自己了,由于他内部没有实现 initialize方法,所以调用父类的initialize, 输出第二个MNPerson + initialize\n然后轮到[MNStudent alloc],内部也是调用 [MNStudent initialize], 然后判断得知 父类MNPerson类调用过initialize了,因此调用自身的就够了,由于他和MNTeacher 一样,也没实现initialize 方法,所以同理调用父类的[MNPerson initialize], 输出第 3 个MNPerson + initialize\n\n\ninitialize 与 load 的区别\n\nload 是类第一次加载的时候调用,initialize 是类第一次接收到消息的时候调用,每个类只会 initialize 一次(父类的 initialize 方法可能被调用多次)\nload 和 initialize,加载 or 调用的时候,都会先调用父类对应的 load or initialize 方法,再调用自己本身的;\nload 和 initialize 都是系统自动调用的话,都只会调用一次\n调用方式也不一样,load 是根据函数地址直接调用,initialize 是通过objc_msgSend\n调用时刻,load 是 runtime 加载类、分类的时候调用(只会调用一次)\n调用顺序:\nload:\n先调用类的 load\n先编译的类,优先调用 load\n调用子类的 load 之前,会先调用父类的 load\n\n\n在调用分类的 load\n\n\ninitialize:\n先初始化父列\n再初始化子类(可能最终调用的是父类的初始化方法)\n\n\n\n\n\n/*父类*/\n@interface MNPerson : NSObject\n\n@end\n\n@implementation MNPerson\n\n+ (void)initialize{\n NSLog(@\"MNPerson + initialize\");\n}\n\n+ (void)load{\n NSLog(@\"MNPerson + load\");\n}\n\n/*子类1*/\n@interface MNTeacher : MNPerson\n\n@end\n\n@implementation MNTeacher\n\n+ (void)load{\n NSLog(@\"MNTeacher + load\");\n}\n\n/*子类2*/\n@interface MNStudent : MNPerson\n\n@end\n\n@implementation MNStudent\n\n+ (void)load{\n NSLog(@\"MNStudent + load\");\n}\n\n------------------------------------\n问题出现:以下会输出什么结果?\n\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n [MNTeacher load];\n }\n return 0;\n}\n\n复制代码\n答案出现!!!\n2019-02-27 18:17:12.034392+0800 load-Initialize-Demo[92064:2370496] MNPerson + load\n2019-02-27 18:17:12.034555+0800 load-Initialize-Demo[92064:2370496] MNStudent + load\n2019-02-27 18:17:12.034569+0800 load-Initialize-Demo[92064:2370496] MNTeacher + load\n2019-02-27 18:17:12.034627+0800 load-Initialize-Demo[92064:2370496] MNPerson + initialize\n2019-02-27 18:17:12.034645+0800 load-Initialize-Demo[92064:2370496] MNPerson + initialize\n2019-02-27 18:17:12.034658+0800 load-Initialize-Demo[92064:2370496] MNTeacher + load\n复制代码\nexo me again!怎么这么多!连 load 也有了?\n解释:\n\n前三个 load 不多 bb 了吧,程序一运行,runtime 直接将全部的类加载到内存中,肯定最先输出;\n第一个 MNPerson + initialize,因为是MNTeacher的调用,所以会先让父类MNPerson 调用一次initialize,输出第一个 MNPerson + initialize\n第二个 MNPerson + initialize, MNTeacher 自身调用,由于他自己没有实现 initialize, 调用父类的initialize, 输出第二个 MNPerson + initialize\n最后一个MNTeacher + load可能其实有点奇怪,不是说 load只会加载一次吗,而且他还不走 objc_msgSend 吗,怎么还能调用这个方法?\n因为!当类第一次加载进内存的时候,调用的 load 方法是系统调的,这时候不走 objc_msgSend\n但是,你现在是[MNTeacher load]啊,这个就是 objc_msgSend(MNTeacher,@selector(MNTeacher)),这就跑到MNTeacher + load里了!\n只是一般没人手动调用load 函数,但是,还是可以调用的!\n\n\n\nIII. 关联对象 AssociatedObject\nCategory 能否添加成员变量,如果可以,如何添加?\n\n这道题实际上考的就是关联对象\n\n如果是普通类声明生命属性的话\n@interface MNPerson : NSObject\n\n@property (nonatomic, copy)NSString *property;\n\n@end\n复制代码\n上述代码系统内部会自动三件事:\n\n帮我们生成一个生成变量_property\n生成一个 get 方法 - (NSString *)property\n生成一个 set 方法 - (void)setProperty:(NSString *)property\n\n@implementation MNPerson{\n NSString *_property;\n}\n\n- (void)setProperty:(NSString *)property{\n _property = property;\n}\n\n- (NSString *)property{\n return _property;\n}\n\n@end\n复制代码\n分类也是可以添加属性的 - 类结构里面,有个properties 列表,里面就是 存放属性的;\n分类里面,生成属性,只会生成方法的声明,不会生成成员变量 && 方法实现!\n\n\n人工智障翻译:实例变量不能放在分类中\n\n所以:\n不能直接给 category 添加成员变量,但是可以间接实现分类有成员变量的效果 (效果上感觉像成员变量)\n@interface MNPerson (Test)\n\n@property (nonatomic, assign) NSInteger age;\n\n@end\n\n@implementation MNPerson (Test)\n\n@end\n复制代码\n\nperson.age = 10等价于 [person setAge:10],所以证明了,给分类声明属性之后,并没有添加其对应的实现!\n关联对象\nobjc_setAssociatedObject Api\nobjc_setAssociatedObject( , (对象)\n ,(key)\n ,(关联的值)\n )(关联策略)\n复制代码\n关联策略,等价于属性声明\ntypedef OBJC_ENUM(uintptr_t, objc_AssociationPolicy) {\n OBJC_ASSOCIATION_ASSIGN = 0, \n OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, \n OBJC_ASSOCIATION_COPY_NONATOMIC = 3, \n OBJC_ASSOCIATION_RETAIN = 01401, \n OBJC_ASSOCIATION_COPY = 01403 \n};\n复制代码\n\n比如这里的 age 属性,默认声明是@property (nonatomic, assign) NSInteger age;,就是 assign,所以这里选择OBJC_ASSOCIATION_ASSIGN\n取值\nobjc_getAssociatedObject(, )\n复制代码\n面试题 - 以下代码输出的结果是啥\nint main(int argc, const char * argv[]) {\n @autoreleasepool {\n\n MNPerson *person = [[MNPerson alloc]init];\n\n {\n MNPerson *test = [[MNPerson alloc]init];\n objc_setAssociatedObject(person,\n @\"test\",\n test,\n OBJC_ASSOCIATION_ASSIGN);\n }\n\n NSLog(@\"%@\",objc_getAssociatedObject(person, @\"test\"));\n }\n return 0;\n}\n\n复制代码\n\n\n原因,关联的对象是 person,关联的 value 是 test,test 变量 出了他们的{} 作用域之后,就会销毁; 此时通过 key 找到 对应的对象,访问对象内部的 value,因为 test 变量已经销毁了,所以程序崩溃了,这也说明了 => 内部 test 对 value 是强引用!\n\n关联对象的本质\n\n在分类中,因为类的实例变量的布局已经固定,使用 @property 已经无法向固定的布局中添加新的实例变量(这样做可能会覆盖子类的实例变量),所以我们需要使用关联对象以及两个方法来模拟构成属性的三个要素。\n\n引用自 关联对象 AssociatedObject 完全解析\n\n关联对象的原理\n实现关联对象技术的核心对象有\n\nAssociationsManager\nAssociationsHashMap\nObjectAssociationMap\nObjcAssociation\n\nclass AssociationsManager {\n static spinlock_t _lock;//自旋锁,保证线程安全\n static AssociationsHashMap *_map;\n}\n复制代码\nclass AssociationsHashMap : public unordered_map \n复制代码\nclass ObjectAssociationMap : public std::map\n复制代码\nclass ObjcAssociation {\n uintptr_t _policy;\n id _value;\n}\n复制代码\n以关联对象代码为例:\n objc_setAssociatedObject(obj, @selector(key), @\"hello world\", OBJC_ASSOCIATION_COPY_NONATOMIC);\n复制代码\n\n\n关联对象并不是存储在被关联对象本身的内存中的\n关联对象,存储在全局的一个统一的AssociationsManager中\n关联对象其实就是 ObjcAssociation 对象, 关联的 value 就放在 ObjcAssociation 内\n关联对象由 AssociationsManager 管理并在 AssociationsHashMap 存储\n对象的指针以及其对应 ObjectAssociationMap 以键值对的形式存储在 AssociationsHashMap 中\nObjectAssociationMap 则是用于存储关联对象的数据结构\n每一个对象都有一个标记位 has_assoc 指示对象是否含有关联对象\n存储在全局的一个统一的AssociationsManager 内部有一持有一个_lock,他其实是一个 spinlock_t(自旋锁), 用来保证AssociationsHashMap操作的时候,是线程安全的\n\nCategory 相关的问题一般初中级问的比较多,一般最深的就问到关联对象,上面的问题以及解答已经把比较常见的 Category 的问题都罗列解决了一下,如果还有其他常见的 Category 的试题欢迎补充~\n\n参考资料:\n关联对象 AssociatedObject 完全解析\nassociated-objects\n"},"Article/iOS 编译过程的原理和应用.html":{"url":"Article/iOS 编译过程的原理和应用.html","title":"iOS 编译过程的原理和应用","keywords":"","body":"\n 原文地址 https://mp.weixin.qq.com/s/32W4orJWvRkKXwSCzjkxGA\n\n\n\n\n前言\n一般可以将编程语言分为两种,编译语言和直译式语言。\n像 C++,Objective C 都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率较高。\n像 JavaScript,Python 都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为 CPU 可以执行的代码。所以,较编译语言来说,直译式语言效率低一些,但是编写的更灵活,也就是为啥 JS 大法好。\niOS 开发目前的常用语言是:Objective 和 Swift。二者都是编译语言,换句话说都是需要编译才能执行的。二者的编译都是依赖于 Clang + LLVM. 篇幅限制,本文只关注 Objective C,因为原理上大同小异。\n可能会有同学想问,我不懂编译的过程,写代码也没问题啊?这点我是不否定的。但是,充分理解了编译的过程,会对你的开发大有帮助。本文的最后,会以以下几个例子,来讲解如何合理利用 XCode 和编译\n\nattribute\n\nClang 警告处理\n\n预处理\n\n插入编译期脚本\n\n提高项目编译速度\n\n\n对于不想看我啰里八嗦讲一大堆原理的同学,可以直接跳到本文的最后一个章节。\niOS 编译\nObjective C 采用 Clang(swift 采用 swift) 作为编译器前端,LLVM(Low level vritual machine) 作为编译器后端。\n简单的编译过程如图\n\n编译器前端\n\n编译器前端的任务是进行:语法分析,语义分析,生成中间代码 (intermediate representation)。在这个过程中,会进行类型检查,如果发现错误或者警告会标注出来在哪一行。\n\n\n编译器后端\n\n编译器后端会进行机器无关的代码优化,生成机器语言,并且进行机器相关的代码优化。iOS 的编译过程,后端的处理如下\n\n\nLVVM 优化器会进行 BitCode 的生成,链接期优化等等。\n\n\nLLVM 机器码生成器会针对不同的架构,比如 arm64 等生成不同的机器码。\n\n执行一次 XCode build 的流程\n当你在 XCode 中,选择 build 的时候(快捷键 command+B),会执行如下过程\n\n编译信息写入辅助文件,创建编译后的文件架构 (name.app)\n\n处理文件打包信息,例如在 debug 环境下\n\n\nEntitlements:\n{\n \"application-identifier\" = \"app的bundleid\";\n \"aps-environment\" = development;\n}\n\n\n\n\n执行 CocoaPod 编译前脚本\n\n例如对于使用 CocoaPod 的工程会执行 CheckPods Manifest.lock\n\n编译各个. m 文件,使用 CompileC 和 clang 命令。\n\n\nCompileC ClassName.o ClassName.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler\nexport LANG=en_US.US-ASCII\nexport PATH=\"...\"\nclang -x objective-c -arch x86_64 -fmessage-length=0 -fobjc-arc... -Wno-missing-field-initializers ... -DDEBUG=1 ... -isysroot iPhoneSimulator10.1.sdk -fasm-blocks ... -I 上文提到的文件 -F 所需要的Framework -iquote 所需要的Framework ... -c ClassName.c -o ClassName.c\n\n\n通过这个编译的命令,我们可以看到\nclang是实际的编译命令\n-x objective-c 指定了编译的语言\n-arch x86_64制定了编译的架构,类似还有arm7等\n-fobjc-arc 一些列-f开头的,指定了采用arc等信息。这个也就是为什么你可以对单独的一个.m文件采用非ARC编程。\n-Wno-missing-field-initializers 一系列以-W开头的,指的是编译的警告选项,通过这些你可以定制化编译选项\n-DDEBUG=1 一些列-D开头的,指的是预编译宏,通过这些宏可以实现条件编译\n-iPhoneSimulator10.1.sdk 制定了编译采用的iOS SDK版本\n-I 把编译信息写入指定的辅助文件\n-F 链接所需要的Framework\n-c ClassName.c 编译文件\n-o ClassName.o 编译产物\n\n\n\n\n链接需要的 Framework,例如 Foundation.framework,AFNetworking.framework,ALiPay.fframework\n\n编译 xib 文件\n\n拷贝 xib,图片等资源文件到结果目录\n\n编译 ImageAssets\n\n处理 info.plist\n\n执行 CocoaPod 脚本\n\n拷贝 Swift 标准库\n\n创建. app 文件和对其签名\n\n\nIPA 包的内容\n例如,我们通过 iTunes Store 下载微信,然后获得 ipa 安装包,然后实际看看其安装包的内容。\n\n\n右键 ipa,重命名为. zip\n\n双击 zip 文件,解压缩后会得到一个文件夹。所以,ipa 包就是一个普通的压缩包。\n\n\n\n\n右键图中的WeChat,选择显示包内容,然后就能够看到实际的 ipa 包内容了。\n\n二进制文件的内容\n通过 XCode 的 Link Map File,我们可以窥探二进制文件中布局。 在 XCode -> Build Settings -> 搜索 map -> 开启 Write Link Map File\n\n开启后,在编译,我们可以在对应的 Debug/Release 目录下看到对应的 link map 的 text 文件。 默认的目录在\n~/Library/Developer/Xcode/DerivedData/-对应ID/Build/Intermediates/.build/Debug-iphoneos/.build/\n\n\n例如,我的 TargetName 是 EPlusPan4Phone,目录如下\n/Users/huangwenchen/Library/Developer/Xcode/DerivedData/EPlusPan4Phone-eznmxzawtlhpmadnbyhafnpqpizo/Build/Intermediates/EPlusPan4Phone.build/Debug-iphonesimulator/EPlusPan4Phone.build\n\n\n这个映射文件的主要包含以下部分:\nObject files\n这个部分包括的内容\n\n.o 文文件,也就是上文提到的. m 文件编译后的结果。\n\n.a 文件\n\n需要 link 的 framework\n\n*\n\n\n\n! Arch: x86_64 #Object files: [0] linker synthesized [1] /EPlusPan4Phone.build/EPlusPan4Phone.app.xcent [2]/EPlusPan4Phone.build/Objects-normal/x86_64/ULWBigResponseButton.o … [1175]/UMSocial_Sdk_4.4/libUMSocial_Sdk_4.4.a(UMSocialJob.o) [1188]/iPhoneSimulator10.1.sdk/System/Library/Frameworks//Foundation.framework/Foundation\n\n这个区域的存储内容比较简单:前面是文件的编号,后面是文件的路径。文件的编号在后续会用到\nSections\n这个区域提供了各个段(Segment)和节(Section)在可执行文件中的位置和大小。这个区域完整的描述克可执行文件中的全部内容。\n其中,段分为两种\n\n__TEXT 代码段\n\n__DATA 数据段\n\n\n例如,之前写的一个 App,Sections 区域如下,可以看到,代码段的\ntext 节的地址是 0x1000021B0,大小是 0x0077EBC3,而二者相加的下一个位置正好是stubs 的位置 0x100780D74。\n# Sections:\n# 位置 大小 段 节\n# Address Size Segment Section\n0x1000021B0 0x0077EBC3 __TEXT __text //代码\n0x100780D74 0x00000FD8 __TEXT __stubs\n0x100781D4C 0x00001A50 __TEXT __stub_helper\n0x1007837A0 0x0001AD78 __TEXT __const //常量\n0x10079E518 0x00041EF7 __TEXT __objc_methname //OC 方法名\n0x1007E040F 0x00006E34 __TEXT __objc_classname //OC 类名\n0x1007E7243 0x00010498 __TEXT __objc_methtype //OC 方法类型\n0x1007F76DC 0x0000E760 __TEXT __gcc_except_tab \n0x100805E40 0x00071693 __TEXT __cstring //字符串\n0x1008774D4 0x00004A9A __TEXT __ustring \n0x10087BF6E 0x00000149 __TEXT __entitlements \n0x10087C0B8 0x0000D56C __TEXT __unwind_info \n0x100889628 0x000129C0 __TEXT __eh_frame\n0x10089C000 0x00000010 __DATA __nl_symbol_ptr\n0x10089C010 0x000012C8 __DATA __got\n0x10089D2D8 0x00001520 __DATA __la_symbol_ptr\n0x10089E7F8 0x00000038 __DATA __mod_init_func\n0x10089E840 0x0003E140 __DATA __const //常量\n0x1008DC980 0x0002D840 __DATA __cfstring\n0x10090A1C0 0x000022D8 __DATA __objc_classlist // OC 方法列表\n0x10090C498 0x00000010 __DATA __objc_nlclslist \n0x10090C4A8 0x00000218 __DATA __objc_catlist\n0x10090C6C0 0x00000008 __DATA __objc_nlcatlist\n0x10090C6C8 0x00000510 __DATA __objc_protolist // OC协议列表\n0x10090CBD8 0x00000008 __DATA __objc_imageinfo\n0x10090CBE0 0x00129280 __DATA __objc_const // OC 常量\n0x100A35E60 0x00010908 __DATA __objc_selrefs\n0x100A46768 0x00000038 __DATA __objc_protorefs \n0x100A467A0 0x000020E8 __DATA __objc_classrefs \n0x100A48888 0x000019C0 __DATA __objc_superrefs // OC 父类引用\n0x100A4A248 0x0000A500 __DATA __objc_ivar // OC iar\n0x100A54748 0x00015CC0 __DATA __objc_data\n0x100A6A420 0x00007A30 __DATA __data\n0x100A71E60 0x0005AF70 __DATA __bss\n0x100ACCDE0 0x00053A4C __DATA __common\n\n\n\nSymbols\nSection 部分将二进制文件进行了一级划分。而,Symbols 对 Section 中的各个段进行了二级划分, 例如,对于TEXT text, 表示代码段中的代码内容。\n0x1000021B0 0x0077EBC3 __TEXT __text //代码\n\n\n而对应的 Symbols,起始地址也是 0x1000021B0 。其中,文件编号和上文的编号对应\n[2]/EPlusPan4Phone.build/Objects-normal/x86_64/ULWBigResponseButton.o\n\n\n具体内容如下\n# Symbols:\n 地址 大小 文件编号 方法名\n# Address Size File Name\n0x1000021B0 0x00000109 [ 2] -[ULWBigResponseButton pointInside:withEvent:]\n0x1000022C0 0x00000080 [ 3] -[ULWCategoryController liveAPI]\n0x100002340 0x00000080 [ 3] -[ULWCategoryController categories]\n....\n\n\n\n到这里,我们知道 OC 的方法是如何存储的,我们再来看看 ivar 是如何存储的。 首先找到数据栈中DATA objc_ivar\n0x100A4A248 0x0000A500 __DATA __objc_ivar\n\n\n然后,搜索这个地址 0x100A4A248,就能找到 ivar 的存储区域。\n0x100A4A248 0x00000008 [ 3] _OBJC_IVAR_$_ULWCategoryController._liveAPI\n\n\n值得一提的是,对于 String,会显式的存储到数据段中,例如,\n0x1008065C2 0x00000029 [ 11] literal string: http://sns.whalecloud.com/sina2/callback\n\n\n所以,若果你的加密 Key 以明文的形式写在文件里,是一件很危险的事情。\ndSYM 文件\n我们在每次编译过后,都会生成一个 dsym 文件。dsym 文件中,存储了 16 进制的函数地址映射。\n在 App 实际执行的二进制文件中,是通过地址来调用方法的。在 App crash 的时候,第三方工具(Fabric, 友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含 crash 地址的调用信息。然后,通过 dSYM 文件,我们就可以由地址映射到具体的函数位置。\nXCode 中,选择 Window -> Organizer 可以看到我们生成的 archier 文件\n\n然后,\n\n右键 -> 在 finder 中显示。\n\n右键 -> 查看包内容。\n\n\n关于如何用 dsym 文件来分析崩溃位置,可以查看我之前的一篇博客。\n\niOS 如何调试第三方统计到的崩溃报告 [1]\n\n那些你想到和想不到的应用场景\nattribute\n或多或少,你都会在第三方库或者 iOS 的头文件中,见到过 attribute。 比如\n__attribute__ ((warn_unused_result)) //如果没有使用返回值,编译的时候给出警告\n\n\n\n__attribtue__ 是一个高级的的编译器指令,它允许开发者指定更更多的编译检查和一些高级的编译期优化。\n\n分为三种:\n\n函数属性 (Function Attribute)\n类型属性 (Variable Attribute)\n变量属性 (Type Attribute)\n\n语法结构\n__attribute__语法格式为:attribute((attribute-list)) 放在声明分号 “;” 前面。\n比如,在三方库中最常见的,声明一个属性或者方法在当前版本弃用了\n@property (strong,nonatomic)CLASSNAME * property __deprecated;\n\n这样的好处是:给开发者一个过渡的版本,让开发者知道这个属性被弃用了,应当使用最新的 API,但是被__deprecated 的属性仍然可以正常使用。如果直接弃用,会导致开发者在更新 Pod 的时候,代码无法运行了。\nattribtue 的使用场景很多,本文只列举 iOS 开发中常用的几个:\n//弃用API,用作API更新\n#define __deprecated __attribute__((deprecated)) \n\n//带描述信息的弃用\n#define __deprecated_msg(_msg) __attribute__((deprecated(_msg)))\n\n//遇到__unavailable的变量/方法,编译器直接抛出Error\n#define __unavailable __attribute__((unavailable))\n\n//告诉编译器,即使这个变量/方法 没被使用,也不要抛出警告\n#define __unused __attribute__((unused))\n\n//和__unused相反\n#define __used __attribute__((used))\n\n//如果不使用方法的返回值,进行警告\n#define __result_use_check __attribute__((__warn_unused_result__))\n\n//OC方法在Swift中不可用\n#define __swift_unavailable(_msg) __attribute__((__availability__(swift, unavailable, message=_msg)))\n\n\nClang 警告处理\n你一定还见过如下代码:\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wundeclared-selector\"\n///代码\n#pragma clang diagnostic pop\n\n\n\n这段代码的作用是\n\n对当前编译环境进行压栈\n\n忽略 - Wundeclared-selector(未声明的)Selector 警告\n\n编译代码\n\n对编译环境进行出栈\n\n\n通过 clang diagnostic push/pop, 你可以灵活的控制代码块的编译选项。\n我在之前的一篇文章里,详细的介绍了 XCode 的警告相关内容。本文篇幅限制,就不详细讲解了。\n\niOS 合理利用 Clang 警告来提高代码质量 [2]\n\n在这个链接,你可以找到所有的 Clang warnings 警告\n\nfuckingclangwarnings\n\n预处理\n所谓预处理,就是在编译之前的处理。预处理能够让你定义编译器变量,实现条件编译。 比如,这样的代码很常见\n#ifdef DEBUG\n//...\n#else\n//...\n#endif\n\n\n\n同样,我们同样也可以定义其他预处理变量, 在 XCode - 选中 Target-build settings 中,搜索 proprecess。然后点击图中蓝色的加号,可以分别为 debug 和 release 两种模式设置预处理宏。 比如我们加上:TestServer,表示在这个宏中的代码运行在测试服务器\n\n然后,配合多个 Target(右键 Target,选择 Duplicate),单独一个 Target 负责测试服务器。这样我们就不用每次切换测试服务器都要修改代码了。\n#ifdef TESTMODE\n//测试服务器相关的代码\n#else\n//生产服务器相关代码\n#endif\n\n\n\n插入脚本\n通常,如果你使用 CocoaPod 来管理三方库,那么你的 Build Phase 是这样子的:\n\n其中:[CP] 开头的,就是 CocoaPod 插入的脚本。\n\nCheck Pods Manifest.lock,用来检查 cocoapod 管理的三方库是否需要更新\n\nEmbed Pods Framework,运行脚本来链接三方库的静态 / 动态库\n\nCopy Pods Resources,运行脚本来拷贝三方库的资源文件\n\n\n而这些配置信息都存储在这个文件 (.xcodeprog) 里\n\n到这里,CocoaPod 的原理也就大致搞清楚了,通过修改 xcodeproject,然后配置编译期脚本,来保证三方库能够正确的编译连接。\n同样,我们也可以插入自己的脚本,来做一些额外的事情。比如,每次进行 archive 的时候,我们都必须手动调整 target 的 build 版本,如果一不小心,就会忘记。这个过程,我们可以通过插入脚本自动化。\nbuildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\")\nbuildNumber=$(($buildNumber + 1))\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\"\n\n\n\n这段脚本其实很简单,读取当前 pist 的 build 版本号, 然后对其加一,重新写入。\n使用起来也很简单:\n\nXcode - 选中 Target - 选中 build phase\n\n选择添加 Run Script Phase\n\n\n\n\n然后把这段脚本拷贝进去,并且勾选 Run Script Only When installing,保证只有我们在安装到设备上的时候,才会执行这段脚本。重命名脚本的名字为 Auto Increase build number\n\n然后,拖动这个脚本的到 Link Binary With Libraries 下面\n\n\n\n脚本编译打包\n脚本化编译打包对于 CI(持续集成)来说,十分有用。iOS 开发中,编译打包必备的两个命令是:\n//编译成.app\nxcodebuild -workspace $projectName.xcworkspace -scheme $projectName -configuration $buildConfig clean build SYMROOT=$buildAppToDir\n//打包\nxcrun -sdk iphoneos PackageApplication -v $appDir/$projectName.app -o $appDir/$ipaName.ipa\n\n通过info命令,可以查看到详细的文档\ninfo xcodebuild\n\n\n\n完整的脚本 [3],使用的时候,需要拷贝到工程的根目录\n提高项目编译速度\n通常,当项目很大,源代码和三方库引入很多的时候,我们会发现编译的速度很慢。在了解了 XCode 的编译过程后,我们可以从以下角度来优化编译速度:\n查看编译时间\n我们需要一个途径,能够看到编译的时间,这样才能有个对比,知道我们的优化究竟有没有效果。 对于 XCode 8,关闭 XCode,终端输入以下指令\n$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES\n\n\n然后,重启 XCode,然后编译,你会在这里看到编译时间。\n\n代码层面的优化\nforward declaration\n所谓 forward declaration,就是 @class CLASSNAME,而不是 #import CLASSNAME.h。这样,编译器能大大提高 #import 的替换速度。\n对常用的工具类进行打包(Framework/.a)\n打包成 Framework 或者静态库,这样编译的时候这部分代码就不需要重新编译了。\n常用头文件放到预编译文件里\nXCode 的 pch 文件是预编译文件,这里的内容在执行 XCode build 之前就已经被预编译,并且引入到每一个. m 文件里了。\n编译器选项优化\nDebug 模式下,不生成 dsym 文件\n上文提到了,dysm 文件里存储了调试信息,在 Debug 模式下,我们可以借助 XCode 和 LLDB 进行调试。所以,不需要生成额外的 dsym 文件来降低编译速度。\nDebug 开启 Build Active Architecture Only\n在 XCode -> Build Settings -> Build Active Architecture Only 改为 YES。这样做,可以只编译当前的版本,比如 arm7/arm64 等等,记得只开启 Debug 模式。这个选项在高版本的 XCode 中自动开启了。\nDebug 模式下,关闭编译器优化\n编译器优化\n\n参考\n[1]http://blog.csdn.net/hello_hwc/article/details/50036323\n[2]http://blog.csdn.net/Hello_Hwc/article/details/46425503\n[3]https://github.com/LeoMobileDeveloper/Blogs/blob/master/DemoProjects/Scripts/autoIPA.sh\n"},"Article/Objective-C Runtime 机制简析.html":{"url":"Article/Objective-C Runtime 机制简析.html","title":"Objective-C Runtime 机制简析","keywords":"","body":"\n 原文地址 https://www.jianshu.com/p/0a4e5b944d7d\n\nObjective-C 在 C 的基础上添加了面向对象的特性,同时它是一种动态编程语言,将静态语言在编译和链接时需要做的一些事情给延后到运行时执行。例如方法的调用,只有在程序执行的时候,才能具体定位到哪个类的哪个方法。这就需要一个运行时库,就是 Runtime。\n1. 类的结构和定义\n在 Objective-C 中,类实际上是一个 objc_class 结构体,其定义如下:\ntypedef struct objc_class *Class;\nstruct objc_class {\n Class isa OBJC_ISA_AVAILABILITY;\n\n#if !__OBJC2__\n Class super_class OBJC2_UNAVAILABLE;\n const char *name OBJC2_UNAVAILABLE;\n long version OBJC2_UNAVAILABLE;\n long info OBJC2_UNAVAILABLE;\n long instance_size OBJC2_UNAVAILABLE;\n struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;\n struct objc_method_list **methodLists OBJC2_UNAVAILABLE;\n struct objc_cache *cache OBJC2_UNAVAILABLE;\n struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;\n#endif\n\n} OBJC2_UNAVAILABLE;\n\nstruct objc_object {\n Class isa OBJC_ISA_AVAILABILITY;\n};\n\n可以看到,在 objc2.0 中,除了 isa 指针外,objc_class 的其他成员变量皆已被弃用。\n其中 isa 是 objc_class 结构体的指针,它指向当前类的 meta class。\n\nmeta class 与 class\n在 objc 中,class 存储类的实例方法(-),meta class 存储类的类方法(+),class 的 isa 指针指向 meta class。下文会对此详细介绍。\n\nobjc_object 结构体就是 objc 中的对象,它仅包含一个 isa 指针,指向当前对象所属的类。 我们常用的 id 实质上就是一个 objc_object 类型的指针。\n\n如图 1.1 所示,一个对象(Instance of Subclass)的 isa 指针指向它所属的类 Subclass(class),Subclass(class)的 isa 指针指向 Subclass(meta),Subclass(meta)的 isa 指针指向 Root class(meta)。Root class(meta)的 isa 指针指向本身。\n同时,Root class(meta)的父类是 Root class(class),即 NSObject,NSObject 的父类为 nil。\n2. 方法的调用\n在这里需要先了解几个概念\nSEL\nSEL 是 objc_selector 类型指针,是根据特定规则生成的方法的唯一标识。需要注意的是,只要方法名相同,生成的 SEL 就相同,与这个方法属于哪个类没有关系。\ntypedef struct objc_selector *SEL;\nIMP\n如果说,SEL 是方法名,那么 IMP 就是方法的实现。IMP 指针定义了一个方法的入口,指向了实现方法的代码块的内存地址。\ntypedef id (*IMP)(id, SEL, ...);\nobjc_method\n在 objc 中,方法实质上是一个 objc_method 指针。其中,method_name 相当于 objc_method 的 hash 值,runtime 通过 method_name 找到相应的方法入口(method_imp),从而执行方法的代码块。\nstruct objc_method {\n SEL method_name OBJC2_UNAVAILABLE;\n char *method_types OBJC2_UNAVAILABLE;\n IMP method_imp OBJC2_UNAVAILABLE;\n} OBJC2_UNAVAILABLE;\n调用一个方法时具体做了什么?\n在 Objective-C 中,方法的调用采用如下方式:\n[object methodWithArg:arg];\n在编译期间,以上代码会被转化为\nobjc_msgSend(object, methodWithArg, arg)\n可以把它看作是发送消息的过,其中 object 为消息的接收体,它可能是一个对象,也可能是一个类。若为对象,则是实例方法(- 方法);反之,则是类方法(+ 方法)。mehodWithArg、arg 是具体的消息内容。\nobject 接收到消息之后,若是实例方法,则会从其所属的类 Subclass(class) 的 methodLists 去寻找 methodWithArg: 方法。若未找着,则到其父类 Superclass(class) 的 methodLists 中寻找。以此类推,直到根类 NSObject,若仍未找着,就 crash。\n同理,若是类方法,则从对象所属类的 meta class 开始寻找。\n3. 在 Objective-C 2.0 中的变化\n前面提到过在 objc2.0 中,objc_class 只剩下一个 isa 指针。由于 Xcode 对 API 进行了一定的封装,类的信息并未全部对开发者开放。我们不妨通过阅读 Objective-C 2.0 的源码去分析,可以通过 官网浏览,或者从 github 上下载源码。\n从 objc-runtime-new.h 中可以看到 objc_class 的定义(只截取关键代码,下文同)\nstruct objc_object {\n isa_t isa;\n};\nstruct objc_class : objc_object {\n // Class ISA;\n Class superclass;\n cache_t cache; // formerly cache pointer and vtable\n class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags\n\n class_rw_t *data() { \n return bits.data();\n }\n};\n其中,superclass 指向父类,cache 缓存指针、方法入口等,用于提高效率。bits 用于存储类名、类版本号、方法列表、协议列表等信息,替代了 Objective-C1.0 中 methodLists、protocols 等成员变量。\nclass_data_bits_t 结构体\nclass_data_bits_t 结构体中只有一个 64 位的指针 bits,它相当于 class_rw_t 指针加上 rr/alloc 等标志位。其中 class_rw_t 指针存在于 4~47 位(从 1 开始计)。\n\n#define FAST_IS_SWIFT (1ULis_swift 标记位标示是否为 swift 的类。通过进行位运算可以得到一个 class_rw_t 类型指针。\nclass_rw_t 结构体的定义如下\nstruct class_rw_t {\n uint32_t flags;\n uint32_t version;\n\n const class_ro_t *ro;\n\n method_array_t methods;\n property_array_t properties;\n protocol_array_t protocols;\n\n Class firstSubclass;\n};\n其中 methods 存储方法列表、properties 存储属性列表、protocols 存储协议列表。注意到这里有一个 class_ro_t 类型指针,我们会在下文详细介绍。\ndyld 加载镜像\ndyld 是 objc 的动态链接库,在程序运行时,会将镜像加载进内存。\n\n镜像\n工程的编译产物,包括一些动态链接库、Foundation 等等,是一些二进制文件。\n\n在程序初始化方法_objc_init 中注册了两个回调\n dyld_register_image_state_change_handler(dyld_image_state_bound,1/*batch*/, &map_2_images);\n dyld_register_image_state_change_handler(dyld_image_state_dependents_initialized, 0/*not batch*/, &load_images);\n其中, map2_images 方法的注释为:Process the given images which are being mapped in by dyld,即处理由 dyld 映射的给定镜像。它的调用如下:\n_map_2_images → map_images_nolock → _read_images → realizeAllClasses\nrealizeAllClasses 会完成对镜像中所有类的加载和预处理,它最终会调用 realizeClass 来处理每一个类,而 realizeClass 又通过调用 methodizeClass 来对类结构体的 methods 列表赋值。\n可以通过添加符号断点,来直观的查看这几个方法的调用关系,如图 3.2。\n\n+load 方法\n+load 方法会在 main 方法之前被调用,所有使用到的类的 load 方法都会被调用。先调用父类的 + load 方法,再调用子类的 + load 方法;先调用主类的 + load 方法,再调用分类的 + load 方法。\n\n图 3.3 是 + load 方法的调用栈。load_images 方法是每个镜像加载完毕的回调。\nconst char *\nload_images(enum dyld_image_states state, uint32_t infoCount,\n const struct dyld_image_info infoList[])\n{\n bool found;\n\n // Return without taking locks if there are no +load methods here.\n found = false;\n for (uint32_t i = 0; i load_Images 会判断镜像是否实现了 + load 方法,并且调用 load_images_nolock 方法找到所有 + load 方法,之后通过 call_load_methods 调用所有的 + load 方法。\nclass_ro_t\nclass_ro_t 与 class_rw_t 的最大区别在于一个是只读的,一个是可读写的,实质上 ro 就是 readonly 的简写,rw 是 readwrite 的简写。\nstruct class_ro_t {\n const char * name;\n method_list_t * baseMethodList;\n protocol_list_t * baseProtocols;\n const ivar_list_t * ivars;\n};\n在编译之后,class_ro_t 的 baseMethodList 就已经确定。当镜像加载的时候,methodizeClass 方法会将 baseMethodList 添加到 class_rw_t 的 methods 列表中,之后会遍历 category_list,并将 category 的方法也添加到 methods 列表中。\n这里的 category 指的是分类,基于此,category 能扩充一个类的方法。这是开发时经常需要使用到。\nclass_ro_t 在内存中是不可变的。在运行期间,动态给类添加方法,实质上是更新 class_rw_t 的 methods 列表。\nbaseProtocols 与 baseMethodList 类似。\nobjc_object、objc_class、class_rw_t、class_ro_t 的关系如图 3.4。\n\n类的理解与方法的调用\n\n对象方法:前面提过,调用对象方法,相当于给对象发送消息, 例如 [obj methodWithArg: arg] 。 当 obj_object 接收到消息后,通过其 isa 指针找到对应的 objc_class,objc_class 又通过其 data() 方法,查询 class_rw_t 的 methods 列表。若有,则返回;否则,到其父类寻找。以此类推,直到根类,若在根类中仍没有该方法,则 crash。\n\n类方法: 在 objc 中,类本身也是一个对象。objc_class 继承自 objc_object,有一个 isa 指针,指向其所属的类,即 meta class。可以这样理解,类是 meta class 的对象。所以,当调用类方法是,例如 [classObj methodWithArg: arg],classObj 也会通过其 isa 指针到其所属的类(meta class)中寻找。这也就是为什么说,图 1.1 里 class 存储对象方法,meta class 存储类方法。\n\nmeta class 的 isa 指针:meta class 本身也是一个对象,它的 isa 指针指向的也是其所属的类。子 meta class 的 isa 指针指向 NSObjct 的 meta class。 NSObjct 的 meta class 的 isa 指针指向自身。当然,由于苹果进行了封装,在开发中基本不可能直接去使用 meta class。\n\n\n对象的成员变量寻址\n前面提过,在 objc_object 中只有一个 isa 指针。实际上当我们调用 +alloc 方法来初始化一个对象时,也仅仅在内存中生成了一个 objc_object 结构体,并根据其 instanceSize 来分配空间,将其 isa 指针指向所属的类。\n类的成员变量 ivar_t 存储在 class_ro_t 中的 ivar_list_t * ivars 中,ivar_t 的定义如下:\nstruct ivar_t {\n int32_t *offset;\n const char *name;\n const char *type;\n uint32_t size;\n}\n\n其中 offset 是成员变量相对于对象内存地址的偏移量,正是通过它来完成变量寻址。\n当我们使用对象的成员变量时,如 myObject.var ,编译器会将其转化为 object_getInstanceVariable(myObject, 'var', **value) 找到其 ivar_t 结构体 ivar,然后调用 object_getIvar(myObject, ivar) 来获取成员变量的内存地址。其计算公式如下:\nid *location = (id *)((char *)obj + ivar_offset);\n\n基于此,虽然多个对象的 isa 指针指向同一个 objc_class,但由于对象的内存地址不一样,所以它们的实例变量存储位置也不一样,从而实现对象与类之间的多对一关系。\n"},"Article/OC 消息机制和 super 关键字.html":{"url":"Article/OC 消息机制和 super 关键字.html","title":"OC 消息机制和 super 关键字","keywords":"","body":"\n 原文地址 https://juejin.im/post/5c87a218f265da2dd868cfcd\n\n原文链接 OC 消息机制和 super 关键字\n消息发送\n在 Objective-C 里面调用一个方法[object method],运行时会将它翻译成objc_msgSend(id self, SEL op, ...)的形式。\nobjc_msgSend\nobjc_msgSend的实现在objc-msg-arm.s、objc-msg-arm64.s等文件中,是通过汇编实现的。这里主要看在arm64即objc-msg-arm64.s的实现。由于汇编不熟,里面的实现只能连看带猜。\n ENTRY _objc_msgSend\n UNWIND _objc_msgSend, NoFrame\n MESSENGER_START\n\n cmp x0, #0 // nil check and tagged pointer check\n b.le LNilOrTagged // (MSB tagged pointer looks negative)\n ldr x13, [x0] // x13 = isa\n and x16, x13, #ISA_MASK // x16 = class \nLGetIsaDone:\n CacheLookup NORMAL // calls imp or objc_msgSend_uncached\n\nLNilOrTagged:\n /* nil check,如果为空就是调用LReturnZero,LReturnZero里调用MESSENGER_END_NIL*/\n b.eq LReturnZero // nil check\n\n // tagged\n mov x10, #0xf000000000000000\n cmp x0, x10\n b.hs LExtTag\n adrp x10, _objc_debug_taggedpointer_classes@PAGE\n add x10, x10, _objc_debug_taggedpointer_classes@PAGEOFF\n ubfx x11, x0, #60, #4\n ldr x16, [x10, x11, LSL #3]\n b LGetIsaDone\n\nLExtTag:\n // ext tagged\n adrp x10, _objc_debug_taggedpointer_ext_classes@PAGE\n add x10, x10, _objc_debug_taggedpointer_ext_classes@PAGEOFF\n ubfx x11, x0, #52, #8\n ldr x16, [x10, x11, LSL #3]\n b LGetIsaDone\n\nLReturnZero:\n // x0 is already zero\n mov x1, #0\n movi d0, #0\n movi d1, #0\n movi d2, #0\n movi d3, #0\n MESSENGER_END_NIL\n ret\n\n END_ENTRY _objc_msgSend\n复制代码\n上面的流程可能是这样的:\n \n从CacheLookup的注释有两处:\n\ncalls imp or objc_msgSend_uncached\nLocate the implementation for a selector in a class method cache.\n\n即使看不懂汇编代码,但是从上面的注释我们可以猜测,消息机制会先从缓存中去查找。\n__objc_msgSend_uncached\n通过方法名我们可以知道,没有缓存的时候应该会执行__objc_msgSend_uncached。\n STATIC_ENTRY __objc_msgSend_uncached\n UNWIND __objc_msgSend_uncached, FrameWithNoSaves\n\n // THIS IS NOT A CALLABLE C FUNCTION\n // Out-of-band x16 is the class to search\n\n MethodTableLookup\n br x17\n\n END_ENTRY __objc_msgSend_uncached\n复制代码\n这里的MethodTableLookup里涉及到objc-runtime-new.mm文件中的_class_lookupMethodAndLoadCache3。该函数会调用lookUpImpOrForward函数。\nlookUpImpOrForward\nlookUpImpOrForward会返回一个imp,它的函数实现比较长,但是注释写的非常清楚。它的实现主要由以下几步(这里直接从缓存获取开始):\n\n通过cache_getImp从缓存中获取方法,有则返回,否则进入第 2 步;\n通过getMethodNoSuper_nolock从类的方法列表中获取,有加入缓存中并返回,否则进入第 3 步;\n通过父类的缓存和父类的方法列表中寻找是否有对应的 imp,此时会进入一个for循环,沿着类的父类一直往上找,直接找到 NSObject 为止。如果找到返回,否则进入第 4 步;\n进入方法决议(method resolve)的过程即调用_class_resolveMethod,如果失败,进入第 5 步;\n在缓存、当前类、父类以及方法决议都没有找到的情况下,Objective-C 还为我们提供了最后一次翻身的机会,调用_objc_msgForward_impcache进行方法转发,如果找到便加入缓存;如果没有就 crash。\n\n上述过程中有几个比较重要的函数:\n_class_resolveMethod\nvoid _class_resolveMethod(Class cls, SEL sel, id inst) {\n if (! cls->isMetaClass()) {\n // try [cls resolveInstanceMethod:sel]\n _class_resolveInstanceMethod(cls, sel, inst);\n } \n else {\n // try [nonMetaClass resolveClassMethod:sel]\n // and [cls resolveInstanceMethod:sel]\n _class_resolveClassMethod(cls, sel, inst);\n if (!lookUpImpOrNil(cls, sel, inst, \n NO/*initialize*/, YES/*cache*/, NO/*resolver*/)) \n {\n _class_resolveInstanceMethod(cls, sel, inst);\n }\n }\n}\n复制代码\n上述函数会根据当前传入的类的是不是一个元类,在_class_resolveInstanceMethod和_class_resolveClassMethod中选择一个进行调用。注释也说明了这两个方法的作用就是判断当前类是否实现了 resolveInstanceMethod:或者resolveClassMethod:方法,然后用objc_msgSend执行上述方法。\n_class_resolveClassMethod\n_class_resolveClassMethod和_class_resolveInstanceMethod实现类似,这里就只看_class_resolveClassMethod的实现。\nstatic void _class_resolveClassMethod(Class cls, SEL sel, id inst) {\n assert(cls->isMetaClass());\n\n if (! lookUpImpOrNil(cls, SEL_resolveClassMethod, inst, \n NO/*initialize*/, YES/*cache*/, NO/*resolver*/)) {\n //没有找到resolveClassMethod方法,直接返回。\n return;\n }\n\n BOOL (*msg)(Class, SEL, SEL) = (typeof(msg))objc_msgSend;\n bool resolved = msg(_class_getNonMetaClass(cls, inst), \n SEL_resolveClassMethod, sel);\n\n // 缓存结果\n IMP imp = lookUpImpOrNil(cls, sel, inst, \n NO/*initialize*/, YES/*cache*/, NO/*resolver*/);\n // 以下代码省略不影响阅读 \n}\n复制代码\n_objc_msgForward_impcache\n STATIC_ENTRY __objc_msgForward_impcache\n\n MESSENGER_START\n nop\n MESSENGER_END_SLOW\n\n // No stret specialization.\n b __objc_msgForward\n\n END_ENTRY __objc_msgForward_impcache\n\n ENTRY __objc_msgForward\n\n adrp x17, __objc_forward_handler@PAGE\n ldr x17, [x17, __objc_forward_handler@PAGEOFF]\n br x17\n\n END_ENTRY __objc_msgForward\n复制代码\n_objc_msgForward_impcache用来进行消息转发,但是其真正的核心是调用_objc_msgForward。\n消息转发\n关于_objc_msgForward在objc中并没有其相关实现,只能看到_objc_forward_handler。其实_objc_msgForward的实现是在CFRuntime.c中的,但是开源出来的CFRuntime.c并没有相关实现,但是也不影响我们对真理的追求。\n我们做几个实验来验证消息转发。\n消息重定向测试\n// .h文件\n@interface AObject : NSObject\n\n- (void)sendMessage;\n\n@end\n// .m文件\n@implementation AObject\n\n/** 验证消息重定向 */\n- (id)forwardingTargetForSelector:(SEL)aSelector {\n if (aSelector == @selector(sendMessage)) {\n return [BObject new];\n }\n\n return [super forwardingTargetForSelector:aSelector];\n}\n\n@end\n\n// .h文件\n@interface BObject : NSObject\n\n- (void)sendMessage;\n\n@end\n\n// .m文件\n@implementation BObject\n\n- (void)sendMessage {\n NSLog(@\"%@ send message\", self.class);\n}\n\n@end\n\n// 调用\nAObject *a = [AObject new];\n[a sendMessage];\n复制代码\n运行结果:\n2019-03-12 10:18:54.252949+0800 iOSCodeLearning[18165:5967575] BObject send message\n复制代码\n在forwardingTargetForSelector:处打个断点,查看一下调用栈:\n\n_CF_forwarding_prep_0和___forwarding___这两个方法会先被调用了,之后调用了forwardingTargetForSelector:。\n方法签名测试\n// .h文件\n@interface AObject : NSObject\n\n- (void)sendMessage;\n\n@end\n// .m文件\n@implementation AObject\n\n/** 消息重定向 */\n- (id)forwardingTargetForSelector:(SEL)aSelector {\n return nil;\n}\n\n/** 方法签名测试 */\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {\n if (aSelector == @selector(sendMessage)) {\n return [BObject instanceMethodSignatureForSelector:@selector(sendMessage)];\n }\n\n return [super methodSignatureForSelector:aSelector];\n}\n\n- (void)forwardInvocation:(NSInvocation *)anInvocation {\n SEL selector = [anInvocation selector];\n if (selector == @selector(sendMessage)) {\n [anInvocation invokeWithTarget:[BObject new]];\n } else {\n [super forwardInvocation:anInvocation];\n }\n}\n\n@end\n\n// .h文件\n@interface BObject : NSObject\n\n- (void)sendMessage;\n\n@end\n\n// .m文件\n@implementation BObject\n\n- (void)sendMessage {\n NSLog(@\"%@ send message\", self.class);\n}\n\n@end\n\n// 调用\nAObject *a = [AObject new];\n[a sendMessage];\n复制代码\n\n代码执行结果和消息重定向测试的运行结果一致。_CF_forwarding_prep_0和___forwarding___这两个方法又再次被调用了,之后代码会先执行forwardingTargetForSelector:(消息重定向),消息重定向如果失败后调用methodSignatureForSelector:和forwardInvocation:方法签名。所以说___forwarding___方法才是消息转发的真正实现。\ncrash 测试\n// .h文件\n@interface AObject : NSObject\n\n- (void)sendMessage;\n\n@end\n// .m文件\n@implementation AObject\n\n- (id)forwardingTargetForSelector:(SEL)aSelector {\n return nil;\n}\n\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {\n return [super methodSignatureForSelector:aSelector];\n}\n\n- (void)forwardInvocation:(NSInvocation *)anInvocation {\n}\n\n/** 验证Crash */\n- (void)doesNotRecognizeSelector:(SEL)aSelector {\n if (aSelector == @selector(sendMessage)) {\n NSLog(@\"%@ doesNotRecognizeSelector\", self.class);\n }\n}\n\n@end\n\n// .h文件\n@interface BObject : NSObject\n\n- (void)sendMessage;\n\n@end\n\n// .m文件\n@implementation BObject\n\n- (void)sendMessage {\n NSLog(@\"%@ send message\", self.class);\n}\n\n@end\n\n// 调用\nAObject *a = [AObject new];\n[a sendMessage];\n复制代码\n代码运行结果肯定是 crash,结合上面的代码我们知道消息转发会调用___forwarding___这个内部方法。___forwarding___方法调用顺序是forwardingTargetForSelector:->methodSignatureForSelector:->doesNotRecognizeSelector:\n我们用一张图表示整个消息发送的过程:\n\nsuper 关键字\n我们先查看一下执行[super init]的时候,调用了那些方法\n\nobjc_msgSendSuper2的声明在objc-abi.h中\n// objc_msgSendSuper2() takes the current search class, not its superclass.\nOBJC_EXPORT id _Nullable\nobjc_msgSendSuper2(struct objc_super * _Nonnull super, SEL _Nonnull op, ...)\n OBJC_AVAILABLE(10.6, 2.0, 9.0, 1.0, 2.0);\n复制代码\nobjc_super的定义如下:\nstruct objc_super {\n /// Specifies an instance of a class.\n __unsafe_unretained _Nonnull id receiver;\n\n /// Specifies the particular superclass of the instance to message. \n#if !defined(__cplusplus) && !__OBJC2__\n /* For compatibility with old objc-runtime.h header */\n __unsafe_unretained _Nonnull Class class;\n#else\n __unsafe_unretained _Nonnull Class super_class;\n#endif\n /* super_class is the first class to search */\n};\n复制代码\n从上面的定义我们可以知道receiver即消息的实际接收者, super_class为指向当前类的父类。\n所以该函数实际的操作是:从objc_super结构体指向的super_class开始查找,直到会找到 NSObject 的方法为止。找到后以receiver去调用。当然整个查找的过程还是和消息发送的流程一样。\n所以我们能理解为什么下面这段代码执行的结果都是AObject了吧。虽然使用[super class],但是真正执行方法的对象还是AObject。\n// 代码\n@implementation AObject\n\n- (instancetype)init {\n if (self = [super init]) {\n NSLog(@\"%@\", [super class]);\n NSLog(@\"%@\", [self class]);\n }\n\n return self;\n}\n\n@end\n\n// 执行结果\n2019-03-12 19:44:46.003313+0800 iOSCodeLearning[34431:7234182] AObject\n2019-03-12 19:44:46.003442+0800 iOSCodeLearning[34431:7234182] AObject\n复制代码\n"},"Article/UIViewController 预加载方案浅谈.html":{"url":"Article/UIViewController 预加载方案浅谈.html","title":"UIViewController 预加载方案浅谈","keywords":"","body":"转自: 知识小集推荐\nUIViewController 预加载方案浅谈\n一. 引子\n预加载作为常规性能优化手段,在所有性能敏感的场景都有使用。不同的场景会有不同的方案。举个例子,网易邮箱简约邮里,收件箱列表使用了数据预加载,首页加载完毕后会加载后一页的分页数据,在用户继续翻页时,能极大提升响应速度;在微信公众号列表,不仅预加载了多个分页数据,还加载了某个公众文章的文字部分,所以当列表加载完毕之后,你走到了没有网络的电梯里,依然可以点击某个文字,阅读文字部分,图片是空白。\n在 iOS 常规的优化方案中,预加载也是极常见的手段,多见于:预加载图片、配置文件、离线包等业务资源。查阅后知, ASDK 有一套很智能的预加载策略;\n\n在滚动方向(Leading)上 Fetch Data 区域会是非滚动方向(Trailing)的两倍,ASDK 会根据滚动方向的变化实时改变缓冲区的位置;在向下滚动时,下面的 Fetch Data 区域就是上面的两倍,向上滚动时,上面的 Fetch Data 区域就是下面的两倍。\n\n系统层面,iOS 10 里UIKit 还为开发者新增了UITableViewDataSourcePrefetching\n@protocol UITableViewDataSourcePrefetching \n@required\n\n// indexPaths are ordered ascending by geometric distance from the table view\n- (void)tableView:(UITableView *)tableView prefetchRowsAtIndexPaths:(NSArray *)indexPaths;\n\n@optional\n\n// indexPaths that previously were considered as candidates for pre-fetching, but were not actually used; may be a subset of the previous call to -tableView:prefetchRowsAtIndexPaths:\n- (void)tableView:(UITableView *)tableView cancelPrefetchingForRowsAtIndexPaths:(NSArray *)indexPaths;\n\n@end\n\n等新的协议来提供UITableView\\UICollectionView 预加载 data 的能力。\n但是对于整个 App 的核心组件 UIViewController 却少见预加载的策略。极少数场景是这样的:整个界面包含多个 UIViewController 的层级,除了显示第一个 UIViewController 外 ,预加载其他的 UIViewController 。\n二. UIViewController 到底能不能预加载?\n在和同事解决严选 App 内“领取津贴”弹窗慢的问题时,我思考了这个问题,所以查阅了 Developer Documentation, 大概有以下的收获;\n\n在同一个 navigation stack里不能 push 相同的一个UIViewController ,否则会崩溃;而来自不同 navigation stack 的 UIViewController 是可以被压入 stack 的,这也是预加载的关键。\n当某个 UIViewController 执行了 viewDidLoad()之后,整个 UIViewController 对象已经在内存内。如果我们要使用 VC 时,可以直接从内存里获取,将会获得速度提升\nUIViewController 作为 UIWindow 和 vc.view中间层,负责事件分发、响应链, UIViewController 子元素容器,子元素根据 UIViewController 的尺寸 layout\nUIViewController.view 是个懒加载属性,由 loadView() 初始化,在 viewDidLoad 事件开始时,就已经完成\nUIViewController 在被添加到 navigation stack后是否会被渲染,取决于所在的 window 是不是 hidden = NO,和在不在屏幕上没有关系\n\n答案:可以被预加载,除了本文尝试的多个navigation stack的方式外, apple 自己在早期推广 storyboard 和 xib 文件模式开发 iOS 应用时,也抱有相同的意图\n三. UIViewController 渲染的流程?\n因为 UIKit 没有开源,我从 Apple Documents 和 Chameleon project 的重写源码里试图还原真实的 UIViewController 在 UIKit 中的渲染逻辑。以下是我根据自己的理解画的 UIViewController 被添加到 UIWindow 的渲染流程,肯定有错误和遗漏,仅供理解本文使用。\n图例参考 Safari,序号后面的图形,表示本阶段 ViewController 的 view 层级,认清这些事件,可以知道哪个阶段做哪些操作是合适的?\n\n注意:以上为 iOS 12 里的情况,在 iOS 13 里,第 5 序号的 View 比目前 iOS 12 要多两个 View,UIDropShadowView,UITransitionView。\n四. ViewControllerPreRender\n在整理出上面的流程结论后,编写了ViewControllerPreRender,虽然不到 100 行,前后却花了一周,主要是为了解决下面这个 XCode 警告。\n\"Unbalanced calls to begin/end appearance transitions for \"\n幸好通过多次尝试,最终解决掉。\n代码很短,全文摘录,以下以注释的方式详细解读。\n//.h 文件\n@interface ViewControllerPreRender : NSObject\n\n+ (instancetype)defaultRender;\n\n- (void)showRenderedViewController:(Class)viewControllerClass completion:(void (^)(UIViewController *vc))block;\n@end\n//.m 文件\n#import \"ViewControllerPreRender.h\"\n\n@interface ViewControllerPreRender ()\n\n@property (nonatomic, strong) UIWindow *windowNO2;\n/**\n 已经被渲染过后的 ViewController,池子,在必要时候 purge 掉\n */\n@property (nonatomic, strong) NSMutableDictionary *renderedViewControllers;\n@end\n\nstatic ViewControllerPreRender *_myRender = nil;\n@implementation ViewControllerPreRender\n\n+ (instancetype)defaultRender{\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n _myRender = [ViewControllerPreRender new];\n _myRender.renderedViewControllers = [NSMutableDictionary dictionaryWithCapacity:3];\n // 增加一个监听,当内存紧张时,丢弃这些预加载的对象不会造成功能错误,\n // 这样也要求 UIViewController 的 dealloc 都能正确处理资源释放\n [[NSNotificationCenter defaultCenter] addObserver:_myRender\n selector:@selector(dealMemoryWarnings:)\n name:UIApplicationDidReceiveMemoryWarningNotification\n object:nil];\n });\n return _myRender;\n}\n\n/**\n 内部方法,用来产生可用的 ViewController,如果第一次使用。\n 直接返回全新创建的对象,同时也预热一个相同类的对象,供下次使用。\n 支持预热多个 ViewController,但是不易过多,容易引起内存紧张\n\n @param viewControllerClass UIViewController 子类\n @return UIViewControllerd 实例\n */\n- (UIViewController *)getRendered:(Class)viewControllerClass{\n if (_windowNO2 == nil) {\n CGRect full = [UIScreen mainScreen].bounds;\n // 对于 no2 的尺寸多少为合适。我自己做了下实验\n // 这里设置的尺寸会影响被缓存的 VC 实例的尺寸。但在预热好的 VC 被添加到当前工作的 navigation stack 时,它的 View 的尺寸是正确的和 no2 的尺寸无关。\n // 同样的,在被添加到 navigation stack 时,会触发 viewLayoutMarginsDidChange 事件。\n // 而且对于内存而言,尺寸越小内存占用越少,理论上 (1,1,1,1) 的 no2 有能达到预热 VC 的效果。\n // 但是有些 view 不是被 presented 或者 pushed,而是作为子 ViewController 的子 view 来渲染界面的。这需要 view 有正确的尺寸。\n // 所以这里预先设置将来真正展示时的尺寸,减少 resize、和作为子 ViewController 使用时出错,在本 demo 中,默认大部分的尺寸是全屏。\n UIWindow *no2 = [[UIWindow alloc] initWithFrame:CGRectOffset(full, CGRectGetWidth(full), 0)];\n UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[UIViewController new]];\n no2.rootViewController = nav;\n no2.hidden = NO;// 必须是显示的 window,才会触发预热 ViewController,隐藏的 window 不可用。但是和是否在屏幕可见没关系\n no2.windowLevel = UIWindowLevelStatusBar + 14;\n\n _windowNO2= no2;\n }\n\n NSString *key = NSStringFromClass(viewControllerClass);\n UIViewController *vc = [self.renderedViewControllers objectForKey:key];\n if (vc == nil) { // 下次使用缓存\n vc = [viewControllerClass new];\n // 解决 Unbalanced calls to begin/end appearance transitions for 关键点\n // 1. 使用 UINavigationController 作为 no2 的 rootViewController\n // 2. 如果使用 UIViewController 作为 no2 的 rootViewController,始终有 Unbalanced calls 的错误\n // 虽然是编译器警告,实际上 Unbalanced calls 会影响被缓存的 vc, 当它被添加到当前活动的 UINavigation stack 时,它的生命周期是错误的\n // 所以这个警告必须解决。\n UINavigationController *nav = (UINavigationController *)_windowNO2.rootViewController;\n [nav pushViewController:vc animated:NO];\n [self.renderedViewControllers setObject:vc forKey:key];\n //\n return [viewControllerClass new];\n } else { // 本次使用缓存,同时储备下次\n // 必须是先设置 no2 的新 rootViewController,之后再复用从缓存中拿到的 viewControllerClass。否则会奔溃\n UINavigationController *nav = (UINavigationController *)_windowNO2.rootViewController;\n [nav popViewControllerAnimated:NO];\n UIViewController *fresh = [viewControllerClass new];\n\n [nav pushViewController:fresh animated:NO];\n // 在 setObject to renderedViewControllers 字典时,保证被渲染过\n [self.renderedViewControllers setObject:fresh forKey:key];\n\n return vc;\n }\n}\n\n/**\n 主方法。传入一个 UIViewController 的 class 对象,在调用的 block 中同步的返回一个预先被渲染的 ViewController\n\n @param viewControllerClass 必须是 UIViewController 的 Class 对象\n @param block 业务逻辑回调\n */\n- (void)showRenderedViewController:(Class)viewControllerClass completion:(void (^)(UIViewController *vc))block{\n // CATransaction 为了避免一个 push 动画和另外一个 push 动画同时进行的问题。\n [CATransaction begin];\n UIViewController *vc1 = [self getRendered:viewControllerClass];\n\n // 这里包含一个陷阱—— 必须先渲染将要被 cached 的 ViewController,然后再执行真实的 block\n // 理想情况,应该是先执行 block,然后执行 cache ViewController,因为 block 更重要些。暂时没想到方法\n [CATransaction setCompletionBlock:^{\n block(vc1);\n }];\n [CATransaction commit];\n}\n\n- (void)dealMemoryWarnings:(id)notif\n{\n NSLog(@\"release memory pressure\");\n [self.renderedViewControllers removeAllObjects];\n}\n@end\n\n五. 性能提升如何?\n以 native 体验中通常体验最差的 webview 为例, 目标是严选商城的 h5 ,http://m.you.163.com,分别以传统的,每次都新创建 ViewController的方式;第二次之后使用预热的 ViewController加载严选首页两种方式测试,保持 ViewController内部逻辑相同,详见 demo 工程里注释。\n测试方案:模拟器,每种方式测试时都重启,各测试了 20 次左右,统计表格如下,navigationStart 作为网络加载时间的开始标志,以 document.onload 作为页面加载完毕的标志;\n> 1. 传统方式\n点击到网络加载时间(ms) | 点击到页面加载完毕时间(ms)\n---|---\n409.042969 | 2237.258057\n382.000244 | 2294.206055\n421.780762 | 2377.906250\n435.476318 | 2358.933350\n443.190186 | 2261.447998\n379.502930 | 2243.837158\n386.897949 | 2322.465088\n508.499023 | 2385.695068\n490.614014 | 2639.933105\n407.436035 | 2384.422852\n478.447998 | 2305.270264\n426.408691 | 2340.742920\n598.571777 | 2465.007812\n453.924072 | 2424.213135\n441.053955 | 2371.049805\n399.669922 | 2218.141113\n779.028809 | 2659.640625\n68.835938 | 1934.873047\n515.513916 | 2552.829834\n439.666016 | 2268.033936\n440.330811 | 2357.508789\nAvg of 21: |\n443.14 | 2352.54\n> 2. 使用预加载方式\n\n\n\n点击到网络加载时间(ms)\n点击到页面加载完毕时间(ms)\n\n\n\n\n63.797852\n2538.381836\n\n\n63.152832\n2333.105957\n\n\n64.150146\n2302.843750\n\n\n59.484863\n2155.601074\n\n\n57.637207\n2382.412842\n\n\n55.749756\n2050.655762\n\n\n51.270020\n1895.146729\n\n\n54.883789\n1793.544922\n\n\n53.313965\n1897.723877\n\n\n78.262207\n1777.684814\n\n\n48.425049\n1828.953857\n\n\n50.403320\n2075.978027\n\n\n48.640625\n2168.324951\n\n\n58.913818\n1946.458984\n\n\n40.200928\n1850.614990\n\n\n54.635010\n2198.915039\n\n\n51.363770\n1956.969971\n\n\nAvg of 17:\n\n\n\n56.13\n2067.84\n\n\n\n从测试数据可见,使用预加载的方式显著的提升了 navigationStart的性能,443 ms 减少到 56 ms,相应的 document.onload事件也提前,2357 到 2067。\n相比之下,预加载方式提前 400ms 发送网络请求(但是完成加载耗时只少 300ms,猜测是 CPU 资源调度问题)。以上数据只作为性能提升参考,对于加载 WebView 的 VC 而言,预初始化 WebView 以及其他元素,可以提高加载 h5 页面的速度。\n六,原因探析\n对 ViewControllerPrerender的逻辑分析解释为什么会有提速,在使用ViewControllerPreRender时,需要特别留意什么地方,以免掉入误区。\n根据 preRender 的原理,我大概画了图例来解释。\n\n上半部分,所有阶段是线性的;下半部分,可以做到并行,尤其是第三个 VC 的显示,将异步加载数据也放到并行逻辑了,这对有性能瓶颈的界面优化不失为一种方式\n总结:预加载利用了并行这一传统性能优化技术,同时对 ViewController 的生命周期也提出更高的要求,譬如:\n\n被预热的 ViewController,需要划分职责,在viewDidLoad里搭建框架,,而在另一个单独的接口如本 demo 里的setUrl用来使用业务数据渲染页面。\n被预加载的 ViewController 的viewDidLoad 不宜占用太多主线程资源,避免对当前界面打开产生负面影响。\n\n七,preRender 适宜的场景\n在 App 性能问题中, native 自己的 ViewController性能表现并不是瓶颈,所以目前业界对 UIViewController 的预加载并没有太多可参考的案例,不过对于某些场景优化还是有指导意义。在本文开始时提到的严选商品详情页里领取津贴是弹窗,常规情况下弹出是比较慢的,经过讨论后,我们决定对津贴弹窗做两个优化\n\n在弹窗出现时使用缩放动画,h5 加载也使用 loading\n使用预加载弹窗的 ViewController。\n从测试数据来看,从点击到最后加载完毕,大概节省了 300 ms,还需要进一步考虑 h5 的页面优化。\n\n题外话,App 作为严选用户体验的重要载体,App 性能是极其重要一环。我们对弹窗的体验做了少许优化。\n在严选里弹窗有两种,一种是被动弹窗,比方说从后台数据返回中,得知有弹窗需要显示,native 根据全局弹窗排序,决定显示那个——当后台数据返回指定的 url 被加载完毕之后,才弹出遮罩,显示被加载好的 url;如果 url 加载失败,就不会弹出弹窗。\n而对于用户主动弹出的弹窗,如用户在详情页点击 cell,弹出领取津贴,我们分 native 加速(使用预加载)和 h5 加速两部分。\n另外比较适合 preRender 的地方如,\n\n我的订单界面,当用户某个订单有商家已发货未收货时,根据行为统计,用户大概率会打开第一条已发货的订单去查看当前物流(物流数据来自第三方,响应速度没有保证),所以在进入我的订单时,可以预先加载一个查看最新未完成订单的物流的 ViewController。\n用户在详情页面,点击了我好评率,那么大概率,用户还会打开用户晒单的视频和图片。这时候可以预加载一个视频播放器和图片浏览器,提供用户的响应速度等。\n\n\n对于大部分功能也能而言, prefetch 并不是必选项,还需要根据自身的业务来决定使用可以 prefetch 的思想解决 App 体验的瓶颈问题,不要随意使用 ViewControllerPrefetch,增加额外复杂度。\n八,xib 和 storyboard 带来的启示\n当我接触 iOS 开发时,已经到了 iOS 推销 storyboard 开发方式失败的时候,大部分可需要持续迭代的 App,其实不适合用 xib 和 storyboard 来开发,它的可视化带来的好处相比项目协作迭代里遇到的 diff 困难、复用困难、启动慢等坏处,不值一提。\n时至今日,当我思考预加载方式在 viewDidiLoad 里还要多少操作空间时,我发现 xib 和 storyboard 在被苹果推广时没有被提到它预加载的优点,一直没有引起重视。\n相同的 ViewController 使用的 xib 和 storyboard 文件被 init 为 实例之后,后续相同的ViewController 都会来 copy 被初始化好的 storyboard 来构建界面。开发人员创建完 xib 和 storyboard,需要持久化为文件,使用 initWithCoder:方法实现序列化,打开 xib 和 storyboard 时,先从文件反序列化解析得到 xml 文件,然后用 xml 文件绘制 interface builder。它的底层机制决定了它在开发启动、App 启动时会有性能损耗,不过也为我们做了一个例子—— 如何预加载 View 片段乃至 ViewController 本身。以 storyboard 为例,你可以在 storyboard 里做以下操作;\n\n绘制 ViewController 的 view 层次,特别的,会首先限制 storyboard 里绘制的静态数据\n添加 view 之间的约束\n转场(segue)和按钮动作跳转\n\n而最终的用户界面需要等待网络返回真实数据后重新渲染,在此期间,显示静态的等待界面。所以在需要被缓存的 UIViewController需要可以安全的编写 UI、事件和转场等逻辑,将动态部分(网络请求)的发起逻辑写在转场结束之后。\n十,补记\n\n[Unbalanced calls to begin/end appearance transitions for ,这个警告必须解决,否则会导致被缓存的 ViewController 被添加到活动 stack 时,生命周期紊乱导致一些依赖生命周期执行的逻辑失效,如电商行业里很看重的曝光统计数据不正确\nDemo 工程里已经有 calc.rb 可以直接将从 console 里拿到的数据实现为报表,方便你测试自己的页面性能加载提升对比。\n\n参考\n[1] 预加载与智能预加载(iOS)\n[2] iOS性能优化系列篇之“列表流畅度优化”\n[3] UIWindow 源码 of Chameleons\n[4]https://developer.apple.com/documentation/uikit/uiviewcontroller?language=objc\n[5] Sharing the Same UIViewController as the rootViewController with Two UINavigationControllers\n[6] Storyboards vs. the old XIB way\n[7] Unbalanced calls to begin/end appearance transitions for \n[8] ViewControllerPreRender\n"},"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html":{"url":"Article/有赞移动 iOS 组件化(模块化)架构设计实践.html","title":"有赞移动 iOS 组件化(模块化)架构设计实践","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5d4136295188255d5861d0e4\n\n一、背景\n业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自 16 年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出 iOS 相关框架 Bifrost (雷神里的彩虹桥)。在过程中我们深刻体会到 “没有绝对正确的架构,只有最合适的架构” 这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,提供一种思路,对遇到类似问题的同学能有所启发。\n注:\n\n区别于功能模块 / 组件(比如图片库,网络库),本文讨论的是业务模块 / 组件(比如订单模块,商品模块)相关的架构设计。\n相比组件(Component),个人感觉称之为模块(Module)更为合适。组件强调物理拆分,以便复用;模块强调逻辑拆分,以便解耦。而且如果用过 Android Studio, 会发现它创建的子系统都叫 Module. 但介于业界习惯称之为组件化,所以我们继续使用这个术语。本文下面所用名词,“模块” 等同于 “组件”。\n\n二、什么是业务模块化(组件化)\n传统的 App 架构设计更多强调的是分层,基于设计模式六大原则之一的单一职责原则,将系统划分为基础层,网络层,UI 层等等,以便于维护和扩展。但随着业务的发展,系统变得越来越复杂,只做分层就不够了。App 内各子系统之间耦合严重, 边界越来越模糊,经常发生你中有我我中有你的情况(图一)。这对代码质量,功能扩展,以及开发效率都会造成很大的影响。此时,一般会将各个子系统划分为相对独立的模块,通过中介者模式收敛交互代码,把模块间交互部分进行集中封装, 所有模块间调用均通过中介者来做(图二)。这时架构逻辑会清晰很多,但因为中介者仍然需要反向依赖业务模块,这并没有从根本上解除循坏依赖等问题。时不时发生一个模块进行改动,多个模块受影响编译不过的情况。进一步的,通过技术手段,消除中介者对业务模块依赖,即形成了业务模块化架构设计(图三)。\n\n通过业务模块化架构,一般可以达到明确模块职责及边界,提升代码质量,减少复杂依赖,优化编译速度,提升开发效率等效果。很多文章都有相关分析,在此不再累述。\n三、业界常见模块化方案\n业务模块化设计通过对各业务模块的解耦改造,避免循环双向依赖,达到提升开发效率和质量的目的。但业务需求的依赖是无法消除的,所以模块化方案首先要解决的是如何在无代码依赖的情况下实现跨模块通信的问题。iOS 因为其强大的运行时特性,无论是基于 NSInvocation 还是基于 peformSelector 方法, 都可以很很容易做到这一点。但不能为了解耦而解耦,提升质量与效率才是我们的目的。直接基于 hardcode 字符串 + 反射的代码明显会极大损害开发质量与效率,与目标背道而驰。所以,模块化解耦需求的更准确的描述应该是 “如何在保证开发质量和效率的前提下做到无代码依赖的跨模块通信”。目前业界常见的模块间通讯方案大致如下几种:\n\n基于路由 URL 的 UI 页面统跳管理。\n基于反射的远程接口调用封装。\n基于面向协议思想的服务注册方案。\n基于通知的广播方案。\n\n根据具体业务和需求的不同,大部分公司会采用以上一种或者某几种的组合。\n3.1 路由 URL 统跳方案\n统跳路由是页面解耦的最常见方式,大量应用于前端页面。通过把一个 URL 与一个页面绑定,需要时通过 URL 可以方便的打开相应页面。\n//通过路由URL跳转到商品列表页面\n//kRouteGoodsList = @\"//goods/goods_list\"\nUIViewController *vc = [Router handleURL:kRouteGoodsList]; \nif(vc) {\n [self.navigationController pushViewController:vc animated:YES];\n}\n复制代码\n当然有些场景会比这个复杂,比如有些页面需要更多参数。 基本类型的参数,URL 协议天然支持:\n//kRouteGoodsDetails = @“//goods/goods_detail?goods_id=%d”\nNSString *urlStr = [NSString stringWithFormat:@\"kRouteGoodsDetails\", 123];\nUIViewController *vc = [Router handleURL:urlStr];\nif(vc) {\n [self.navigationController pushViewController:vc animated:YES];\n}\n复制代码\n复杂类型的参数,可以提供一个额外的字典参数 complexParams, 将复杂参数放到字典中即可:\n+ (nullable id)handleURL:(nonnull NSString *)urlStr\n complexParams:(nullable NSDictionary*)complexParams\n completion:(nullable RouteCompletion)completion;\n复制代码\n上面方法里的 completion 参数,是一个回调 block, 处理打开某个页面需要有回调功能的场景。比如打开会员选择页面,搜索会员,搜到之后点击确定,回传会员数据:\n//kRouteMemberSearch = @“//member/member_search”\nUIViewController *vc = [Router handleURL:urlStr complexParams:nil completion:^(id _Nullable result) {\n //code to handle the result\n ...\n}];\nif(vc) {\n [self.navigationController pushViewController:vc animated:YES];\n}\n复制代码\n考虑到实现的灵活性,提供路由服务的页面,会将 URL 与一个 block 相绑定。block 中放入所需的初始化代码。可以在合适的地方将初始化 block 与路由 URL 绑定,比如在 +load 方法里:\n+ (void)load {\n [Router bindURL:kRouteGoodsList\n toHandler:^id _Nullable(NSDictionary * _Nullable parameters) {\n return [[GoodsListViewController alloc] init];\n }];\n}\n复制代码\n更多路由 URL 相关例子,可以参考 Bifrost 项目中的 Demo.\nURL 本身是一种跨多端的通用协议。使用路由 URL 统跳方案的优势是动态性及多端统一 (H5, iOS,Android,Weex/RN); 缺点是能处理的交互场景偏简单。所以一般更适用于简单 UI 页面跳转。一些复杂操作和数据传输,虽然也可以通过此方式实现,但都不是很效率。 目前天猫和蘑菇街都有使用路由 URL 作为自己的页面统跳方案,达到解耦的目的。\n3.2 基于反射的远程调用封装\n当无法 import 某个类的头文件但仍需调用其方法时,最常想到的就是基于反射来实现了。例:\nClass manager = NSClassFromString(@\"YZGoodsManager\");\nNSArray *list = [manager performSelector:@selector(getGoodsList)];\n//code to handle the list\n...\n复制代码\n但这种方式存在大量的 hardcode 字符串。无法触发代码自动补全,容易出现拼写错误,而且这类错误只能在运行时触发相关方法后才能发现。无论是开发效率还是开发质量都有较大的影响。\n如何进行优化呢?这其实是各端远程调用都需要解决的问题。移动端最常见的远程调用就是向后端接口发网络请求。针对这类问题,我们很容易想到创建一个网络层,将这类 “危险代码” 封装到里面。上层业务调用时网络层接口时,不需要 hardcode 字符串,也不需要理解内部麻烦的逻辑。\n类似的,我可以将模块间通讯也封装到一个 “网络层” 中(或者叫消息转发层)。这样危险代码只存在某几个文件里,可以特别地进行 code review 和联调测试。后期还可以通过单元测试来保障质量。模块化方案中,我们可以称这类 “转发层” 为 Mediator (当然你也可以起个别的名字)。同时因为 performSelector 方法附带参数数量有限,也没有返回值,所以更适合使用 NSInvocation 来实现。\n//Mediator提供基于NSInvocation的远程接口调用方法的统一封装\n- (id)performTarget:(NSString *)targetName\n action:(NSString *)actionName\n params:(NSDictionary *)params;\n\n//Goods模块所有对外提供的方法封装在一个Category中\n@interface Mediator(Goods)\n- (NSArray*)goods_getGoodsList;\n- (NSInteger)goods_getGoodsCount;\n...\n@end\n@impletation Mediator(Goods)\n- (NSArray*)goods_getGoodsList {\n return [self performTarget:@“GoodsModule” action:@\"getGoodsList\" params:nil];\n}\n- (NSInteger)goods_getGoodsCount {\n return [self performTarget:@“GoodsModule” action:@\"getGoodsCount\" params:nil];\n}\n...\n@end\n复制代码\n然后各个业务模块依赖 Mediator, 就可以直接调用这些方法了。\n//业务方依赖Mediator模块,可以直接调用相关方法\n...\nNSArray *list = [[Mediator sharedInstance] goods_getGoodsList];\n...\n复制代码\n这种方案的优势是调用简单方便,代码自动补全和编译时检查都仍然有效。 劣势是 category 存在重名覆盖的风险,需要通过开发规范以及一些检查机制来规避。同时 Mediator 只是收敛了 hardcode, 并未消除 hardcode, 仍然对开发效率有一定影响。\n业界的 CTMediator 开源库,以及美团都是采用类似方案。\n3.3 服务注册方案\n有没有办法绝对的避免 hardcode 呢?如果接触过后端的服务化改造,会发现和移动端的业务模块化很相似。Dubbo 就是服务化的经典框架之一。它是通过服务注册的方式来实现远程接口调用的。即每个模块提供自己对外服务的协议声明,然后将此声明注册到中间层。调用方能从中间层看到存在哪些服务接口,然后直接调用即可。例:\n//Goods模块提供的所有对外服务都放在GoodsModuleService中\n@protocol GoodsModuleService\n- (NSArray*)getGoodsList;\n- (NSInteger)getGoodsCount;\n...\n@end\n//Goods模块提供实现GoodsModuleService的对象, \n//并在+load方法中注册\n@interface GoodsModule : NSObject\n@end\n@implementation GoodsModule\n+ (void)load {\n //注册服务\n [ServiceManager registerService:@protocol(service_protocol) \n withModule:self.class]\n}\n//提供具体实现\n- (NSArray*)getGoodsList {...}\n- (NSInteger)getGoodsCount {...}\n@end\n\n//将GoodsModuleService放在某个公共模块中,对所有业务模块可见\n//业务模块可以直接调用相关接口\n...\nid module = [ServiceManager objByService:@protocol(GoodsModuleService)];\nNSArray *list = [module getGoodsList];\n...\n复制代码\n这种方式的优势也包括调用简单方便。代码自动补全和编译时检查都有效。实现起来也简单,协议的所有实现仍然在模块内部,所以不需要写反射代码了。同时对外暴露的只有协议,符合团队协作的 “面向协议编程” 的思想。劣势是如果服务提供方和使用方依赖的是公共模块中的同一份协议(protocol), 当协议内容改变时,会存在所有服务依赖模块编译失败的风险。同时需要一个注册过程,将 Protocol 协议与具体实现绑定起来。\n业界里,蘑菇街的 ServiceManager 和阿里的 BeeHive 都是采用的这个方案。\n3.4 通知广播方案\n基于通知的模块间通讯方案,实现思路非常简单, 直接基于系统的 NSNotificationCenter 即可。 优势是实现简单,非常适合处理一对多的通讯场景。 劣势是仅适用于简单通讯场景。复杂数据传输,同步调用等方式都不太方便。 模块化通讯方案中,更多的是把通知方案作为以上几种方案的补充。\n3.5 其它\n除了模块间通讯的实现,业务模块化架构还需要考虑每个模块内部的设计,比如其生命周期控制,复杂对象传输,重复资源的处理等。可能因为每个公司都有自己的实际场景,业界方案里对这些问题描述的并不是很多。但实际上他们非常重要,有赞在模块化过程中做了很多相关思考和尝试,会在后面环节进行介绍。\n四、有赞的模块化实践\n有赞移动自 16 年起开始实践业务模块化架构方式,大致经历了 2016 年的尝试 + 摸索,2017 年的思考 + 优化以及 2018 年的成熟 + 沉淀几个阶段。期间有过对已有 App 的模块化改造,也试过直接应用于新起项目。模块化方案经历过几次改版,踩过一些坑,也收获了很多宝贵的经验。\n4.1 v1.0: 尝试 + 摸索\n16 年,有赞微信商城、有赞收银等 App 经历了初期的功能快速迭代,内部依赖混乱,耦合严重,急需优化重构。传统的 MVVM、MVP 等优化方式无法从全局层面解决这些问题。后来在 InfoQ 的 \"移动开发前线\" 微信群里听了蘑菇街的组件化方案分享,非常受启发。不过当时还是有一些顾虑,比如微信商城和收银当时都属于中小型项目,每端开发人员都只有 4-6 人。业务模块化改造后会形成一定的开发门槛,带来一定的开发效率下降。小项目适合模块化改造吗?其收益是否能匹配付出呢?但考虑到当时 App 各模块边界已经稳定,即使模块化改造出现问题,也可以用很小的代价将其降级到传统的中介者模式,所以改造开始了。\n4.1.1 模块间通信方式设计\n首先是梳理我们的模块间通信需求,主要包括以下三种:\n\nUI 页面跳转。比如 IM 模块点击用户头像打开会员模块的用户详情页。\n动作执行及复杂数据传输。比如商品模块向开单模块传递商品数据模型并进行价格计算。\n一对多的通知广播。比如 logout 时账号模块发出广播,各业务模块进行 cache 清理及其它相应操作。\n\n我们选择了路由 URL + 远程接口调用封装 + 广播相结合的方式。\n对于远程接口调用的封装方式,我们没有完全照抄 Mediator 方案。当时非常期望保留模块化的编译隔离属性。比如当 A 模块对外提供的某个接口发生变化时,不会引发依赖这个接口的模块的编译错误。这样可以避免依赖模块被迫中断手头的工作先去解决编译问题。当时也没有采用 Beehive 的服务注册方式,也是因为同样的原因。 经过讨论,当时选择参考网络层封装方式,在每个模块中设计一个对外的 “网络层” ModuleService。将对其它模块的接口的反射调用,放入各个模块的 ModuleService 中。 同时,我们希望各业务模块不需要去理解所依赖模块的内部复杂实现。比如 A 模块依赖 D 模块的 class D1 的接口 method1, class D2 的接口 method2, class D3 的接口 method3. A 需要了解 D 模块的这些内部信息才能完成反射功能的实现。如果 D 模块中这些命名有所变化,还会出现调用失败。所以我们对各个模块使用外观(Facade)模式进行重构。D 模块创建一个外观层 FacadeD. 通过 FacadeD 对象对外提供所有服务,同时隐藏内部复杂实现。调用方也只需要理解 FacadeD 的头文件 包含哪些接口即可。\n外观(Facade)模式: 为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。\n\n另外,为什么还需要路由 URL 呢? 其实从功能角度,远程接口的网络层,完全可以取代路由 URL 实现页面跳转,而且没有路由 URL 的一些 hardcode 的问题。而且路由 URL 和 远程接口存在一定的功能重合,还会造成后续实现新功能时,分不清应选择路由 URL 还是选择远程接口的困惑。这里选择支持路由 URL 的主要原因是我们存在动态化且多端统一的需求。比如消息模块下发的各种消息数据模型完全是动态的。后端配好展示内容以及跳转需求后,客户端不需要理解具体需求,只需要通过统一的路由跳转协议执行跳转动作即可。\n4.1.2 模块内设计及 App 结构调整\n每个模块除了 Facade 模式改造之外,还需要考虑以下问题:\n\n合适的注册及初始化方式。\n接收并处理全局事件。\nApp 层和 Common 层设计。\n模块编译产出以及集成到 App 中的方式。\n\n因为考虑到每个 App 中业务模块数量不会很多(我们几个 App 内大多是 20 个左右),所以我们为每个模块创建了一个 Module 对象并令其为单例。在 +load 方法中将自身注册给模块化 SDK Bifrost. 经测试,这里因为单例造成的内存占用以及 +load 方法引起的启动速度影响都微乎其微。模块需要监听的全局事件主要为 UIApplicationDelegate 中的那些方法。所以我们定义了一个继承 UIApplicationDelegate 的协议 BifrostModuleProtocol,令每个模块的 Module 对象都服从这个协议。App 的 AppDelegate 对象,会轮询所有注册了的业务模块并进行必要的调用。\n@protocol BifrostModuleProtocol \n@required\n+ (instancetype)sharedInstance;\n- (void)setup;\n...\n@optional\n+ (BOOL)setupModuleSynchronously;\n...\n@end\n复制代码\n所有业务代码挪入各业务模块的 Module 对象后,AppDelegate 非常干净。\n@implementation YZAppDelegate\n- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n [Bifrost setupAllModules];\n [Bifrost checkAllModulesWithSelector:_cmd arguments:@[Safe(application), Safe(launchOptions)]];\n return YES;\n}\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n [Bifrost checkAllModulesWithSelector:_cmd arguments:@[Safe(application), Safe(launchOptions)]];\n return YES;\n}\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n [Bifrost checkAllModulesWithSelector:_cmd arguments:@[Safe(application)]];\n}\n...\n@end\n复制代码\n每个业务模块都作为一个子 Project 集成入 App Project. 同时创建一个特殊的模块 Common,用于放置一些通用业务和全局的基类。App 层只保留 AppDelegate 等全局类和 plist 等特殊配置,基本没有任何业务代码。Common 层因为没有明确的业务组来负责,所以也应该尽量轻薄。各业务模块之间互不可见,但可以直接依赖 Common 模块。通过 search path 来设置模块依赖关系。\n每个业务模块的产出包括可执行文件和资源文件两部分。有 2 种选择:生成 framework 和生成静态库 + 资源 bundle.\n使用 framework 的优点是输出在同一个对象内,方便管理。缺点是作为动态库载入,影响加载速度。所以当时选择了静态库 + bundle 的形式。不过个人感觉这块还是需要具体测一下会慢做少再做决定更合适。但因为二者差别不大,所以后续我们也一直没作调整。\n另外如果使用 framework,需要注意资源读取的问题。因为传统的资源读取方式无法定位到 framework 内资源,需要通过 bundleForClass: 才行。\n//传统方式只能定位到指定bundle,比如main bundle中资源\nNSURL *path = [[NSBundle mainBundle] URLForResource:@\"file_name\" withExtension:@\"txt\"]; \n\n// framework bundle需要通过bundleForClass获取\nNSBundle *bundle = [NSBundle bundleForClass:classA]; //classA为framework中的某各类\n// 读UIStoryboard\nUIStoryboard *storyboard = [UIStoryboard storyboardWithName:@“sb_name” bundle:bundle];\n// 读UIImage\nUIImage *image = [UIImage imageNamed:@\"icon_name\" inBundle:bundle compatibleWithTraitCollection:nil];\n...\n复制代码\n4.1.3 复杂对象传输\n当时最纠结的点就是复杂对象的传输。例如商品模型,它包含几十个字段。如果是传字典或传 json, 那么数据提供方(商品模块)和使用方(开单模块)都需要专门理解并实现一下这种模型的各种字段,对开发效率影响很大.\n有没有办法直接传递模型对象呢?这里涉及到模型的类文件放在哪里。最容易想到的方案是沉入 Common 模块。但一旦这个口子放开,后续会有越来越多的模型放入 Common,和前面提到的简化 Common 层的目标是相悖的。而且因为 Common 模块没有明确业务组归属,所有小组都能编辑, 其质量和稳定性难以保障。最终我们采用了一个 tricky 的方案,把要传递的复杂模型的代码复制一份放在使用方模块中,同时通过修改类名前缀加以区分,这样就可以避免打包时的链接冲突错误。比如商品模块内叫 _YZG_GoodsModel, 开单模块内叫 _YZS_GoodsModel. 商品模块的接口返回的是 YZGGoodsModel,开单模块将其强转为 YZSGoodsModel 即可。\n//YZSaleModuleService.m内\n#import \"YZSGoodsModel.h\"\n\n- (YZSGoodsModel*)goodsById:(NSString*)goodsId {\n //Sale Module远程调用Goods Module的接口\n id obj = [Bifrost performTarget:@\"YZGoodsModule\"\n action:@\"goodsById:\"\n params:@[goodsId]];\n //做一次强转\n YZSGoodsModel *goods = (YZSGoodsModel*)obj;\n return goods;\n}\n复制代码\n这种方式虽然比较粗暴,但考虑到两个模块间交互的复杂对象应该不会很多(如果太多则应考虑这两个模块是否划分合适),同时拷贝粘贴操作起来成本可控,所以可以接受。同时这种方法也能达到预期的编译隔离的效果。但两边模型定义及实现还是有不一致的风险。为了解决一致性问题,我们做了个检查脚本工具,在编译时触发。会根据命名规则查找这类 “同名” model 的代码,并做一个比较。如果发现不一致,则报 warning. 注意不是报 error, 因为我们希望一个模块做了接口修改,另一个模块可以存在一种选择,是马上更新接口,还是先完成手头的工作将来再更新。\n4.1.4 重复资源处理\n这类资源主要包括图片、音视频,数据模型等等。\n首先我们排除了无脑放入 Common 的方案。因为下沉入 Common 会破坏各业务模块的完整性,同时也会影响 Common 的质量。经过讨论后,决定把资源分为三类:\n\n通用功能所用资源,将相关代码整理为功能组件后一起放入 Common.\n业务功能的大部分资源可以通过无损压缩控制体积,体积不大的资源允许一定程度上的重复。\n较大体积的资源放到服务端,App 端动态拉取放在本地缓存中。\n\n同时平时定期通过自动化工具检测无用资源,以及重复资源的大小,以便及时优化包体积。\n4.1.5 体验与成果\n基于以上设计,我们大概花了 3 的个月的时间对已有项目进行了业务模块化改造(边做业务边改造)。因为方案细节考虑的比较多,大家对一些可能存在的问题也都有预期,所以当时改造后大家多持肯定态度,成本 vs 收益还是可观的。\nv1.0 版本改造后,App 架构关系如图:\n\nApp 项目结构如图:\n\n4.2 v2.0: 思考 + 优化\n16 年的第一版模块化设计方案虽然可行,但还存在两个痛点:\n\n模块间网络层的封装基于反射代码, 写起来仍然有些麻烦。而且需要额外写单测保证质量。\n复杂对象的处理方式也存在一些问题,比如拷贝粘贴的方式比较丑陋,重复代码会带来包体积的增加。\n\n上述问题在团队规模扩大,新同学到来时格外明显,经常需要答疑讲解。甚至有一次业务项目时间特别紧张时,有些小伙伴私下更改模块间头文件 search path,直接依赖的了别的模块,以便重用复杂模型类的情况。\n这些问题的根本原因还是存在效率损失,\"不方便\",怎么优化呢?\n4.2.1 远程接口封装优化\n首先是如何避免反射及 hardcode. 阿里 Beehive 的基于服务注册的方式 是不需要 hardcode 代码的。但它有额外的服务注册过程,可能会影响启动速度,性能弱于基于反射的接口封装方案。这里对启动速度的影响究竟有多少呢?我们做了个测试,在 +load 方法中注册了 1000 个 Sevice Protocol, 启动时间影响大概是 2-4 ms, 非常少。\n\n因为我们每个模块都是基于外观模式设计的。所以每个模块只需要对外暴露一个 Service Protocol 即可。我们 App 的实际模块数量大概是 20 个,所以对启动速度的影响可以忽略不计。而且前文提到,每个模块本来也需要注册自己的外观类(Module 对象)以处理生命周期和接受 AppDelegate 消息。这里 Service Protocl 的实现者就是这个 Module 对象,所以其实没有额外的性能消耗。\n4.2.2 复杂对象传输优化\n之前的业务模块化方案没有使用 Beehive 还有个原因,就是服务提供方和使用方共同依赖同一个 Protocol,不符合我们编译隔离的需求。但既然我们可以拷贝粘贴复杂对象代码,是否也可以拷贝粘贴 Protocol 声明呢?答案是可行的。而且即使工程中同时存在多个同名的 Protocol 也不会引起编译问题,连改名这一步都省去了。以商品模型为例,为它定义一个 GoodModelProtocol, 服务使用方开单模块可以直接将这个 Protocol 的声明 copy 到自己模块中,也不需要改名,操作成本非常低。然后商品模块内就可以使用这个 Protocol 了。同时因为用的是同一个协议对象,所以 v1.0 中的类型强转风险也没有了。\n跨模块进行方法调用和数据读取非常便捷:\nNSString *goodsID = @\"123123123\";\nid goods = [BFModule(YZGoodsModuleService) goodsById:goodsID];\nself.goodsCell.name = goods.name;\nself.goodsCell.price = goods.price;\n...\n复制代码\n为尽量减少拷贝粘贴频率,我们将每个模块对外提供的接口服务,路由定义,通知定义,以及复杂对象 Protocol 定义都放在 ModuleService.h 中。管理非常方便规范,别的模块 copy 起来也简单,只需要把这个 ModuleService.h 文件 copy 到自己模块内部,就可以直接依赖并调用接口了。而且如果将来需要从服务器拉取相关配置,一个文件会方便很多。但是也需要考虑如果以上内容都放入同一个头文件,会不会导致文件过大的问题。当时分析模块间交互是有限的,否则就需要考虑模块划分是否合适。所以问题应该不大。从结果来看,目前我们最大的 ModuleService.h, 加上注释大概是 300 多行。\n4.2.3 其它优化\n另外,我们发现每个模块对初始化顺序也有需求。比如账号模块的初始化可能要优先于别的模块,以便别的模块在初始化时使用其服务。所以我们也对 ModuleProtocol 增加了优先级接口。每个模块可以定义自己的初始化优先级。\n/**\n The priority of the module to be setup. 0 is the lowest priority;\n If not provided, the default priority is BifrostModuleDefaultPriority;\n\n @return the priority\n */\n+ (NSUInteger)priority;\n复制代码\n经过以上优化改造,基本解决了 v1.0 的所有质量及效率方面的隐患,业务模块化方案趋近成熟。\n4.3 v3.0: 成熟 + 沉淀\n17 年优化后的模块化方案,基本算是具有有赞特色的相对成熟的方案了,支撑了包括零售在内的多个大型 app 的开发。\n4.3.1 编译隔离的思考\nCopy 头文件的方式仍然有一些理解成本。移动团队规模快速发展,一些新来的小伙伴还是会提出疑问。18 年年中我们做了几次检查,发现模块间 ModuleService 版本不一致的情况时有发生。当时零售移动团队虽然达到 30 多人,但仍然是一个协作紧密的整体,发版节奏基本一致。各业务模块代码都在同一个 git 工程中,基本每次发版用的都是各个模块的最新版本。而且实际做了几次调查,发现 ModuleService 中接口改变导致的依赖模块的修改,其实成本很低,改起来很快。此时我们开始思考之前追求的编译隔离是否适合当前阶段,是否有实际价值。\n最终我们决定节省每一份精力,效率最大化。将各业务的 ModuleService 进行下沉到 Commom 模块,各业务模块直接依赖 Common 中的这些 ModuleServie 头文件,不再需要 copy 操作。这样改造的代价是形成了更多的依赖。本来一个业务模块是可以不依赖 Common 的,但现在就必须依赖了。但考虑到实际情况,还没有不依赖 Common 的业务模块存在,这种追求没有价值,所以应该问题不大。同时因为下沉的都是一些头文件,没有具体实现,将来如果需要模块间的进一步隔离,比如模块单独打包等,只需要将这些 Moduleservie 做到服务端可配置 + 自动化下载生成即可,改造成本非常小。\n但这样改造后又发生了一件事。某个新来的同学,直接在 Common 模块中写代码通过这些 ModuleService 调用了上层业务模块的功能,形成了底层 Commmon 模块对上层业务模块的反向依赖。于是我们进一步拆分出了一个新模块 Mediator, 将 Bifrost SDK 和这些 ModuleSevice 放入其中。Common 模块和 Mediator 互不可见。\n最终形成的 App 架构为:\n\n注\n:业界有些方案是把 ModuleServie 分开存放的,相当于把以上方案里的 Mediator 部分进行分拆,每个业务模块都有一个。这种方式的优点是职责明确,大家不用同时对一个公共模块进行修改,同时可以做到依赖关系很清晰;劣势是模块的数量增加了一倍,维护成本增加很多。考虑到我们目前的情况,Mediator 模块是很薄的一层,共同修改维护这个模块也可以接受,所以目前没有将其拆开。将来如果需要,再将其做分拆改造即可,改造工作量很小。\n4.3.2 代码隔离的思考\n除了不在不合适的阶段追求编译隔离,我们还发现代码隔离并不适合我们。\n业务模块化的效果之一就是个业务模块可以单独打包,放入壳工程运行。很容易想到的一个改造就是把各个模块拆到不同的 git 中。好处很多,比如单独的权限控制,独立的版本号,万一发版时发现问题可以及时 rollback 用老版本打包。我们的微信商城 App 就做了这种尝试。将代码迁到了很多 git 中,通过 pod 的方式进行管理。但后续开发中体验并不是很好。当时微信商城 App 的模块数量比开发同学数量多很多,每个同学都同时维护着多个模块。有时一个项目,一个人需要同时在多个 git 中修改多个模块的代码。修改完成后,要多次执行提交、打版本号以及集成测试等操作,很不效率。同时因为涉及到多个 git,代码提交的 Merge Request 和相关的编译检查也复杂了很多。同样的,因为微信商城 App 中不同模块的开发发版节奏也基本一致,所以多 git 多 pod 的不同版本管理及回退的优势也没有体现出来。最终还是将各模块代码迁回了主 git 中。\n4.3.3 没价值的隔离?\n但编译隔离和代码隔离真的没有价值吗?当然不是,主要是我们当前阶段并不需要。过早的调整增加了成本却没有价值产出,所以并不合适。实际上我们还有一些业务模块是跨 App 使用的,比如 IM 模块,资产模块等等。他们都是独立 git 独立发版的。编译隔离和代码隔离属性对他们很有效。\n另外,每个模块单独 git 可以有更细粒度的权限管理。我们因为在一个 git 中,曾发生过好几次小伙伴改别人的模块改出问题的例子(虽然有 MR, 但人难免有遗漏)。后来我们是通过 git commit hook + 修改文件路径来控制修改权限才解决了这个问题。后续介绍有赞移动基础设施建设的文章中会有更多相关细节。\n4.3.4 Bifrost (雷神里的彩虹桥)\n最终,我们总结了所有我们需要的业务模块化需求,沉淀出了轻量级的模块化 SDK Bifrost.\n为什么不直接使用业界的 CTMediator 或者 Beehive 或者 MGJRouter, 要再造个轮子呢?主要有三个原因:一是我们开始尝试模块化改造时,业界还没有相关框架开源出来,所以需要自己实现。二是我们的需求和业界的开源库不完全相符。MGJRouter 缺少服务管理,CTMediator 和设计不符,Beehive 没有路由管理同时不够轻量 (很多接口还是基于阿里的需求提供的,我们用不到,会形成理解成本)。原因三其实是最关键的,就是模块化 SDK 的实现其实不难。通过前面的介绍,可以发现其中并没有什么黑魔法,代码量也不多,实现成本很低。模块化过程更多精力花在了全局架构设计,与之配合的开发规范,以及结合自己团队情况的一些取舍。模块化 SDK 只是模块化整体设计的冰山一角。我们也推荐读者所在团队,如果有时间可以尝试自己实现模块化工具,Bifrost 只用做参考即可。\n4.3.5 业务模块化时机\n我们建议所有进入业务领域划分稳定期(业务模块基本确定,不会发生较大变动)的团队采用业务模块化架构设计。即使模块划分还没完全明确,也可以考虑对部分明确了模块进行模块化改造。因为迟早要用,晚用不如早用。目前基于路由 URL + 协议注册的模块间通讯方式,对开发效率基本无损。\n五、总结\n移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”。有赞移动团队通过过往 3 年的实践,发现一味的追求性能,绝对的追求模块间编译隔离,过早的追求模块代码管理隔离等方式都偏离了模块化设计的真正目的,是得不偿失的。更合适的方式是在可控的改造代价下,一定程度考虑未来的优化方式,更多的考虑当前的实际场景,来设计适合自己的模块化方式。希望通过本文提供的具体案例和思考方式,大家都能找到适合自己应用的业务模块化之路。\n"},"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html":{"url":"Article/为什么你应该使用 Git 进行版本控制 · Why's THE Design_.html","title":"为什么你应该使用 Git 进行版本控制 · Why's THE Design?","keywords":"","body":"\n 原文地址 https://draveness.me/whys-the-design-git-the-best\n\n为什么你应该使用 Git 进行版本控制 · Why's THE Design?\n\n为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。\n\nGit 是 Linus 在 2005 年开发出的版本控制系统(Version Control System),演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用 SVN 或者 CVS 对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用 Git 在绝大多数的场景下都能让我们的开发和合作变得更加高效。\n很多关于 Git 与其他版本控制工具的对比文章和讨论都已经有着相当久的年头了,我们目前面对的开发场景与几年前有很多不同,而这些不同的版本控制工具也各自演化,不过作者始终认为 Git 是目前最高效的工具,这都是由顶层的设计思想决定的,我们今天就来看一看『为什么你应该使用 Git 进行版本控制』。\n概述\n当我们谈论最好的版本控制系统时,我们需要为 Git 找几个用于比较的对手,只有通过对手我们才能更清晰的理解 Git 背后的设计哲学为它带来了怎样与众不同的功能,而我们今天在介绍 Git 时可能就会同时比较 SVN 以及其他的版本控制工具。\n无论是 Git、SVN 还是其他的版本控制系统,它们绝大多数的功能都是重叠的,所以很多时候我们也能找到不同工具之间命令的对照表,下面就是一个 Git 和 SVN 命令对照表,其中包括了两个不同工具对于检出仓库、更新本地仓库、本地提交和向主仓库提交几个最常用的简单命令:\n# Check out the repository\n+ svn checkout --username= \n+ git clone git://\n\n# Update locally checked out files\n+ svn update\n+ git pull\n\n# Commit files locally\n+ N/A\n+ git add && git commit\n\n# Add files to the main repo\n+ svn commit\n+ git push\n虽然说这两个版本控制系统有很多等价的功能,但是从两者不同的地方我们就能看到它们在设计上的不同抉择,例如:SVN 不支持在本地提交文件,这一点背后的设计哲学就与 Git 完全不同。\n在继续深入理解 Git 在设计上的决策之前,我们首先要回到今天要讨论的问题,也就是『为什么你应该使用 Git 进行版本控制』,我们可以换一种方式思考这个问题 —— 我们对于版本控制系统的的要求是什么,又应该如何定义一个更好的版本控制系统呢?Linus 在 2007 年的 Google Talk 上曾经介绍过版本控制系统必须具有的三个特性:\n\n版本控制系统中的开发模型必须是分布式的;\n版本控制系统必须提供足够好的性能支持;\n版本控制系统必须保证文件的完整性,提供来自于数据丢失或者损坏的保护;\n\n\n上述三点中的后两点是非常容易理解的,虽然很多人可能会疑惑为什么性能对于一个日常使用频率不高的版本控制工具如此重要,但是没有人拒绝性能的提升(尤其是在免费的情况下)。\n设计\n我们在上一节中已经介绍了版本控制系统必须满足的三个特性:分布式、高性能以及可靠性,在这里我们就会分别从这三个方面介绍 Linus 在设计 Git 时是如何满足自己提出的这些需求的:\n\n分布式的方式更加符合版本控制系统的工作场景;\n性能的提升能够鼓励我们做出成本更低的操作;\n可靠性能帮助我们能够及时发现数据因磁盘故障而丢失或者损坏;\n\n上述的几个特性对于一个好的版本控制系统来说缺一不可,我们会依次介绍它们的重要性以及 Git 是如何遵循这些规则来设计和实现的。\n分布式\n分布式对于一个版本控制工具非常重要,如果你从开发程序以来就一直使用 Git 作为版本控制工具的话,你可能无法体会使用集中式版本控制工具的局限性,假设我们使用的是一个集中式的版本控制系统的话,所有的开发者都必须连接到同一个服务器上才能进行开发和提交:\n\n选择集中式的版本控制工具意味着我们必须接受以下的几个缺点:\n\n工程师必须都需要连接网络才能开发,在网络状况不好或者无网络的情况下无法进行提交;\n很多人可能认为自己并没有离线工作的需求,但是这实际上在我们的日常工作中也比较常见,百兆带宽虽然已经能够满足日常开发的需求,不过在复杂的网络环境下,很多时候我们还是会遇到无法联网或者网络极差的场景,例如在飞机和火车上;\n对于一个较大的分布式开发团队,在实际生产中我们也难以保证所有成员都能同时通过骨干网等高速网络连接到同一个主仓库;\n\n\n对中心仓库的提交和改动,例如创建分支等操作对于所有的开发人员都是可见的;\n当我们使用集中式的开发模型时,无论是提交代码还是创建新的实验分支,这些操作其实都会改变所有人共享的代码库,这也就意味着如果某个开发者创建了很多的实验分支,所有开发者的代码库也都会变大;\n虽然我们能在中心仓库中创建分支,但是由于中心仓库中不存在名空间,如果开发者创建分支没有遵循特定的命名规则,就非常容易出现命名冲突的问题,例如各种 test 分支;\n\n\n当前仓库的所有开发者都需要有直接向主仓库提交代码的权限,否则他们就无法进行开发;\n同时让项目中的所有开发者具有写权限其实是一件危险的事情,我们并不是知道这些开发者是否有着足够的经验操作主仓库,一旦出现操作上的失误,所有的成员都将面临这一失误带来的风险;\n\n\n\n以上的三个问题都是集中式的主仓库带来的,它们是中心化的系统无法避免的问题,这些集中式版本控制系统的缺点非常影响它的使用体验,这也是为什么 Git 选择使用分布式的设计思想指导其实现,正是版本控制系统的场景其实与分布式的模型更加相似,所以通过分布式的模型能够很好地解决上述的关键问题。\n\n在一个分布式的版本控制系统中,所有的节点在实现上都是等同的,只要有权限,它们都可以一次获取其他仓库中的全部数据。不同的节点之间可以互相拉取代码,我们可以使用 git clone 命令将某一个仓库中的全部数据下载到本地并在本地创建分支、修改和提交,也可以选择将新的改动推送到其他的节点上或者等待其他节点的拉取。\n虽然在实现上所有的节点都是等同的,但是在实际操作中我们还可能会有一个或者多个主仓库帮助多个开发者同步代码,各个节点之间的关系更像一个可以分叉的树形结构,与中心化的版本控制系统相比,通过分布式的模型:\n\nGit 可以让我们在本地进行提交以支持离线工作;\nGit 可以让我们在本地创建分支并且没有命名空间冲突的问题;\nGit 可以让提交通过 Pull Request 的方式进行,不需要所有的开发者都有主仓库的写权限;\n\n集中式和分布式系统的特性也为 SVN 和 Git 带来一些其他的差异,例如 SVN 的所有版本号都是串行的递增数字,版本号不会有冲突的可能也更利于沟通和交流,Git 则使用由 40 个字母组成的 SHA-1 作为版本号,这一方面是因为一个分布式系统中没有全局时钟和版本的概念,另一个方面 SHA-1 能够作为 Checksum 验证仓库中的内容是否被更改,我们会在『可靠性』一节中详细介绍这一特性。\n虽然分布式的版本控制系统能够为我们带来各种各样的好处,但是这并不是说集中式的系统就不能用,正相反在一些代码需要严格控制的项目中,集中式的版本控制系统却能更好的工作,这是因为企业或者项目在做决策时认为『代码需要非常严格的控制』,由此带来的效率降低等问题是可以接受的,所以这其实是对开发效率与权限审核的权衡。\n\n很多公司和决策者因为不了解工程和版本控制系统,可能非常容易地就低估了集中式仓库带来的『效率降低』程度。\n\n然而在实际场景中,真正需要严格控制的代码都非常少,大多数公司的内部代码都是一些秘密等级非常低的业务代码,不仅代码质量非常差、而且一旦脱离了公司的环境就无法运行,作为公司内部的开发者通过 Git 来访问这些代码不会有什么问题,通过计算机之外的方式对代码进行控制是一种效率更高的做法。\n性能\n性能对于一个版本控制系统也至关重要,但是更重要的其实是选取合适的指标对性能进行度量,Linus 在 Google Talk 上的演讲就此嘲讽过 SVN 的开发者,因为它们选择将『创建分支』作为度量版本控制系统的重要性能,还在自己的官网上以此进行宣传(具体界面已经不可考证)。\n然而『合并分支』的性能对于版本控制系统来说才更加重要,因为我们创建新分支的最终目的就是合并回主干分支,如果合并分支的性能非常差,每次合并可能都需要几十秒甚至几分钟,那么这种昂贵的代价就会使开发者谨慎地使用分支合并操作,很多人可能因为合并分支的复杂和困难选择直接在主干分支上开发,因为他们认为只改一两行代码怎么可能会导致线上事故!\n\n今天的绝大多数开发者都已经在日常开发中使用 Git 进行版本控制了,分支的创建和合并是非常常用的功能,这其实是因为使用 Git 合并多个分支是一件非常容易并且快速的事情,它能在几秒钟以内将两个复杂的分支进行比较和合并,不需要等待较长的时间。\n除此之外,使用 Git 来比较两个不同版本和不同文件夹之间的差异也是非常迅速的,作为分布式系统,每一个 Git 仓库都有全量的变更数据,我们不需要通过网络获取仓库的相关信息,与中心化的版本控制工具相比,在出现问题时我们也能快速定位导致问题的变更所在。\n可靠性\n可靠性对于一个版本控制系统来说也至关重要,专业的云服务商提供的磁盘都不一定能够保证我们数据的可靠性,避免数据损坏和丢失等问题,我们作为普通用户和开发者,更需要通过一些机制来保护我们的代码不会被损坏,如果版本控制系统不能为我们提供保护或者一致性的校验,我们可能就会遇到只有在编译或者打开文件时才会发现文件损坏的窘境。\nGit 对每一个版本的提交都会生成一个 20 字节的 SHA-1 哈希,例如:e328029255d8f02909ec0cbc16cc74ef4b79e1d0,这个哈希就表示了当前提交的版本号,它是由以下的数据共同计算而来的:\n\n当前提交的源代码树;\n上一次提交的 SHA-1 哈希;\n作者和提交人的名字、邮件等信息;\n当前提交的消息;\n\n你可以使用如下所示的命令来生成当前仓库 HEAD 的提交版本号,这个命令通过以上信息重新计算出了 git commit 命令为我们生成 SHA-1 哈希,你可以在 这篇文章 中找到更详细的解释:\n$ (printf \"commit %s\\0\" $(git cat-file commit HEAD | wc -c); git cat-file commit HEAD) | sha1sum\n652baf18601eecf42521a1361a8815576bc8eb55 -\n(base)\n\nSHA-1 哈希的计算同时使用了源代码树、上一次提交的哈希、作者和提交人的信息以及当前提交的消息,所以只要使用的任何信息有所变动,我们就会在校验时发现哈希的不一致,从而检测出当前仓库的数据中包含数据的变更、损坏和丢失,同时这也能够帮助我们阻挡攻击者对仓库的恶意修改,因为即使对仓库修改成功,攻击者也很难保证哈希的不变,虽然在研究中表明这种的哈希冲突攻击是可能的,但是在实践中遇到这种问题的几率还是非常低。\n\n由于 2017 年 GitHub 检测到了 SHA-1 的哈希碰撞,所以 Git 社区也在考虑使用更加复杂的哈希算法来替代 SHA-1,例如:SHA-256,Git hash function transition 是一篇关于 Git 如何从 SHA-1 迁移到更复杂的哈希的提案,感兴趣的读者可以简单阅读一下。\n\n\n所有的 Commit 共同组成了一个链条,我们只要验证当前的提交版本是否合法,就能够信任整条链路上的全部提交,如果本地仓库的磁盘损坏,我们可以通过当前的提交记录从远程仓库上获取相同的代码并且通过下面的命令来验证仓库中的数据是否发生了损坏:\n$ git fsck\nChecking object directories: 100% (256/256), done.\nChecking objects: 100% (1046479/1046479), done.\nChecking connectivity: 1034279, done.\ndangling blob 5d05609b383fffc5f9f36f65de0d7d7d3df91ce6\ndangling blob 190de0ca85c16aef74c490127b94fa8ff04e168e\n...\n\nGit 通过 SHA-1 哈希的一致性检查,保证我们能够立刻感知到仓库中的数据损坏和变更,还能够帮助我们抵御来自攻击者对文件的恶意篡改,保证了仓库的安全和可靠性。\n总结\n文档和工具链对于一个工具来说十分重要,一个好的文档不仅能够帮助初学者快速上手,还能帮助使用者解决大多数使用过程中的困惑、理解工具背后的设计和实现,Git 的生态目前建设的也非常好,GitHub 和 GitLab 等服务商提供个人版和企业版的 Git 服务,图形界面的 Git 客户端和插件也降低了 Git 的使用门槛,SourceTree 和 IDE 的集成也不再需要我们直接使用命令行来进行操作(作者还是倾向于使用命令行),这些都帮助 Git 的生态走的更加成熟,也是为什么我们应该使用 Git 的重要原因。\n我们还是需要简单总结一下正文中提出的一些观点:\n\nGit 作为分布式的版本控制系统能够让开发者离线工作和本地提交,不仅能够避免直接提交大量代码带来的风险,还能帮助我们限制对主仓库的授权,减少由于命名空间导致的冲突问题;\nGit 在优化性能时选择了合并分支作为主要的性能衡量指标,将合并分支变成了成本非常低的操作以鼓励分支的使用;\nGit 通过 SHA-1 哈希来保证仓库中数据的可靠性,我们通过 SHA-1 就可以对数据进行校验,保证整个提交链条上的所有数据的稳定性和可靠性,也帮助我们抵御了来自攻击者的恶意篡改;\n\n这里我们还是要强调,集中式的版本控制系统在一些需要严格控制源代码的公司中还是有着一席之地,不过我们总是可以通过将代码分到多个仓库来分别限制权限,但是如果这一操作并不可行,选择集中式的版本控制系统可能就是最后不得不做的选择。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细想一下下面的问题:\n\nSVN 能够在哪些场景下发挥出 Git 无法发挥的作用?它有哪些特性是作为分布式系统的 Git 做不到的?\n目前的 Git 在设计上有哪些缺点和问题,我们能不能改变它?如果能的话又如何改变它?\n有没有什么方式能够帮助我们发现使用『哈希碰撞』进行的恶意攻击从而保证仓库的安全呢?\n\n\n如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因,可以在博客下面留言,作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容。\n\nReference\n\nLinus 在 2007 年 Google Talk 上介绍 Git\nSubversion vs. Git: Myths and Facts\nA year of using Git: the good, the bad, and the ugly\nProud to be a Moron – My Journey with Git\nGIT: a Nightmare of Mixed Metaphors\n10 things I hate about Git\nWhat are the differences between Subversion and Git?\nWhich is better, SVN or Git?\n关于滨野纯的访谈\nSVN 和 Git 在日常使用中的明显差异\nWhy is Git better than Subversion?\nGit and Other Systems - Git as a Client\nSHA-1 collision detection on GitHub.com\nGit hash function transition\nGit series 1/3: Understanding git for real by exploring the .git directory\nDoes Git prevent data degradation\nHow is git commit sha1 formed\nWhat does git fsck stand for?\n\n"},"Article/深入了解 iOS 的初始化.html":{"url":"Article/深入了解 iOS 的初始化.html","title":"深入了解 iOS 的初始化.md","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5dd24e3ff265da0bbc3067ae\n\n深入了解 iOS 的初始化.md\n初始化\n在 iOS 里面,无论是 Objective-C 还是 Swift,类(结构体、枚举)的初始化都有一定的规则要求,只不过在 Objective-C 中会比较宽松,如果不按照规则也不会报错,但会存在隐患,而在 Swift 则需要严格按照规则要求代码才能编译通过,极大提高了代码的安全性。\n类(结构体、枚举)的初始化有两种初始化器(初始化方法):指定初始化器(Designated Initializers )、便利初始化器(Convenience Initializers)\nDesignated Initializers\n指定初始化器是类(结构体、枚举)的主初始化器,类(结构体、枚举)初始化的时候必须调用自身或者父类的指定初始化器。一个类(结构体、枚举)可以有多个指定初始化器,作用是代表从不同的源进行初始化。一个类(结构体、枚举)除非有多种不同的源进行初始化,否则不建议创建多个指定初始化器。在 iOS 里,视图控件类,如果:UIView、UIViewController就有两个指定初始化器,分别代表从代码初始化、从Nib初始化\nConvenience Initializers\n便利初始化器是类(结构体、枚举)的次要初始化器,作用是使类(结构体、枚举)在初始化时更方便设置相关的属性(成员变量)。既然便利初始化器是为了便利,那么一个类(结构体、枚举)就可以有多个便利初始化器,这些便利初始化器里面最后都需要调用自身的指定初始化器\n核心规则\niOS 的初始化最核心两条的规则:\n\n必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)\n便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器\n\n\n所有的其他规则都根据这两条规则而展开,只是 Objective-C 没有那么多安全检查,显得比较随意、宽松,而 Swift 则有一堆的限制。\nObjective-C\nObjective-C 在初始化时,会自动给每个属性(成员变量)赋值为 0 或者 nil,没有强制要求额外为每个属性(成员变量)赋值,方便的同时也缺少了代码的安全性。\nObjective-C 中的指定初始化器会在后面被NS_DESIGNATED_INITIALIZER修饰,以下为NSObject 和UIView的指定初始化器\n// NSObject\n@interface NSObject \n\n- (instancetype)init\n#if NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER\n NS_DESIGNATED_INITIALIZER\n#endif\n ;\n@end\n\n\n// UIView\n@interface UIView : UIResponder\n\n- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;\n- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;\n\n@end\n复制代码\n在 Objective-C 里面,所有类都继承自NSObject。当自定义一个类的时候,要么直接继承自NSObject,要么继承自UIView或者其他类。\n无论继承自什么类,都经常需要新的初始化方法,而这个新的初始化方法其实就是新的指定初始化器。如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。为了遵循必须要调用指定初始化器的规则,就必须重写旧的定初始化器,在里面调用新的指定初始化器,这样就能确保所有属性(成员变量)被初始化\n根据这条规则,可以从NSObject、UIView中看出,由于UIView拥有新的指定初始化器-initWithFrame:,导致父类NSObject的指定初始化器-init退化成便利初始化器。所以当调用[[UIView alloc] init]时,-init里面必然调用了-initWithFrame:\n当存在一个新的指定初始化器的时候,推荐在方法名后面加上NS_DESIGNATED_INITIALIZER,主动告诉编译器有一个新的指定初始化器,这样就可以使用 XCode 自带的Analysis功能分析,找出初始化过程中可能存在的漏洞\n@interface MyView : UIView\n\n@property (nonatomic, strong) NSString *name;\n\n// 推荐加上NS_DESIGNATED_INITIALIZER\n- (instancetype)initWithFrame:(CGRect)frame name:(NSString *)name NS_DESIGNATED_INITIALIZER;\n\n@end\n\n\n@implementation MyView\n\n// 初始化时加入参数name,这个方法已经成为新的指定初始化器\n- (instancetype)initWithFrame:(CGRect)frame name:(NSString *)name {\n if (self = [super initWithFrame:frame]) {\n self.name = name;\n }\n return self;\n}\n\n// 旧的指定初始化器就自动退化成便利初始化器,必须在里面调用新的指定初始化器\n- (instancetype)initWithFrame:(CGRect)frame {\n return [self initWithFrame:frame name:@\"Daniels\"];\n}\n\n@end\n复制代码\n当然,一个新的类也可以不增加新的初始化方法,在 Objective-C 中,子类会直接继承父类所有的初始化方法\nSwift\n在 Swift 中,初始化器的规则严格且复杂,目的就是为了使代码更加安全,如果不符合规则,会直接报错,常常会让刚接手 Swift 或者一直对 iOS 的初始化没有深入理解的人很头疼。其实核心规则还是一样,只要理解了各个规则的含义和作用,写起来还是没有压力。\n从 iOS 初始化的核心规则展开而来,Swift 多了一些规则:\n\n初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值,否则会报错。\n在没有给所有非可选类型属性赋值(初始化完成)之前,不能调用self相关的任何东西,例如:调用实例属性,调用实例方法。\n\n不存在继承\n这种情况处理就十分简单,自己里面的init方法就是它的指定初始化器,而且可以随意创建多个它的指定初始化器。如果需要创建便利初始化器,则在方法名前面加上convenience,且在里面必须调用其他初始化器,使得最后肯定调用指定初始化器\nclass Person {\n\n var name: String\n\n var age: Int\n\n // 可以存在多个指定初始化器\n init(name: String, age: Int) {\n self.name = name;\n self.age = age;\n }\n\n // 可以存在多个指定初始化器\n init(age: Int) {\n self.name = \"Daniels\";\n self.age = age;\n }\n\n // 便利初始化器\n convenience init(name: String) {\n // 必须要调用自己的指定初始化器\n self.init(name: name, age: 18)\n // 必须在初始化完成后才能调用实例方法\n jump()\n }\n\n func jump() {\n\n }\n}\n复制代码\n存在继承\n如果子类没有新的非可选类型属性,或者保证所有非可选类型属性都已经有默认值,则可以直接继承父类的指定初始化器和便利初始化器\nclass Student: Person {\n\n var score: Double = 100\n\n}\n复制代码\n如果子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,则需要新创建一个指定初始化器,或者重写父类的指定初始化器\n\n新创建一个指定初始化器,会覆盖父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器\n重写父类的指定初始化器,需要先给当前类所有非可选类型属性赋值,然后再调用父类的指定初始化器\n在保证子类有指定初始化器,才能创建便利初始化器,且在便利初始化器里面必须调用指定初始化器\n\nclass Student: Person {\n\n var score: Double\n\n // 新的指定初始化器,如果有新的指定初始化器,就不会继承父类的所有初始化器,除非重写\n init(name: String, age: Int, score: Double) {\n self.score = score\n super.init(name: name, age: age)\n }\n\n // 重写父类的指定初始化器,如果不重写,则子类不存在这个方法\n override init(name: String, age: Int) {\n score = 100\n super.init(name: name, age: age)\n }\n\n\n // 便利初始化器\n convenience init(name: String) {\n // 必须要调用自己的指定初始化器\n self.init(name: name, age: 10, score: 100)\n }\n}\n复制代码\n需要注意的是,如果子类重写父类所有指定初始化器,则会继承父类的便利初始化器。原因也是很简单,因为父类的便利初始化器,依赖于自己的指定初始化器\nFailable Initializers\n在 Swift 中可以定义一个可失败的初始化器(Failable Initializers),表示在某些情况下会创建实例失败。\n只有在表示创建失败的时候才有返回值,并且返回值为nil。\n子类可以把父类的可失败的初始化器重写为不可失败的初始化器,但不能把父类的不可失败的初始化器重写为可失败的初始化器\nclass Animal {\n\n let name: String\n // 可失败的初始化器,如果把 ! 换成 ?,则为隐式的可失败的初始化器\n init?(name: String) {\n if name.isEmpty {\n return nil\n }\n self.name = name\n }\n}\n\nclass Dog: Animal {\n\n override init(name: String) {\n if name.isEmpty {\n super.init(name: \"旺财\")!\n } else {\n super.init(name: name)!\n }\n }\n}\n复制代码\nRequired Initializers\n在 Swift 中,可以使用required修饰初始化器,来指定子类必须实现该初始化器。需要注意的是,如果子类可以直接继承父类的指定初始化器和便利初始化器,所以也就可以不用额外实现required修饰的初始化器\n子类实现该初始化器时,也必须加上required修饰符,而不是override\nclass MyView: UIView {\n\n var name: String\n\n\n init(frame: CGRect, name: String) {\n self.name = name;\n super.init(frame: frame)\n }\n\n // 必须实现此初始化器,但由于是可失败的初始化器,所以里面可以不做具体实现\n required init?(coder: NSCoder) {\n fatalError(\"init(coder:) has not been implemented\")\n }\n}\n复制代码\n总结\niOS 的初始化最核心两条的规则:\n\n必须至少有一个指定初始化器,在指定初始化器里保证所有非可选类型属性都得到正确的初始化(有值)\n便利指定初始化器必须调用其他初始化器,使得最后肯定会调用指定初始化器\n\n展开而来的多条规则:\n\n无论在 Objective-C 还是 Swift 中,都可以有多个指定初始化器和多个便利指定初始化器。如果不是可以从多个不同的源初始化,最好只创建一个指定初始化器\n无论在 Objective-C 还是 Swift 中,都需要在便利初始化器中调用指定初始化器\n在 Objective-C 中,初始化的时候不需要保证所有属性(成员变量)都有值\n在 Objective-C 中,如果存在一个新的指定初始化器,那么原来的指定初始化器就会自动退化成便利初始化器。必须重写旧的定初始化器,在里面调用新的指定初始化器\n在 Swift 中,初始化的时候需要保证类(结构体、枚举)的所有非可选类型属性都会有值\n在 Swift 中,必须在初始化完成后才能调用实例属性,调用实例方法\n在 Swift 中,如果存在继承,并且子类有新的非可选类型属性,或者无法保证所有非可选类型属性都已经有默认值,那么就需要新创建一个指定初始化器,或者重写父类的指定初始化器,并且在里面调用父类的指定初始化器\n在 Swift 中,子类如果没有新创建一个指定初始化器,并且没有重写父类的指定初始化器,则会继承父类的指定初始化器和便利指定初始化器\n在 Swift 中,子类如果新创建一个指定初始化器,或者重写了父类的某个指定初始化器,那么就不会继承父类的指定初始化器和便利指定初始化器;但是如果重写了父类的所有指定初始化器,就会继承父类的便利初始化器\n在 Swift 中,子类可以把父类的指定初始化器重写成便利初始化器\n在 Swift 中,如果子类没有直接继承父类的指定初始化器和便利指定初始化器,则必须实现父类中required修饰的初始化器\n\n参考资料\nInitialization\n"},"Article/App 启动时间:过去,现在和未来.html":{"url":"Article/App 启动时间:过去,现在和未来.html","title":"App 启动时间:过去,现在和未来","keywords":"","body":"\n原文地址 juejin.cn\n本次 WWDC 中,苹果发布了 dyld3.0。Dyld(动态连接器)的更新对 app 的启动速度、安全性等方面有着重大影响。本文介绍了 dyld 的历史和新的 dyld 3.0 所做的优化,以及适配 dyld 3.0 时需要注意的问题。\n\n本篇相关文档和 session 有:\n\nApp Startup Time: Past, Present, and Future\n\n一、如何优化 app 的启动时长\n在本次 session 开始之前,我们需要了解这样几个术语:\n\n启动时间:本次讨论的启动时间,指的是 main() 方法调用之前的时间。\n启动闭包(launch closure):这是一个新引入的概念,指的是 app 在启动期间所需要的所有信息。比如这个 app 使用了哪些动态链接库,其中各个符号的偏移量,代码签名在哪里等等。\n\n如何减少启动时间,最重要的还是尽可能的少做事。比如:尽可能的嵌入更少的动态链接库;尽可能少引入文件、少定义方法;尽可能少执行初始化程序。\n另外,苹果还建议更多使用 Swift。Swift 在设计上能避免很多 C、C++ 和 OC 的陷阱;Swift 没有初始化过程;Swift 也不允许不对齐的结构体。这些都对启动时间的优化有一定帮助。\n在 iOS 11 和 macOS 10.13 中,苹果给 Instruments 增加了一个工具,名叫静态初始化程序跟踪器(Static Initializer Tracing),用于定为 main() 函数调用之前的启动速度瓶颈。 由于这些初始化程序是在 main() 之前调用的,以前我们很难调试它们。而现在,这个工具能提供每一个静态初始化程序的时间,帮助我们找到耗时最长部分。\n\n在 WWDC 2016 中,苹果已经介绍了从 app 启动到 main() 函数执行这之间的工作:app 开始启动后,系统首先加载可执行文件,然后加载动态链接库。动态链接库的加载速度直接影响着 app 的启动速度,而 dyld 就是专门用来加载动态链接库的库。通过回顾 dyld 的发展过程,我们可以看到苹果在 app 启动上做的一系列优化。\n二、Dyld 的历史\nDyld 1.0(1996-2004)\nDyld 1.0 装载于 NeXTStep 3.3,在 dyld 出现之前,NeXT 使用静态的二进制文件。相比于静态的二进制文件,引入动态链接库可以实现代码共用,节约内存和磁盘空间;各个动态链接库的更新变得比较容易,易于库的维护;动态链接库在构建时不需要合并到可执行文件中去,能大大缩减可执行文件的体积。\n但是值得注意的是,在 dyld 1.0 出现时,POSIX dlopen() 还没有被标准化。现在 dlopen() 确实出现在了一部分 Unix 操作系统上,但这是得益于人们在后来适配了专门的扩展程序;而 NeXTStep 开发了与 Unix 不同的扩展程序,所以在 MacOS 10 上,人们必须使用第三方的封装函数来适配标准的 Unix 软件。而问题是,它们的语义并不完全一致,所以会出现一些怪异的边界案例,并且效率很慢。\n并且,dyld 1.0 出现的时候,很多系统还没有使用大型 C++ 动态库,所以 dyld 1.0 在面对一些大型 C++ 库时,动态链接非常慢。\n在 macOS 10.0,苹果开启了一个新的功能:预绑定(prebinding),用于找到系统中每个 dylib 的固定的地址,动态连接器会尝试从这些地址中加载,如果加载成功,就会编辑这些二进制,等到下次他们被放到同样的地址上时,就不需要做任何工作了。这样能大幅优化启动速度,但这意味着二进制文件在每次启动时都被修改,在安全性和其他方面都有隐患。\n\nDyld 2.0(2004-2007)\nDyld 2.0 出现在 macOS Tiger 上,是 dyld 的一次全面重写。它拥有正确的 C++ 语法支持,能对 C++ 库进行高效支持。\nDyld 2.0 完全支持了 dlopen() / dlsym() 语法,也就是说它抛弃了旧时期的接口。Dyld 2.0 是为了效率而设计的,所以在健全性检验上有一些限制。因此它也有安全性问题,所以苹果不断的改进它以适应今天的平台。\n另外,由于 dyld 2.0 在性能有了显著提升,所以 dyld 1.0 中的预绑定被抛弃了。\n\nDyld 2.0 发布至今,苹果对它进行了不断的优化和升级,即迭代出了 dyld 2.x ,其中的优化包括:\n\n不断增加了平台和架构:dyld2 起源于 PowerPC,后来增加了 x86,x86_64,arm,arm64 等架构的支持,并且增加了 iOS,tvOS,watchOS 平台;\n从多个角度增加了安全性,增加了代码签名支持,地址空间配置随机加载(Address space layout randomization)和边界检查;\n提升了性能,因此预绑定被完全废弃了,取而代之的是 shared cache\n\n\nShared cache 是 iOS 3.1 和 macOS Snow Leopard 引入的,它完全取代了预绑定。这是一个包含了大部分系统动态库的文件,正是由于这些都被合入到了一个文件,我们可以做一些优化。比如重新组织 TEXT 段、 DATA 段和整个符号表来缩减大小。它能打包二进制段,因此能节约内存空间。实际上它是一种动态库的预链接。它预先构建了 dyld 和 ObjC 需要的数据结构,这节约了内存和时间。\n三、Dyld 3.0\n今年,苹果发布了 dyld 3.0,dyld 3 是一个全新的动态链接器,它即将成为新的 macOS 和 iOS 上大部分系统 app 的默认动态链接器,在未来也会被用于第三方 app,来完全取代 dyld 2。\n为什么苹果需要引入 dyld 3?核心的理由有三点:性能、安全性和可测试性。什么是理论上启动一个 app 所要完成的最少的任务呢?我们能有更激进的安全性检查么?我们能让 dyld 更便于测试么?这些是苹果一直在思考的问题,也是 dyld 的改革方向。 那么应该如何做到以上这些呢?\n\n尽可能将复杂操作放到进程以外:如果 dyld 中的大部分只是一个常规的 daemon 进程,用标准化的测试工具就可以测试。\n让进程中的需要执行的动态链接操作尽可能少:这样可以减少 app 中能被攻击的部分,并且能提升 app 的启动速度。\n\n在介绍 dyld 3 之前,首先我们来回顾一下 dyld 2 是如何启动一个 app 的:\n\n解析 mach-o 文件,找到其依赖的库,并且递归的找到所有依赖的库,形成一张动态库的依赖图。iOS 上的大部分 app 都依赖 300 到 600 个动态链接库,所以这个步骤包含了较大的工作量。\n匹配 mach-o 文件到自身的地址空间\n进行符号查找:比如 app 中调用了 printf 方法,就需要去系统库中查找到 printf 的地址,然后将地址拷贝到 app 中的函数指针中\n绑定和变基:由于 app 需要让地址空间配置随机加载,所以所有的指针都需要加上一个基地址\n运行初始化程序,之后运行 main() 函数\n\n\n那么这些步骤在性能、安全性和可测试性上应该如何被优化呢?苹果提出了这样两点思路:\n\n识别安全性敏感的组件:解析 mach-o 文件并寻找依赖是安全性敏感的,因为恶意篡改的 mach-o 头部可以进行某些攻击,如果一个 app 使用了 @rpath,那么恶意修改路径或者将一些库插入到特定的地方,攻击者就可以毁坏 app。所以这部分工作需要被搬到进程外来完成,比如搬到一个 daemon 进程中。\n识别可以被缓存的部分:符号查找就是其中一个,因为在一个特定的库中,除非软件更新或者这个库被改变,不然每个符号都应该有固定的偏移量。\n\n以上两点思路也是 dyld 3.0 的优化思路。在 dyld 3.0 中,mach-o 头部解析和符号查找工作完成后,这些执行结果会被作为 “启动闭包(launch closure)” 写入硬盘。\n\n所以我们可以认为 dyld 3.0 是 3 个组件的结合:\n\n一个进程外的 MachO 解析器 / 编译器:它处理了所有可能影响启动速度的 search path,@rpaths 和环境变量;它解析 mach-o 二进制文件,并且完成了所有符号查找的工作;最后它将这些工作的结果创建成了启动闭包。这是一个普通的 daemon 进程,可以使用通常的测试架构。\n一个进程内的引擎,来运行启动闭包:它所做的一切是验证启动闭包,将动态链接库映射出去,然后跳转到 main() 函数中。它不需要解析 mach-o 头部,也不需要做符号查找。\n一个启动闭包缓存服务:系统 app 的启动闭包被构建在一个 shared cache 中,我们甚至不需要打开一个单独的文件;对于第三方 app,我们会在 app 安装或者系统升级的时候构建这个启动闭包。在 iOS,tvOS,watchOS 中,一切都是在 app 启动之前做完的。在 macOS 上,由于有 sideload app,进程内引擎会在首次启动时启动一个 daemon,之后就可以使用启动闭包了。总之大部分情景下,这些工作都在 app 启动之前完成了。\n\n大部分的启动场景都不需要调用这个进程外的 mach-o 解析器。而启动闭包又比 MachO 简单很多,因为它是一个内存映射文件,解析和验证都非常简单,并且经过了良好的性能优化。所以 dyld 3.0 的引入,能让 app 的启动速度得到明显提升。\n从今年开始,系统 app 就将使用 dyld 3.0 了,未来第三方 app 也将会使用 dyld 3,最终 dyld 3 将全面取代 dyld 2。\n四、潜在问题和适配方案\nDyld 3 完全兼容 dyld 2.x,但在一些特殊场景下也可能会有一些潜在问题。在适配时我们需要注意以下几点:\n部分接口的性能\n由于 dyld 3 需要完全兼容 dyld 2.x,所以有些现存接口会进入降级模式,这些接口的执行效率将会特别慢。所以在使用时,我们需要注意避免这样的接口。另外,有些针对于 2.x 的优化将不再起作用。\n更严格的链接语法\n在一些边界条件下,某一些操作的行为在今天看来其实是不正确的,苹果收集了这些案例并且在 dyld 3 中对这些操作进行了改进。这就可能导致 dyld 3 中某些行为的结果和 dyld 2 中不符。苹果对旧的二进制做了一些兼容,但是链接器将会禁止新的二进制使用这些方案,所以可能会出现链接错误。\n需要修正不对齐指针\n如果有一个全局的结构体,它指向一个函数或者另一个全局结构体,那么为了更好的运行性能这个指针必须和系统字长对齐。如果出于某些特殊原因,第三方程序员必须使用 attributes 来强行指定对齐方式,那么系统会在 app 启动时矫正这些不对齐的指针,但矫正是一个复杂的工作。所以静态链接器会产生一个 warning,建议程序员自行修正不对齐的指针。不过 Swift 代码不存在这个问题。\n\n需要解决符号缺失问题\n由于符号解析的开销很大,dyld 2 默认采取的是懒惰的符号解析(lazy symbol resolution)策略。也就是说在二进制文件中,printf 并不指向真正的 printf 函数的地址,首次访问 printf 的时候,其实是访问了 dyld 中的一个方法,这个方法会返回 printf 的函数地址。从第二次访问 printf 开始,app 才会直接访问 printf 函数。\n但是引入了 dyld 3.0 之后,在 app 启动之前,符号解析的结果已经在启动闭包内了,所以 “懒惰的符号解析” 策略也不再被需要。这时,如果有符号缺失的情况,app 的行为也将和 dyld 2.0 时期不同:dyld 2 中,首次调用缺失符号时 app 会 crash;而 dyld 3.0 中,缺失符号会导致 app 一启动就会 crash。\n为了防止切换到 dyld 3.0 时缺失符号造成 app 的启动 crash,苹果提供了一个链接器标志-bind_at_link,在 dyld 2.x 的环境下不做懒惰符号解析,来帮助第三方程序员及时发现符号缺失的问题。当然,由于-bind_at_link会降低 app 的性能,所以这个链接器标志应该只在 DEBUG 模式下使用。\n\n抛弃 dlopen() / dlsym() / dladdr()\n尽可能的不要使用 dlopen() / dlsym() / dladdr() 方法,这些方法在 dyld 3 环境下,性能开销变得更大。\n抛弃 dlclose()\ndlclose() 的名字和它实际的功能是不相符的,在苹果的平台上,它代表的意思其实是 dlrelease,它可能并不会真的关闭 dylib。并且,苹果的平台有一些防止 dylib 卸载的机制,比如如果 dylib 中有 OC 类或者 Swift 类,dylib 就不会卸载;或者如果 dylib 中有 C 的 thread 和 C++ 的 thread_local 变量,dylib 也不会卸载。所以在 macOS 之外的平台,dlclose() 都应该被认为是一个无效的方法。\n抛弃 all_image_infos\nall_image_infos 接口起源于 dyld 1,如果我们有 300、400 个动态链接库,这个方法会浪费大量内存。所以苹果预计在未来的版本中废弃这个方法,同时苹果将会提供相应的替代接口。\n适配方案的最佳实践\n总结一下上述的适配方案,对于第三方程序员来说,我们在编码时应该做到以下几点:\n\n在 DEBUG 模式下,将 -bind_at_load 被添加链接标志符中\n参考静态链接器的警告,修复所有不对齐的指针\n抛弃依赖 dlclose() 方法\n如果必须使用,那么请让苹果知道你为什么需要使用 dlopen()、dlsym()、dladdr()、all_image_infos。\n\nDyld 3 的出现,改变了动态链接的流程,相信 dyld 3 能对 app 的启动速度带来明显优化。但是目前只有系统 app 可以使用 dyld 3,第三方 app 开放使用 dyld 3 预计还得等待一些时日。\n虽然 dyld 3 与 dyld 2 完全兼容,但在一些极端用例下,从 dyld 2 切换到 dyld 3 可能还是会有一些问题,所以各个第三方 app 的开发者也应该对适配有所留意,按照苹果提供的建议进行检查。\n"},"Article/iOSUIResponderChain.html":{"url":"Article/iOSUIResponderChain.html","title":"iOS事件处理,看我就够了~","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 juejin.cn\n\n\nUIResponder\nUIResponder是 iOS 中用于处理用户事件的 API,可以处理触摸事件、按压事件(3D touch)、远程控制事件、硬件运动事件。 可以通过touchesBegan、pressesBegan、motionBegan、remoteControlReceivedWithEvent等方法,获取到对应的回调消息。UIResponder不只用来接收事件,还可以处理和传递对应的事件,如果当前响应者不能处理,则转发给其他合适的响应者处理。\n应用程序通过响应者来接收和处理事件,响应者可以是继承自UIResponder的任何子类,例如UIView、UIViewController、UIApplication等。当事件来到时,系统会将事件传递给合适的响应者,并且将其成为第一响应者。\n第一响应者未处理的事件,将会在响应者链中进行传递,传递规则由UIResponder的nextResponder决定,可以通过重写该属性来决定传递规则。当一个事件到来时,第一响应者没有接收消息,则顺着响应者链向后传递。\n查找第一响应者\n基础 API\n查找第一响应者时,有两个非常关键的API,查找第一响应者就是通过不断调用子视图的这两个API完成的。\n调用方法,获取到被点击的视图,也就是第一响应者。\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;\n复制代码\nhitTest:withEvent:方法内部会通过调用这个方法,来判断点击区域是否在视图上,是则返回YES,不是则返回NO。\n- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;\n复制代码\n查找第一响应者\n应用程序接收到事件后,将事件交给keyWindow并转发给根视图,根视图按照视图层级逐级遍历子视图,并且遍历的过程中不断判断视图范围,并最终找到第一响应者。\n从keyWindow开始,向前逐级遍历子视图,不断调用UIView的hitTest:withEvent:方法,通过该方法查找在点击区域中的视图后,并继续调用返回视图的子视图的hitTest:withEvent:方法,以此类推。如果子视图不在点击区域或没有子视图,则当前视图就是第一响应者。\n在hitTest:withEvent:方法中,会从上到下遍历子视图,并调用subViews的pointInside:withEvent:方法,来找到点击区域内且最上面的子视图。如果找到子视图则调用其hitTest:withEvent:方法,并继续执行这个流程,以此类推。如果子视图不在点击区域内,则忽略这个视图及其子视图,继续遍历其他视图。\n可以通过重写对应的方法,控制这个遍历过程。通过重写pointInside:withEvent:方法,来做自己的判断并返回YES或NO,返回点击区域是否在视图上。通过重写hitTest:withEvent:方法,返回被点击的视图。\n此方法在遍历视图时,忽略以下三种情况的视图,如果视图具有以下特征则忽略。但是视图的背景颜色是clearColor,并不在忽略范围内。\n\n视图的hidden等于 YES。\n视图的alpha小于等于 0.01。\n视图的userInteractionEnabled为 NO。\n\n如果点击事件是发生在视图外,但在其子视图内部,子视图也不能接收事件并成为第一响应者。这是因为在其父视图进行hitTest:withEvent:的过程中,就会将其忽略掉。\n事件传递\n传递过程\n\nUIApplication接收到事件,将事件传递给keyWindow。\nkeyWindow遍历subViews的hitTest:withEvent:方法,找到点击区域内合适的视图来处理事件。\nUIView的子视图也会遍历其subViews的hitTest:withEvent:方法,以此类推。\n直到找到点击区域内,且处于最上方的视图,将视图逐步返回给UIApplication。\n在查找第一响应者的过程中,已经形成了一个响应者链。\n应用程序会先调用第一响应者处理事件。\n如果第一响应者不能处理事件,则调用其nextResponder方法,一直找响应者链中能处理该事件的对象。\n最后到UIApplication后仍然没有能处理该事件的对象,则该事件被废弃。\n\n模拟代码\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {\n if (self.alpha = 0; i--) {\n UIView *subView = subViews[i];\n CGPoint insidePoint = [self convertPoint:point toView:subView];\n UIView *hitView = [subView hitTest:insidePoint withEvent:event];\n if (hitView) {\n return hitView;\n }\n }\n return self;\n }\n return nil;\n}\n复制代码\n示例\n\n如上图所示,响应者链如下:\n\n如果点击UITextField后其会成为第一响应者。\n如果textField未处理事件,则会将事件传递给下一级响应者链,也就是其父视图。\n父视图未处理事件则继续向下传递,也就是UIViewController的View。\n如果控制器的View未处理事件,则会交给控制器处理。\n控制器未处理则会交给UIWindow。\n然后会交给UIApplication。\n最后交给UIApplicationDelegate,如果其未处理则丢弃事件。\n\n事件通过UITouch进行传递,在事件到来时,第一响应者会分配对应的UITouch,UITouch会一直跟随着第一响应者,并且根据当前事件的变化UITouch也会变化,当事件结束后则UITouch被释放。\nUIViewController没有hitTest:withEvent:方法,所以控制器不参与查找响应视图的过程。但是控制器在响应者链中,如果控制器的View不处理事件,会交给控制器来处理。控制器不处理的话,再交给View的下一级响应者处理。\n注意\n\n在执行hitTest:withEvent:方法时,如果该视图是hidden等于 NO 的那三种被忽略的情况,则改视图返回nil。\n如果当前视图在响应者链中,但其没有处理事件,则不考虑其兄弟视图,即使其兄弟视图和其都在点击范围内。\nUIImageView的userInteractionEnabled默认为 NO,如果想要UIImageView响应交互事件,将属性设置为 YES 即可响应事件。\n\n事件控制\n事件拦截\n有时候想让指定视图来响应事件,不再向其子视图继续传递事件,可以通过重写hitTest:withEvent:方法。在执行到方法后,直接将该视图返回,而不再继续遍历子视图,这样响应者链的终端就是当前视图。\n- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {\n return self;\n}\n复制代码\n事件转发\n在开发过程中,经常会遇到子视图显示范围超出父视图的情况,这时候可以重写该视图的pointInside:withEvent:方法,将点击区域扩大到能够覆盖所有子视图。\n\n假设有上面的视图结构,SuperView的Subview超出了其视图范围,如果点击Subview在父视图外面的部分,则不能响应事件。所以通过重写pointInside:withEvent:方法,将响应区域扩大为虚线区域,包含SuperView的所有子视图,即可让子视图响应事件。\n事件逐级传递\n如果想让响应者链中,每一级UIResponder都可以响应事件,可以在每级UIResponder中都实现touches并调用super方法,即可实现响应者链事件逐级传递。\n只不过这并不包含UIControl子类以及UIGestureRecognizer的子类,这两类会直接打断响应者链。\nGesture Recognizer\n如果有事件到来时,视图有附加的手势识别器,则手势识别器优先处理事件。如果手势识别器没有处理事件,则将事件交给视图处理,视图如果未处理则顺着响应者链继续向后传递。\n\n当响应者链和手势同时出现时,也就是既实现了touches方法又添加了手势,会发现touches方法有时会失效,这是因为手势的执行优先级是高于响应者链的。\n事件到来后先会执行hitTest和pointInside操作,通过这两个方法找到第一响应者,这个在上面已经详细讲过了。当找到第一响应者并将其返回给UIApplication后,UIApplication会向第一响应者派发事件,并且遍历整个响应者链。如果响应者链中能够处理当前事件的手势,则将事件交给手势处理,并调用touches的cancelled方法将响应者链取消。\n在UIApplication向第一响应者派发事件,并且遍历响应者链查找手势时,会开始执行响应者链中的touches系列方法。会先执行touchesBegan和touchesMoved方法,如果响应者链能够继续响应事件,则执行touchesEnded方法表示事件完成,如果将事件交给手势处理则调用touchesCancelled方法将响应者链打断。\n根据苹果的官方文档,手势不参与响应者链传递事件,但是也通过hitTest的方式查找响应的视图,手势和响应者链一样都需要通过hitTest方法来确定响应者链的。在UIApplication向响应者链派发消息时,只要响应者链中存在能够处理事件的手势,则手势响应事件,如果手势不在响应者链中则不能处理事件。\nApple UIGestureRecognizer Documentation\nUIControl\n根据上面的手势和响应者链的处理规则,我们会发现UIButton或者UISlider等控件,并不符合这个处理规则。UIButton可以在其父视图已经添加tapGestureRecognizer的情况下,依然正常响应事件,并且tap手势不响应。\n\n以UIButton为例,UIButton也是通过hitTest的方式查找第一响应者的。区别在于,如果UIButton是第一响应者,则直接由UIApplication派发事件,不通过Responder Chain派发。如果其不能处理事件,则交给手势处理或响应者链传递。\n不只UIButton是直接由UIApplication派发事件的,所有继承自UIControl的类,都是由UIApplication直接派发事件的。\nApple UIControl Documentation\n事件传递优先级\n测试\n为了有依据的推断响应事件的实现和传递机制,我们做以下测试。\n示例 1\n\n假设RootView、SuperView、Button都实现touches方法,并且Button添加buttonAction:的action,点击button后的调用如下。\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\nButton -> hitTest:withEvent:\nButton -> pointInside:withEvent:\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\n\nButton -> touchesBegan:withEvent:\nButton -> touchesEnded:withEvent:\nButton -> buttonAction:\n复制代码\n示例 2\n还是上面的视图结构,我们给RootView加上UITapGestureRecognizer手势,并且通过tapAction:方法接收回调,点击上面的SuperView后,方法调用如下。\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\nButton -> hitTest:withEvent:\nButton -> pointInside:withEvent:\nRootView -> hitTest:withEvent:\nRootView -> pointInside:withEvent:\n\nRootView -> gestureRecognizer:shouldReceivePress:\nRootView -> gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:\nSuperView -> touchesBegan:withEvent:\nRootView -> gestureRecognizerShouldBegin:\nRootView -> tapAction:\nSuperView -> touchesCancelled:\n复制代码\n示例 3\n\n上面的视图中Subview1、Subview2、Subview3是同级视图,都是SuperView的子视图。我们给Subview1加上UITapGestureRecognizer手势,并且通过subView1Action:方法接收回调,点击上面的Subview3后,方法调用如下。\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\nSubview3 -> hitTest:withEvent:\nSubview3 -> pointInside:withEvent:\nSuperView -> hitTest:withEvent:\nSuperView -> pointInside:withEvent:\n\nSubview3 -> touchesBegan:withEvent:\nSubview3 -> touchesEnded:withEvent:\n复制代码\n通过上面的例子来看,虽然Subview1在Subview3的下面,并且添加了手势,点击区域是在Subview1和Subview3两个视图上的。但是由于经过hitTest和pointInside之后,响应者链中并没有Subview1,所以Subview1的手势并没有被响应。\n分析\n根据我们上面的测试,推断 iOS 响应事件的优先级,以及整体的响应逻辑。\n当事件到来时,会通过hitTest和pointInside两个方法,从Window开始向上面的视图查找,找到第一响应者的视图。找到第一响应者后,系统会判断其是继承自UIControl还是UIResponder,如果是继承自UIControl,则直接通过UIApplication直接向其派发消息,并且不再向响应者链派发消息。\n如果是继承自UIResponder的类,则调用第一响应者的touchesBegin,并且不会立即执行touchesEnded,而是调用之后顺着响应者链向后查找。如果在查找过程中,发现响应者链中有的视图添加了手势,则进入手势的代理方法中,如果代理方法返回可以响应这个事件,则将第一响应者的事件取消,并调用其touchesCanceled方法,然后由手势来响应事件。\n如果手势不能处理事件,则交给第一响应者来处理。如果第一响应者也不能响应事件,则顺着响应者链继续向后查找,直到找到能够处理事件的UIResponder对象。如果找到UIApplication还没有对象响应事件的话,则将这次事件丢弃。\n接收事件深度剖析\n在UIApplication接收到响应事件之前,还有更复杂的系统级的处理,处理流程大致如下。\n\n系统通过IOKit.framework来处理硬件操作,其中屏幕处理也通过IOKit完成 (IOKit可能是注册监听了屏幕输出的端口)\n\n当用户操作屏幕,IOKit收到屏幕操作,会将这次操作封装为IOHIDEvent对象。通过mach port(IPC 进程间通信) 将事件转发给SpringBoard来处理。\n\nSpringBoard是 iOS 系统的桌面程序。SpringBoard收到mach port发过来的事件,唤醒main runloop来处理。\n\nmain runloop将事件交给source1处理,source1会调用__IOHIDEventSystemClientQueueCallback()函数。\n\n函数内部会判断,是否有程序在前台显示,如果有则通过mach port将IOHIDEvent事件转发给这个程序。\n\n如果前台没有程序在显示,则表明SpringBoard的桌面程序在前台显示,也就是用户在桌面进行了操作。 __IOHIDEventSystemClientQueueCallback()函数会将事件交给source0处理,source0会调用__UIApplicationHandleEventQueue()函数,函数内部会做具体的处理操作。\n\n例如用户点击了某个应用程序的 icon,会将这个程序启动。\n\n应用程序接收到SpringBoard传来的消息,会唤醒main runloop并将这个消息交给source1处理,source1调用__IOHIDEventSystemClientQueueCallback()函数,在函数内部会将事件交给source0处理,并调用source0的__UIApplicationHandleEventQueue()函数。 在__UIApplicationHandleEventQueue()函数中,会将传递过来的IOHIDEvent转换为UIEvent对象。\n\n在函数内部,调用UIApplication的sendEvent:方法,将UIEvent传递给第一响应者或UIControl对象处理,在UIEvent内部包含若干个UITouch对象。\n\nTips\nsource1是runloop用来处理mach port传来的系统事件的,source0是用来处理用户事件的。 source1收到系统事件后,都会调用source0的函数,所以最终这些事件都是由source0处理的。\n小技巧\n在开发中,有时会有找到当前View对应的控制器的需求,这时候就可以利用我们上面所学,根据响应者链来找到最近的控制器。\n在UIResponder中提供了nextResponder方法,通过这个方法可以找到当前响应环节的上一级响应对象。可以从当前UIView开始不断调用nextResponder,查找上一级响应者链的对象,就可以找到离自己最近的UIViewController。\n示例代码:\n- (UIViewController *)parentController {\n UIResponder *responder = [self nextResponder];\n while (responder) {\n if ([responder isKindOfClass:[UIViewController class]]) {\n return (UIViewController *)responder;\n }\n responder = [responder nextResponder];\n }\n return nil;\n}\n复制代码\n"},"Article/iOS 代码瘦身实践_ 删除无用的类.html":{"url":"Article/iOS 代码瘦身实践_ 删除无用的类.html","title":"iOS 代码瘦身实践_ 删除无用的类","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 juejin.cn\n\n本文将提供一种静态分析的方式,用于查找可执行文件 Mach-o 中未使用的类,源码链接:xuezhulian/classunref。\nMach-o文件中__DATA __objc_classrefs段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的地址,取差集可以得到未使用的类的地址,然后进行符号化,就可以得到未被引用的类信息。\n引用类地址\n可以通过 Mac 自带的工具otool打印Mach-o中的段信息,需要注意的是模拟器和真机对应的可执行文件,数据的存储方式不同需要加以区分。 可以通过file命令获取到arch。\n#binary_file_arch: distinguish Big-Endian and Little-Endian\n#file -b output example: Mach-O 64-bit executable arm64\nbinary_file_arch = os.popen('file -b ' + path).read().split(' ')[-1].strip()\n复制代码\n在取类地址的时候区分x86_64和arm。\ndef pointers_from_binary(line, binary_file_arch):\n line = line[16:].strip().split(' ')\n pointers = set()\n if binary_file_arch == 'x86_64':\n #untreated line example:00000001030cec80 d8 75 15 03 01 00 00 00 68 77 15 03 01 00 00 00\n pointers.add(''.join(line[4:8][::-1] + line[0:4][::-1]))\n pointers.add(''.join(line[12:16][::-1] + line[8:12][::-1]))\n return pointers\n #arm64 confirmed,armv7 arm7s unconfirmed\n if binary_file_arch.startswith('arm'):\n #untreated line example:00000001030bcd20 03138580 00000001 03138878 00000001\n pointers.add(line[1] + line[0])\n pointers.add(line[3] + line[2])\n return pointers\n return None\n复制代码\n通过otool -v -s __DATA __objc_classrefs获取到引用类的地址。\ndef class_ref_pointers(path, binary_file_arch):\n ref_pointers = set()\n lines = os.popen('/usr/bin/otool -v -s __DATA __objc_classrefs %s' % path).readlines()\n for line in lines:\n pointers = pointers_from_binary(line, binary_file_arch)\n ref_pointers = ref_pointers.union(pointers)\n return ref_pointers\n复制代码\n所有类地址\n通过otool -v -s __DATA __objc_classlist获取所有类的地址。\ndef class_list_pointers(path, binary_file_arch):\n list_pointers = set()\n lines = os.popen('/usr/bin/otool -v -s __DATA __objc_classlist %s' % path).readlines()\n for line in lines:\n pointers = pointers_from_binary(line, binary_file_arch)\n list_pointers = list_pointers.union(pointers)\n return list_pointers\n复制代码\n取差集\n用所有类信息减去引用类的信息,此时我们可以拿到未使用类的地址信息。\nunref_pointers = class_list_pointers(path, binary_file_arch) - class_ref_pointers(path, binary_file_arch)\n复制代码\n符号化\n通过nm -nm命令可以得到地址和对应的类名字。\ndef class_symbols(path):\n symbols = {}\n #class symbol format from nm: 0000000103113f68 (__DATA,__objc_data) external _OBJC_CLASS_$_EpisodeStatusDetailItemView\n re_class_name = re.compile('(\\w{16}) .* _OBJC_CLASS_\\$_(.+)')\n lines = os.popen('nm -nm %s' % path).readlines()\n for line in lines:\n result = re_class_name.findall(line)\n if result:\n (address, symbol) = result[0]\n symbols[address] = symbol\n return symbols\n复制代码\n过滤\n在实际分析的过程中发现,如果一个类的子类被实例化,父类未被实例化,此时父类不会出现在__objc_classrefs这个段里,在未使用的类中需要将这一部分父类过滤出去。使用otool -oV可以获取到类的继承关系。\ndef filter_super_class(unref_symbols):\n re_subclass_name = re.compile(\"\\w{16} 0x\\w{9} _OBJC_CLASS_\\$_(.+)\")\n re_superclass_name = re.compile(\"\\s*superclass 0x\\w{9} _OBJC_CLASS_\\$_(.+)\")\n #subclass example: 0000000102bd8070 0x103113f68 _OBJC_CLASS_$_TTEpisodeStatusDetailItemView\n #superclass example: superclass 0x10313bb80 _OBJC_CLASS_$_TTBaseControl\n lines = os.popen(\"/usr/bin/otool -oV %s\" % path).readlines()\n subclass_name = \"\"\n superclass_name = \"\"\n for line in lines:\n subclass_match_result = re_subclass_name.findall(line)\n if subclass_match_result:\n subclass_name = subclass_match_result[0]\n superclass_match_result = re_superclass_name.findall(line)\n if superclass_match_result:\n superclass_name = superclass_match_result[0]\n\n if len(subclass_name) > 0 and len(superclass_name) > 0:\n if superclass_name in unref_symbols and subclass_name not in unref_symbols:\n unref_symbols.remove(superclass_name)\n superclass_name = \"\"\n subclass_name = \"\"\n return unref_symbols\n复制代码\n为了防止一些三方库的误伤,还可以去过滤一些前缀,或者是是仅保留带有某些前缀的类。\nfor unref_pointer in unref_pointers:\n if unref_pointer in symbols:\n unref_symbol = symbols[unref_pointer]\n if len(reserved_prefix) > 0 and not unref_symbol.startswith(reserved_prefix):\n continue\n if len(filter_prefix) > 0 and unref_symbol.startswith(filter_prefix):\n continue\n unref_symbols.add(unref_symbol)\n复制代码\n最终结果保存在脚本目录下。\nscript_path = sys.path[0].strip()\nf = open(script_path+\"/result.txt\",\"w\")\nf.write( \"unref class number: %d\\n\" % len(unref_symbles))\nf.write(\"\\n\")\nfor unref_symble in unref_symbles:\n f.write(unref_symble+\"\\n\")\nf.close()\n复制代码\n这个思路在一定程度上能够减少代码的冗余,减小包的体积。因为是静态分析,不能包括动态调用的情况,对于需要删除的类需要进一步的确认。\n"},"Article/iOSLaunchScreenBug.html":{"url":"Article/iOSLaunchScreenBug.html","title":"深夜暗坑 - iOS启动图异常修复方案","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com\n\n作者:shishu\n审核:gj,zsb,gbn,zjz\n引言\n你是否也碰到了启动图不更新、未加载等异常问题,今天就给大家带来一个终极解决方案。\nDemo 地址:https://github.com/iversonxh/DynamicLaunchImage\n效果图: \n\n一、背景和问题\niOS 启动图相信大家都非常熟悉,版本迭代中不免会遇到更换启动图的需求,本以为这是件很简单的事情,但实际操作时却遇到了各种毫无头绪的异常问题,如启动图不更新、启动图未成功渲染等。\n苹果曾在 2019 年 WWDC 上宣布自 2020 年 4 月起,提交审核的应用都必须使用 storyboard 来配置启动图。而步入 2020 年以来,苹果也多次发布公告要求更换启动图配置方式:\n\n具体可点击链接查看:https://developer.apple.com/news/?id=03262020b\n在此背景下,百度 App 随即开展了相关的更换工作,具体的LaunchScreen.storyboard配置方式不再赘述,我们直接说配置后出现的问题:\n\n启动图未渲染成功,表现为每次启动均为白屏,并且线上也有复现,这是我们遇到的主要问题(该问题我们在某些知名 App 上也有复现);\n\n启动图未能更新,启动后仍展示旧启动图,这个问题相信有不少同学遇到。\n\n\n二、问题分析定位\n首先我们怀疑是配置方式有误、编译缓存等导致的问题,所以针对这些猜测我们做了以下测试:\n\n不同系统、不同机型测试,均有复现,排除该问题只发生在特定机型或系统上;\n\n清空编译缓存,仍旧复现,故排除编译缓存问题;\n\n给imageView添加背景色,启动时正常显示imageView的背景色,但图片内容未显示,故排除了布局问题;\n\n将图片从Assets中迁移至工程根目录下,出现空白启动图概率降低,但仍会偶现;\n\n修改图片名,前几次正常,之后依旧偶现;\n\n卸载应用重新安装,大概率恢复正常,仍复现;\n\n将LaunchScreen.storyboard文件复制到新建的空工程中,仍复现,此时猜测为系统缓存问题;\n\n……\n\n\n经过一系列的测试,我们排除了人为因素、编译问题等可能出现问题的点,最终认定是系统问题导致。\n接着我们想到当启动图出现问题时,系统是否会有一些辅助信息输出呢?果然通过 Mac 控制台应用,虽然没有找到明显的异常信息输出,但是我们从中发现了关于启动图生成的关键信息(以下测试基于iOS13系统,不同系统上表现存在差异)。\n\n我们创建一个空工程,设备方向默认不更改,配置好启动图: \n\n\n在【Edit Scheme】-【``Run】-【Launch】,将其设置为【Wait for the executable to be launched】,接着运行工程,在控制台应用中搜索 SpringBoard 找到如下信息: \n\n从日志中我们了解到,应用安装后,SpringBoard 异步发起截图请求,接着由 SplashBoard.framework 生成截图,最后写入磁盘。\nDemo 中共生成四张截图,分别为对应着浅色主题下竖屏启动图、浅色主题下横屏启动图、深色主题下竖屏启动图、深色主题下横屏启动图,竖 / 横屏截图是否生成由 info.plist 中所支持的设备方向决定。如果在 info.plist 中未勾选任何方向,那么系统会输出 “无法生成启动图,因为当前应用不支持任何有效的方向”,此种情况下系统生成启动图时机为首次启动应用时,大家可以自行实验下。 \n\n相信大家也注意到上图红框中的写入路径(路径较长截图中未能完全显示),查看完整输出如下:\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/573E7FE9-8A15-4E84-A562-F8C4A62EAFBC/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/1FFD332B-EBA0-40C9-8EEE-BEC9AEF7C41A@3x.ktx\n\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/573E7FE9-8A15-4E84-A562-F8C4A62EAFBC/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/96920D11-6312-4D69-BBDB-AFBB52DBDDB3@3x.ktx\n\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/02CCE9FD-5F65-43F4-9D72-A5E0BA0C047E/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/98F7B5B1-5B3B-478B-93A8-ED3DE6492AD1@3x.ktx\n[baidu.TestLaunchScreen] Snapshot data for written to file: /private/var/mobile/Containers/Data/Application/573E7FE9-8A15-4E84-A562-F8C4A62EAFBC/Library/SplashBoard/Snapshots/baidu.TestLaunchScreen - {DEFAULT GROUP}/D9D48845-8565-42CE-A834-479CC9CC8BAD@3x.ktx\n\n\n此时看到写入路径正是我们所熟知的沙盒目录,接着我们将应用沙盒目录导出,查看Library目录结构如下:\n├── Caches\n├── Preferences\n└── SplashBoard\n └── Snapshots\n └── baidu.TestLaunchScreen\\ -\\ {DEFAULT\\ GROUP}\n ├── 1FFD332B-EBA0-40C9-8EEE-BEC9AEF7C41A@3x.ktx\n ├── 96920D11-6312-4D69-BBDB-AFBB52DBDDB3@3x.ktx\n ├── 98F7B5B1-5B3B-478B-93A8-ED3DE6492AD1@3x.ktx\n └── D9D48845-8565-42CE-A834-479CC9CC8BAD@3x.ktx\n\n果然,按照控制台中所输出的路径,我们找到了系统生成的启动图文件,其格式为 KTX。\n缓存启动图的文件名具有规则,但其规则我们不得而知。\n\n接着我们点击应用图标启动应用,再次观察控制台应用中输出:\n如图可知,点击应用图标后,SpringBoard找到了一个可用的启动图,无需预热SplashBoard,直接使用可用的启动图。\n\n由以上分析我们知道系统启动应用时会检查当前是否有可用的启动图,所以我们猜想如果当前没有可用的启动图,那么应该会迫使系统重新生成。为此我们清空了缓存启动图,再次冷启应用,果然验证了我们的猜想:\n上图中大致流程为,检测到无可用缓存启动图,预热 SplashBoard,生成新的启动图,并缓存至沙盒目录,而我们在沙盒目录中也找到了新生成的启动图文件。\n\n\n根据以上的分析结果,我们知道应用启动时加载启动图的大致流程:\n\n查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;\n\n根据 LaunchScreen.storyboard 生成新的启动图,并将其缓存至沙盒目录 / Library/SplashBoard/Snapshots/ - {DEFAULT GROUP}/。\n\n\n但系统是如何生成的,调用了什么样的 API,我们无法得知,并且其生成时机也早于我们应用代码可控制时机,也就意味着我们无法控制系统生成启动图的行为,换句话说就是即使我们的 storyboard 文件配置无误,但启动图出现异常可能是无法避免的,所以我们的想法是既然无法从根源上避免启动图异常问题,那么我们是否能够提供补救措施,让其自动恢复正常,下次冷启就显示我们期望的启动图,这样不至于一旦出现异常后后续冷启都异常,对于用户来说也可接受。\n所以接下来我们做了一些尝试来验证是否能够修复我们所遇到的问题:\n\n清空启动图缓存目录,迫使系统重新生成启动图文件,但仍出现白屏问题,方案无效;\n\n是否可以我们自己生成启动图放至缓存目录,让系统认为存在可用的缓存启动图:a. 清空缓存目录,直接放入随意命名的图片,验证无效,系统会在应用下次启动时或应用挂起时,根据应用支持的界面方向及设备当前的方向重新生成对应的启动图;b. 替换缓存启动图文件,即保证该目录下所有子文件名不变,但文件内容全部替换,验证方案有效:替换后冷启效果: \n\n\n接着我们又做了多次测试,得出了以下结论:\n\na. 替换的图片名需与对应的缓存图完全一致,包括文件扩展名,但实际其内容格式可以为 PNG或JPEG。b. 替换的图片大小需与当前屏幕大小一致(图片宽高等于屏幕宽高或高宽),如果不一致,系统会重新生成缓存启动图。\n\n\n\n经过深度调研及不断地分析测试,我们终于得出一个可行方案,那就是替换系统生成的缓存启动图。\n三、解决方案\n最终我们决定直接摒弃系统缓存的启动图,完全替换为我们自己生成的启动图。\n即用户安装应用后,系统会自动生成启动图并缓存至沙盒目录,接着用户启动应用时,我们通过代码将沙盒目录下缓存的启动图文件全部替换为我们通过代码生成的启动图。\n3.1 生成启动图\n对 LaunchScreen.storyboard 的初始视图控制器进行截图,参考以下代码:\nNSString *launchScreenName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@\"UILaunchStoryboardName\"];\nUIStoryboard *storyboard = [UIStoryboard storyboardWithName:launchScreenName bundle:nil];\nUIViewController *vc = storyboard.instantiateInitialViewController;\nUIGraphicsBeginImageContextWithOptions([UIScreen mainScreen].bounds.size, NO, [UIScreen mainScreen].scale);\n[vc.view.layer renderInContext:UIGraphicsGetCurrentContext()];\nUIImage *image = UIGraphicsGetImageFromCurrentImageContext();\n\n3.2 替换启动图\n前面提到替换图片时,需保持缓存目录下文件名不变,所以这里最简单的办法就是遍历缓存目录下的文件名,接着以这些文件名直接写入替换的图片。\n然而当我们按照以上方案初步开发完成,进行多系统验证时,遇到了一个棘手的问题,测试发现方案在iOS10.0及以上工作正常替换成功,但是在iOS9.x及以下系统方案无效。通过断点调试发现调用NSFileManager接口获取缓存目录下的文件名列表为空,再通过观察控制台应用中的输出,发现根本原因是无读取权限:\n\nSandbox: TestLaunchScreen(403) deny(1) file-read-data /private/var/mobile/Containers/Data/Application/E7CB1946-1CB2-48FF-9193-88FCF7848323/Library/Caches/Snapshots/baidu.TestLaunchScreen\n\n接着我们又测试往缓存目录写入文件,发现也无写入权限:\n\nSandbox: TestLaunchScreen(630) deny(1) file-write-create /private/var/mobile/Containers/Data/Application/1C4B15FB-6AE4-444F-96FA-9FC3B84622CD/Library/Caches/Snapshots/baidu.TestLaunchScreen1/test.png\n\n顺带测试了下在 iOS9.x 上删除该缓存目录,发现同样无权限。\n这里也是经过不断调试,找到了如下 API 变相地实现了操作缓存目录,大家可以查看 Demo 体会其作用:\n- (BOOL)moveItemAtPath:(NSString *)srcPath \n toPath:(NSString *)dstPath \n error:(NSError **)error API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));\n\n3.3 横竖屏问题\n大部分非游戏类应用,支持的界面方向都只有竖屏(Portrait),即应用页面不会跟随设备方向旋转,始终以竖屏方向显示。但实际开发时,由于某些特殊需求,我们可能会勾选上横屏(LandScape Left / LandScape Right),虽然我们可以通过代码控制页面不跟随设备方向旋转,但是这会导致系统为应用分别生成横屏和竖屏的启动图,从而导致一个问题:\n\n若用户未开启系统旋转锁定,且横置手机启动应用,这会使得应用启动时显示横屏方向的启动图,而部分应用并未考虑适配横屏场景启动图,从而可能导致该场景下启动图拉伸或压缩等显示异常,比如在 LaunchScreen.storyboard 中仅添加一张背景图,给其设置约束铺满全屏,竖屏时正常显示,但横屏时就异常了。(ps:大家可以关闭系统旋转锁定,参考横屏冷启淘宝及微信的解决方案)有一种解决方案是 info.plist 中 Supported interface orientations 置空,但这解决不了启动图不更新或无法渲染问题。\n\n百度 App 正如上面所描述,我们的产品页面在 iPhone 上不会跟随设备方向旋转,但 iPad 上是需要支持设备方向旋转,所以我们的处理是:\n\n针对 iPhone 上,我们通过代码仅生成竖屏启动图,然后直接替换全部的缓存启动图,即启动时不管设备方向如何,展示的始终为竖屏启动图;\n而针对 iPad 上,我们通过代码同时生成竖屏及横屏启动图,接着分别使用这两张图进行替换,同时在替换时进行校验,只有当替换的启动图与缓存启动图宽高一致时才执行,即竖屏只替换竖屏、横屏只替换横屏。\n\n注意 iPad 上的方案涉及到图片宽高获取,而相信大家阅读到这里也知道了缓存图格式有KTX,但该图片无法直接使用UIImage接口进行加载,这里我们通过多机型、多系统地查看了KTX图片的元数据,发现总结其中的规则,通过取固定段的字节计算其宽高,或直接使用ImageIO相关的接口可以获取其宽高,参考:\n+ (CGSize)getImageSize:(NSData *)imageData {\n CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);\n CGImageRef imageRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);\n CGFloat width = CGImageGetWidth(imageRef);\n CGFloat height = CGImageGetHeight(imageRef);\n CFRelease(imageRef);\n CFRelease(source);\n return CGSizeMake(width, height);\n}\n\n3.4 细节优化\n在初步走通了流程,验证了方案的可行性后,我们开始完善设计整套流程,并且测试其性能消耗。如测试发现从storyboard生成截图较为耗时,为此我们做了一个缓存策略,避免每次都去截图。\n优化后完整流程图如下:\n\n3.5 方案小结\n经历了整个方案从调研到开发完成,以及多机型多系统的测试,我们对缓存启动图在不同系统版本上的表现差异性做了个简单归纳:\n\n缓存路径: \niOS13.0 及以上:Library/SplashBoard/Snapshots/${PRODUCT_BUNDLE_IDENTIFIER} - {DEFAULT GROUP};\niOS13.0 以下:Library/Caches/Snapshots/${PRODUCT_BUNDLE_IDENTIFIER};\n\n\n图片格式: \n iOS10.0 及以上:KTX\n iOS10.0 以下:PNG。\n\n系统缓存图目录读写权限:\n iOS10.0 及以上:有权限;\n iOS10.0 以下:无权限。\n\n\n四、总结\n本方案主要用于解决启动图无法渲染、不更新等异常问题,能够让应用自动恢复正常的启动图,从用户角度来说最坏的情况是首次启动时展示了异常的启动图,但下次冷启时即可展示正常的启动图了,保证了用户体验。\n理论上在本方案基础之上还可升级添加更多产品策略,但这里也忠告大家请勿滥用,并且未来苹果可能会修改该系统机制。\n希望本文能够对碰到此类问题的同学们有所帮助,也欢迎大家对本文指正不足。\n最后给大家奉上苹果爸爸关于启动图的官方文档,其中一段:\n\n呃。。。还是希望苹果爸爸能够 “完善” 这个问题。\n"},"Article/抖音品质建设 - iOS 启动优化《原理篇》.html":{"url":"Article/抖音品质建设 - iOS 启动优化《原理篇》.html","title":"抖音品质建设 - iOS 启动优化《原理篇》","keywords":"","body":"\n本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com\n\n前言\n启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。\n本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下来介绍 IPA 构建的基本流程,以及这个流程里可用于启动优化的点;最后大篇幅讲解 dyld3 的启动 pipeline,因为启动优化的重点还在运行时。\n基本概念\n启动的定义\n启动有两种定义:\n\n广义:点击图标到首页数据加载完毕\n\n狭义:点击图标到 Launch Image 完全消失第一帧\n\n\n不同产品的业务形态不一样,对于抖音来说,首页的数据加载完成就是视频的第一帧播放;对其他首页是静态的 App 来说,Launch Image 消失就是首页数据加载完成。由于标准很难对齐,所以我们一般使用狭义的启动定义:即启动终点为启动图完全消失的第一帧。\n以抖音为例,用户感受到的启动时间:\n\nTips:启动最佳时间是 400ms 以内,因为启动动画时长是 400ms。\n\n这是从用户感知维度定义启动,那么代码上如何定义启动呢?Apple 在 MetricKit 中给出了官方计算方式:\n\n起点:进程创建的时间\n\n终点:第一个CA::Transaction::commit()\n\n\n\nTips:CATransaction 是 Core Animation 提供的一种事务机制,把一组 UI 上的修改打包,一起发给 Render Server 渲染。\n\n启动的种类\n根据场景的不同,启动可以分为三种:冷启动,热启动和回前台。\n\n冷启动:系统里没有任何进程的缓存信息,典型的是重启手机后直接启动 App\n\n热启动:如果把 App 进程杀了,然后立刻重新启动,这次启动就是热启动,因为进程缓存还在\n\n回前台:大多数时候不会被定义为启动,因为此时 App 仍然活着,只不过处于 suspended 状态\n\n\n那么,线上用户的冷启动多还是热启动多呢?\n答案是和产品形态有关系,打开频次越高,热启动比例就越高。\nMach-O\nMach-O 是 iOS 可执行文件的格式,典型的 Mach-O 是主二进制和动态库。Mach-O 可以分为三部分:\n\nHeader\n\nLoad Commands\n\nData\n\n\nHeader 的最开始是 Magic Number,表示这是一个 Mach-O 文件,除此之外还包含一些 Flags,这些 flags 会影响 Mach-O 的解析。\nLoad Commands 存储 Mach-O 的布局信息,比如 Segment command 和 Data 中的 Segment/Section 是一一对应的。除了布局信息之外,还包含了依赖的动态库等启动 App 需要的信息。\nData 部分包含了实际的代码和数据,Data 被分割成很多个 Segment,每个 Segment 又被划分成很多个 Section,分别存放不同类型的数据。\n标准的三个 Segment 是 TEXT,DATA,LINKEDIT,也支持自定义:\n\nTEXT,代码段,只读可执行,存储函数的二进制代码 (text),常量字符串 (cstring),Objective C 的类 / 方法名等信息\n\nDATA,数据段,读写,存储 Objective C 的字符串 (__cfstring),以及运行时的元数据:class/protocol/method…\n\nLINKEDIT,启动 App 需要的信息,如 bind & rebase 的地址,代码签名,符号表…\n\n\ndyld\ndyld 是启动的辅助程序,是 in-process 的,即启动的时候会把 dyld 加载到进程的地址空间里,然后把后续的启动过程交给 dyld。dyld 主要有两个版本:dyld2 和 dyld3。\ndyld2 是从 iOS 3.1 引入,一直持续到 iOS 12。dyld2 有个比较大的优化是 dyld shared cache[1],什么是 shared cache 呢?\n\nshared cache 就是把系统库 (UIKit 等) 合成一个大的文件,提高加载性能的缓存文件。\n\niOS 13 开始 Apple 对三方 App 启用了 dyld3,dyld3 的最重要的特性就是启动闭包,闭包里包含了启动所需要的缓存信息,从而提高启动速度。\n虚拟内存\n内存可以分为虚拟内存和物理内存,其中物理内存是实际占用的内存,虚拟内存是在物理内存之上建立的一层逻辑地址,保证内存访问安全的同时为应用提供了连续的地址空间。\n物理内存和虚拟内存以页为单位映射,但这个映射关系不是一一对应的:一页物理内存可能对应多页虚拟内存;一页虚拟内存也可能不占用物理内存。iPhone 6s 开始,物理内存的 Page 大小是 16K,6 和之前的设备都是 4K,这是 iPhone 6 相比 6s 启动速度断崖式下降的原因之一。\nmmap\nmmap 的全称是 memory map,是一种内存映射技术,可以把文件映射到虚拟内存的地址空间里,这样就可以像直接操作内存那样来读写文件。当读取虚拟内存,其对应的文件内容在物理内存中不存在的时候,会触发一个事件:File Backed Page In,把对应的文件内容读入物理内存。\n启动的时候,Mach-O 就是通过 mmap 映射到虚拟内存里的 (如下图)。下图中部分页被标记为 zero fill,是因为全局变量的初始值往往都是 0,那么这些 0 就没必要存储在二进制里,增加文件大小。操作系统会识别出这些页,在 Page In 之后对其置为 0,这个行为叫做 zero fill。\nPage In\n启动的路径上会触发很多次 Page In,其实也比较容易理解,因为启动的会读写二进制中的很多内容。Page In 会占去启动耗时的很大一部分,我们来看看单个 Page In 的过程:\n\nMMU 找到空闲的物理内存页面\n\n触发磁盘 IO,把数据读入物理内存\n\n如果是 TEXT 段的页,要进行解密\n\n对解密后的页,进行签名验证\n\n\n其中解密是大头,IO 其次。为什么要解密呢?\n因为 iTunes Connect 会对上传 Mach-O 的 TEXT 段进行加密,防止 IPA 下载下来就直接可以看到代码。这也就是为什么逆向里会有个概念叫做 “砸壳”,砸的就是这一层 TEXT 段加密。iOS 13 对这个过程进行了优化,Page In 的时候不需要解密了。\n二进制重排\n既然 Page In 耗时,有没有什么办法优化呢?\n启动具有局部性特征,即只有少部分函数在启动的时候用到,这些函数在二进制中的分布是零散的,所以 Page In 读入的数据利用率并不高。如果我们可以把启动用到的函数排列到二进制的连续区间,那么就可以减少 Page In 的次数,从而优化启动时间:\n以下图为例,方法 1 和方法 3 是启动的时候用到的,为了执行对应的代码,就需要两次 Page In。假如我们把方法 1 和 3 排列到一起,那么只需要一次 Page In,从而提升启动速度。链接器 ld 有个参数 - order_file 支持按照符号的方式排列二进制。获取启动时候用到的符号的有很多种方式,感兴趣的同学可以看看抖音之前的文章:基于二进制文件重排的解决方案 APP 启动速度提升超 15%。\nIPA 构建\npipeline\n既然要构建,那么必然会有一些地方去定义如何构建,对应 Xcode 中的两个配置项:\n\nBuild Phase:以 Target 为维度定义了构建的流程。可以在 Build Phase 中插入脚本,来做一些定制化的构建,比如 CocoaPod 的拷贝资源就是通过脚本的方式完成的。\n\nBuild Settings:配置编译和链接相关的参数。特别要提到的是 other link flags 和 other c flags,因为编译和链接的参数非常多,有些需要手动在这里配置。很多项目用的 CocoaPod 做的组件化,这时候编译选项在对应的. xcconfig 文件里。\n\n\n以单 Target 为例,我们来看下构建流程:\n\n源文件 (.m/.c/.swift 等) 是单独编译的,输出对应的目标文件(.o)\n\n目标文件和静态库 / 动态库一起,链接出最后的 Mach-O\n\nMach-O 会被裁剪,去掉一些不必要的信息\n\n资源文件如 storyboard,asset 也会编译,编译后加载速度会变快\n\nMach-O 和资源文件一起,打包出最后的. app\n\n对. app 签名,防篡改\n\n\n编译\n编译器可以分为两大部分:前端和后端,二者以 IR(中间代码)作为媒介。这样前后端分离,使得前后端可以独立的变化,互不影响。C 语言家族的前端是 clang,swift 的前端是 swiftc,二者的后端都是 llvm。\n\n前端负责预处理,词法语法分析,生成 IR\n\n后端基于 IR 做优化,生成机器码\n\n\n那么如何利用编译优化启动速度呢?\n代码数量会影响启动速度,为了提升启动速度,我们可以把一些无用代码下掉。那怎么统计哪些代码没有用到呢?可以利用 LLVM 插桩来实现。LLVM 的代码优化流程是一个一个 Pass,由于 LLVM 是开源的,我们可以添加一个自定义的 Pass,在函数的头部插入一些代码,这些代码会记录这个函数被调用了,然后把统计到的数据上传分析,就可以知道哪些代码是用不到的了 。\nFacebook 给 LLVM 提的 order_file[2] 的 feature 就是实现了类似的插桩。\n链接\n经过编译后,我们有很多个目标文件,接着这些目标文件会和静态库,动态库一起,链接出一个 Mach-O。链接的过程并不产生新的代码,只会做一些移动和补丁。\n\ntbd 的全称是 text-based stub library,是因为链接的过程中只需要符号就可以了,所以 Xcode 6 开始,像 UIKit 等系统库就不提供完整的 Mach-O,而是提供一个只包含符号等信息的 tbd 文件。\n\n举一个基于链接优化启动速度的例子:\n最开始讲解 Page In 的时候,我们提到 TEXT 段的页解密很耗时,有没有办法优化呢?\n可以通过 ld 的 - rename_section,把 TEXT 段中的内容,比如字符串移动到其他的段 (启动路径上难免会读很多字符串),从而规避这个解密的耗时。抖音的重命名方案:\n\"-Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring\",\n\"-Wl,-rename_section,__TEXT,__const,__RODATA,__const\", \n\"-Wl,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab\", \n\"-Wl,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname\", \n\"-Wl,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname\",\n\"-Wl,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype\"\n裁剪\n编译完 Mach-O 之后会进行裁剪 (strip),是因为里面有些信息,如调试符号,是不需要带到线上去的。裁剪有多种级别,一般的配置如下:\n\nAll Symbols,主二进制\n\nNon-Global Symbols,动态库\n\nDebugging Symbols,二方静态库\n\n\n为什么二方库在出静态库的时候要选择 Debugging Symbols 呢?是因为像 order_file 等链接期间的优化是基于符号的,如果把符号裁剪掉,那么这些优化也就不会生效了。\n签名 & 上传\n裁剪完二进制后,会和编译好的资源文件一起打包成. app 文件,接着对这个文件进行签名。签名的作用是保证文件内容不多不少,没有被篡改过。接着会把包上传到 iTunes Connect,上传后会对__TEXT段加密,加密会减弱 IPA 的压缩效果,增加包大小,也会降低启动速度(iOS 13 优化了加密过程,不会对包大小和启动耗时有影响)。\ndyld3 启动流程\nApple 在 iOS 13 上对第三方 App 启用了 dyld3,官方数据 [3] 显示,过去四年新发布的设备中有 93% 的设备是 iOS 13,所以我们重点看下 dyld3 的启动流程。\nBefore dyld\n用户点击图标之后,会发送一个系统调用 execve 到内核,内核创建进程。接着会把主二进制 mmap 进来,读取 load command 中的 LC_LOAD_DYLINKER,找到 dyld 的的路径。然后 mmap dyld 到虚拟内存,找到 dyld 的入口函数_dyld_start,把 PC 寄存器设置成_dyld_start,接下来启动流程交给了 dyld。\n注意这个过程都是在内核态完成的,这里提到了 PC 寄存器,PC 寄存器存储了下一条指令的地址,程序的执行就是不断修改和读取 PC 寄存器来完成的。\ndyld\n创建启动闭包\ndyld 会首先创建启动闭包,闭包是一个缓存,用来提升启动速度的。既然是缓存,那么必然不是每次启动都创建的,只有在重启手机或者更新 / 下载 App 的第一次启动才会创建。闭包存储在沙盒的 tmp/com.apple.dyld 目录,清理缓存的时候切记不要清理这个目录。\n闭包是怎么提升启动速度的呢?我们先来看一下闭包里都有什么内容:\n\ndependends,依赖动态库列表\n\nfixup:bind & rebase 的地址\n\ninitializer-order:初始化调用顺序\n\noptimizeObjc: Objective C 的元数据\n\n其他:main entry, uuid…\n\n\n动态库的依赖是树状的结构,初始化的调用顺序是先调用树的叶子结点,然后一层层向上,最先调用的是 libSystem,因为他是所有依赖的源头。\n\n为什么闭包能提高启动速度呢?\n因为这些信息是每次启动都需要的,把信息存储到一个缓存文件就能避免每次都解析,尤其是 Objective C 的运行时数据(Class/Method**…)解析非常**慢。\nfixup\n有了闭包之后,就可以用闭包启动 App 了。这时候很多动态库还没有加载进来,会首先对这些动态库 mmap 加载到虚拟内存里。接着会对每个 Mach-O 做 fixup,包括 Rebase 和 Bind。\n\nRebase:修复内部指针。这是因为 Mach-O 在 mmap 到虚拟内存的时候,起始地址会有一个随机的偏移量 slide,需要把内部的指针指向加上这个 slide。\n\nBind:修复外部指针。这个比较好理解,因为像 printf 等外部函数,只有运行时才知道它的地址是什么,bind 就是把指针指向这个地址。\n\n\n举个例子:一个 Objective C 字符串 @\"1234\",编译到最后的二进制的时候是会存储在两个 section 里的\n\n__TEXT,__cstring,存储实际的字符串 \"1234\"\n\n__DATA,__cfstring,存储 Objective C 字符串的元数据,每个元数据占用 32Byte,里面有两个指针:内部指针,指向__TEXT,__cstring中字符串的位置;外部指针 isa,指向类对象的,这就是为什么可以对 Objective C 的字符串字面量发消息的原因。\n\n\n如下图,编译的时候,字符串 1234 在__cstring的 0x10 处,所以 DATA 段的指针指向 0x10。但是 mmap 之后有一个偏移量 slide=0x1000,这时候字符串在运行时的地址就是 0x1010,那么 DATA 段的指针指向就不对了。Rebase 的过程就是把指针从 0x10,加上 slide 变成 0x1010。运行时类对象的地址已经知道了,bind 就是把 isa 指向实际的内存地址。\nLibSystem Initializer\nBind & Rebase 之后,首先会执行 LibSystem 的 Initializer,做一些最基本的初始化:\n\n初始化 libdispatch\n\n初始化 objc runtime,注册 sel,加载 category\n\n\n注意这里没有初始化 objc 的类方法等信息,是因为启动闭包的缓存数据已经包含了 optimizeObjc。\nLoad & Static Initializer\n接下来会进行 main 函数之前的一些初始化,主要包括 + load 和 static initializer。这两类初始化函数都有个特点:调用顺序不确定,和对应文件的链接顺序有关系。那么就会存在一个隐藏的坑:有些注册逻辑在 + load 里,对应会有一些地方读取这些注册的数据,如果在 + load 中读取,很有可能读取的时候还没有注册。\n那么,如何找到代码里有哪些 load 和 static initializer 呢?\n在 Build Settings 里可以配置 write linkmap,这样在生成的 linkmap 文件里就可以找到有哪些文件里包含 load 或者 static initializer:\n\n__mod_init_func,static initializer\n\n__objc_nlclslist,实现 + load 的类\n\n__objc_nlcatlist,实现 + load 的 Category\n\n\nload 举例\n如果 + load 方法里的内容很简单,会影响启动时间么?比如这样的一个 + load 方法?\n+ (void)load { printf(\"1234\"); }\n编译完了之后,这个函数会在二进制中的 TEXT 两个段存在:__text存函数二进制,cstring存储字符串 1234。为了执行函数,首先要访问__text触发一次 Page In 读入物理内存,为了打印字符串,要访问__cstring,还会触发一次 Page In。\n\n为了执行这个简单的函数,系统要额外付出两次 Page In 的代价,所以 load 函数多了,page in 会成为启动性能的瓶颈。\n\n\nstatic initializer 产生的条件\n静态初始化是从哪来的呢?以下几种代码会导致静态初始化\n\n__attribute__((constructor))\n\nstatic class object\n\nstatic object in global namespace\n\n\n注意,并不是所有的 static 变量都会产生静态初始化,编译器很智能,对于在编译期间就能确定的变量是会直接 inline。\n//会产生静态初始化\nclass Demo{ \nstatic const std::string var_1; \n};\nconst std::string var_2 = \"1234\"; \nstatic Logger logger;\n//不会产生静态初始化\nstatic const int var_3 = 4; \nstatic const char * var_4 = \"1234\";\nstd::string 会合成 static initializer 是因为初始化的时候必须执行构造函数,这时候编译器就不知道怎么做了,只能延迟到运行时~\nUIKit Init\n+load 和 static initializer 执行完毕之后,dyld 会把启动流程交给 App,开始执行 main 函数。main 函数里要做的最重要的事情就是初始化 UIKit。UIKit 主要会做两个大的初始化:\n\n初始化 UIApplication\n\n启动主线程的 Runloop\n\n\n由于主线程的 dispatch_async 是基于 runloop 的,所以在 + load 里如果调用了 dispatch_async 会在这个阶段执行。\nRunloop\n线程在执行完代码就会退出,很明显主线程是不能退出的,那么就需要一种机制:事件来的时候执行任务,否则让线程休眠,Runloop 就是实现这个功能的。\nRunloop 本质上是一个While 循环,在图中橙色部分的 mach_msg_trap 就是触发一个系统调用,让线程休眠,等待事件到来,唤醒 Runloop,继续执行这个 while循环。\nRunloop 主要处理几种任务:Source0,Source1,Timer,GCD MainQueue,Block。在循环的合适时机,会以 Observer 的方式通知外部执行到了哪里。那么,Runloop 与启动又有什么关系呢?\n\nApp 的 LifeCycle 方法是基于 Runloop 的 Source0 的\n\n首帧渲染是基于 Runloop Block 的\n\n\nRunloop 在启动上主要有几点应用:\n\n精准统计启动时间\n\n找到一个时机,在启动结束去执行一些预热任务\n\n利用 Runloop 打散耗时的启动预热任务\n\n\n\nTips : 会有一些逻辑要在启动之后 delay 一小段时间再回到主线程上执行,对于性能较差的设备,主线程 Runloop 可能一直处于忙的状态,所以这个 delay 的任务并不一定能按时执行。\n\nAppLifeCycle\nUIKit 初始化之后,就进入了我们熟悉的 UIApplicationDelegate 回调了,在这些会调里去做一些业务上的初始化:\n\nwillFinishLaunch\n\ndidFinishLaunch\n\ndidFinishLaunchNotification\n\n\n要特别提一下 didFinishLaunchNotification,是因为大家在埋点的时候通常会忽略还有这个通知的存在,导致把这部分时间算到 UI 渲染里。\nFirst Frame Render\n一般会用 Root Controller 的 viewDidApper 作为渲染的终点,但其实这时候首帧已经渲染完成一小段时间了,Apple 在 MetricsKit 里对启动终点定义是第一个CA::Transaction::commit()。\n什么是 CATransaction 呢?我们先来看一下渲染的大致流程\n\niOS 的渲染是在一个单独的进程 RenderServer 做的,App 会把 Render Tree 编码打包给 RenderServer,RenderServer 再调用渲染框架 (Metal/OpenGL ES) 来生成 bitmap,放到帧缓冲区里,硬件根据时钟信号读取帧缓冲区内容,完成屏幕刷新。CATransaction 就是把一组 UI 上的修改,合并成一个事务,通过 commit 提交。\n渲染可以分为四个步骤\n\nLayout(布局),源头是 Root Layer 调用[CALayer layoutSubLayers],这时候 UIViewController 的 viewDidLoad 和 LayoutSubViews 会调用,autolayout 也是在这一步生效\n\nDisplay(绘制),源头是 Root Layer 调用[CALayer display],如果 View 实现了 drawRect 方法,会在这个阶段调用\n\nPrepare(准备),这个过程中会完成图片的解码\n\nCommit(提交),打包 Render Tree 通过 XPC 的方式发给 Render Server\n\n\n\n启动 Pipeline\n详细回顾下整个启动过程,以及各个阶段耗时的影响因素:\n\n\n点击图标,创建进程\n\nmmap 主二进制,找到 dyld 的路径\n\nmmap dyld,把入口地址设为_dyld_start\n\n重启手机 / 更新 / 下载 App 的第一次启动,会创建启动闭包\n\n把没有加载的动态库 mmap 进来,动态库的数量会影响这个阶段\n\n对每个二进制做 bind 和 rebase,主要耗时在 Page In,影响 Page In 数量的是 objc 的元数据\n\n初始化 objc 的 runtime,由于闭包已经初始化了大部分,这里只会注册 sel 和装载 category\n\n+load 和静态初始化被调用,除了方法本身耗时,这里还会引起大量 Page In\n\n初始化 UIApplication,启动 Main Runloop\n\n执行 will/didFinishLaunch,这里主要是业务代码耗时\n\nLayout,viewDidLoad 和Layoutsubviews 会在这里调用,Autolayout 太多会影响这部分时间\n\nDisplay,drawRect 会调用\n\nPrepare,图片解码发生在这一步\n\nCommit,首帧渲染数据打包发给 RenderServer,启动结束\n\n\ndyld2\ndyld2 和 dyld3 的主要区别就是没有启动闭包,就导致每次启动都要:\n\n解析动态库的依赖关系\n\n解析 LINKEDIT,找到 bind & rebase 的指针地址,找到 bind 符号的地址\n\n注册 objc 的 Class/Method 等元数据,对大型工程来说,这部分耗时会很长\n\n\n总结\n本文回顾了 Mach-O,虚拟内存,mmap,Page In,Runloop 等基础概念,接下来介绍了 IPA 的构建流程,以及两个典型的利用编译器来优化启动的方案,最后详细的讲解了 dyld3 的启动 pipeline。\n之所以花这么大篇幅讲原理,是因为任何优化都一样,只有深入理解系统运作的原理,才能找到性能的瓶颈,下一篇我们会介绍下如何利用这些原理解决实际问题,欢迎关注~\n加入我们\n我们是负责抖音客户端基础能力研发和新技术探索的团队。我们在工程 / 业务架构,研发工具,编译系统等方向深耕,支撑业务快速迭代的同时,保证超大规模团队的研发效能和工程质量。在性能 / 稳定性等方面不断探索,努力为全球数亿用户提供最极致的基础体验。\n如果你对技术充满热情,欢迎加入抖音基础技术团队,让我们共建亿级全球化 App。目前我们在上海、北京、杭州、深圳均有招聘需求,内推可以联系邮箱: tech@bytedance.com ;邮件标题: 姓名 - 工作年限 - 抖音 - 基础技术 - iOS/Android 。\n相关链接\n1. dyld shared cache\nhttp://iphonedevwiki.net/index.php/Dyld_shared_cache\n2. order_file\nhttp://lists.llvm.org/pipermail/llvm-dev/2019-January/129268.html\n3. https://developer.apple.com/support/app-store/\n更多分享\niOS 性能优化实践:头条抖音如何实现 OOM 崩溃率下降 50%+\n字节跳动全链路压测 (Rhino) 的实践\nFastbot:行进中的智能 Monkey\n今日头条品质优化 - 图文详情页秒开实践\n"}}} \ No newline at end of file